elisp-client.texinfo 75.6 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
142
* Buggrapporter::               Buggrapporter
* Filer::                       Filer
* Index::                       Index
* Tangenterna::                 Tangenterna
* Variabelindex::               Variabelindex

 --- Den specificerade nodlistan ---

Förord

* Bakgrund:: 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
162
* Lysator::			Koppla upp sig från lysator.
* IDA::				Koppla upp sig från elev-sparcarna på IDA.
* 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

163
* Läsa::			De vanligaste kommandona för att läsa inlägg.
164
165
166
167
168
169
170
171
172
173
* 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.

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

177
* Spara text::			Spara ett eller flera inlägg
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
* 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
193
194
@end menu

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

Meningen med detta dokument är att den ska beskriva allt man behöver
200
veta om LysKOMs emacslisp-klient för att kunna använda den. Det förutsätts
201
202
203
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
204
205
206

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

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

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

219
220
221
222
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.
223
224
225
226
227
228
229
230
231
232
233

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.


234
@node Andra klienter, Historia, Förord, Top
235
236
@comment  node-name,  next,  previous,  up

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

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

@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.

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

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

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

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

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

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


324
325
326
327


@node Servern, Uppstart, Förord, Top
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
328
329
330
331
332
333
334
335
336
337
338
339
340
@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
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
355
356
@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.
* IDA::				Koppla upp sig från elev-sparcarna på IDA.
* Andra maskiner::		Hur du för annars.

@end menu
@end ifinfo
@node Lysator, IDA, Uppstart, Uppstart
357
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
358
359
360
361
362
@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
363
M-x lyskom RET
Linus Tolke's avatar
Linus Tolke committed
364
365
366
367
368
369
@end example
för att sätta igång. Svara på frågan om server med
att trycka @key{RET}.


@node IDA, Andra maskiner, Lysator, Uppstart
370
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
371
372
373
374
375
376
377
@section Från elev-sparcarna på IDA (Inst. för Datavetenskap på LiTH):

