elisp-client.texinfo 74.8 KB
Newer Older
Linus Tolke's avatar
Linus Tolke committed
1
2
3
4
% -*-texinfo-*-
\input svensktexinfo

@setfilename elisp-client
5
@settitle Användarhandledning LysKOMs emacslispklient
6
7
8
9
10
11
12
13
14
15
16

@c 
@c  Jag har bara anvent funktions, variable och key indexen.
@c  funktions-indexet anv{nds f|r olika funktioner. B}de
@c  elisp-funktioner och "funktioner" p} lyskom-niv}.
@c  variable-indexet anv{nds f|r variabler och flaggor, b}de emacs-lisp
@c  flaggor och environment-variabler
@c  key-indexet anv{nds f|r tangentbordsbindningar.
@c


Linus Tolke's avatar
Linus Tolke committed
17
18
19
20
21
22
23
24
25
@setchapternewpage odd

@comment @documentstyle[12pt,latexinfo,lyskom]{rapport} @c -*- latexinfo -*- This must be the first line.

@ifinfo
$Id$
@end ifinfo

@iftex
26
27
28
@hyphenation{admini-stra-törs-mode admini-stra-tör använ-dar-namn}
@hyphenation{data-bas-filen default-prio-ri-tet}
@hyphenation{email-adress even-tu-ella}
29
30
31
@hyphenation{emacs-lisp-biblioteket}
@hypgenation{emacs-lisp-program}
@hyphenation{förut-sätt-ningar}
32
@hyphenation{inlogg-ningarna}
33
@hyphenation{klient-modell}
34
35
36
37
38
39
@hyphenation{kom-man-don}
@hyphenation{kom-men-taren kom-men-tarer kom-men-tar}
@hyphenation{kom-men-tars-träd}
@hyphenation{kon-ver-terings-tabellen}
@hyphenation{lösen-ordet}
@hyphenation{mar-ker-ingen}
Linus Tolke's avatar
Linus Tolke committed
40
41
42
@hyphenation{med-lem-mar}
@hyphenation{name-server}
@hyphenation{per-sonen}
43
@hyphenation{prefix-argu-ment}
44
@hyphenation{server-klient-modell}
45
46
47
@hyphenation{sessions-nummer-ordning}
@hyphenation{tangent-bords-bind-ningar}
@hyphenation{ver-sionen versions-nummer}
Linus Tolke's avatar
Linus Tolke committed
48
49
50
@end iftex

@titlepage
51
@title Användarhandledning för LysKOMs emacslispklient
Linus Tolke's avatar
Linus Tolke committed
52
53
@subtitle En LysKOM-klient för GNU emacs.

54
@author Linus Tolke @file{linus@@lysator.liu.se}
Linus Tolke's avatar
Linus Tolke committed
55
56
57
58
@author Per Cederqvist @file{ceder@@lysator.liu.se}
@author Inge Wallin @file{ingwa@@isy.liu.se} eller @file{inge@@lysator.liu.se}

@page
59
Copyright @copyright{} 1991,1992,1993,1994 Lysator
Linus Tolke's avatar
Linus Tolke committed
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84

This file is part of the LysKOM server.

LysKOM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by 
the Free Software Foundation; either version 1, or (at your option) 
any later version.

LysKOM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with LysKOM; see the file COPYING.  If not, write to
Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
MA 02139, USA.

Please mail bug reports to bug-lyskom@@lysator.liu.se.

Tillstånd ges att kopiera denna manual och distribuera kopiorna, under
förutsättning att denna copyrightnot och denna text finns med på alla
kopior.

85
@page
Linus Tolke's avatar
Linus Tolke committed
86
87
88
Författarna till denna klient är alla medlemmar i Datorföreningen
Lysator vid Linköpings Tekniska Högskola --- LiTH.

89
Den som för tillfället arbetar mest med LysKOMs emacslispklient är:
90
91
92
93

Linus Tolke --- @file{linus@@lysator.liu.se}

Andra mer eller mindre aktiva personer är:
Linus Tolke's avatar
Linus Tolke committed
94
95
96

Per Cederqvist --- @file{ceder@@lysator.liu.se}
Inge Wallin --- @file{ingwa@@isy.liu.se} eller @file{inge@@lysator.liu.se}
97
98
99
Thomas Bellman --- @file{bellman@@lysator.liu.se}
Lars Aronsson --- @file{aronsson@@lysator.liu.se}
Lars Willför --- @file{willfor@@lysator.liu.se}
Linus Tolke's avatar
Linus Tolke committed
100
101
102
103
104
105
106
107
108
@end titlepage


@node Top, Förord, (dir), (dir)
@ifinfo
LysKOM-Projektet

En klient skriven i GNU-emacs-lisp.

109
@c Don't change this line. Check install in Makefile.
110
Dokumentationen uppdaterad till klient version 0.38
Linus Tolke's avatar
Linus Tolke committed
111
112
113
@end ifinfo

@menu
114
* Förord::                      Förord
115
* Historia::                    
116
* Servern::                     Servern
117

118
119
* Uppstart::                    Uppstart
* Första gången::               Första gången du kör LysKOM
120

121
* Möten::                       Om möten
122

123
124
125
126
127
128
129
130
* Köra LysKOM::                 Köra LysKOM
* Namn::                        Namn
* Skriva inlägg::               Att skriva inlägg
* Vilkabufferten::              Vilkabufferten
* Flaggor::                     Flaggor
* Variabler::                   Variabler
* Hookar::                      Hookar
* Environmentvariabler::        Environmentvariabler
131

132
133
134
135
136
137
138
139
140
141
* Buggrapporter::               Buggrapporter
* Filer::                       Filer
* Index::                       Index
* Tangenterna::                 Tangenterna
* Variabelindex::               Variabelindex

 --- Den specificerade nodlistan ---

Förord

142
* Historia:: Lite om koms historia fram till LysKOM.
143
* Utveckling av klienten:: Förutsättningarna för lyskom-projektet.
144
* Andra klienter:: Alternativ till LysKOMs emacslispklient.
Linus Tolke's avatar
Linus Tolke committed
145
146
147

Uppstart

148
149
150
151
152
153
154
155
156
157
158
159
160
161
* Lysator::			Koppla upp sig från lysator.
* Andra maskiner::		Hur du för annars.


Köra LysKOM

* Prompten::			Hur LysKOMs prompt fungerar.
* Scrollning::			Hur LysKOM scrollar och varför.
* Kommandon::			Vilka kommandon finns och vad gör de.

* Administratörskommandon::	Administratörskommandon

Kommandon

162
* Läsa::			De vanligaste kommandona för att läsa inlägg.
163
164
165
166
167
168
169
170
171
172
* Få hjälp::			Hjälpkommandot är beskrivet

* Skriva::			Skriva
* Lista::			Kommandon för att lista information.
* Bli medlem::			Hur du blir medlem i och utträder ur möten.
* Sluta::			När du har läst klart

* Annat::			
* Ändra::			Kommandon för att ändra dina parametrar.

173
* Återse::			Kommandon för att återse inlägg.
174
175
* Status::			Kommandon för att få status.

176
* Spara text::			Spara ett eller flera inlägg
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
* Markeringar::			Kommandon för att hantera markeringar.
* Skapa::			Kommandon för att skapa möten.
* Kommandon för att addera och subtrahera::  Kommandon för att addera och subtrahera.
* Ändra personuppgifter::	
* Ändra mötesuppgifter::	
* Meddelande::			Meddelande
* Prioritera::			Kommando för att prioritera om möten.

* Ändra inställningarna::	

Ändra

* Ändra personuppgifter::	övriga ändrakommandon för personer.
* Ändra mötesuppgifter::övriga ändrakommandon för möten.
* Ändra inställningarna:: Hur man ändrar LysKOMklientens parametrar.
Linus Tolke's avatar
Linus Tolke committed
192
193
@end menu

194
@node Förord, Servern, Top, Top
Linus Tolke's avatar
Linus Tolke committed
195
196
197
198
@comment  node-name,  next,  previous,  up
@chapter Förord

Meningen med detta dokument är att den ska beskriva allt man behöver
199
veta om LysKOMs emacslisp-klient för att kunna använda den. Det förutsätts
200
201
202
att läsaren känner till GNU-emacs. Om användaren har använt QZ-KOM är
detta en fördel, men det är på inget vis nödvändigt för förståelsen av
LysKOM.
Linus Tolke's avatar
Linus Tolke committed
203
204

@menu
205
* Historia:: Lite om koms historia fram till LysKOM.
206
* Utveckling av klienten:: Förutsättningarna för lyskom-projektet.
207
* Andra klienter:: Alternativ till LysKOMs emacslispklient.
Linus Tolke's avatar
Linus Tolke committed
208
209
@end menu

210
@c Ja, den h{r noden och de f|ljande: Utveckling av klienten och
211
@c Historia ligger i "fel" ordning i dokumentet. Det beror p} att jag
212
213
214
@c vill ha texten som ligger i dessa tv} f|ljande noder direkt under
@c f|rordet medan det skall vara en egen nod i info-varianten.

