elisp-client.texinfo 80.5 KB
Newer Older
1
% -*-mode: texinfo; TeX-default-extension: "texinfo"-*-
Linus Tolke's avatar
Linus Tolke committed
2
3
4
\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
@hyphenation{emacs-lisp-biblioteket}
David Kågedal's avatar
David Kågedal committed
30
@hyphenation{emacs-lisp-program}
31
@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
52
@subtitle En LysKOM-klient för GNU Emacs.
Linus Tolke's avatar
Linus Tolke committed
53

54
@author Linus Tolke @file{linus@@lysator.liu.se}
Linus Tolke's avatar
Linus Tolke committed
55
56
@author Per Cederqvist @file{ceder@@lysator.liu.se}
@author Inge Wallin @file{ingwa@@isy.liu.se} eller @file{inge@@lysator.liu.se}
David Byers's avatar
David Byers committed
57
@author David Byers @file{byers@@lysator.liu.se}
58
@author David Kågedal @file{davidk@@lysator.liu.se}
Linus Tolke's avatar
Linus Tolke committed
59
60

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

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.

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

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

93
94
David Byers --- @file{byers@@lysator.liu.se} @*
David Kågedal --- @samp{davidk@@lysator.liu.se}
95
96

Andra mer eller mindre aktiva personer är:
Linus Tolke's avatar
Linus Tolke committed
97

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


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

En klient skriven i GNU-emacs-lisp.

113
@c Don't change this line. Check install in Makefile.
114
@c davidk: Why not? This seems to be the place to change it.
115
Dokumentationen uppdaterad till klient version 0.38
Linus Tolke's avatar
Linus Tolke committed
116
117
118
@end ifinfo

@menu
119
* Förord::                      Förord
120
* Historia::                    
121
* Servern::                     Servern
122

123
124
* Uppstart::                    Uppstart
* Första gången::               Första gången du kör LysKOM
125

126
* Möten::                       Om möten
127

128
129
130
131
132
133
134
* Köra LysKOM::                 Köra LysKOM
* Namn::                        Namn
* Skriva inlägg::               Att skriva inlägg
* Flaggor::                     Flaggor
* Variabler::                   Variabler
* Hookar::                      Hookar
* Environmentvariabler::        Environmentvariabler
135

136
137
138
139
140
141
142
143
144
145
* Buggrapporter::               Buggrapporter
* Filer::                       Filer
* Index::                       Index
* Tangenterna::                 Tangenterna
* Variabelindex::               Variabelindex

 --- Den specificerade nodlistan ---

Förord

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

Uppstart

152
153
154
155
156
157
158
159
* 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.
David Byers's avatar
David Byers committed
160
* Filtrering::                  Hur du väljer bort vissa inlägg.
161
162
163
164
165
166
* Kommandon::			Vilka kommandon finns och vad gör de.

* Administratörskommandon::	Administratörskommandon

Kommandon

167
* Läsa::			De vanligaste kommandona för att läsa inlägg.
168
169
170
171
172
173
174
175
176
177
* 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.

178
* Återse::			Kommandon för att återse inlägg.
179
180
* Status::			Kommandon för att få status.

181
* Spara text::			Spara ett eller flera inlägg
182
183
184
185
186
187
* 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
David Byers's avatar
David Byers committed
188
* Filtrera::                    Kommandon för att filtrera inlägg.
189
190
191
192
193
194
195
196
197
* 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
198
199
@end menu

200
@node Förord, Servern, Top, Top
Linus Tolke's avatar
Linus Tolke committed
201
202
203
204
@comment  node-name,  next,  previous,  up
@chapter Förord

Meningen med detta dokument är att den ska beskriva allt man behöver
205
veta om LysKOMs emacslisp-klient för att kunna använda den. Det förutsätts
206
att läsaren känner till GNU Emacs. Om användaren har använt QZ-KOM är
207
208
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
209
210