Lägg in
@example
(autoload 'lyskom "~d88perce/lyskom" "Köra LysKOM" t)
@end example
i din @file{.emacs}. Starta om emacs eller läs in @file{.emacs} i din emacs igen.
378
Skriv @code{M-x lyskom} @key{RET}. När du får frågan om server svarar du @code{med3} och
Linus Tolke's avatar
Linus Tolke committed
379
380
hoppas att allt fungerar. Kör inte från IDA:s maskiner om de är
nerlastade - vi vill inte att någon ska få för sig att stänga
381
denna möjlighet att köra LysKOM. På @file{med3.ida.liu.se} ligger ett litet
Linus Tolke's avatar
Linus Tolke committed
382
program som reläar anropen vidare till @file{varg.lysator.liu.se} där
383
servern ligger.
Linus Tolke's avatar
Linus Tolke committed
384
@node Andra maskiner,  , IDA, Uppstart
385
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
386
387
@section Från andra maskiner

388
389
390
391
392
393
394
395
396
397
398
399
400
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
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
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
401
@example
402
(autoload 'lyskom "lyskom" "Köra LysKOM" t)
403
@end example
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
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
435
436
437
438
@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
439
440
441
442
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
443
444


445
@node Första gången, Möten, Uppstart, Top
446
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
447
448
449
450
451
452
453
454
@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
455
456
457
458
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
459
460
461
@example
Salvador Dalberg, Stacken, Stockholm
@end example
Linus Tolke's avatar
Linus Tolke committed
462
463
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.
464
@refill
Linus Tolke's avatar
Linus Tolke committed
465

466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
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
486

487
488
489
490
491
492
493
494
495
496
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
497
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
@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.
522
Kom ihåg att LysKOMs emacslispklient från början var avsedd bara som ett
Linus Tolke's avatar
Linus Tolke committed
523
524
525
526
527
surrogat för den egentliga klienten och att det som du nu kör är en
alfarelease.


@node Scrollning, Kommandon, Prompten, Köra LysKOM
528
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
529
530
531
532
533
534
@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
535
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
536
537
538
539
540
541
542
543
544
545
546
547
@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.
548
Följande kommandon finns i LysKOMs emacslispklient i den version 
Linus Tolke's avatar
Linus Tolke committed
549
550
551
552
553
554
555
556
557
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
558
* Läsa::			De vanligaste kommandona för att läsa inlägg.
Linus Tolke's avatar
Linus Tolke committed
559
560
561
562
563
564
565
566
567
568
* 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.

569
* Återse::			Kommandon för att återse inlägg.
Linus Tolke's avatar
Linus Tolke committed
570
571
* Status::			Kommandon för att få status.

572
* Spara text::			Spara ett eller flera inlägg
Linus Tolke's avatar
Linus Tolke committed
573
574
575
576
577
578
579
580
581
582
583
* 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
584
@comment  node-name,  next,  previous,  up
585
@subsection Kommandon för att läsa inlägg.
Linus Tolke's avatar
Linus Tolke committed
586
587
588
589
590
591

@table @asis

@item @key{SPC}
@itemx (mellanslag)
@itemx @key{RET}
592
593
594
@ifinfo
@kindex @key{ }
@end ifinfo
Linus Tolke's avatar
Linus Tolke committed
595
596
597
@kindex SPC
@kindex mellanslag
@kindex rymdkrogen
598
@kindex space
Linus Tolke's avatar
Linus Tolke committed
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
@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
615
Gå till nästa inlägg och visa den. Om du håller på att återse sparas
Linus Tolke's avatar
Linus Tolke committed
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
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,
636
637
638
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
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662


@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
663
@findex Föregående inlägg
Linus Tolke's avatar
Linus Tolke committed
664
665
@kindex M-p
Detta kommando är bara till för att snabbare kunna hitta början på
666
det inlägg man är vid, eller hitta föregående inlägg.
Linus Tolke's avatar
Linus Tolke committed
667
668
669
670
671
672

@item @kbd{M-n}
@itemx @code{(Spring till) nästa text}
@findex (Spring till) nästa text
@findex Nästa text
@kindex M-n
673
674
Detta kommando är motsatsen till @kbd{M-p}. Det springer till nästa
inlägg istället.
Linus Tolke's avatar
Linus Tolke committed
675
676
677
678
679
680
681
682
683
684
685


@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
686
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
@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

707
Här är samtliga kommandon som används för att skriva ett inlägg listade.
Linus Tolke's avatar
Linus Tolke committed
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732

@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
733
@kindex C-u k
Linus Tolke's avatar
Linus Tolke committed
734
Kommentera det senast lästa eller skrivna inlägget. Man kan också
735
736
737
738
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
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757

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
758
759
760
761
762
763
@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
764
765
766
767
768
769


@item @kbd{p}
@itemx @code{Personligt svar}
@findex Personligt svar
@kindex p
770
@kindex C-u p
Linus Tolke's avatar
Linus Tolke committed
771
772
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
773
774
775
776
777
ä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
778
779
780
781
782
783
784
785
786
787
788
789
790


@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
791
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
792
793
794
795
796
797
798
799
800
801
@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
802
803
804
805
ö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
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
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859


@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
860
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
@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
884
885
886
887
888
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
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905

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
906
mötet. Alla markeringar om eventuella lästa inlägg försvinner.
Linus Tolke's avatar
Linus Tolke committed
907
908
909
910
Detta kommando har inte någon egen tangent.
@end table

@node Sluta, Annat, Bli medlem, Kommandon
911
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
912
913
914
915
916
917
918
919
920
921
922
@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.
923
924
925
926

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
927
inlägg.
928
929

Om du väljer att gå ur lyskom genom att avsluta Emacs och har
930
oinskickade buffertar kommer LysKOMs emacslispklient att se till att Emacs
931
betraktar LysKOM som en viktig process. Om du däremot har skickat in
932
eller slängt alla dina inlägg ser LysKOMs emacslispklientent till att Emacs inte
933
934
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
935
det alltså att du har oinskickade inlägg. @footnote{För att detta skall
936
937
938
fungera korrekt krävs att du kör en emacs version 18.58 eller senare.}


Linus Tolke's avatar
Linus Tolke committed
939
940
941
@end table

@node Annat, Ändra, Sluta, Kommandon
942
@comment  node-name,  next,  previous,  up
Linus Tolke's avatar
Linus Tolke committed
943
944
945
@subsection övriga kommandon i LysKOM.

@table @asis
946
@item @kbd{M-x kom-recover}
947
948
@itemx @code{Återstarta kom}
@findex Återstarta kom
949
@kindex M-x kom-recover
Linus Tolke's avatar
Linus Tolke committed
950
951
952
953
954
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.

955
956
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
957
här kommandot. Se även @ref{Buggrapporter}.
Linus Tolke's avatar
Linus Tolke committed
958
959
960
961

@item @kbd{t}
@itemx @code{Se tiden}
@findex Se tiden
962
@kindex t
Linus Tolke's avatar
Linus Tolke committed
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
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}.