215
@node Utveckling av klienten, Andra klienter, Historia, Förord
216
217
@comment  node-name,  next,  previous,  up

218
219
220
221
All utveckling av LysKOMs emacslispklient, lyskom-systemet och i detta
dokument nämnda andra klienter är ideelt arbete utfört av medlemmar i
Lysator, datorföreningen vid Universitet och Tekniska Högskolan i
Linköping.
222
223
224
225
226
227
228
229
230
231
232

Om du vill deltaga i arbetet så är det bra om du skaffar dig en
ordentlig introduktion till hur systemet fungerar. Om du finns i
Linköping så är det enklast att prata med någon av de som varit med och
som är ansvariga för det som hittills är gjort. Om du inte finns i
Linköping är du utelämnad åt självstudier av de få dokument som finns
och källkoden. Jag skulle nog vilja rekommendera ett veckosluts
intensivkurs i Linköping för att få riktigt grepp om hur det hela
hänger ihop.


233
@node Andra klienter, , Utveckling av klienten, Top
234
235
@comment  node-name,  next,  previous,  up

236
237
Det finns alternativ till LysKOMs emacslispklient som också är fritt
tillgängliga. Än så länge har de inte riktigt LysKOMs emacslispklients
238
239
240
funktionalitet utan är begränsade i något avseende men det sker
utveckling av dem hela tiden.

241
242
Samtliga här beskrivna LysKOMklienter har fördelen framför LysKOMs
emacslispklient att de är mindre cpu-krävande och därför snabbare.
243
244
245
246
247
248
249
250
251
252
253
254
255
256

@table @asis

