From pbrochard at common-lisp.net Fri Nov 5 20:46:30 2010 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 05 Nov 2010 16:46:30 -0400 Subject: [clfswm-cvs] r374 - in clfswm: . src Message-ID: Author: pbrochard Date: Fri Nov 5 16:46:29 2010 New Revision: 374 Log: src/clfswm-internal.lisp (frame-select-next-child, frame-select-previous-child): New functions and bindings. Select the next/previous child in the current frame. Modified: clfswm/ChangeLog clfswm/src/bindings.lisp clfswm/src/clfswm-internal.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Fri Nov 5 16:46:29 2010 @@ -1,3 +1,9 @@ +2010-11-05 Philippe Brochard + + * src/clfswm-internal.lisp (frame-select-next-child) + (frame-select-previous-child): New functions and bindings. Select + the next/previous child in the current frame. + 2010-10-31 Philippe Brochard * src/clfswm-query.lisp (query-mode-complet): New function: Handle Modified: clfswm/src/bindings.lisp ============================================================================== --- clfswm/src/bindings.lisp (original) +++ clfswm/src/bindings.lisp Fri Nov 5 16:46:29 2010 @@ -54,8 +54,10 @@ (define-main-key ("Return" :mod-1) 'enter-frame) (define-main-key ("Return" :mod-1 :shift) 'leave-frame) (define-main-key ("Return" :mod-5) 'frame-toggle-maximize) - (define-main-key ("Page_Up" :mod-1) 'frame-lower-child) - (define-main-key ("Page_Down" :mod-1) 'frame-raise-child) + (define-main-key ("Page_Up" :mod-1) 'frame-select-previous-child) + (define-main-key ("Page_Down" :mod-1) 'frame-select-next-child) + (define-main-key ("Page_Up" :mod-1 :control) 'frame-lower-child) + (define-main-key ("Page_Down" :mod-1 :control) 'frame-raise-child) (define-main-key ("Home" :mod-1) 'switch-to-root-frame) (define-main-key ("Home" :mod-1 :shift) 'switch-and-select-root-frame) (define-main-key ("F10" :mod-1) 'fast-layout-switch) Modified: clfswm/src/clfswm-internal.lisp ============================================================================== --- clfswm/src/clfswm-internal.lisp (original) +++ clfswm/src/clfswm-internal.lisp Fri Nov 5 16:46:29 2010 @@ -869,6 +869,25 @@ (show-all-children))) +(defun frame-select-next-child () + "Select the next child in the current frame" + (when (frame-p *current-child*) + (with-slots (child selected-pos) *current-child* + (unless (>= selected-pos (length child)) + (incf selected-pos))) + (show-all-children))) + + +(defun frame-select-previous-child () + "Select the previous child in the current frame" + (when (frame-p *current-child*) + (with-slots (child selected-pos) *current-child* + (unless (< selected-pos 1) + (decf selected-pos))) + (show-all-children))) + + + (defun switch-to-root-frame (&key (show-later nil)) "Switch to the root frame" (hide-all *current-root*) From pbrochard at common-lisp.net Fri Nov 5 20:48:29 2010 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 05 Nov 2010 16:48:29 -0400 Subject: [clfswm-cvs] r375 - in clfswm: . doc Message-ID: Author: pbrochard Date: Fri Nov 5 16:48:29 2010 New Revision: 375 Log: Documentation update Modified: clfswm/doc/keys.html clfswm/doc/keys.txt clfswm/doc/menu.html clfswm/doc/menu.txt clfswm/load.lisp Modified: clfswm/doc/keys.html ============================================================================== --- clfswm/doc/keys.html (original) +++ clfswm/doc/keys.html Fri Nov 5 16:48:29 2010 @@ -181,7 +181,7 @@ Page_up - Lower the child in the current frame + Select the previous child in the current frame @@ -192,6 +192,28 @@ Page_down + Select the next child in the current frame + + + + + Mod-1 Control + + + Page_up + + + Lower the child in the current frame + + + + + Mod-1 Control + + + Page_down + + Raise the child in the current frame Modified: clfswm/doc/keys.txt ============================================================================== --- clfswm/doc/keys.txt (original) +++ clfswm/doc/keys.txt Fri Nov 5 16:48:29 2010 @@ -19,8 +19,10 @@ Mod-1 Return Enter in the selected frame - ie make it the root frame Mod-1 Shift Return Leave the selected frame - ie make its parent the root frame Mod-5 Return Maximize/Unmaximize the current frame in its parent frame - Mod-1 Page_up Lower the child in the current frame - Mod-1 Page_down Raise the child in the current frame + Mod-1 Page_up Select the previous child in the current frame + Mod-1 Page_down Select the next child in the current frame + Mod-1 Control Page_up Lower the child in the current frame + Mod-1 Control Page_down Raise the child in the current frame Mod-1 Home Switch to the root frame Mod-1 Shift Home Switch and select the root frame Mod-1 F10 Switch between two layouts Modified: clfswm/doc/menu.html ============================================================================== --- clfswm/doc/menu.html (original) +++ clfswm/doc/menu.html Fri Nov 5 16:48:29 2010 @@ -196,7 +196,10 @@ f: ROX Filer - ROX Filer

- g: Xfe - A lightweight file manager for X Window + g: Worker - File manager for X. +

+

+ h: Xfe - A lightweight file manager for X Window


@@ -427,64 +430,67 @@ Education

- a: Blinken - A memory enhancement game + a: Avogadro - Advanced molecular editor

- b: Cantor + b: Blinken - A memory enhancement game

- c: KAlgebra - Math Expression Solver and Plotter + c: Cantor

- d: Kalzium - KDE Periodic Table of Elements + d: KAlgebra - Math Expression Solver and Plotter

- e: Kanagram - KDE Letter Order Game + e: Kalzium - KDE Periodic Table of Elements

- f: KBruch - Practice exercises with fractions + f: Kanagram - KDE Letter Order Game

- g: KGeography - A Geography Learning Program + g: KBruch - Practice exercises with fractions

- h: KHangMan - KDE Hangman Game + h: KGeography - A Geography Learning Program

- i: Kig - Explore Geometric Constructions + i: KHangMan - KDE Hangman Game

- j: Kiten - Japanese Reference and Study Tool + j: Kig - Explore Geometric Constructions

- k: KLettres - a KDE program to learn the alphabet + k: Kiten - Japanese Reference and Study Tool

- l: KmPlot - Function Plotter + l: KLettres - a KDE program to learn the alphabet

- m: KStars - Desktop Planetarium + m: KmPlot - Function Plotter

- n: KTouch + n: KStars - Desktop Planetarium

- o: KTurtle + o: KTouch

- p: KWordQuiz - A flashcard and vocabulary learning program + p: KTurtle

- q: Marble + q: KWordQuiz - A flashcard and vocabulary learning program

- r: Parley + r: Marble

- s: Rocs - Graph Theory Tool for Professors and Students. + s: Parley

- t: Step - Simulate physics experiments + t: Rocs - Graph Theory Tool for Professors and Students. +

+

+ u: Step - Simulate physics experiments


@@ -503,70 +509,73 @@ d: DROD - Simple puzzle game.

- e: Foobillard - A 3D billiards game using OpenGL + e: Flobopuyo - A remake of the famous PuyoPuyo

- f: Frasse - Frasse and the Peas of Kejick adventure game + f: Foobillard - A 3D billiards game using OpenGL

- g: Frogatto - Old-school 2D platformer + g: Frasse - Frasse and the Peas of Kejick adventure game

- h: GGoban - Play go and review game records + h: Frogatto - Old-school 2D platformer

- i: KGoldrunner - A game of action and puzzle-solving + i: GGoban - Play go and review game records

- j: AMOR + j: KGoldrunner - A game of action and puzzle-solving

- k: Blinken - A memory enhancement game + k: AMOR

- l: Bomber + l: Blinken - A memory enhancement game

- m: Bovo + m: Bomber

- n: Granatier + n: Bovo

- o: Kanagram - KDE Letter Order Game + o: Granatier

- p: Kapman - Eat pills escaping ghosts + p: Kanagram - KDE Letter Order Game

- q: KAtomic + q: Kapman - Eat pills escaping ghosts

- r: KBattleship + r: KAtomic

- s: KBlackBox + s: KBattleship

- t: KBlocks + t: KBlackBox

- u: KBounce + u: KBlocks

- v: KBreakOut + v: KBounce

- w: KSnake + w: KBreakOut

- x: KDiamond + x: KSnake

- y: KFourInLine + y: KDiamond

- z: KHangMan - KDE Hangman Game + z: KFourInLine +

+

+ |: KHangMan - KDE Hangman Game

|: Kigo @@ -767,6 +776,9 @@

|: Xfig

+

+ |: XSane - Scanning - Acquire images from a scanner +


Network @@ -876,9 +888,6 @@

|: Wicd - Manage Wired/Wireless Networks

-

- |: wireshark - Network protocol analyzer -


Office @@ -1035,7 +1044,7 @@ v: Preferred Applications

- w: Appearance - Customize the look of your desktop + w: Customize Look and Feel - Customizes look and feel of your desktop and applications

x: Monitor Settings - Change screen resolution and configure external monitors @@ -1210,6 +1219,9 @@ |: Oracle VM VirtualBox

+ |: Wireshark - Network traffic analyzer +

+

|: Xfe - A lightweight file manager for X Window

@@ -1256,46 +1268,49 @@ l: gVim - GTK2 enhanced vim text editor

- m: Help - Get help with GNOME + m: HP Device Manager - View device status, ink levels and perform maintenance. +

+

+ n: Help - Get help with GNOME

- n: Home + o: Home

- o: KCharSelect + p: KCharSelect

- p: KFloppy + q: KFloppy

- q: KJots + r: KJots

- r: Akonaditray + s: Akonaditray

- s: Ark + t: Ark

- t: KDE Groupware Wizard + u: KDE Groupware Wizard

- u: KAlarm + v: KAlarm

- v: Kate + w: Kate

- w: KCalc + x: KCalc

- x: KFileReplace + y: KFileReplace

- y: Find Files/Folders + z: Find Files/Folders

- z: KFontView + |: KFontView

|: KGpg - A GnuPG frontend @@ -1379,6 +1394,9 @@ |: Tilda

+ |: Worker - File manager for X. +

+

|: About Xfce

@@ -2671,31 +2689,31 @@ b: < Notify Window mode group >

- c: < Expose mode group > + c: < Identify key group >

- d: < Hook group > + d: < Expose mode group >

- e: < Main mode group > + e: < Hook group >

- f: < Frame colors group > + f: < Main mode group >

- g: < Identify key group > + g: < Frame colors group >

- h: < Corner group > + h: < Second mode group >

- i: < Circulate mode group > + i: < Corner group >

- j: < Query string group > + j: < Circulate mode group >

- k: < Second mode group > + k: < Query string group >

l: < Placement group > @@ -2737,6 +2755,22 @@


+ Conf-Identify-Key-Group +

+

+ a: Configure IDENTIFY-FOREGROUND +

+

+ b: Configure IDENTIFY-BACKGROUND +

+

+ c: Configure IDENTIFY-FONT-STRING +

+

+ d: Configure IDENTIFY-BORDER +

+
+

Conf-Expose-Mode-Group

@@ -2768,10 +2802,13 @@ b: Configure DEFAULT-NW-HOOK

- c: Configure LOOP-HOOK + c: Configure MAIN-ENTRANCE-HOOK

- d: Configure BINDING-HOOK + d: Configure LOOP-HOOK +

+

+ e: Configure BINDING-HOOK


@@ -2804,19 +2841,25 @@


- Conf-Identify-Key-Group + Conf-Second-Mode-Group

- a: Configure IDENTIFY-FOREGROUND + a: Configure SM-FOREGROUND-COLOR

- b: Configure IDENTIFY-FONT-STRING + b: Configure SM-BACKGROUND-COLOR

- c: Configure IDENTIFY-BORDER + c: Configure SM-HEIGHT

- d: Configure IDENTIFY-BACKGROUND + d: Configure SM-WIDTH +

+

+ e: Configure SM-BORDER-COLOR +

+

+ f: Configure SM-FONT-STRING


@@ -2832,19 +2875,19 @@ c: Configure CORNER-SECOND-MODE-LEFT-BUTTON

- d: Configure CORNER-MAIN-MODE-RIGHT-BUTTON + d: Configure CORNER-SECOND-MODE-RIGHT-BUTTON

- e: Configure CORNER-SECOND-MODE-RIGHT-BUTTON + e: Configure CORNER-SIZE

- f: Configure CORNER-SIZE + f: Configure CORNER-MAIN-MODE-RIGHT-BUTTON

- g: Configure CLFSWM-TERMINAL-CMD + g: Configure VIRTUAL-KEYBOARD-CMD

- h: Configure VIRTUAL-KEYBOARD-CMD + h: Configure CLFSWM-TERMINAL-CMD

i: Configure CORNER-MAIN-MODE-MIDDLE-BUTTON @@ -2857,19 +2900,19 @@ Conf-Circulate-Mode-Group

- a: Configure CIRCULATE-WIDTH + a: Configure CIRCULATE-BORDER

- b: Configure CIRCULATE-BORDER + b: Configure CIRCULATE-HEIGHT

- c: Configure CIRCULATE-HEIGHT + c: Configure CIRCULATE-TEXT-LIMITE

- d: Configure CIRCULATE-TEXT-LIMITE + d: Configure CIRCULATE-FONT-STRING

- e: Configure CIRCULATE-FONT-STRING + e: Configure CIRCULATE-WIDTH

f: Configure CIRCULATE-BACKGROUND @@ -2907,28 +2950,6 @@


- Conf-Second-Mode-Group -

-

- a: Configure SM-FOREGROUND-COLOR -

-

- b: Configure SM-BACKGROUND-COLOR -

-

- c: Configure SM-HEIGHT -

-

- d: Configure SM-WIDTH -

-

- e: Configure SM-BORDER-COLOR -

-

- f: Configure SM-FONT-STRING -

-
-

Conf-Placement-Group

@@ -2957,28 +2978,28 @@ Conf-Miscellaneous-Group

- a: Configure HAVE-TO-COMPRESS-NOTIFY + a: Configure CREATE-FRAME-ON-ROOT

- b: Configure DEFAULT-WINDOW-WIDTH + b: Configure HAVE-TO-COMPRESS-NOTIFY

- c: Configure CREATE-FRAME-ON-ROOT + c: Configure DEFAULT-WINDOW-WIDTH

- d: Configure HIDE-UNMANAGED-WINDOW + d: Configure NEVER-MANAGED-WINDOW-LIST

- e: Configure DEFAULT-FRAME-DATA + e: Configure DEFAULT-MANAGED-TYPE

- f: Configure DEFAULT-MODIFIERS + f: Configure HIDE-UNMANAGED-WINDOW

- g: Configure NEVER-MANAGED-WINDOW-LIST + g: Configure DEFAULT-FRAME-DATA

- h: Configure DEFAULT-MANAGED-TYPE + h: Configure DEFAULT-MODIFIERS

i: Configure DEFAULT-WINDOW-HEIGHT Modified: clfswm/doc/menu.txt ============================================================================== --- clfswm/doc/menu.txt (original) +++ clfswm/doc/menu.txt Fri Nov 5 16:48:29 2010 @@ -64,7 +64,8 @@ d: Krusader e: File Manager f: ROX Filer - ROX Filer -g: Xfe - A lightweight file manager for X Window +g: Worker - File manager for X. +h: Xfe - A lightweight file manager for X Window Webbrowser a: Arora - Browse the World Wide Web @@ -145,54 +146,56 @@ u: OpenJDK Policy Tool - Manage OpenJDK policy files Education -a: Blinken - A memory enhancement game -b: Cantor -c: KAlgebra - Math Expression Solver and Plotter -d: Kalzium - KDE Periodic Table of Elements -e: Kanagram - KDE Letter Order Game -f: KBruch - Practice exercises with fractions -g: KGeography - A Geography Learning Program -h: KHangMan - KDE Hangman Game -i: Kig - Explore Geometric Constructions -j: Kiten - Japanese Reference and Study Tool -k: KLettres - a KDE program to learn the alphabet -l: KmPlot - Function Plotter -m: KStars - Desktop Planetarium -n: KTouch -o: KTurtle -p: KWordQuiz - A flashcard and vocabulary learning program -q: Marble -r: Parley -s: Rocs - Graph Theory Tool for Professors and Students. -t: Step - Simulate physics experiments +a: Avogadro - Advanced molecular editor +b: Blinken - A memory enhancement game +c: Cantor +d: KAlgebra - Math Expression Solver and Plotter +e: Kalzium - KDE Periodic Table of Elements +f: Kanagram - KDE Letter Order Game +g: KBruch - Practice exercises with fractions +h: KGeography - A Geography Learning Program +i: KHangMan - KDE Hangman Game +j: Kig - Explore Geometric Constructions +k: Kiten - Japanese Reference and Study Tool +l: KLettres - a KDE program to learn the alphabet +m: KmPlot - Function Plotter +n: KStars - Desktop Planetarium +o: KTouch +p: KTurtle +q: KWordQuiz - A flashcard and vocabulary learning program +r: Marble +s: Parley +t: Rocs - Graph Theory Tool for Professors and Students. +u: Step - Simulate physics experiments Game a: 0 A.D. Editor b: 0 A.D. c: AssaultCube d: DROD - Simple puzzle game. -e: Foobillard - A 3D billiards game using OpenGL -f: Frasse - Frasse and the Peas of Kejick adventure game -g: Frogatto - Old-school 2D platformer -h: GGoban - Play go and review game records -i: KGoldrunner - A game of action and puzzle-solving -j: AMOR -k: Blinken - A memory enhancement game -l: Bomber -m: Bovo -n: Granatier -o: Kanagram - KDE Letter Order Game -p: Kapman - Eat pills escaping ghosts -q: KAtomic -r: KBattleship -s: KBlackBox -t: KBlocks -u: KBounce -v: KBreakOut -w: KSnake -x: KDiamond -y: KFourInLine -z: KHangMan - KDE Hangman Game +e: Flobopuyo - A remake of the famous PuyoPuyo +f: Foobillard - A 3D billiards game using OpenGL +g: Frasse - Frasse and the Peas of Kejick adventure game +h: Frogatto - Old-school 2D platformer +i: GGoban - Play go and review game records +j: KGoldrunner - A game of action and puzzle-solving +k: AMOR +l: Blinken - A memory enhancement game +m: Bomber +n: Bovo +o: Granatier +p: Kanagram - KDE Letter Order Game +q: Kapman - Eat pills escaping ghosts +r: KAtomic +s: KBattleship +t: KBlackBox +u: KBlocks +v: KBounce +w: KBreakOut +x: KSnake +y: KDiamond +z: KFourInLine +|: KHangMan - KDE Hangman Game |: Kigo |: Killbots |: Kiriki @@ -260,6 +263,7 @@ z: Okular |: Okular |: Xfig +|: XSane - Scanning - Acquire images from a scanner Network a: Arora - Browse the World Wide Web @@ -297,7 +301,6 @@ |: Transmission - Download and share files over BitTorrent |: Tucan Manager - Download and upload manager for hosting sites. |: Wicd - Manage Wired/Wireless Networks -|: wireshark - Network protocol analyzer Office a: AbiWord @@ -351,7 +354,7 @@ t: Keyboard Shortcuts - Assign shortcut keys to commands u: Keyboard - Edit keyboard settings and application shortcuts v: Preferred Applications -w: Appearance - Customize the look of your desktop +w: Customize Look and Feel - Customizes look and feel of your desktop and applications x: Monitor Settings - Change screen resolution and configure external monitors y: File Management - Change the behaviour and appearance of file manager windows z: Pop-Up Notifications - Set your pop-up notification preferences @@ -410,6 +413,7 @@ |: rxvt-unicode - An Unicode capable rxvt clone |: UNetbootin - Tool for creating Live USB drives |: Oracle VM VirtualBox +|: Wireshark - Network traffic analyzer |: Xfe - A lightweight file manager for X Window |: XNC - Graphical File manager, X Northern Captain @@ -426,20 +430,21 @@ j: Image Viewer k: Character Map - Insert special characters into documents l: gVim - GTK2 enhanced vim text editor -m: Help - Get help with GNOME -n: Home -o: KCharSelect -p: KFloppy -q: KJots -r: Akonaditray -s: Ark -t: KDE Groupware Wizard -u: KAlarm -v: Kate -w: KCalc -x: KFileReplace -y: Find Files/Folders -z: KFontView +m: HP Device Manager - View device status, ink levels and perform maintenance. +n: Help - Get help with GNOME +o: Home +p: KCharSelect +q: KFloppy +r: KJots +s: Akonaditray +t: Ark +u: KDE Groupware Wizard +v: KAlarm +w: Kate +x: KCalc +y: KFileReplace +z: Find Files/Folders +|: KFontView |: KGpg - A GnuPG frontend |: Kleopatra |: Kleopatra @@ -467,6 +472,7 @@ |: File Manager |: Scilab - A scientific software package for numerical computations |: Tilda +|: Worker - File manager for X. |: About Xfce |: Application Finder - Find and launch applications installed on your system |: File Manager @@ -917,15 +923,15 @@ Configuration-Menu a: < Notify Window group > b: < Notify Window mode group > -c: < Expose mode group > -d: < Hook group > -e: < Main mode group > -f: < Frame colors group > -g: < Identify key group > -h: < Corner group > -i: < Circulate mode group > -j: < Query string group > -k: < Second mode group > +c: < Identify key group > +d: < Expose mode group > +e: < Hook group > +f: < Main mode group > +g: < Frame colors group > +h: < Second mode group > +i: < Corner group > +j: < Circulate mode group > +k: < Query string group > l: < Placement group > m: < Miscellaneous group > n: < Info mode group > @@ -941,6 +947,12 @@ Conf-Notify-Window-Mode-Group a: Configure NOTIFY-WINDOW-FONT-STRING +Conf-Identify-Key-Group +a: Configure IDENTIFY-FOREGROUND +b: Configure IDENTIFY-BACKGROUND +c: Configure IDENTIFY-FONT-STRING +d: Configure IDENTIFY-BORDER + Conf-Expose-Mode-Group a: Configure EXPOSE-FOREGROUND b: Configure EXPOSE-SHOW-WINDOW-TITLE @@ -952,8 +964,9 @@ Conf-Hook-Group a: Configure INIT-HOOK b: Configure DEFAULT-NW-HOOK -c: Configure LOOP-HOOK -d: Configure BINDING-HOOK +c: Configure MAIN-ENTRANCE-HOOK +d: Configure LOOP-HOOK +e: Configure BINDING-HOOK Conf-Main-Mode-Group a: Configure COLOR-UNSELECTED @@ -966,30 +979,32 @@ c: Configure FRAME-FOREGROUND-HIDDEN d: Configure FRAME-BACKGROUND -Conf-Identify-Key-Group -a: Configure IDENTIFY-FOREGROUND -b: Configure IDENTIFY-FONT-STRING -c: Configure IDENTIFY-BORDER -d: Configure IDENTIFY-BACKGROUND +Conf-Second-Mode-Group +a: Configure SM-FOREGROUND-COLOR +b: Configure SM-BACKGROUND-COLOR +c: Configure SM-HEIGHT +d: Configure SM-WIDTH +e: Configure SM-BORDER-COLOR +f: Configure SM-FONT-STRING Conf-Corner-Group a: Configure CORNER-MAIN-MODE-LEFT-BUTTON b: Configure CORNER-SECOND-MODE-MIDDLE-BUTTON c: Configure CORNER-SECOND-MODE-LEFT-BUTTON -d: Configure CORNER-MAIN-MODE-RIGHT-BUTTON -e: Configure CORNER-SECOND-MODE-RIGHT-BUTTON -f: Configure CORNER-SIZE -g: Configure CLFSWM-TERMINAL-CMD -h: Configure VIRTUAL-KEYBOARD-CMD +d: Configure CORNER-SECOND-MODE-RIGHT-BUTTON +e: Configure CORNER-SIZE +f: Configure CORNER-MAIN-MODE-RIGHT-BUTTON +g: Configure VIRTUAL-KEYBOARD-CMD +h: Configure CLFSWM-TERMINAL-CMD i: Configure CORNER-MAIN-MODE-MIDDLE-BUTTON j: Configure CLFSWM-TERMINAL-NAME Conf-Circulate-Mode-Group -a: Configure CIRCULATE-WIDTH -b: Configure CIRCULATE-BORDER -c: Configure CIRCULATE-HEIGHT -d: Configure CIRCULATE-TEXT-LIMITE -e: Configure CIRCULATE-FONT-STRING +a: Configure CIRCULATE-BORDER +b: Configure CIRCULATE-HEIGHT +c: Configure CIRCULATE-TEXT-LIMITE +d: Configure CIRCULATE-FONT-STRING +e: Configure CIRCULATE-WIDTH f: Configure CIRCULATE-BACKGROUND g: Configure CIRCULATE-FOREGROUND @@ -1003,14 +1018,6 @@ g: Configure QUERY-FOREGROUND h: Configure QUERY-CURSOR-COLOR -Conf-Second-Mode-Group -a: Configure SM-FOREGROUND-COLOR -b: Configure SM-BACKGROUND-COLOR -c: Configure SM-HEIGHT -d: Configure SM-WIDTH -e: Configure SM-BORDER-COLOR -f: Configure SM-FONT-STRING - Conf-Placement-Group a: Configure CIRCULATE-MODE-PLACEMENT b: Configure NOTIFY-WINDOW-PLACEMENT @@ -1021,14 +1028,14 @@ g: Configure SECOND-MODE-PLACEMENT Conf-Miscellaneous-Group -a: Configure HAVE-TO-COMPRESS-NOTIFY -b: Configure DEFAULT-WINDOW-WIDTH -c: Configure CREATE-FRAME-ON-ROOT -d: Configure HIDE-UNMANAGED-WINDOW -e: Configure DEFAULT-FRAME-DATA -f: Configure DEFAULT-MODIFIERS -g: Configure NEVER-MANAGED-WINDOW-LIST -h: Configure DEFAULT-MANAGED-TYPE +a: Configure CREATE-FRAME-ON-ROOT +b: Configure HAVE-TO-COMPRESS-NOTIFY +c: Configure DEFAULT-WINDOW-WIDTH +d: Configure NEVER-MANAGED-WINDOW-LIST +e: Configure DEFAULT-MANAGED-TYPE +f: Configure HIDE-UNMANAGED-WINDOW +g: Configure DEFAULT-FRAME-DATA +h: Configure DEFAULT-MODIFIERS i: Configure DEFAULT-WINDOW-HEIGHT j: Configure DEFAULT-FONT-STRING k: Configure DEFAULT-FOCUS-POLICY Modified: clfswm/load.lisp ============================================================================== --- clfswm/load.lisp (original) +++ clfswm/load.lisp Fri Nov 5 16:48:29 2010 @@ -57,7 +57,7 @@ (in-package :clfswm) -;;(ignore-errors +(ignore-errors (main :read-conf-file-p t);) From pbrochard at common-lisp.net Sat Nov 6 21:47:45 2010 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 06 Nov 2010 17:47:45 -0400 Subject: [clfswm-cvs] r376 - clfswm Message-ID: Author: pbrochard Date: Sat Nov 6 17:47:45 2010 New Revision: 376 Log: load.lisp: fix typo Modified: clfswm/load.lisp Modified: clfswm/load.lisp ============================================================================== --- clfswm/load.lisp (original) +++ clfswm/load.lisp Sat Nov 6 17:47:45 2010 @@ -58,7 +58,7 @@ (in-package :clfswm) (ignore-errors - (main :read-conf-file-p t);) + (main :read-conf-file-p t)) ;;;; Uncomment lines above to save the default documentation. From pbrochard at common-lisp.net Sun Nov 7 13:35:37 2010 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 07 Nov 2010 08:35:37 -0500 Subject: [clfswm-cvs] r377 - in clfswm: . src Message-ID: Author: pbrochard Date: Sun Nov 7 08:35:37 2010 New Revision: 377 Log: src/clfswm-layout.lisp (tile-layout-ask-keep-position): New function to let the user choose to keep child position with tile layout. Modified: clfswm/ChangeLog clfswm/src/clfswm-internal.lisp clfswm/src/clfswm-layout.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Sun Nov 7 08:35:37 2010 @@ -1,3 +1,12 @@ +2010-11-07 Philippe Brochard + + * src/clfswm-layout.lisp (tile-layout-ask-keep-position): New + function to let the user choose to keep child position with + tile layout. + + * src/clfswm-internal.lisp (remove-frame-data-slot): New + function. + 2010-11-05 Philippe Brochard * src/clfswm-internal.lisp (frame-select-next-child) Modified: clfswm/src/clfswm-internal.lisp ============================================================================== --- clfswm/src/clfswm-internal.lisp (original) +++ clfswm/src/clfswm-internal.lisp Sun Nov 7 08:35:37 2010 @@ -132,6 +132,14 @@ (defsetf frame-data-slot set-frame-data-slot) +(defun remove-frame-data-slot (frame slot) + "Remove a slot in frame data slots" + (when (frame-p frame) + (with-slots (data) frame + (setf data (remove (assoc slot data) data))))) + + + (defun managed-window-p (window frame) "Return t only if window is managed by frame" (if (frame-p frame) Modified: clfswm/src/clfswm-layout.lisp ============================================================================== --- clfswm/src/clfswm-layout.lisp (original) +++ clfswm/src/clfswm-layout.lisp Sun Nov 7 08:35:37 2010 @@ -186,12 +186,23 @@ ;;; Tile layout +(defun tile-layout-ask-keep-position () + (when (frame-p *current-child*) + (let ((keep-position (query-string "Keep child positions?" "" '("yes" "no")))) + (if (or (string= keep-position "") + (char= (char keep-position 0) #\y) + (char= (char keep-position 0) #\Y)) + (setf (frame-data-slot *current-child* :tile-layout-keep-positiion) :yes) + (remove-frame-data-slot *current-child* :tile-layout-keep-positiion))))) + + (defun set-layout-managed-children () (when (frame-p *current-child*) (setf (frame-data-slot *current-child* :layout-managed-children) - (copy-list (get-managed-child *current-child*))))) + (copy-list (get-managed-child *current-child*))) + (tile-layout-ask-keep-position))) -(defun update-layout-managed-children (child parent) +(defun update-layout-managed-children-keep-position (child parent) (let ((managed-children (frame-data-slot parent :layout-managed-children)) (managed-in-parent (get-managed-child parent))) (dolist (ch managed-in-parent) @@ -203,6 +214,13 @@ (setf (frame-data-slot parent :layout-managed-children) managed-children) managed-children)) +(defun update-layout-managed-children (child parent) + (if (eql (frame-data-slot *current-child* :tile-layout-keep-positiion) :yes) + (update-layout-managed-children-keep-position child parent) + (get-managed-child parent))) + + + (defgeneric tile-layout (child parent) (:documentation "Tile child in its frame (vertical)")) @@ -295,7 +313,7 @@ (defun tile-space-layout (child parent) "Tile Space: tile child in its frame leaving spaces between them" (with-slots (rx ry rw rh) parent - (let* ((managed-children (get-managed-child parent)) + (let* ((managed-children (update-layout-managed-children child parent)) (pos (child-position child managed-children)) (len (length managed-children)) (n (ceiling (sqrt len))) @@ -314,6 +332,7 @@ (defun set-tile-space-layout () "Tile Space: tile child in its frame leaving spaces between them" (layout-ask-size "Space size in percent (%)" :tile-space-size 0.01) + (set-layout-managed-children) (set-layout #'tile-space-layout)) From pbrochard at common-lisp.net Mon Nov 8 23:07:43 2010 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 08 Nov 2010 18:07:43 -0500 Subject: [clfswm-cvs] r378 - clfswm/src Message-ID: Author: pbrochard Date: Mon Nov 8 18:07:42 2010 New Revision: 378 Log: src/clfswm-layout.lisp (tile-layout, set-tile-layout): Fill blanks if needed. Modified: clfswm/src/clfswm-layout.lisp Modified: clfswm/src/clfswm-layout.lisp ============================================================================== --- clfswm/src/clfswm-layout.lisp (original) +++ clfswm/src/clfswm-layout.lisp Mon Nov 8 18:07:42 2010 @@ -188,7 +188,7 @@ ;;; Tile layout (defun tile-layout-ask-keep-position () (when (frame-p *current-child*) - (let ((keep-position (query-string "Keep child positions?" "" '("yes" "no")))) + (let ((keep-position (query-string "Keep frame children positions?" "" '("yes" "no")))) (if (or (string= keep-position "") (char= (char keep-position 0) #\y) (char= (char keep-position 0) #\Y)) @@ -228,12 +228,19 @@ (let* ((managed-children (update-layout-managed-children child parent)) (pos (child-position child managed-children)) (len (length managed-children)) - (n (ceiling (sqrt len))) - (dx (/ (frame-rw parent) n)) - (dy (/ (frame-rh parent) (ceiling (/ len n))))) - (values (round (+ (frame-rx parent) (truncate (* (mod pos n) dx)) 1)) - (round (+ (frame-ry parent) (truncate (* (truncate (/ pos n)) dy)) 1)) - (round (- dx 2)) + (nx (ceiling (sqrt len))) + (ny (ceiling (/ len nx))) + (dx (/ (frame-rw parent) nx)) + (dy (/ (frame-rh parent) ny)) + (dpos (- (* nx ny) len)) + (width dx)) + (when (plusp dpos) + (if (zerop pos) + (setf width (* dx (1+ dpos))) + (incf pos dpos))) + (values (round (+ (frame-rx parent) (truncate (* (mod pos nx) dx)) 1)) + (round (+ (frame-ry parent) (truncate (* (truncate (/ pos nx)) dy)) 1)) + (round (- width 2)) (round (- dy 2))))) (defun set-tile-layout () @@ -251,13 +258,20 @@ (let* ((managed-children (update-layout-managed-children child parent)) (pos (child-position child managed-children)) (len (length managed-children)) - (n (ceiling (sqrt len))) - (dx (/ (frame-rw parent) (ceiling (/ len n)))) - (dy (/ (frame-rh parent) n))) - (values (round (+ (frame-rx parent) (truncate (* (truncate (/ pos n)) dx)) 1)) - (round (+ (frame-ry parent) (truncate (* (mod pos n) dy)) 1)) + (ny (ceiling (sqrt len))) + (nx (ceiling (/ len ny))) + (dx (/ (frame-rw parent) nx)) + (dy (/ (frame-rh parent) ny)) + (dpos (- (* nx ny) len)) + (height dy)) + (when (plusp dpos) + (if (zerop pos) + (setf height (* dy (1+ dpos))) + (incf pos dpos))) + (values (round (+ (frame-rx parent) (truncate (* (truncate (/ pos ny)) dx)) 1)) + (round (+ (frame-ry parent) (truncate (* (mod pos ny) dy)) 1)) (round (- dx 2)) - (round (- dy 2))))) + (round (- height 2))))) (defun set-tile-horizontal-layout () "Tile child in its frame (horizontal)" From pbrochard at common-lisp.net Tue Nov 9 21:03:15 2010 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 09 Nov 2010 16:03:15 -0500 Subject: [clfswm-cvs] r379 - in clfswm: . doc src Message-ID: Author: pbrochard Date: Tue Nov 9 16:03:15 2010 New Revision: 379 Log: Documentation and dot-clfswmrc update Modified: clfswm/ChangeLog clfswm/doc/dot-clfswmrc clfswm/doc/menu.html clfswm/doc/menu.txt clfswm/src/clfswm.lisp clfswm/src/version.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Tue Nov 9 16:03:15 2010 @@ -1,3 +1,8 @@ +2010-11-09 Philippe Brochard + + * src/clfswm-layout.lisp (tile-layout, set-tile-layout): Fill + blanks if needed. + 2010-11-07 Philippe Brochard * src/clfswm-layout.lisp (tile-layout-ask-keep-position): New Modified: clfswm/doc/dot-clfswmrc ============================================================================== --- clfswm/doc/dot-clfswmrc (original) +++ clfswm/doc/dot-clfswmrc Tue Nov 9 16:03:15 2010 @@ -13,7 +13,7 @@ ;;(with-capslock) ;;(with-numlock) ;;(without-capslock) -;;(without-cnumlock) +;;(without-numlock) ;;;; Uncomment the line above if you want to enable the notify event compression. ;;;; This variable may be useful to speed up some slow version of CLX @@ -22,49 +22,10 @@ -;;; -- Azerty configuration -- -;;; For the main mode -;;(defun my-binding () -;; (define-main-key ("twosuperior") 'banish-pointer) -;; (undefine-main-multi-keys (#\t :mod-1) (#\b :mod-1) (#\b :mod-1 :control)) -;; (undefine-main-multi-keys ("1" :mod-1) ("2" :mod-1) ("3" :mod-1) -;; ("4" :mod-1) ("5" :mod-1) ("6" :mod-1) -;; ("7" :mod-1) ("8" :mod-1) ("9" :mod-1) ("0" :mod-1)) -;; (define-main-key ("ampersand" :mod-1) 'bind-or-jump 1) -;; (define-main-key ("eacute" :mod-1) 'bind-or-jump 2) -;; (define-main-key ("quotedbl" :mod-1) 'bind-or-jump 3) -;; (define-main-key ("quoteright" :mod-1) 'bind-or-jump 4) -;; (define-main-key ("parenleft" :mod-1) 'bind-or-jump 5) -;; (define-main-key ("minus" :mod-1) 'bind-or-jump 6) -;; (define-main-key ("egrave" :mod-1) 'bind-or-jump 7) -;; (define-main-key ("underscore" :mod-1) 'bind-or-jump 8) -;; (define-main-key ("ccedilla" :mod-1) 'bind-or-jump 9) -;; (define-main-key ("agrave" :mod-1) 'bind-or-jump 10) -;; ;; For the second mode -;; (undefine-second-multi-keys ("1" :mod-1) ("2" :mod-1) ("3" :mod-1) -;; ("4" :mod-1) ("5" :mod-1) ("6" :mod-1) -;; ("7" :mod-1) ("8" :mod-1) ("9" :mod-1) ("0" :mod-1)) -;; (define-second-key ("ampersand" :mod-1) 'bind-or-jump 1) -;; (define-second-key ("eacute" :mod-1) 'bind-or-jump 2) -;; (define-second-key ("quotedbl" :mod-1) 'bind-or-jump 3) -;; (define-second-key ("quoteright" :mod-1) 'bind-or-jump 4) -;; (define-second-key ("parenleft" :mod-1) 'bind-or-jump 5) -;; (define-second-key ("minus" :mod-1) 'bind-or-jump 6) -;; (define-second-key ("egrave" :mod-1) 'bind-or-jump 7) -;; (define-second-key ("underscore" :mod-1) 'bind-or-jump 8) -;; (define-second-key ("ccedilla" :mod-1) 'bind-or-jump 9) -;; (define-second-key ("agrave" :mod-1) 'bind-or-jump 10)) -;; -;;(add-hook *binding-hook* 'my-binding) -;; -;;(dbg *binding-hook*) -;;;;; -- Azerty configuration end -- - - ;;; Color configuration example ;;; -;;; See in package.lisp for all variables +;;; See in package.lisp or config.lisp for all variables ;;(setf *color-unselected* "Blue") @@ -80,6 +41,12 @@ ;;; and se load-contrib to load them. For example: ;;(load-contrib "contrib-example.lisp") +;;(load-contrib "mpd.lisp") +;;(load-contrib "keyb_fr.lisp") +;;(load-contrib "xmms.lisp") +;;(load-contrib "cd-player.lisp") +;;(load-contrib "reboot-halt.lisp") + ;;; Binding example: Undefine Control-F1 and define Control-F5 as a @@ -101,104 +68,43 @@ ;;(add-hook *binding-hook* 'binding-example) - -;;; Hook example +;;; Set up an UZBL frame where all uzbl windows will be absorbed. ;;; -;;; See in package.lisp and clfswm.lisp, clfswm-second-mode.lisp -;;; for hook examples -;;(setf *key-press-hook* (list (lambda (&rest args) ; function 1 -;; (format t "Keyp press (before): ~A~%" args) -;; (force-output)) -;; #'handle-key-press ; function 2 (default) -;; (lambda (&rest args) ; function 3 -;; (declare (ignore args)) -;; (format t "Keyp press (after)~%") -;; (force-output)))) - - +;;(defun set-uzbl-frame-nw-hook (&optional (frame *current-child*)) +;; "Open the window in the UZBL frame if it match uzbl absorb-nw-test" +;; (when (frame-p frame) +;; (setf (frame-nw-hook frame) 'absorb-window-nw-hook +;; (frame-data-slot frame :nw-absorb-test) (nw-absorb-test-class "uzbl-core")))) +;; +;;#-:uzbl-menu-added +;;(add-menu-key 'frame-nw-hook-menu "z" 'set-uzbl-frame-nw-hook) +;; +;;(pushnew :uzbl-menu-added *features*) +;; +;; +;;(defun init-uzbl-frame () +;; (let ((frame (first (frame-child *root-frame*)))) +;; (setf (frame-data-slot frame :tile-size) 0.7) +;; (setf *current-root* frame +;; *current-child* frame) +;; (bind-on-slot 0) +;; (let ((uzbl-frame (create-frame :name "Uzbl" :x 0.01 :y 0.01 :w 0.98 :h 0.98))) +;; (add-frame uzbl-frame frame) +;; (set-uzbl-frame-nw-hook uzbl-frame)))) +;; +;;(unless (member 'init-uzbl-frame *init-hook*) +;; (add-hook *init-hook* 'init-uzbl-frame)) +;;; End UZBL setup. ;;; A more complex example I use to record my desktop and show ;;; documentation associated to each key press. -;;(defun display-osd (formatter &rest args) -;; (do-shell "pkill osd_cat") -;; (do-shell (format nil "echo ~A | osd_cat -d 3 -p bottom -o -60 -f -*-fixed-*-*-*-*-16-*-*-*-*-*-*-1" -;; (apply #'format nil formatter args))) -;; (force-output)) -;; -;;(defun documentation-key-from-code (hash-key code state) -;; (documentation (first (find-key-from-code hash-key code state)) 'function)) -;; -;; -;;(defun key-string (hash-key code state) -;; (let* ((modifiers (xlib:make-state-keys state)) -;; (keysym (keysym->keysym-name (xlib:keycode->keysym *display* code 0))) -;; (doc (documentation-key-from-code hash-key code state))) -;; (values (format nil "~:(~{~A+~}~A~) : ~S" modifiers keysym doc) -;; doc))) -;; -;;(defun display-doc (hash-key code state) -;; (multiple-value-bind (str doc) -;; (key-string hash-key code state) -;; (when doc -;; (display-osd "~A" str)))) -;; -;;(defun display-key-osd-main (&rest event-slots &key code state &allow-other-keys) -;; (declare (ignore event-slots)) -;; (display-doc *main-keys* code state)) -;; -;;(defun display-key-osd-second (&rest event-slots &key code state &allow-other-keys) -;; (declare (ignore event-slots)) -;; (display-doc *second-keys* code state)) -;; -;;;; Define new hook or add to precedent one -;;(if (consp *key-press-hook*) -;; (push #'display-key-osd-main *key-press-hook*) -;; (setf *key-press-hook* (list #'display-key-osd-main #'handle-key-press))) -;;(setf *sm-key-press-hook* (list #'display-key-osd-second #'sm-handle-key-press)) -;; -;; -;;;;; Display menu functions -;;(defun open-menu (&optional (menu *menu*)) -;; "Open the main menu" -;; (let ((info-list nil) -;; (action nil)) -;; (dolist (item (menu-item menu)) -;; (let ((value (menu-item-value item))) -;; (push (typecase value -;; (menu (list (list (format nil "~A" (menu-item-key item)) *menu-color-menu-key*) -;; (list (format nil ": < ~A >" (menu-doc value)) *menu-color-submenu*))) -;; (string (list (list (format nil "~A" (menu-item-value item)) *menu-color-comment*))) -;; (t (list (list (format nil "~A" (menu-item-key item)) *menu-color-key*) -;; (format nil ": ~A" (documentation value 'function))))) -;; info-list) -;; (when (menu-item-key item) -;; (define-info-key-fun (list (menu-item-key item) 0) -;; (lambda (&optional args) -;; (declare (ignore args)) -;; (setf action value) -;; (throw 'exit-info-loop nil)))))) -;; (info-mode (nreverse info-list)) -;; (dolist (item (menu-item menu)) -;; (undefine-info-key-fun (list (menu-item-key item) 0))) -;; (typecase action -;; (menu -;; (display-osd "Open Menu: ~A" (menu-doc action)) ;; <- Display here -;; (open-menu action)) -;; (t (when (fboundp action) -;; (display-osd "~A" (documentation action 'function)) ;; <- Display here -;; (funcall action)))))) -;; -;; -;; -;;(defun get-fullscreen-size () -;; "Return the size of root child (values rx ry rw rh) -;;You can tweak this to what you want" -;; (values -2 -2 (+ (xlib:screen-width *screen*) 2) (- (xlib:screen-height *screen*) 20))) -;; +;;;See contrib/osd.lisp +;;(load-contrib "osd.lisp") ;;;;; -- Doc example end -- + ;;;;; Init hook examples: ;;(defun my-init-hook-1 () ;; (dbg 'my-init-hook) @@ -258,6 +164,8 @@ ;; ;; ;; -;;(setf *init-hook* #'my-init-hook-4) ;; <- choose one in 1 to 4 +;;(setf *init-hook* '(my-init-hook-4)) ;; <- choose one in 1 to 4, +;;;; my-init-hook-ms-windows-style +;;;; my-init-hook-rox-filer ;;;;(setf *init-hook* nil) ;;;;; Init hook end Modified: clfswm/doc/menu.html ============================================================================== --- clfswm/doc/menu.html (original) +++ clfswm/doc/menu.html Tue Nov 9 16:03:15 2010 @@ -524,55 +524,58 @@ i: GGoban - Play go and review game records

- j: KGoldrunner - A game of action and puzzle-solving + j: Hedgewars - Worms style game

- k: AMOR + k: KGoldrunner - A game of action and puzzle-solving

- l: Blinken - A memory enhancement game + l: AMOR

- m: Bomber + m: Blinken - A memory enhancement game

- n: Bovo + n: Bomber

- o: Granatier + o: Bovo

- p: Kanagram - KDE Letter Order Game + p: Granatier

- q: Kapman - Eat pills escaping ghosts + q: Kanagram - KDE Letter Order Game

- r: KAtomic + r: Kapman - Eat pills escaping ghosts

- s: KBattleship + s: KAtomic

- t: KBlackBox + t: KBattleship

- u: KBlocks + u: KBlackBox

- v: KBounce + v: KBlocks

- w: KBreakOut + w: KBounce

- x: KSnake + x: KBreakOut

- y: KDiamond + y: KSnake

- z: KFourInLine + z: KDiamond +

+

+ |: KFourInLine

|: KHangMan - KDE Hangman Game @@ -888,6 +891,12 @@

|: Wicd - Manage Wired/Wireless Networks

+

+ |: Zenmap (as root) +

+

+ |: Zenmap +


Office @@ -2875,19 +2884,19 @@ c: Configure CORNER-SECOND-MODE-LEFT-BUTTON

- d: Configure CORNER-SECOND-MODE-RIGHT-BUTTON + d: Configure CORNER-MAIN-MODE-RIGHT-BUTTON

- e: Configure CORNER-SIZE + e: Configure CORNER-SECOND-MODE-RIGHT-BUTTON

- f: Configure CORNER-MAIN-MODE-RIGHT-BUTTON + f: Configure CORNER-SIZE

- g: Configure VIRTUAL-KEYBOARD-CMD + g: Configure CLFSWM-TERMINAL-CMD

- h: Configure CLFSWM-TERMINAL-CMD + h: Configure VIRTUAL-KEYBOARD-CMD

i: Configure CORNER-MAIN-MODE-MIDDLE-BUTTON Modified: clfswm/doc/menu.txt ============================================================================== --- clfswm/doc/menu.txt (original) +++ clfswm/doc/menu.txt Tue Nov 9 16:03:15 2010 @@ -178,23 +178,24 @@ g: Frasse - Frasse and the Peas of Kejick adventure game h: Frogatto - Old-school 2D platformer i: GGoban - Play go and review game records -j: KGoldrunner - A game of action and puzzle-solving -k: AMOR -l: Blinken - A memory enhancement game -m: Bomber -n: Bovo -o: Granatier -p: Kanagram - KDE Letter Order Game -q: Kapman - Eat pills escaping ghosts -r: KAtomic -s: KBattleship -t: KBlackBox -u: KBlocks -v: KBounce -w: KBreakOut -x: KSnake -y: KDiamond -z: KFourInLine +j: Hedgewars - Worms style game +k: KGoldrunner - A game of action and puzzle-solving +l: AMOR +m: Blinken - A memory enhancement game +n: Bomber +o: Bovo +p: Granatier +q: Kanagram - KDE Letter Order Game +r: Kapman - Eat pills escaping ghosts +s: KAtomic +t: KBattleship +u: KBlackBox +v: KBlocks +w: KBounce +x: KBreakOut +y: KSnake +z: KDiamond +|: KFourInLine |: KHangMan - KDE Hangman Game |: Kigo |: Killbots @@ -301,6 +302,8 @@ |: Transmission - Download and share files over BitTorrent |: Tucan Manager - Download and upload manager for hosting sites. |: Wicd - Manage Wired/Wireless Networks +|: Zenmap (as root) +|: Zenmap Office a: AbiWord @@ -991,11 +994,11 @@ a: Configure CORNER-MAIN-MODE-LEFT-BUTTON b: Configure CORNER-SECOND-MODE-MIDDLE-BUTTON c: Configure CORNER-SECOND-MODE-LEFT-BUTTON -d: Configure CORNER-SECOND-MODE-RIGHT-BUTTON -e: Configure CORNER-SIZE -f: Configure CORNER-MAIN-MODE-RIGHT-BUTTON -g: Configure VIRTUAL-KEYBOARD-CMD -h: Configure CLFSWM-TERMINAL-CMD +d: Configure CORNER-MAIN-MODE-RIGHT-BUTTON +e: Configure CORNER-SECOND-MODE-RIGHT-BUTTON +f: Configure CORNER-SIZE +g: Configure CLFSWM-TERMINAL-CMD +h: Configure VIRTUAL-KEYBOARD-CMD i: Configure CORNER-MAIN-MODE-MIDDLE-BUTTON j: Configure CLFSWM-TERMINAL-NAME Modified: clfswm/src/clfswm.lisp ============================================================================== --- clfswm/src/clfswm.lisp (original) +++ clfswm/src/clfswm.lisp Tue Nov 9 16:03:15 2010 @@ -200,7 +200,7 @@ (netwm-set-properties) (xlib:display-force-output *display*) (setf *child-selection* nil) - (setf *root-frame* (create-frame :name "Root" :number 0) ;; :layout #'tile-space-layout) + (setf *root-frame* (create-frame :name "Root" :number 0) *current-root* *root-frame* *current-child* *current-root*) (call-hook *init-hook*) Modified: clfswm/src/version.lisp ============================================================================== --- clfswm/src/version.lisp (original) +++ clfswm/src/version.lisp Tue Nov 9 16:03:15 2010 @@ -33,4 +33,4 @@ (in-package :version) -(defparameter *version* #.(concatenate 'string "Version: 10.10 built " (date-string))) +(defparameter *version* #.(concatenate 'string "Version: 11.10 built " (date-string))) From pbrochard at common-lisp.net Tue Nov 9 21:17:43 2010 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 09 Nov 2010 16:17:43 -0500 Subject: [clfswm-cvs] r380 - in clfswm: . src Message-ID: Author: pbrochard Date: Tue Nov 9 16:17:43 2010 New Revision: 380 Log: src/clfswm-expose-mode.lisp (expose-windows-current-child-mode): New function an bindings. Modified: clfswm/ChangeLog clfswm/src/bindings.lisp clfswm/src/clfswm-expose-mode.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Tue Nov 9 16:17:43 2010 @@ -1,5 +1,8 @@ 2010-11-09 Philippe Brochard + * src/clfswm-expose-mode.lisp (expose-windows-current-child-mode): + New function an bindings. + * src/clfswm-layout.lisp (tile-layout, set-tile-layout): Fill blanks if needed. Modified: clfswm/src/bindings.lisp ============================================================================== --- clfswm/src/bindings.lisp (original) +++ clfswm/src/bindings.lisp Tue Nov 9 16:17:43 2010 @@ -61,12 +61,13 @@ (define-main-key ("Home" :mod-1) 'switch-to-root-frame) (define-main-key ("Home" :mod-1 :shift) 'switch-and-select-root-frame) (define-main-key ("F10" :mod-1) 'fast-layout-switch) - (define-main-key ("F10" :shift) 'show-all-frames-info-key) - (define-main-key ("F10" :shift :mod-1) 'show-all-frames-info) (define-main-key ("F10" :shift :control) 'toggle-show-root-frame) - (define-main-key ("F10") 'expose-windows-mode) - (define-main-key ("F10" :control) 'expose-all-windows-mode) + (define-main-key ("F10") 'expose-windows-current-child-mode) + (define-main-key ("F10" :control) 'expose-windows-mode) + (define-main-key ("F10" :control :shift) 'expose-all-windows-mode) (define-main-key ("L2" :control) 'present-clfswm-terminal) + (define-main-key ("L2" :shift) 'show-all-frames-info-key) + (define-main-key ("L2" :shift :mod-1) 'show-all-frames-info) (define-main-key (#\b :mod-1) 'banish-pointer) ;; Escape (define-main-key ("Escape" :control) 'ask-close/kill-current-window) Modified: clfswm/src/clfswm-expose-mode.lisp ============================================================================== --- clfswm/src/clfswm-expose-mode.lisp (original) +++ clfswm/src/clfswm-expose-mode.lisp Tue Nov 9 16:17:43 2010 @@ -205,3 +205,17 @@ (lambda () (hide-all-children *current-root*) (setf *current-root* orig-root))))) + +(defun expose-windows-current-child-mode () + "Present all windows in the current child (An expose like)" + (stop-button-event) + (when (frame-p *current-child*) + (let ((orig-root *current-root*)) + (hide-all *current-root*) + (setf *current-root* *current-child*) + (expose-windows-generic *current-root*) + (hide-all *current-root*) + (setf *current-root* orig-root) + (show-all-children *current-root*)))) + + From pbrochard at common-lisp.net Tue Nov 9 21:47:00 2010 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 09 Nov 2010 16:47:00 -0500 Subject: [clfswm-cvs] r381 - in clfswm: . doc src Message-ID: Author: pbrochard Date: Tue Nov 9 16:47:00 2010 New Revision: 381 Log: Documentation update Modified: clfswm/clfswm.asd clfswm/doc/keys.html clfswm/doc/keys.txt clfswm/doc/menu.html clfswm/doc/menu.txt clfswm/load.lisp clfswm/src/bindings-second-mode.lisp clfswm/src/clfswm-expose-mode.lisp Modified: clfswm/clfswm.asd ============================================================================== --- clfswm/clfswm.asd (original) +++ clfswm/clfswm.asd Tue Nov 9 16:47:00 2010 @@ -47,7 +47,7 @@ :depends-on ("package" "clfswm" "clfswm-internal" "clfswm-generic-mode" "clfswm-placement")) (:file "clfswm-expose-mode" - :depends-on ("package" "config" "clfswm-internal" "xlib-util" "tools" "clfswm-keys")) + :depends-on ("package" "config" "clfswm-internal" "xlib-util" "tools" "clfswm-keys" "clfswm-generic-mode")) (:file "clfswm-corner" :depends-on ("package" "config" "clfswm-internal" "clfswm-expose-mode" "xlib-util")) (:file "clfswm-info" Modified: clfswm/doc/keys.html ============================================================================== --- clfswm/doc/keys.html (original) +++ clfswm/doc/keys.html Tue Nov 9 16:47:00 2010 @@ -252,68 +252,68 @@ - Shift + Control Shift F10 - Show all frames info windows until a key is release + Present all windows in all frames (An expose like) - Mod-1 Shift + F10 - Show all frames info windows + Present all windows in the current child (An expose like) - Control Shift + Control F10 - Show/Hide the root frame + Present all windows in the current frame (An expose like) - + Control - F10 + L2 - Present all windows in the current frame (An expose like) + Hide/Unhide a terminal - Control + Shift - F10 + L2 - Present all windows in all frames (An expose like) + Show all frames info windows until a key is release - Control + Mod-1 Shift L2 - Hide/Unhide a terminal + Show all frames info windows @@ -1269,57 +1269,57 @@ - Shift + Control Shift F10 - Show all frames info windows until a key is release + Present all windows in all frames (An expose like) - Mod-1 Shift + F10 - Show all frames info windows + Present all windows in the current child (An expose like) - Control Shift + Control F10 - Show/Hide the root frame + Present all windows in the current frame (An expose like) - + Shift - F10 + L2 - Present all windows in the current frame (An expose like) + Show all frames info windows until a key is release - Control + Mod-1 Shift - F10 + L2 - Present all windows in all frames (An expose like) + Show all frames info windows Modified: clfswm/doc/keys.txt ============================================================================== --- clfswm/doc/keys.txt (original) +++ clfswm/doc/keys.txt Tue Nov 9 16:47:00 2010 @@ -26,12 +26,12 @@ Mod-1 Home Switch to the root frame Mod-1 Shift Home Switch and select the root frame Mod-1 F10 Switch between two layouts - Shift F10 Show all frames info windows until a key is release - Mod-1 Shift F10 Show all frames info windows - Control Shift F10 Show/Hide the root frame - F10 Present all windows in the current frame (An expose like) - Control F10 Present all windows in all frames (An expose like) + Control Shift F10 Present all windows in all frames (An expose like) + F10 Present all windows in the current child (An expose like) + Control F10 Present all windows in the current frame (An expose like) Control L2 Hide/Unhide a terminal + Shift L2 Show all frames info windows until a key is release + Mod-1 Shift L2 Show all frames info windows Mod-1 B Move the pointer to the lower right corner of the screen Control Escape Close or kill the current window (ask before doing anything) Mod-1 T Switch to editing mode (second mode) @@ -127,11 +127,11 @@ Control E start an emacs for another user H start an xclock Mod-1 F10 Switch between two layouts - Shift F10 Show all frames info windows until a key is release - Mod-1 Shift F10 Show all frames info windows - Control Shift F10 Show/Hide the root frame - F10 Present all windows in the current frame (An expose like) - Control F10 Present all windows in all frames (An expose like) + Control Shift F10 Present all windows in all frames (An expose like) + F10 Present all windows in the current child (An expose like) + Control F10 Present all windows in the current frame (An expose like) + Shift L2 Show all frames info windows until a key is release + Mod-1 Shift L2 Show all frames info windows Mod-1 1 Bind or jump to a slot (a frame or a window) Mod-1 2 Bind or jump to a slot (a frame or a window) Mod-1 3 Bind or jump to a slot (a frame or a window) Modified: clfswm/doc/menu.html ============================================================================== --- clfswm/doc/menu.html (original) +++ clfswm/doc/menu.html Tue Nov 9 16:47:00 2010 @@ -2698,40 +2698,40 @@ b: < Notify Window mode group >

- c: < Identify key group > + c: < Expose mode group >

- d: < Expose mode group > + d: < Hook group >

- e: < Hook group > + e: < Main mode group >

- f: < Main mode group > + f: < Frame colors group >

- g: < Frame colors group > + g: < Identify key group >

- h: < Second mode group > + h: < Corner group >

- i: < Corner group > + i: < Circulate mode group >

- j: < Circulate mode group > + j: < Query string group >

- k: < Query string group > + k: < Placement group >

- l: < Placement group > + l: < Miscellaneous group >

- m: < Miscellaneous group > + m: < Info mode group >

- n: < Info mode group > + n: < Second mode group >

o: < Menu group > @@ -2764,22 +2764,6 @@


- Conf-Identify-Key-Group -

-

- a: Configure IDENTIFY-FOREGROUND -

-

- b: Configure IDENTIFY-BACKGROUND -

-

- c: Configure IDENTIFY-FONT-STRING -

-

- d: Configure IDENTIFY-BORDER -

-
-

Conf-Expose-Mode-Group

@@ -2850,25 +2834,19 @@


- Conf-Second-Mode-Group + Conf-Identify-Key-Group

- a: Configure SM-FOREGROUND-COLOR -

-

- b: Configure SM-BACKGROUND-COLOR -

-

- c: Configure SM-HEIGHT + a: Configure IDENTIFY-FOREGROUND

- d: Configure SM-WIDTH + b: Configure IDENTIFY-FONT-STRING

- e: Configure SM-BORDER-COLOR + c: Configure IDENTIFY-BORDER

- f: Configure SM-FONT-STRING + d: Configure IDENTIFY-BACKGROUND


@@ -2909,19 +2887,19 @@ Conf-Circulate-Mode-Group

- a: Configure CIRCULATE-BORDER + a: Configure CIRCULATE-TEXT-LIMITE

- b: Configure CIRCULATE-HEIGHT + b: Configure CIRCULATE-BORDER

- c: Configure CIRCULATE-TEXT-LIMITE + c: Configure CIRCULATE-WIDTH

- d: Configure CIRCULATE-FONT-STRING + d: Configure CIRCULATE-HEIGHT

- e: Configure CIRCULATE-WIDTH + e: Configure CIRCULATE-FONT-STRING

f: Configure CIRCULATE-BACKGROUND @@ -2987,28 +2965,28 @@ Conf-Miscellaneous-Group

- a: Configure CREATE-FRAME-ON-ROOT + a: Configure HAVE-TO-COMPRESS-NOTIFY

- b: Configure HAVE-TO-COMPRESS-NOTIFY + b: Configure HIDE-UNMANAGED-WINDOW

c: Configure DEFAULT-WINDOW-WIDTH

- d: Configure NEVER-MANAGED-WINDOW-LIST + d: Configure CREATE-FRAME-ON-ROOT

e: Configure DEFAULT-MANAGED-TYPE

- f: Configure HIDE-UNMANAGED-WINDOW + f: Configure DEFAULT-FRAME-DATA

- g: Configure DEFAULT-FRAME-DATA + g: Configure DEFAULT-MODIFIERS

- h: Configure DEFAULT-MODIFIERS + h: Configure NEVER-MANAGED-WINDOW-LIST

i: Configure DEFAULT-WINDOW-HEIGHT @@ -3061,6 +3039,28 @@


+ Conf-Second-Mode-Group +

+

+ a: Configure SM-FOREGROUND-COLOR +

+

+ b: Configure SM-BACKGROUND-COLOR +

+

+ c: Configure SM-HEIGHT +

+

+ d: Configure SM-WIDTH +

+

+ e: Configure SM-BORDER-COLOR +

+

+ f: Configure SM-FONT-STRING +

+
+

Conf-Menu-Group

Modified: clfswm/doc/menu.txt ============================================================================== --- clfswm/doc/menu.txt (original) +++ clfswm/doc/menu.txt Tue Nov 9 16:47:00 2010 @@ -926,18 +926,18 @@ Configuration-Menu a: < Notify Window group > b: < Notify Window mode group > -c: < Identify key group > -d: < Expose mode group > -e: < Hook group > -f: < Main mode group > -g: < Frame colors group > -h: < Second mode group > -i: < Corner group > -j: < Circulate mode group > -k: < Query string group > -l: < Placement group > -m: < Miscellaneous group > -n: < Info mode group > +c: < Expose mode group > +d: < Hook group > +e: < Main mode group > +f: < Frame colors group > +g: < Identify key group > +h: < Corner group > +i: < Circulate mode group > +j: < Query string group > +k: < Placement group > +l: < Miscellaneous group > +m: < Info mode group > +n: < Second mode group > o: < Menu group > F2: Save all configuration variables in clfswmrc @@ -950,12 +950,6 @@ Conf-Notify-Window-Mode-Group a: Configure NOTIFY-WINDOW-FONT-STRING -Conf-Identify-Key-Group -a: Configure IDENTIFY-FOREGROUND -b: Configure IDENTIFY-BACKGROUND -c: Configure IDENTIFY-FONT-STRING -d: Configure IDENTIFY-BORDER - Conf-Expose-Mode-Group a: Configure EXPOSE-FOREGROUND b: Configure EXPOSE-SHOW-WINDOW-TITLE @@ -982,13 +976,11 @@ c: Configure FRAME-FOREGROUND-HIDDEN d: Configure FRAME-BACKGROUND -Conf-Second-Mode-Group -a: Configure SM-FOREGROUND-COLOR -b: Configure SM-BACKGROUND-COLOR -c: Configure SM-HEIGHT -d: Configure SM-WIDTH -e: Configure SM-BORDER-COLOR -f: Configure SM-FONT-STRING +Conf-Identify-Key-Group +a: Configure IDENTIFY-FOREGROUND +b: Configure IDENTIFY-FONT-STRING +c: Configure IDENTIFY-BORDER +d: Configure IDENTIFY-BACKGROUND Conf-Corner-Group a: Configure CORNER-MAIN-MODE-LEFT-BUTTON @@ -1003,11 +995,11 @@ j: Configure CLFSWM-TERMINAL-NAME Conf-Circulate-Mode-Group -a: Configure CIRCULATE-BORDER -b: Configure CIRCULATE-HEIGHT -c: Configure CIRCULATE-TEXT-LIMITE -d: Configure CIRCULATE-FONT-STRING -e: Configure CIRCULATE-WIDTH +a: Configure CIRCULATE-TEXT-LIMITE +b: Configure CIRCULATE-BORDER +c: Configure CIRCULATE-WIDTH +d: Configure CIRCULATE-HEIGHT +e: Configure CIRCULATE-FONT-STRING f: Configure CIRCULATE-BACKGROUND g: Configure CIRCULATE-FOREGROUND @@ -1031,14 +1023,14 @@ g: Configure SECOND-MODE-PLACEMENT Conf-Miscellaneous-Group -a: Configure CREATE-FRAME-ON-ROOT -b: Configure HAVE-TO-COMPRESS-NOTIFY +a: Configure HAVE-TO-COMPRESS-NOTIFY +b: Configure HIDE-UNMANAGED-WINDOW c: Configure DEFAULT-WINDOW-WIDTH -d: Configure NEVER-MANAGED-WINDOW-LIST +d: Configure CREATE-FRAME-ON-ROOT e: Configure DEFAULT-MANAGED-TYPE -f: Configure HIDE-UNMANAGED-WINDOW -g: Configure DEFAULT-FRAME-DATA -h: Configure DEFAULT-MODIFIERS +f: Configure DEFAULT-FRAME-DATA +g: Configure DEFAULT-MODIFIERS +h: Configure NEVER-MANAGED-WINDOW-LIST i: Configure DEFAULT-WINDOW-HEIGHT j: Configure DEFAULT-FONT-STRING k: Configure DEFAULT-FOCUS-POLICY @@ -1057,6 +1049,14 @@ j: Configure INFO-COLOR-TITLE k: Configure INFO-COLOR-SECOND +Conf-Second-Mode-Group +a: Configure SM-FOREGROUND-COLOR +b: Configure SM-BACKGROUND-COLOR +c: Configure SM-HEIGHT +d: Configure SM-WIDTH +e: Configure SM-BORDER-COLOR +f: Configure SM-FONT-STRING + Conf-Menu-Group a: Configure MENU-COLOR-COMMENT b: Configure MENU-COLOR-KEY Modified: clfswm/load.lisp ============================================================================== --- clfswm/load.lisp (original) +++ clfswm/load.lisp Tue Nov 9 16:47:00 2010 @@ -58,7 +58,7 @@ (in-package :clfswm) (ignore-errors - (main :read-conf-file-p t)) + (main :read-conf-file-p t)) ;;;; Uncomment lines above to save the default documentation. Modified: clfswm/src/bindings-second-mode.lisp ============================================================================== --- clfswm/src/bindings-second-mode.lisp (original) +++ clfswm/src/bindings-second-mode.lisp Tue Nov 9 16:47:00 2010 @@ -145,11 +145,12 @@ "exec xterm -e emacsremote") (define-shell (#\h) b-start-xclock "start an xclock" "exec xclock -d") (define-second-key ("F10" :mod-1) 'fast-layout-switch) - (define-second-key ("F10" :shift) 'show-all-frames-info-key) - (define-second-key ("F10" :shift :mod-1) 'show-all-frames-info) (define-second-key ("F10" :shift :control) 'toggle-show-root-frame) - (define-second-key ("F10") 'expose-windows-mode) - (define-second-key ("F10" :control) 'expose-all-windows-mode) + (define-second-key ("F10") 'expose-windows-current-child-mode) + (define-second-key ("F10" :control) 'expose-windows-mode) + (define-second-key ("F10" :control :shift) 'expose-all-windows-mode) + (define-second-key ("L2" :shift) 'show-all-frames-info-key) + (define-second-key ("L2" :shift :mod-1) 'show-all-frames-info) ;; Bind or jump functions (define-second-key ("1" :mod-1) 'bind-or-jump 1) (define-second-key ("2" :mod-1) 'bind-or-jump 2) Modified: clfswm/src/clfswm-expose-mode.lisp ============================================================================== --- clfswm/src/clfswm-expose-mode.lisp (original) +++ clfswm/src/clfswm-expose-mode.lisp Tue Nov 9 16:47:00 2010 @@ -184,7 +184,8 @@ (grab-main-keys)) (if grab-pointer-p (xgrab-pointer *root* 66 67) - (xungrab-pointer))) + (xungrab-pointer)) + (wait-no-key-or-button-press)) t) @@ -211,11 +212,13 @@ (stop-button-event) (when (frame-p *current-child*) (let ((orig-root *current-root*)) - (hide-all *current-root*) - (setf *current-root* *current-child*) + (unless (child-equal-p *current-child* *current-root*) + (hide-all *current-root*) + (setf *current-root* *current-child*)) (expose-windows-generic *current-root*) - (hide-all *current-root*) - (setf *current-root* orig-root) + (unless (child-equal-p *current-child* orig-root) + (hide-all *current-root*) + (setf *current-root* orig-root)) (show-all-children *current-root*)))) From pbrochard at common-lisp.net Wed Nov 10 23:29:01 2010 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 10 Nov 2010 18:29:01 -0500 Subject: [clfswm-cvs] r382 - clfswm/src Message-ID: Author: pbrochard Date: Wed Nov 10 18:29:00 2010 New Revision: 382 Log: src/clfswm-util.lisp (mouse-click-to-focus-generic): Do not focus the parent child when the current root is a window. Modified: clfswm/src/clfswm-internal.lisp clfswm/src/clfswm-util.lisp Modified: clfswm/src/clfswm-internal.lisp ============================================================================== --- clfswm/src/clfswm-internal.lisp (original) +++ clfswm/src/clfswm-internal.lisp Wed Nov 10 18:29:00 2010 @@ -809,7 +809,9 @@ For window: set current child to window or its parent according to window-parent" (let ((new-focus (focus-child-rec child parent)) (new-current-child (set-current-child child parent window-parent)) - (new-root (set-current-root parent))) + (new-root (if window-parent + (set-current-root parent) + child))) (or new-focus new-current-child new-root))) Modified: clfswm/src/clfswm-util.lisp ============================================================================== --- clfswm/src/clfswm-util.lisp (original) +++ clfswm/src/clfswm-util.lisp Wed Nov 10 18:29:00 2010 @@ -556,7 +556,9 @@ (setf parent (find-parent-frame child))))) (when (equal (type-of child) 'frame) (funcall mouse-fn child parent root-x root-y)) - (when (and child parent (focus-all-children child parent)) + (when (and child parent (focus-all-children child parent + (not (and (child-equal-p *current-child* *current-root*) + (xlib:window-p *current-root*))))) (when (show-all-children *current-root*) (setf to-replay nil)))) (if to-replay From pbrochard at common-lisp.net Wed Nov 10 23:33:30 2010 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 10 Nov 2010 18:33:30 -0500 Subject: [clfswm-cvs] r383 - in clfswm: . src Message-ID: Author: pbrochard Date: Wed Nov 10 18:33:30 2010 New Revision: 383 Log: src/clfswm-internal.lisp (set-current-root): Handle window-parent in set-current-root. Modified: clfswm/ChangeLog clfswm/src/clfswm-internal.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Wed Nov 10 18:33:30 2010 @@ -1,3 +1,11 @@ +2010-11-11 Philippe Brochard + + * src/clfswm-internal.lisp (set-current-root): Handle + window-parent in set-current-root. + + * src/clfswm-util.lisp (mouse-click-to-focus-generic): Do not + focus the parent child when the current root is a window. + 2010-11-09 Philippe Brochard * src/clfswm-expose-mode.lisp (expose-windows-current-child-mode): Modified: clfswm/src/clfswm-internal.lisp ============================================================================== --- clfswm/src/clfswm-internal.lisp (original) +++ clfswm/src/clfswm-internal.lisp Wed Nov 10 18:33:30 2010 @@ -798,9 +798,9 @@ ()) -(defun set-current-root (parent) +(defun set-current-root (parent window-parent) "Set current root if parent is not in current root" - (unless (find-child parent *current-root*) + (when (and window-parent (not (find-child parent *current-root*))) (setf *current-root* parent))) @@ -809,9 +809,7 @@ For window: set current child to window or its parent according to window-parent" (let ((new-focus (focus-child-rec child parent)) (new-current-child (set-current-child child parent window-parent)) - (new-root (if window-parent - (set-current-root parent) - child))) + (new-root (set-current-root parent window-parent))) (or new-focus new-current-child new-root))) From pbrochard at common-lisp.net Fri Nov 12 20:36:39 2010 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 12 Nov 2010 15:36:39 -0500 Subject: [clfswm-cvs] r384 - clfswm Message-ID: Author: pbrochard Date: Fri Nov 12 15:36:39 2010 New Revision: 384 Log: version update Modified: clfswm/clfswm.asd Modified: clfswm/clfswm.asd ============================================================================== --- clfswm/clfswm.asd (original) +++ clfswm/clfswm.asd Fri Nov 12 15:36:39 2010 @@ -7,7 +7,7 @@ (defsystem clfswm :description "CLFSWM: Fullscreen Window Manager" - :version "Please, see the package date (something between 0.5 and 1.5)" + :version "Please, see in src/version.lisp" :author "Philippe Brochard " :licence "GNU Public License (GPL)" :components ((:module src From pbrochard at common-lisp.net Sat Nov 13 21:17:06 2010 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 13 Nov 2010 16:17:06 -0500 Subject: [clfswm-cvs] r385 - clfswm/contrib Message-ID: Author: pbrochard Date: Sat Nov 13 16:17:05 2010 New Revision: 385 Log: contrib/osd.lisp: minor tweaking Modified: clfswm/contrib/osd.lisp Modified: clfswm/contrib/osd.lisp ============================================================================== --- clfswm/contrib/osd.lisp (original) +++ clfswm/contrib/osd.lisp Sat Nov 13 16:17:05 2010 @@ -32,20 +32,19 @@ (let* ((modifiers (state->modifiers state)) (keysym (keysym->keysym-name (xlib:keycode->keysym *display* code 0)))) (do-shell "pkill osd_cat") - (do-shell (format nil "echo '~A~A' | osd_cat -d 3 -p bottom -c white -o -50 -f -*-fixed-*-*-*-*-14-*-*-*-*-*-*-1" + (do-shell (format nil "( echo '~A~A' | osd_cat -d 3 -p bottom -c white -o -50 -f -*-fixed-*-*-*-*-14-*-*-*-*-*-*-1 ) &" (if keysym (format nil "~:(~{~A+~}~A~)" modifiers keysym) "Menu") (aif (documentation (first function) 'function) - (format nil ": ~A" it) ""))) - (force-output))) + (format nil ": ~A" it) ""))))) (defun funcall-key-from-code (hash-table-key code state &rest args) (let ((function (find-key-from-code hash-table-key code state))) (when function - (display-doc function code state) (apply (first function) (append args (second function))) + (display-doc function code state) t))) ;;; CONFIG - Screen size From pbrochard at common-lisp.net Sat Nov 13 22:47:23 2010 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 13 Nov 2010 17:47:23 -0500 Subject: [clfswm-cvs] r386 - in clfswm: . src Message-ID: Author: pbrochard Date: Sat Nov 13 17:47:23 2010 New Revision: 386 Log: src/clfswm-expose-mode.lisp (expose-mode-display-accel-windows): Do not display the accel window for unmanaged windows. Modified: clfswm/ChangeLog clfswm/src/clfswm-expose-mode.lisp clfswm/src/clfswm-internal.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Sat Nov 13 17:47:23 2010 @@ -1,3 +1,8 @@ +2010-11-13 Philippe Brochard + + * src/clfswm-expose-mode.lisp (expose-mode-display-accel-windows): + Do not display the accel window for unmanaged windows. + 2010-11-11 Philippe Brochard * src/clfswm-internal.lisp (set-current-root): Handle Modified: clfswm/src/clfswm-expose-mode.lisp ============================================================================== --- clfswm/src/clfswm-expose-mode.lisp (original) +++ clfswm/src/clfswm-expose-mode.lisp Sat Nov 13 17:47:23 2010 @@ -27,6 +27,7 @@ (defparameter *expose-font* nil) (defparameter *expose-windows-list* nil) +(defparameter *expose-selected-child* nil) (defun leave-expose-mode () "Leave the expose mode" @@ -89,6 +90,7 @@ (let ((child (nth ,n *expose-windows-list*))) (when child (xlib:warp-pointer *root* (xlib:drawable-x (first child)) (xlib:drawable-y (first child))) + (setf *expose-selected-child* (fourth child)) (when *expose-valid-on-key* (valid-expose-mode))))) (define-expose-key (,(number->char n)) ',(produce-name n))))))) @@ -129,22 +131,26 @@ :font *expose-font* :line-style :solid))) (map-window window) - (push (list window gc string) *expose-windows-list*))))) + (push (list window gc string child) *expose-windows-list*))))) (defun expose-mode-display-accel-windows () (let ((n -1)) (with-all-children-reversed (*current-root* child) - (when (< n 25) - (expose-create-window child (incf n))))) + (if (or (frame-p child) + (managed-window-p child (find-parent-frame child *root-frame*))) + (when (< n 25) + (expose-create-window child (incf n))) + (hide-child child)))) (setf *expose-windows-list* (nreverse *expose-windows-list*)) (expose-draw-letter)) (defun expose-windows-generic (first-restore-frame &optional body body-escape) (setf *expose-font* (xlib:open-font *display* *expose-font-string*) - *expose-windows-list* nil) + *expose-windows-list* nil + *expose-selected-child* nil) (xlib:warp-pointer *root* (truncate (/ (xlib:screen-width *screen*) 2)) (truncate (/ (xlib:screen-height *screen*) 2))) (with-all-frames (first-restore-frame frame) @@ -161,7 +167,8 @@ (if (generic-mode 'expose-mode 'exit-expose-loop :original-mode '(main-mode)) (multiple-value-bind (x y) (xlib:query-pointer *root*) - (let* ((child (find-child-under-mouse x y)) + (dbg *expose-selected-child* (child-fullname *expose-selected-child*)) + (let* ((child (or *expose-selected-child* (find-child-under-mouse x y))) (parent (find-parent-frame child *root-frame*))) (when (and child parent) (pfuncall body parent) Modified: clfswm/src/clfswm-internal.lisp ============================================================================== --- clfswm/src/clfswm-internal.lisp (original) +++ clfswm/src/clfswm-internal.lisp Sat Nov 13 17:47:23 2010 @@ -145,7 +145,8 @@ (if (frame-p frame) (with-slots ((managed forced-managed-window) (unmanaged forced-unmanaged-window)) frame - (and (not (child-member window unmanaged)) + (and (xlib:window-p window) + (not (child-member window unmanaged)) (not (member (xlib:wm-name window) unmanaged :test #'string-equal-p)) (or (member :all (frame-managed-type frame)) (member (window-type window) (frame-managed-type frame)) From pbrochard at common-lisp.net Sun Nov 14 09:07:01 2010 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 14 Nov 2010 04:07:01 -0500 Subject: [clfswm-cvs] r387 - in clfswm: . src Message-ID: Author: pbrochard Date: Sun Nov 14 04:07:00 2010 New Revision: 387 Log: src/clfswm-util.lisp (find-child-under-mouse): Do not find hidden windows. Modified: clfswm/ChangeLog clfswm/src/clfswm-util.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Sun Nov 14 04:07:00 2010 @@ -1,3 +1,8 @@ +2010-11-14 Philippe Brochard + + * src/clfswm-util.lisp (find-child-under-mouse): Do not find + hidden windows. + 2010-11-13 Philippe Brochard * src/clfswm-expose-mode.lisp (expose-mode-display-accel-windows): Modified: clfswm/src/clfswm-util.lisp ============================================================================== --- clfswm/src/clfswm-util.lisp (original) +++ clfswm/src/clfswm-util.lisp Sun Nov 14 04:07:00 2010 @@ -161,7 +161,8 @@ "Return the child under the mouse" (let ((ret nil)) (with-all-windows-frames-and-parent (*current-root* child parent) - (when (and (or (managed-window-p child parent) (child-equal-p parent *current-child*)) + (when (and (not (window-hidden-p child)) + (or (managed-window-p child parent) (child-equal-p parent *current-child*)) (<= (xlib:drawable-x child) x (+ (xlib:drawable-x child) (xlib:drawable-width child))) (<= (xlib:drawable-y child) y (+ (xlib:drawable-y child) (xlib:drawable-height child)))) (if first-foundp From pbrochard at common-lisp.net Sun Nov 14 09:10:47 2010 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 14 Nov 2010 04:10:47 -0500 Subject: [clfswm-cvs] r388 - clfswm/src Message-ID: Author: pbrochard Date: Sun Nov 14 04:10:46 2010 New Revision: 388 Log: expose-windows-generic: banish pointer on exit Modified: clfswm/src/clfswm-expose-mode.lisp Modified: clfswm/src/clfswm-expose-mode.lisp ============================================================================== --- clfswm/src/clfswm-expose-mode.lisp (original) +++ clfswm/src/clfswm-expose-mode.lisp Sun Nov 14 04:10:46 2010 @@ -186,6 +186,7 @@ (setf (frame-layout frame) (frame-data-slot frame :old-layout) (frame-data-slot frame :old-layout) nil)) (show-all-children *current-root*) + (banish-pointer) (unless grab-keyboard-p (xungrab-keyboard) (grab-main-keys)) From pbrochard at common-lisp.net Sun Nov 14 21:56:11 2010 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 14 Nov 2010 16:56:11 -0500 Subject: [clfswm-cvs] r389 - in clfswm: contrib/server doc src Message-ID: Author: pbrochard Date: Sun Nov 14 16:56:11 2010 New Revision: 389 Log: contrib/server.lisp: minor tweaking Modified: clfswm/contrib/server/server.lisp clfswm/doc/dot-clfswmrc clfswm/src/clfswm.lisp Modified: clfswm/contrib/server/server.lisp ============================================================================== --- clfswm/contrib/server/server.lisp (original) +++ clfswm/contrib/server/server.lisp Sun Nov 14 16:56:11 2010 @@ -2,7 +2,9 @@ ;;; CLFSWM - FullScreen Window Manager ;;; ;;; -------------------------------------------------------------------------- -;;; Documentation: Utility +;;; Documentation: Client/server connection. +;;; The connection is crypted and you can only connect to the server with the +;;; same clfswm binary. ;;; -------------------------------------------------------------------------- ;;; ;;; (C) 2005 Philippe Brochard @@ -23,11 +25,11 @@ ;;; ;;; -------------------------------------------------------------------------- ;;; Server protocole: -;;; Server -> Client: orig_key=a generated key crypted with *key* -;;; Client : build its new_key with orig_key+*key* -;;; Client -> Server: new_key+(md5 new_key) crypted with new_key -;;; Server -> Client: check if the keys match and then authenticate the client. -;;; +;;; Server -> Client: orig_key=a generated key crypted with *key* +;;; Client : build its new_key with orig_key+*key* +;;; Client -> Server: new_key+(md5 new_key) crypted with new_key +;;; Server -> Client: check if the keys match and then authenticate the client. +;;; Server <-> Client: All connections are crypted with new_key ;;; -------------------------------------------------------------------------- @@ -248,7 +250,7 @@ (format t "done. You can now start a clfswm server with the command (start-server &optional port). -Only [~{~A~^, ~}] ~A allowed to login on the server. +Only [~{~A~^, ~}] ~A allowed to login on the server. The connection is crypted. You can start the client with the '--client' command line option.~%" *server-allowed-host* (if (or (null *server-allowed-host*) (= (length *server-allowed-host*) 1)) @@ -260,5 +262,8 @@ (clfswm-client:start-client (remove "--client" args :test #'string-equal)) (uquit)))) +(defun is-started-as-client-p () + (member "--client" (get-command-line-words) :test #'string-equal)) + (add-hook *main-entrance-hook* 'server-parse-cmdline) Modified: clfswm/doc/dot-clfswmrc ============================================================================== --- clfswm/doc/dot-clfswmrc (original) +++ clfswm/doc/dot-clfswmrc Sun Nov 14 16:56:11 2010 @@ -21,8 +21,6 @@ ;; (setf *have-to-compress-notify* t) - - ;;; Color configuration example ;;; ;;; See in package.lisp or config.lisp for all variables @@ -48,6 +46,13 @@ ;;(load-contrib "reboot-halt.lisp") +;;;; Client/server connection - the connection is crypted and you can only +;;;; connect to the server with the same clfswm binary. +;;(load-contrib "server/server.lisp") +;;(unless (is-started-as-client-p) +;; (start-server)) + + ;;; Binding example: Undefine Control-F1 and define Control-F5 as a ;;; new binding in main mode Modified: clfswm/src/clfswm.lisp ============================================================================== --- clfswm/src/clfswm.lisp (original) +++ clfswm/src/clfswm.lisp Sun Nov 14 16:56:11 2010 @@ -217,7 +217,7 @@ (if conf (handler-case (load conf) (error (c) - (format t "~2%*** Error loading configurtion file: ~A ***~&~A~%" conf c) + (format t "~2%*** Error loading configuration file: ~A ***~&~A~%" conf c) (values nil (format nil "~s" c) conf)) (:no-error (&rest args) (declare (ignore args)) From pbrochard at common-lisp.net Wed Nov 17 21:24:21 2010 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 17 Nov 2010 16:24:21 -0500 Subject: [clfswm-cvs] r390 - clfswm/contrib Message-ID: Author: pbrochard Date: Wed Nov 17 16:24:21 2010 New Revision: 390 Log: contrib/osd.lisp: Display doc before calling associated function Modified: clfswm/contrib/osd.lisp Modified: clfswm/contrib/osd.lisp ============================================================================== --- clfswm/contrib/osd.lisp (original) +++ clfswm/contrib/osd.lisp Wed Nov 17 16:24:21 2010 @@ -43,8 +43,8 @@ (defun funcall-key-from-code (hash-table-key code state &rest args) (let ((function (find-key-from-code hash-table-key code state))) (when function - (apply (first function) (append args (second function))) (display-doc function code state) + (apply (first function) (append args (second function))) t))) ;;; CONFIG - Screen size