@menu
211
* Historia:: Lite om koms historia fram till LysKOM.
212
* Utveckling av klienten:: Förutsättningarna för lyskom-projektet.
213
* Andra klienter:: Alternativ till LysKOMs emacslispklient.
Linus Tolke's avatar
Linus Tolke committed
214
215
@end menu

216
@c Ja, den h{r noden och de f|ljande: Utveckling av klienten och
217
@c Historia ligger i "fel" ordning i dokumentet. Det beror p} att jag
218
219
220
@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.

221
@node Utveckling av klienten, Andra klienter, Historia, Förord
222
223
@comment  node-name,  next,  previous,  up

224
225
226
227
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.
228
229

Om du vill deltaga i arbetet så är det bra om du skaffar dig en
230
231
232
233
ordentlig introduktion till hur systemet fungerar. Detta kräver att du
läser dokumentationen och studerar programkoden ordentligt. Men för att
du snabbast ska kunna lära dig systemet är det bäst att du kontaktar
någon av utvecklarna.
234

235
@node Andra klienter, , Utveckling av klienten, Förord
236
237
@comment  node-name,  next,  previous,  up

238
Det finns alternativ till LysKOMs emacslispklient som också är fritt
239
240
241
tillgängliga. I skrivande stund har ingen av dem riktigt
emacslispklientens funktionalitet, utan är begränsade i något avseende
men det sker utveckling av dem hela tiden.
242

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

@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
252
beroende på de olika förutsättningar som LysKOM har jämfört med QZ-kom
253
254
255
256
257
258
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.

259
Den senaste versionen av tty-klienten finns att hämta via ftp från
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
291
292
@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

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

LysKOM är ett konferenssystem som är inspirerat av KOM, det
298
299
300
301
302
303
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
304

305
306
307
308
309
310
311
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
312

313
314
315
316
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
317

318
319
320
321
322
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
323
324


325
326
327
328


@node Servern, Uppstart, Förord, Top
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
329
330
331
@chapter Servern

Servern, databashanteraren, är skriven i C och körs på
332
333
334
335
336
337
@file{kom.lysator.liu.se}. 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 kan
situationen naturligtvis bli en annan.
Linus Tolke's avatar
Linus Tolke committed
338
339
340


@node Uppstart, Första gången, Servern, Top
341
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
342
343
344
345
346
347
348
349
350
351
352
353
354
@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
355
@node Lysator, Andra maskiner, Uppstart, Uppstart
356
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
357
358
359
@section Från Lysators maskiner

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


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