@item tty-klienten
@itemx C-klienten
tty-klienten är skriven i C med det ursprungliga målet att så troget som
möjligt likna QZ-kom. Avvikelser från detta målet har skett dels
beroende på de olika förutsättningar som LysKOM har jämför med QZ-kom
och dels beroende på personlig smak hos utvecklarna. När detta skrivs är
tty-klienten (version L0.11) ganska stabil, den går lätt att kompilera
och köra på flera olika system @footnote{SunOS4 (sun3 och sun4),
Solaris, Linux, Dynix 3.0, Ultrix, HPUX} förusatt att man har GCC
installerad.

257
Den senaste versionen av tty-klienten finns att hämta via ftp från
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
@file{ftp.lysator.liu.se} i underbiblioteket @file{/pub/lyskom/tty-client/}

Den som gjort mest i tty-klienten är Thomas Bellman
@code{<bellman@@lysator.liu.se>}.

Den som för närvarande gör något och som är ansvarig för de senaste
versionerna är Linus Tolke @code{<linus@@lysator.liu.se>}.

@item tkom
@itemx nilkom
@itemx kom++
tkom och nilkom är två olika klienter som bygger på samma grundstomme.
Grundprogrammet som pratar med lyskom-servern är skrivet i C++ och sedan
finns det två olika användargränssnitt som är skrivna i TCL. Nilkom kör
mot en terminal medan tkom öppnar X-fönster.

Målet med denna klient är att erbjuda ett gränssnitt till lyskom-servern
som är bättre än protokollet och det finns redan nu rutiner för cache av
personer och möten.

tkom, nilkom, kom++-paketet kräver att C++ och TCL/Tk finns installerat på
maskinen men om man vill använda paketet för att bygga en helt egen
klient kan man klara sig utan TCL.

Den senaste versionen av kom++-klienten finns att hämta via anonym ftp
från @file{ftp.lysator.liu.se} i underbiblioteket @file{/pub/lyskom}.

De som för närvarande jobbar med kom++-klienten är Per Cederqvist
@code{<ceder@@lysator.liu.se>} och Inge Wallin @code{<ingwa@@isy.liu.se>}
eller @code{<inge@@lysator.liu.se>}.

@end table

291
@node Historia, Utveckling av klienten, Förord, Förord
292
@comment  node-name,  next,  previous,  up
293
@chapter Historia
Linus Tolke's avatar
Linus Tolke committed
294
295

LysKOM är ett konferenssystem som är inspirerat av KOM, det
296
297
298
299
300
301
konferenssystem som skapades av QZ i Stockholm. Orsaken till att LysKOM
skrevs var att det KOMsystem Lysators medlemmar hade tillgång till lades
ner. QZ-KOM gick att köra på DEC-10 och DEC-20-maskiner och den sista
DEC-20-maskinen på LiTH som studenterna hade tillgång till såldes och
försvann. KOM hade blivit vanebildande för en del och det bedömdes att
en ersättning var nödvändig.
Linus Tolke's avatar
Linus Tolke committed
302

303
304
305
306
307
308
309
En tidig tanke när vi började jobba med LysKOM var att det skulle gå att
ha flera olika användargränssnitt samtidigt. Någon vill se en grafisk
struktur på hur inläggen hänger ihop på sin grafiska skärm, någon annan
vill kunna fortsätta att använda sin gamla vt100. Det var också klart
att systemet skulle köra under UNIX eftersom detta operativsystem
bedömdes som vanligt i framtiden. Lysators medlemmar hade dessutom stor
erfarenhet av UNIX och Lysator äger ett antal UNIX- maskiner.
Linus Tolke's avatar
Linus Tolke committed
310

311
312
313
314
Bland annat av dessa orsaker valde vi att använda en
server-klientmodell. En central server tar hand om alla inlägg och
LysKOM:s hela databas. Mot denna server kan flera stycken klienter
koppla upp sig via TCP/IP.
Linus Tolke's avatar
Linus Tolke committed
315

316
317
318
319
320
När servern började fungera behövdes det en enkel klient för att kunna
testa. Per Cederqvist skrev en enkel klient i emacslisp som sedan byggts
på av ett antal lysatormedlemmar. Även personer utanför Lysator har
bidragit till utvecklingen med färdiga funktioner och framför allt
kommentarer och idéer. Det är detta som idag är LysKOMs emacslispklient.
Linus Tolke's avatar
Linus Tolke committed
321
322


323
324
325
326


@node Servern, Uppstart, Förord, Top
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
327
328
329
330
331
332
333
334
335
336
337
338
339
@chapter Servern

Servern, databashanteraren, är skriven i C och körs på
@file{varg.lysator.liu.se} (IP-nummer 130.236.254.151). Databasfilen är 
läsbar för flera av lysators medlemmar, vilket kan tyckas vara en
bugg, men den är medveten. Vi vill inte ge någon en falsk känsla av
säkerhet och på ett system sådant som Lysators är det alltför många
som har privilegier för att man skall kunna garantera någon hemlighet.
På andra serverinstallationer i framtiden blir naturligtvis
situationen en annan.


@node Uppstart, Första gången, Servern, Top
340
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
341
342
343
344
345
346
347
348
349
350
351
352
353
@chapter Uppstart
@ifinfo
Det är olika procedurer för att komma in i LysKOM beroende på 
vilken maskin du kopplar upp dig ifrån. De är alla beskrivna här 
nedan.


@menu
* Lysator::			Koppla upp sig från lysator.
* Andra maskiner::		Hur du för annars.

@end menu
@end ifinfo
354
@node Lysator, Andra maskiner, Uppstart, Uppstart
355
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
356
357
358
359
360
@section Från Lysators maskiner