372
373
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
374
375
376
377
@file{ftp.lysator.liu.se}. Ange din emailadress som lösenord. Gå ner i
directoryt @file{pub/lyskom/elisp-client} och skriv @code{get
lyskom-X.el.gz} där @code{X} är det högsta nummer du kan hitta i det
directoryt. Filen med det högsta numret är alltid den senaste
378
379
380
381
382
383
384
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
385
@example
386
(autoload 'lyskom "lyskom" "Köra LysKOM" t)
387
@end example
388
i filen @file{defaults.el} i samma directory.
389
390
391

Dokumentationen installerar du genom att packa upp tar-arkivet och
flytta alla dess filer till ditt lokala info-bibliotek. Antagligen
392
@code{/usr/linfo} eller något liknande. Sedan skriver du in en rad i
393
394
395
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
396
får lov att installera emacslispprogram på systemet, så flyttar du
397
398
399
400
401
402
403
404
405
406
407
408
409
410
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.

Linus Tolke's avatar
Linus Tolke committed
411

412
@node Första gången, Möten, Uppstart, Top
413
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
414
415
416
417
418
419
420
421
@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
422
423
424
425
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
426
427
428
@example
Salvador Dalberg, Stacken, Stockholm
@end example
Linus Tolke's avatar
Linus Tolke committed
429
430
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.
431
@refill
Linus Tolke's avatar
Linus Tolke committed
432

433
434
435
436
437
438
439
440
441
442
443
444
445
446
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

447
448
449
450
451
452
453
454
455
456
@c   Följande förvirrade beskrivning av möten har bevarats åt
@c   eftervärlden, men är nog inte så lämplig som nybörjarförklaring.
@c
@c Debatten är uppdelad i olika möten. Möten är dataenheter som bl.a. har
@c namn, medlemmar och mottagna inlägg. Medlemmarna förväntas vara
@c intresserade av inläggen som skickas till just det mötet och läser
@c dem. Namnen används som en kort presentation av mötet när man skall
@c referera till det, dvs när man går till mötet eller skickar brev till
@c mötet.

457
458
459
460
461
462
Diskussionerna i LysKOM förs i olika @dfn{möten}. Alla inlägg läggs i
ett eller flera sådana möten, och för att man ska se de inlägg som
skapas krävs det att man är medlem i något av dessa möten. Ett möte har
ett namn som kortfattat beskriver vad inläggen i mötet ska handla
om. Möten har också presentationer som lite mer utförligt beskriver vad
mötet är tänkt att handla om.
463
464
465

De flesta möten är öppna för alla att bli medlemmar i, men det finns
också slutna möten, som det krävs att man kontaktar administratören för
466
467
mötet för att bli medlem i. Dessutom finns det hemliga möten, vars
existens inte kan upptäckas annat än av medlemmarna i mötet.
468
469
470
471
472
473
474
475
476
477

Det finns inga som helst mekanismer eller garantier för att kontrollera
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.

Denna beskrivning av möten är något förenklad, och den intresserade
studenten bör studera serverdokumentationen för en djupare förståelse.
478
479

@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
@chapter Köra LysKOM


@menu
* Prompten::			Hur LysKOMs prompt fungerar.
* Scrollning::			Hur LysKOM scrollar och varför.
David Byers's avatar
David Byers committed
487
* Filtrering::                  Hur du väljer bort vissa inlägg.
Linus Tolke's avatar
Linus Tolke committed
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
* 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
503
När du ser prompten kan du ge ett kommando.
Linus Tolke's avatar
Linus Tolke committed
504

David Byers's avatar
David Byers committed
505
@node Scrollning, Filtrering, Prompten, Köra LysKOM
506
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
507
508
509
510
511
@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.

David Byers's avatar
David Byers committed
512
513
514
515
@node Filtrering, Kommandon, Scrollning, Köra LysKOM
@comment node-name, next, previous, up
@section Filtrering

516
517
@c Detta kapitel borde väl ligga på något bättre ställe?

David Byers's avatar
David Byers committed
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
För att hantera den stora mängd information som kan finnas i LysKOM
finns funktioner för att filtrera inlägg. Filtrering innebär att inlägg
med vissa egenskaper inte visas.

LysKOMs filtreringsfunktioner är mycket flexibla, och tillåter filter
som fritt kombinerar författare, ärende, textinnehåll och mottagare,
angivna som text, med reguljära uttryck eller, för författare och
mottagare, nummer. Varje del i ett filter kan omfatta alla inlägg som
antingen uppfyller eller inte uppfyller villkoren.

Filtreringen kan göras på tre olika sätt:

@table @asis
@item Visa inte
Visa första raden i inläggshuvudet och lista kommentarer till
inlägget. Denna filtermetod är mest användbar om man vill välja om man
skall se vissa inlägg i en diskussion.

@item Hoppa över
Hoppa över texten och hämta nästa text i läslistan. Endast ett
meddelande om att inlägget har hoppats över visas. Denna metod är
användbar om man aldrig vill se vissa inlägg i en diskussion.

@item Hoppa över kommentarer
Som hoppa över, men hoppar dessutom över alla kommentarer under
inlägget. Denna metod är användbar om man helt vill undvika vissa
diskussioner.

@end table

Filter är antingen tillfälliga eller permanenta. Tillfälliga filter
försvinner när du avslutar Emacs.

@node Kommandon, Administratörskommandon, Filtrering, Köra LysKOM
552
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
553
554
555
556
557
558
559
@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
560
ett kommando som fanns i gamla QZ-KOM. Detta ger dig en fråga på Emacs
Linus Tolke's avatar
Linus Tolke committed
561
562
563
564
meddelanderad och du kan nu trycka @kbd{?} och få en lista på vilka
kommandon som finns.

Antalet kommandon ökar hela tiden med ökande versionsnummer.
565
Följande kommandon finns i LysKOMs emacslispklient i den version 
Linus Tolke's avatar
Linus Tolke committed
566
567
568
569
570
571
572
573
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.

574
575
De flesta kommandon kan avbrytas med @kbd{C-g}.

Linus Tolke's avatar
Linus Tolke committed
576
@menu
577
* Läsa::			De vanligaste kommandona för att läsa inlägg.
Linus Tolke's avatar
Linus Tolke committed
578
579
580
581
582
583
584
585
586
587
* 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.

588
* Återse::			Kommandon för att återse inlägg.
Linus Tolke's avatar
Linus Tolke committed
589
590
* Status::			Kommandon för att få status.

591
* Spara text::			Spara ett eller flera inlägg
Linus Tolke's avatar
Linus Tolke committed
592
593
594
595
596
597
* 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
David Byers's avatar
David Byers committed
598
* Filtrera::                    Kommandon för att filtrera inlägg.
Linus Tolke's avatar
Linus Tolke committed
599
600
601
602
603
* Prioritera::			Kommando för att prioritera om möten.

* Ändra inställningarna::	
@end menu
@node Läsa, Få hjälp, Kommandon, Kommandon
604
@comment  node-name,  next,  previous,  up
605
@subsection Kommandon för att läsa inlägg.
Linus Tolke's avatar
Linus Tolke committed
606
607
608
609
610
611

@table @asis

@item @key{SPC}
@itemx (mellanslag)
@itemx @key{RET}
612
613
614
@ifinfo
@kindex @key{ }
@end ifinfo
Linus Tolke's avatar
Linus Tolke committed
615
616
617
@kindex SPC
@kindex mellanslag
@kindex rymdkrogen
618
@kindex space
Linus Tolke's avatar
Linus Tolke committed
619
620
621
622
623
624
@kindex RETURN
Utför defaulthandlingen, dvs det som står i prompten.


@item @key{LFD}
@itemx (eller @key{NEWLINE})
625
@itemx @kbd{j}
Linus Tolke's avatar
Linus Tolke committed
626
627
@kindex NEWLINE
@kindex LINEFEED
628
@kindex j
Linus Tolke's avatar
Linus Tolke committed
629
630
631
632
633
634
635
636
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
637
638
Gå till nästa inlägg och visa det. Om du håller på att återse sparas
informationen om vad du återser undan. Med @kbd{ån} kan du sedan
Linus Tolke's avatar
Linus Tolke committed
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
å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,
658
659
660
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
661

David Byers's avatar
David Byers committed
662
663
664
665
666
667
@item @kbd{H}
@itemx @code{Superhoppa}
@findex Superhoppa
@kindex H
Skapa ett filter som hoppar över alla texter i det aktuella mötet med
samma ärenderad som den senast lästa texten. Detta kommando är bra om
668
man vill hoppa över alla grenar i en gammal diskussion.
Linus Tolke's avatar
Linus Tolke committed
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691

@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
692
@findex Föregående inlägg
Linus Tolke's avatar
Linus Tolke committed
693
694
@kindex M-p
Detta kommando är bara till för att snabbare kunna hitta början på
695
det inlägg man är vid, eller hitta föregående inlägg.
Linus Tolke's avatar
Linus Tolke committed
696
697
698
699
700
701

@item @kbd{M-n}
@itemx @code{(Spring till) nästa text}
@findex (Spring till) nästa text
@findex Nästa text
@kindex M-n
702
703
Detta kommando är motsatsen till @kbd{M-p}. Det springer till nästa
inlägg istället.
Linus Tolke's avatar
Linus Tolke committed
704
705
706
707
708
709
710
711
712
713
714


@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
715
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
@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

736
Här är samtliga kommandon som används för att skriva ett inlägg listade.
Linus Tolke's avatar
Linus Tolke committed
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761

@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
762
@kindex C-u k
Linus Tolke's avatar
Linus Tolke committed
763
Kommentera det senast lästa eller skrivna inlägget. Man kan också
764
765
766
767
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
768

769
770
771
772
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, med flaggan
@code{kom-confirm-multiple-recipients}.
Linus Tolke's avatar
Linus Tolke committed
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787


@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
788
789
790
791
792
793
@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
794
795
796
797
798
799


@item @kbd{p}
@itemx @code{Personligt svar}
@findex Personligt svar
@kindex p
800
@kindex C-u p
Linus Tolke's avatar
Linus Tolke committed
801
Skriv ett personligt svar till författaren av det senast lästa
802
inlägget.
803

804
Man kan, liksom när man skriver kommentarer, skriva personligt svar till
805
806
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
807
808
809
810
811
812
813
814
815
816
817
818
819


@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
820
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
821
822
823
824
825
826
827
828
829
830
@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
831
832
833
tillfället. 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
834
sessionsnumret.
Linus Tolke's avatar
Linus Tolke committed
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
843
844
845
846
ut framför namnet på alla möten som man inte är medlem i. Om man ger ett
tomt mönster så listas alla möten (utom de hemliga). Observera att det
kan ta väldigt lång tid om det finns många möten, som på Lysators
LysKOM.
Linus Tolke's avatar
Linus Tolke committed
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891


@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
892
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
@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
916
917
918
919
920
921
922
923
924
925
926
927
928
Frågar efter ett möte och ser till att du blir medlem i det.

Elispklienten kommer att sätta prioriteten för mötet till @code{100} om
du inte har ändrat variabeln @code{kom-membership-default-priority} som
kontrollerar detta.

Normalt sett lägger elispklienten till nya möten sist i listan av möten
du är medlem i, men detta beteende går att kontrollera med variabeln
@code{kom-membership-default-placement}. Om du sätter denna variabel
till @code{nil} så får du en fråga om var mötet ska läggas. Detta anges
med ett heltal där 0 är allra först (före din brevlåda) och det högsta
numret som finns som alternativ är sist i listan. Du kan också sätta
variabeln till @code{first} eller @code{last}.
Linus Tolke's avatar
Linus Tolke committed
929
930
931
932
933
934

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.


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

@node Sluta, Annat, Bli medlem, Kommandon
943
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
944
945
946
947
948
949
950
951
952
953
954
@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.
955
956
957
958

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
959
inlägg.
960
961

Om du väljer att gå ur lyskom genom att avsluta Emacs och har
962
oinskickade buffertar kommer LysKOMs emacslispklient att se till att Emacs
963
betraktar LysKOM som en viktig process. Om du däremot har skickat in
964
eller slängt alla dina inlägg ser LysKOMs emacslispklientent till att Emacs inte
965
966
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
967
det alltså att du har oinskickade inlägg. @footnote{För att detta skall
968
969
970
fungera korrekt krävs att du kör en emacs version 18.58 eller senare.}


Linus Tolke's avatar
Linus Tolke committed
971
972
973
@end table

@node Annat, Ändra, Sluta, Kommandon
974
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
975
976
977
@subsection övriga kommandon i LysKOM.

@table @asis
978
@item @kbd{M-x kom-recover}
979
980
@itemx @code{Återstarta kom}
@findex Återstarta kom
981
@kindex M-x kom-recover
Linus Tolke's avatar
Linus Tolke committed
982
983
984
985
986
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.

987
988
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
989
här kommandot. Se även @ref{Buggrapporter}.
Linus Tolke's avatar
Linus Tolke committed
990
991
992
993

@item @kbd{t}
@itemx @code{Se tiden}
@findex Se tiden
994
@kindex t
Linus Tolke's avatar
Linus Tolke committed
995
996
997
998
999
1000
Visar vad klockan är.


@item @kbd{fu}
@itemx @code{Få uppmuntran}
@findex Få uppmuntran