Enklast är att köra LysKOM från någon av Lysators UNIX-maskiner.
När man har startat emacs räcker det med att skriva:
@example
361
M-x lyskom RET
Linus Tolke's avatar
Linus Tolke committed
362
363
364
365
366
@end example
för att sätta igång. Svara på frågan om server med
att trycka @key{RET}.


367
@node Andra maskiner,  , Lysator, Uppstart
368
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
369
370
@section Från andra maskiner

371
372
373
374
Om du vill hämta LysKOMs emacslispklient från någonstans utanför LiTH
kan du hämta den senaste versionen via anonym ftp från
@file{ftp.lysator.liu.se (130.236.254.153)}. Ange din emailadress som
lösenord. Gå ner i directoryt @file{pub/lyskom/elisp-client} och skriv
375
@code{get lyskom-X.el.gz} där @code{X} är det högsta nummer du kan hitta
376
377
378
379
380
381
382
383
i det directoryt. Filen med det högsta numret är alltid den senaste
versionen. Dessutom hämtar du denna dokumentation från filen
@code{elisp-client.info-X.tar.gz}. När överföringen är klar, bryt
förbindelsen genom att skriva @code{quit}.@refill

Du installerar LysKOMs emacslispklient genom att flytta den hämtade
filen till det lokala emacslispbiblioteket @file{site-lisp} under namnet
@file{lyskom.el} och lägga in en rad
384
@example
385
(autoload 'lyskom "lyskom" "Köra LysKOM" t)
386
@end example
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
i filen defaults.el i samma directory.

Dokumentationen installerar du genom att packa upp tar-arkivet och
flytta alla dess filer till ditt lokala info-bibliotek. Antagligen
@code{/usr/info} eller något liknande. Sedan skriver du in en rad i
filen @code{/usr/info/dir} som pekar ut elisp-client.

Om du bara skall installera klienten för dig själv, ett måste om du inte
får lov att installera emacslispprogram på systemet så flyttar du
istället filen med namnet @file{lyskom.el} till ditt egna emacslispbibliotek
och stoppar in raden ovan i din @file{.emacs}-fil.

Det kan löna sig att byte-kompilera klienten.
@inforef{Lispbibliotek för emacs,Lisp Libraries,emacs}.

Denna dokumentation finner du som sagt på samma ställe under namnet
@file{elisp-client.info-X.tar.gz} för den infoiserade versionen och
@file{elisp-client.txt-X.gz} för den enkla text-versionen. Detta
dokument är ett texinfodokument och om du planerar att skriva ut det på
skrivar så kontakta utvecklarna via email till
@file{lyskom@@lysator.liu.se} så kan de generera en @file{.dvi}-fil
eller en postscript-fil.

Om Emacs säger @code{"Unknown host"} när du skrivit @code{M-x lyskom RET}
och angivit @code{kom.lysator.liu.se} som svar på frågan om vilken server
du vill koppla upp dig mot så beror det på att nameservern på din maskin
inte fungerar som den skall. Du måste du be din systemadministratör att
fixa den.

Om du har en gammal version av emacs kan det hända att den inte använder
nameservern för att slå upp namnet och då fixar man det genom att lägga in 
Linus Tolke's avatar
Linus Tolke committed
418
419
420
421
@example
130.236.254.151 kom.lysator.liu.se
@end example
i host-tabellen @footnote{Om detta sätt tillämpas måste denna rad
422
423
424
425
uppdateras varje gång vi flyttar servern till en ny maskin.}.

I emacs version 19 är en alternativ lösning att ange numret till
maskinen som LysKOMservern kör på (@file{130.236.254.151}).
Linus Tolke's avatar
Linus Tolke committed
426
427


428
@node Första gången, Möten, Uppstart, Top
429
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
430
431
432
433
434
435
436
437
@chapter Första gången du kör LysKOM

När du har svarat på frågan om server och uppkopplingen mellan klient
och server är klar så får du en ny fråga; ditt namn. Det är sed att
ange både för och efternamn samt den organisation du arbetar för, t ex
@example
Inge Wallin, ISY
@end example
438
439
440
441
Om du inte är från Linköping @footnote{Detta beror givetvis på vilken
server du är uppkopplad mot. Olika konventioner används vid olika
servrar och olika servrar ligger på olika ställen.} kan det också vara
bra att på något sätt ange vilken stad du normalt finns i, t.ex
442
443
444
@example
Salvador Dalberg, Stacken, Stockholm
@end example
Linus Tolke's avatar
Linus Tolke committed
445
446
Om det inte fanns någon med det namn du angav så får du bekräfta att
du har stavat ditt namn rätt. Därefter får du uppge ett personligt lösenord.
447
@refill
Linus Tolke's avatar
Linus Tolke committed
448

449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
Du blir medlem i mötet @samp{Presentation (av nya) möten} automatiskt
när du går in i LysKOM första gången. I det mötet hamnar beskrivningar
av nya möten när de skapas och när beskrivningen ändras. Det kan vara
bra att i lugn och ro läsa igenom detta möte och efterhand gå med i de
möten som du finner intressanta.@refill

För att titta på presentationen för ett möte igen kan man använda
kommandot @code{Återse presentation}.
@findex Återse presentation

@node Möten, Köra LysKOM, Första gången, Top
@comment  node-name,  next,  previous,  up
@chapter Möten

Debatten är uppdelad i olika möten. Möten är dataenheter som bl.a. har
namn, medlemmar och mottagna inlägg. Medlemmarna förväntas vara
intresserade av inläggen som skickas till just det mötet och läser
dem. Namnen används som en kort presentation av mötet när man skall
referera till det, dvs när man går till mötet eller skickar brev till
mötet.
Linus Tolke's avatar
Linus Tolke committed
469

470
471
472
473
474
475
476
477
478
479
Möten har också presentationer som lite mer utförligt beskriver vad
mötet är tänkt att handla om.

Det finns inga som helst mekanismer eller garantier för att kolla att
medlemmarna i ett möte, och andra också för den delen, skickar inläggen
till rätt möte. Det finns möjligheter för administratören av mötet eller
författaren av inlägget att flytta inlägget om det hamnat fel men oftast
är det författarens ansvar att se till att det hamnar rätt från början.

@node Köra LysKOM, Namn, Möten, Top
480
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
@chapter Köra LysKOM


@menu
* Prompten::			Hur LysKOMs prompt fungerar.
* Scrollning::			Hur LysKOM scrollar och varför.
* Kommandon::			Vilka kommandon finns och vad gör de.

* Administratörskommandon::	Administratörskommandon
@end menu
@node Prompten, Scrollning, Köra LysKOM, Köra LysKOM
@section Prompten

När LysKOM är klart att ta emot ett kommando skrivs en prompt ut. Den
kan se ut på t.ex följande sätt:

@example
Gå till nästa möte -
Läsa nästa text -
Se tiden - 
@end example
När du ser prompten kan du ge ett kommando. Var snäll mot klienten!
Tryck inte på en massa knappar innan du ser prompten! Det blir bara
problem om du gör det! Speciellt känslig är den i inloggningsfasen.
505
Kom ihåg att LysKOMs emacslispklient från början var avsedd bara som ett
Linus Tolke's avatar
Linus Tolke committed
506
507
508
509
510
surrogat för den egentliga klienten och att det som du nu kör är en
alfarelease.


@node Scrollning, Kommandon, Prompten, Köra LysKOM
511
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
512
513
514
515
516
517
@section Scrollning

Om inte allt ryms på skärmsidan så syns en procentsats i mode-raden.
Tryck på mellanslag när du läst klart så scrollas nästa sida fram.

@node Kommandon, Administratörskommandon, Scrollning, Köra LysKOM
518
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
519
520
521
522
523
524
525
526
527
528
529
530
@section Kommandon

Det finns två slags kommandon, dels de som är bundna till enskilda
tangenter, dels de som du måste ange i klartext. Många kommandon kan
anges på båda sätten. För att ange ett kommando med dess fulla namn
trycker du tangenten @kbd{a}, vilket skall uttydas @code{(Något) Annat},
@kindex a
ett kommando som fanns i gamla QZ-KOM. Detta ger dig en fråga på emacs
meddelanderad och du kan nu trycka @kbd{?} och få en lista på vilka
kommandon som finns.

Antalet kommandon ökar hela tiden med ökande versionsnummer.
531
Följande kommandon finns i LysKOMs emacslispklient i den version 
Linus Tolke's avatar
Linus Tolke committed
532
533
534
535
536
537
538
539
540
som anges i titeln på detta dokument. Först visas vilken tangent
som funktionen ligger på och därefter vad man anger under @kbd{a}.
I mötet @samp{LysKOM Elispklient; diskussion och ideer} på Lysators
LysKOM-system diskuteras nyheter om klienten. När en ny version
släpps annonseras det också i det mötet, för det mesta
tillsammans med en lista på de ändringar som är gjorda sen
förra versionen.

@menu
541
* Läsa::			De vanligaste kommandona för att läsa inlägg.
Linus Tolke's avatar
Linus Tolke committed
542
543
544
545
546
547
548
549
550
551
* Få hjälp::			Hjälpkommandot är beskrivet

* Skriva::			Skriva
* Lista::			Kommandon för att lista information.
* Bli medlem::			Hur du blir medlem i och utträder ur möten.
* Sluta::			När du har läst klart

* Annat::			
* Ändra::			Kommandon för att ändra dina parametrar.

552
* Återse::			Kommandon för att återse inlägg.
Linus Tolke's avatar
Linus Tolke committed
553
554
* Status::			Kommandon för att få status.

555
* Spara text::			Spara ett eller flera inlägg
Linus Tolke's avatar
Linus Tolke committed
556
557
558
559
560
561
562
563
564
565
566
* Markeringar::			Kommandon för att hantera markeringar.
* Skapa::			Kommandon för att skapa möten.
* Kommandon för att addera och subtrahera::  Kommandon för att addera och subtrahera.
* Ändra personuppgifter::	
* Ändra mötesuppgifter::	
* Meddelande::			Meddelande
* Prioritera::			Kommando för att prioritera om möten.

* Ändra inställningarna::	
@end menu
@node Läsa, Få hjälp, Kommandon, Kommandon
567
@comment  node-name,  next,  previous,  up
568
@subsection Kommandon för att läsa inlägg.
Linus Tolke's avatar
Linus Tolke committed
569
570
571
572
573
574

@table @asis

@item @key{SPC}
@itemx (mellanslag)
@itemx @key{RET}
575
576
577
@ifinfo
@kindex @key{ }
@end ifinfo
Linus Tolke's avatar
Linus Tolke committed
578
579
580
@kindex SPC
@kindex mellanslag
@kindex rymdkrogen
581
@kindex space
Linus Tolke's avatar
Linus Tolke committed
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
@kindex RETURN
Utför defaulthandlingen, dvs det som står i prompten.


@item @key{LFD}
@itemx (eller @key{NEWLINE})
@kindex NEWLINE
@kindex LINEFEED
Samma som mellanslag eller @key{RET}, men placera först markören
överst på skärmen.


@item @kbd{ni}
@itemx @code{Läsa nästa inlägg}
@findex Läsa nästa inlägg
@kindex ni
598
Gå till nästa inlägg och visa den. Om du håller på att återse sparas
Linus Tolke's avatar
Linus Tolke committed
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
informationen om vad du återser undan. Med @code{ån} kan du sedan
återse nästa inlägg.


@item @kbd{nm}
@itemx @code{Gå till nästa möte}
@findex Gå till nästa möte
@kindex nm
Går till nästa möte med olästa inlägg. Alla olästa i det nuvarande
mötet sparas och mötet placeras sist i listan över möten med
olästa inlägg.


@item @kbd{h}
@itemx @code{Hoppa över alla kommentarer}
@findex Hoppa över alla kommentarer
@kindex h
Hoppa över alla kommentarer till det senast lästa inlägget, dvs
markera dem som lästa utan att visa dem. Detta sker rekursivt så
att alla kommentarer till kommentarerna också markeras som lästa,
619
620
621
osv. För att undvika att detta kommando jobbar för evigt läsmarkerar 
och söker klienten bara rekursivt vidare om kommentaren i varje steg
är nyare än det kommenterade inlägget.
Linus Tolke's avatar
Linus Tolke committed
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645


@item @kbd{e}
@itemx @code{Endast läsa senaste}
@findex Endast läsa senaste
@kindex e
Man får ange ett antal inlägg som man vill läsa i det nuvarande
mötet. Alla andra inlägg i mötet markeras såsom lästa. 


@item 
@itemx @code{Uppskjuta läsning}
@findex Uppskjuta läsning
Man får ange hur många inlägg i mötet man vill läsa nu.
Klienten kommer att "glömma bort" att du borde få läsa alla utom
de sista N inläggen i det möte du befinner dig i. Nästa gång du
startar klienten kommer du att få läsa de "bortglömda" inläggen.
De glöms bara tillfälligt.


@item @kbd{M-p}
@itemx @code{(Spring till) början av texten}
@findex (Spring till) början av texten
@findex Början av texten
646
@findex Föregående inlägg
Linus Tolke's avatar
Linus Tolke committed
647
648
@kindex M-p
Detta kommando är bara till för att snabbare kunna hitta början på
649
det inlägg man är vid, eller hitta föregående inlägg.
Linus Tolke's avatar
Linus Tolke committed
650
651
652
653
654
655

@item @kbd{M-n}
@itemx @code{(Spring till) nästa text}
@findex (Spring till) nästa text
@findex Nästa text
@kindex M-n
656
657
Detta kommando är motsatsen till @kbd{M-p}. Det springer till nästa
inlägg istället.
Linus Tolke's avatar
Linus Tolke committed
658
659
660
661
662
663
664
665
666
667
668


@item @key{DEL}
@itemx @code{Scrolla ner}
@findex Scrolla ner
@findex scroll-down
@kindex DEL
Detta kommando rullar tillbaka skärmen så att man kan se det som skrevs
innan. För att komma framåt igen är det bara att trycka @key{SPC}. 
@end table
@node Få hjälp, Skriva, Läsa, Kommandon
669
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
@subsection Få hjälp

Du kan alltid få hjälp.

@table @asis
@item @kbd{?}
@itemx @code{Hjälp}
@findex Hjälp
@kindex ?
Beskriv LysKOM-moden och alla dess tangentbordsbindningar.
Om du redan gett en del av ett kommando och trycker @kbd{?} så får du en
lista på vilka alternativa kommandon som finns från det läget.
Alternativlistan innehåller vad du skulle tryckt för att välja
just det alternativet samt kommandots namn.

@end table
@node Skriva, Lista, Få hjälp, Kommandon
@comment  node-name,  next,  previous,  up
@subsection Skriva

690
Här är samtliga kommandon som används för att skriva ett inlägg listade.
Linus Tolke's avatar
Linus Tolke committed
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715

@table @asis

@item @kbd{b}
@itemx @code{Skicka brev}
@findex Skicka brev
@kindex b
Skicka ett brev till en person eller ett möte. Programmet frågar
efter vilket möte/person som man vill skicka brevet till. Man kan
skicka brev även till slutna möten. Om personen eller mötet har en
lapp på dörren så visas lappen i LysKOM-bufferten. 


@item @kbd{i}
@itemx @code{Skriva ett inlägg}
@findex Skriva ett inlägg
@kindex i
Skriv ett inlägg i det möte där du befinner dig för tillfället. Se
avsnittet nedan som beskriver vad du kan göra medan du skriver.


@item @kbd{k}
@itemx @code{Kommentera inlägget}
@findex Kommentera inlägget
@kindex k
716
@kindex C-u k
Linus Tolke's avatar
Linus Tolke committed
717
Kommentera det senast lästa eller skrivna inlägget. Man kan också
718
719
720
721
kommentera ett valfritt inlägg genom att istället för att trycka @kbd{k}
trycka inläggsnummret för det inlägg man vill kommentera följt av
@kbd{k}. Alternativ till detta är att trycka @kbd{C-u k} varpå man får
ange inläggsnumret.
Linus Tolke's avatar
Linus Tolke committed
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740

Om inlägget skulle ha flera mottagare så får man, för var och 
en av dessa mottagare en kontrollfråga om man vill att den skall vara
kvar som mottagare eller inte. Detta går givetvis att stänga av.


@item @kbd{K}
@itemx @code{Kommentera föregående inlägg}
@findex Kommentera föregående inlägg
@kindex K
Kommentera det näst senast lästa eller skrivna inlägget. Det kan 
vara bra om man gör @kbd{åk} (@code{Återse det kommenterade}) innan man
bestämmer sig för att kommentera.


@item @kbd{F}
@itemx @code{Fotnot till inlägg}
@findex Fotnot till inlägg
@kindex F
741
742
743
744
745
746
@kindex C-u F
Skriv en fotnot till det senast lästa inlägget. Kommandot fungerar som
kommandot @code{Kommentera inlägget}. Observera att om man inte explicit
anger inläggsnummer skriver man alltid fotnoter till senast lästa
inlägg. Detta innebär att man "tvingas" återse sitt senast skrivna inlägg
innan man kan skriva en fotnot till det.
Linus Tolke's avatar
Linus Tolke committed
747
748
749
750
751
752


@item @kbd{p}
@itemx @code{Personligt svar}
@findex Personligt svar
@kindex p
753
@kindex C-u p
Linus Tolke's avatar
Linus Tolke committed
754
755
Skriv ett personligt svar till författaren av det senast lästa
inlägget. Detta är detsamma som att skicka ett brev till honom som
756
757
758
759
760
är en kommentar till inlägget. 

Man kan liksom när man skriver kommentarer skriva personligt svar till
godtyckligt inlägg genom att antingen skriva inläggsnummer @kbd{p} eller
@kbd{C-u p} följt av inläggsnumret och @kbd{RET}.
Linus Tolke's avatar
Linus Tolke committed
761
762
763
764
765
766
767
768
769
770
771
772
773


@item @kbd{P}
@itemx @code{Personligt svar på föregående inlägg}
@findex Personligt svar på föregående inlägg
@kindex P
Skriv ett personligt svar till författaren av det näst senast
lästa inlägget. Jämför kommentera föregående 
inlägg.

@end table

@node Lista, Bli medlem, Skriva, Kommandon
774
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
775
776
777
778
779
780
781
782
783
784
@subsection Lista

Du kan lista olika saker med dessa olika kommandona.

@table @asis
@item @kbd{v}
@itemx @code{Vilka är inloggade}
@findex Vilka är inloggade
@kindex v
Visa en lista över de personer som är inloggade i LysKOM för
785
786
787
788
ögonblicket. Man får dessutom reda på vilken maskin de kör ifrån samt
vad de sysslar med just nu. Inloggningarna visas i sessionsnummerordning
och den egna inloggningen markeras med en asterisk precis efter
sessionsnumret.
Linus Tolke's avatar
Linus Tolke committed
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842


@item @kbd{lm}
@itemx @code{Lista möten}
@findex Lista möten
@kindex lm
Lista alla möten som matchar ett givet mönster. LysKOM frågar
efter mönstret innan sökningen startar. En asterisk (@code{*}) skrivs
ut framför namnet på alla möten som man inte är medlem i.


@item @kbd{ln}
@itemx @code{Lista nyheter}
@findex Lista nyheter
@kindex ln
Lista alla nyheter, dvs alla möten i vilka du har olästa inlägg.
Talar också om hur många olästa du har i resp. möte.


@item @kbd{lN}
@findex Lista nyheter
@kindex lN
Samma som @kbd{ln}, men använder en något långsammare metod. Detta anrop
finns endast med som kontroll eftersom metoden som används för
@kbd{ln} visserligen är snabbare, men också mycket mer komplicerad.
Detta kommando kommer att försvinna snart(?).


@item @kbd{lp}
@itemx @code{Lista personer}
@findex Lista personer
@kindex lp
Lista alla personer som matchar ett givet mönster. LysKOM frågar
efter mönstret innan sökningen startar.


@item @kbd{ls}
@itemx @code{Lista medlemsskap}
@findex Lista medlemsskap
@kindex ls
Listar vilka möten du är medlem i, vilka prioriteter som gäller
för mötena samt hur många olästa du har i varje möte.


@item @kbd{lä}
@itemx @code{Lista ärenden}
@findex Lista ärenden
@kindex lä
Listar ärenden och författare på de inlägg som du har olästa i
mötet, eller på dina markerade inlägg, när du har prompten 
@code{Återse nästa markerade -}.
@end table

@node Bli medlem, Sluta, Lista, Kommandon
843
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
@subsection Bli medlem

Här beskriver vi hur du kan bli medlem i ett möte, samt hur du gör för
att utträda.

@table @asis
@item @kbd{g}
@itemx @code{Gå till möte}
@findex Gå till möte
@kindex g
Gå till ett nytt möte för att börja läsa inlägg där. LysKOM frågar
efter vilket möte du vill gå till.

Om du inte är medlem i mötet så frågar LysKOM om du vill bli medlem
i mötet och om man då svarar @kbd{j} så blir man medlem i mötet på samma
sätt som om man hade gjort @kbd{m} (@code{Bli medlem i möte}). Efter det så går
man till mötet på vanligt sätt.


@item @kbd{m}
@itemx @code{Bli medlem i möte}
@findex Bli medlem i möte
@kindex m
867
868
869
870
871
Frågar efter ett möte och ser till att du blir medlem i det. I samband
med detta får du ange en prioritet för mötet och var mötet skall läsas i
förhållande till andra möten med samma prioritet.  LysKOM kommer att
sätta prioriteten till @code{100} om du inte har ändrat variabeln
@code{kom-membership-default-priority} som kontrollerar detta.
Linus Tolke's avatar
Linus Tolke committed
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888

För att LysKOM skall veta i vilken ordning du vill läsa dina
möten måste du ange det för varje möte du går med i.
Du kan (givetvis) sätta en variabel som kontrollerar detta också,
nämligen @code{kom-membership-default-placement}, men om du inte anger
något så måste du ange det. LysKOM frågar var du vill lägga det.
0 är allra först (före din brevlåda) och det högsta numret
som finns som alternativ är sist i listan.

Om mötet är slutet så kan man inte gå med i det. Detta kommando
kan även användas för att ändra prioritet för ett möte som du
redan är medlem i.


@item @code{Utträda ur}
@findex Utträda ur
Frågar efter namnet på ett möte och gör så att du utträder ur
889
mötet. Alla markeringar om eventuella lästa inlägg försvinner.
Linus Tolke's avatar
Linus Tolke committed
890
891
892
893
Detta kommando har inte någon egen tangent.
@end table

@node Sluta, Annat, Bli medlem, Kommandon
894
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
895
896
897
898
899
900
901
902
903
904
905
@subsection Sluta

@table @asis
@item @kbd{S}
@itemx @kbd{q}
@itemx @code{Sluta}
@findex Sluta
@kindex S
@kindex q
Avslutar LysKOM. Det går lika bra att sluta genom att gå ur Emacs
eller ta bort LysKOM-bufferten.
906
907
908
909

Om du har inlägg som du börjat skriva på och sedan varken slängt eller
skickat in till LysKOM-servern så kommer du att få en extra
kontrollfråga om du verkligen vill sluta trots att du har oinskickade
910
inlägg.
911
912

Om du väljer att gå ur lyskom genom att avsluta Emacs och har
913
oinskickade buffertar kommer LysKOMs emacslispklient att se till att Emacs
914
betraktar LysKOM som en viktig process. Om du däremot har skickat in
915
eller slängt alla dina inlägg ser LysKOMs emacslispklientent till att Emacs inte
916
917
betraktar LysKOM som en viktig process. Om du får en kontrollfråga:
"Active processes exist; kill them and exit anyway? (yes or no)" innebär
918
det alltså att du har oinskickade inlägg. @footnote{För att detta skall
919
920
921
fungera korrekt krävs att du kör en emacs version 18.58 eller senare.}


Linus Tolke's avatar
Linus Tolke committed
922
923
924
@end table

@node Annat, Ändra, Sluta, Kommandon
925
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
926
927
928
@subsection övriga kommandon i LysKOM.

@table @asis
929
@item @kbd{M-x kom-recover}
930
931
@itemx @code{Återstarta kom}
@findex Återstarta kom
932
@kindex M-x kom-recover
Linus Tolke's avatar
Linus Tolke committed
933
934
935
936
937
Nollställer diverse interna strukturer i klienten. Används då
klienten har hängt sig eller då klienten och servern har kommit ur
fas. Det kan de göra om man trycker @code{C-g} @kindex C-g
vid olämpliga tillfällen.

938
939
Om klienten hänger sig på detta vis beror det egentligen på att det är
en bugg i klienten. Se till att skapa en buggrapport innan du ger det
940
här kommandot. Se även @ref{Buggrapporter}.
Linus Tolke's avatar
Linus Tolke committed
941
942
943
944

@item @kbd{t}
@itemx @code{Se tiden}
@findex Se tiden
945
@kindex t
Linus Tolke's avatar
Linus Tolke committed
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
Visar vad klockan är.


@item @kbd{fu}
@itemx @code{Få uppmuntran}
@findex Få uppmuntran
@kindex fu
Ger den dystre användaren lite ljus i mörkret.


@item @kbd{fs}
@itemx @code{Få skäll}
@findex Få skäll
@kindex fs
Tar ner den uppblåste användaren på jorden.


@item @kbd{V}
@itemx @code{Vänta på ett inlägg}
@findex Vänta på ett inlägg
@kindex V
Stoppar LysKOM och väntar på att ett inlägg med prioritet högre än
nästa möte man kommer till skall skrivas. Vill man bryta av innan
är det bara att ge ett kommando.

Om du inte vill att inlägg med låg prioritet, men högre än nästa
möte, ska avbryta väntafunktionen så kan du ange prioriteten som
måste överskridas med ett prefixargument.


@item 
@itemx @code{Visa vilkalistan}
@findex Visa vilkalistan
LysKOM underhåller en lista över alla personer som är inne
i LysKOM just nu och den kan man får fram i ett temporärt fönster
med detta kommando. Höjden på detta fönster regleras med 
variabeln @code{kom-who-buffer-size-when-displaying}.

984
985
986
Detta fungerar givetvis inte om man har slagit av hanteringen av
Vilkabufferten. @xref{Vilkabufferten}

Linus Tolke's avatar
Linus Tolke committed
987
988
989
990
991
992
@item 
@itemx @code{Kasta ut en session}
@findex Kasta ut en session
Du kan slänga ut en session som har hängt sig eller som du
glömt på någon annan maskin. Du kan bara slänga ut 
sessioner där personer som du är organisatör för är
993
inloggade om du inte är i administratörsmod.
Linus Tolke's avatar
Linus Tolke committed
994
995
996
997
998

@end table

@ifinfo
@node Ändra, Återse, Annat, Kommandon
999
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
1000
@subsection Ändra