From pbrochard at common-lisp.net Fri Dec 7 22:10:49 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 07 Dec 2012 14:10:49 -0800 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-163-g2f688e5 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via 2f688e57fbde0c4706a8082c0ec4ec8cc5ba7cc4 (commit) from cc4e002203efa86c4bc39852a7bbd063494bedf2 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 2f688e57fbde0c4706a8082c0ec4ec8cc5ba7cc4 Author: Philippe Brochard Date: Fri Dec 7 23:10:38 2012 +0100 Blank window mode added. Documentation update diff --git a/contrib/blank-window-mode.lisp b/contrib/blank-window-mode.lisp new file mode 100644 index 0000000..4f6d77a --- /dev/null +++ b/contrib/blank-window-mode.lisp @@ -0,0 +1,256 @@ +;;; -------------------------------------------------------------------------- +;;; CLFSWM - FullScreen Window Manager +;;; +;;; -------------------------------------------------------------------------- +;;; Documentation: Blank window mode to place blank window on screen and manage +;;; them with the keyboard or the mouse. +;;; This is useful when you want to hide some part of the screen (for example +;;; in school class for interactive presentation). +;;; -------------------------------------------------------------------------- +;;; +;;; (C) 2012 Philippe Brochard +;;; +;;; This program 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 3 of the License, or +;;; (at your option) any later version. +;;; +;;; This program 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 this program; if not, write to the Free Software +;;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +;;; +;;; Documentation: Blank window mode to place blank window on screen. +;;; If you want to use this file, just add this line in your configuration +;;; file: +;;; +;;; (load-contrib "blank-window-mode.lisp") +;;; +;;; -------------------------------------------------------------------------- + +(in-package :clfswm) + +(format t "Loading Blank Window Mode code... ") + +(defconfig *blank-window-width* 50 'blank-window "Blank window width") +(defconfig *blank-window-height* 20 'blank-window "Blank window height") +(defconfig *blank-window-color* "white" 'blank-window "Blank window color") +(defconfig *blank-window-border* "magenta" 'blank-window "Blank window border color") + + +(defparameter *blank-window-list* nil) +(defparameter *in-blank-window-mode* nil) +(defparameter *blank-window-show-current* nil) + +(defparameter *blank-window-keys* nil) +(defparameter *blank-window-mouse* nil) + + +(define-init-hash-table-key *blank-window-keys* "Blank-Window mode keys") +(define-init-hash-table-key *blank-window-mouse* "Blank-Window mode mouse button") + +(define-define-key "blank-window" *blank-window-keys*) +(define-define-mouse "blank-window-mouse" *blank-window-mouse*) + +(add-hook *binding-hook* 'init-*blank-window-keys*) + + +(defun leave-blank-window-mode (&optional window root-x root-y) + "Leave the blank-window mode" + (declare (ignore window root-x root-y)) + (when *in-blank-window-mode* + (throw 'exit-blank-window-loop nil))) + + + +(defun bwm-enter-function () + (setf *in-blank-window-mode* t) + (ungrab-main-keys) + (xgrab-keyboard *root*) + (xgrab-pointer *root* 66 67) + (dolist (window *blank-window-list*) + (raise-window window))) + + +(defun bwm-leave-function () + (setf *in-blank-window-mode* nil) + (xungrab-keyboard) + (xungrab-pointer) + (grab-main-keys) + (wait-no-key-or-button-press)) + + + +(define-handler blank-window-mode :key-press (code state) + (funcall-key-from-code *blank-window-keys* code state)) + +(define-handler blank-window-mode :button-press (code state window root-x root-y) + (funcall-button-from-code *blank-window-mouse* code state window root-x root-y *fun-press*)) + + + +(defun blank-window-mode () + "Blank window mode" + (generic-mode 'blank-window-mode + 'exit-blank-window-loop + :enter-function #'bwm-enter-function + ;;:loop-function #'bwm-loop-function + :leave-function #'bwm-leave-function + :original-mode 'main-mode)) + + + + +(defun create-new-blank-window () + "Create a new blank window" + (with-x-pointer + (push (xlib:create-window :parent *root* + :x (- x 50) :y y + :width *blank-window-width* :height *blank-window-height* + :background (get-color *blank-window-color*) + :border-width 0 + :border (get-color *blank-window-border*) + :colormap (xlib:screen-default-colormap *screen*) + :event-mask '(:exposure)) + *blank-window-list*)) + (map-window (first *blank-window-list*))) + +(defun clear-all-blank-window () + "Clear all blank window" + (dolist (window *blank-window-list*) + (hide-window window) + (xlib:destroy-window window)) + (setf *blank-window-list* nil)) + +(defmacro with-current-blank-window ((window) &body body) + `(let ((,window (first *blank-window-list*))) + (when ,window + , at body))) + +(defun blank-window-fill-width () + "Current blank window fill all width screen" + (with-current-blank-window (window) + (setf (xlib:drawable-x window) 0 + (xlib:drawable-width window) (xlib:drawable-width *root*)))) + +(defun blank-window-fill-height () + "Current blank window fill all height screen" + (with-current-blank-window (window) + (setf (xlib:drawable-y window) 0 + (xlib:drawable-height window) (xlib:drawable-height *root*)))) + +(defun blank-window-down (dy) + "Move current blank window down" + (with-current-blank-window (window) + (incf (xlib:drawable-y window) dy))) + +(defun blank-window-right (dx) + "Move current blank window right" + (with-current-blank-window (window) + (incf (xlib:drawable-x window) dx))) + +(defun blank-window-inc-width (dw) + "Change current blank window width" + (with-current-blank-window (window) + (decf (xlib:drawable-x window) dw) + (incf (xlib:drawable-width window) (* dw 2)))) + +(defun blank-window-inc-height (dh) + "Change current blank window height" + (with-current-blank-window (window) + (decf (xlib:drawable-y window) dh) + (incf (xlib:drawable-height window) (* dh 2)))) + + +(defun select-next-blank-window () + "Select next blank window" + (with-current-blank-window (window) + (setf (xlib:drawable-border-width window) 0)) + (setf *blank-window-list* (rotate-list *blank-window-list*)) + (when *blank-window-show-current* + (with-current-blank-window (window) + (setf (xlib:drawable-border-width window) 1)))) + +(defun toggle-show-current-blank-window () + (setf *blank-window-show-current* (not *blank-window-show-current*)) + (with-current-blank-window (window) + (setf (xlib:drawable-border-width window) (if *blank-window-show-current* 1 0)))) + +(defun remove-current-blank-window () + (let ((window (pop *blank-window-list*))) + (when window + (hide-window window) + (xlib:destroy-window window))) + (with-current-blank-window (window) + (setf (xlib:drawable-border-width window) (if *blank-window-show-current* 1 0)))) + +(defun place-current-blank-window (window root-x root-y) + "Place the current blank window with the mouse" + (declare (ignore window)) + (with-current-blank-window (window) + (setf (xlib:drawable-x window) root-x + (xlib:drawable-y window) root-y))) + +(defun blank-black-window () + "Open a black window. ie light of the screen" + (let ((black-win (xlib:create-window :parent *root* + :x 0 :y 0 + :width (xlib:drawable-width *root*) + :height (xlib:drawable-height *root*) + :background (get-color "black") + :border-width 0 + :border (get-color "black") + :colormap (xlib:screen-default-colormap *screen*) + :event-mask '(:exposure)))) + (map-window black-win) + (wait-no-key-or-button-press) + (wait-a-key-or-button-press) + (xlib:destroy-window black-win) + (wait-no-key-or-button-press))) + + + +(defun set-default-blank-window-keys () + ;;(define-blank-window-key ("Return") 'leave-blank-window-mode) + (define-blank-window-key ("Escape") 'leave-blank-window-mode) + (define-blank-window-key ("twosuperior") 'leave-blank-window-mode) + (define-blank-window-key ("Return") 'create-new-blank-window) + (define-blank-window-key ("BackSpace" :control) 'clear-all-blank-window) + (define-blank-window-key ("Tab") 'select-next-blank-window) + (define-blank-window-key ("w") 'blank-window-fill-width) + (define-blank-window-key ("h") 'blank-window-fill-height) + (define-blank-window-key ("Down") 'blank-window-down 5) + (define-blank-window-key ("Down" :shift) 'blank-window-down 1) + (define-blank-window-key ("Down" :control) 'blank-window-down 20) + (define-blank-window-key ("Up") 'blank-window-down -5) + (define-blank-window-key ("Up" :shift) 'blank-window-down -1) + (define-blank-window-key ("Up" :control) 'blank-window-down -20) + (define-blank-window-key ("Right") 'blank-window-right 5) + (define-blank-window-key ("Right" :shift) 'blank-window-right 1) + (define-blank-window-key ("Right" :control) 'blank-window-right 20) + (define-blank-window-key ("Left") 'blank-window-right -5) + (define-blank-window-key ("Left" :shift) 'blank-window-right -1) + (define-blank-window-key ("Left" :control) 'blank-window-right -20) + (define-blank-window-key ("c") 'toggle-show-current-blank-window) + (define-blank-window-key ("p") 'blank-window-inc-width 1) + (define-blank-window-key ("o") 'blank-window-inc-height 1) + (define-blank-window-key ("m") 'blank-window-inc-width -1) + (define-blank-window-key ("l") 'blank-window-inc-height -1) + (define-blank-window-key ("Delete") 'remove-current-blank-window) + (define-blank-window-key ("Control_R") 'banish-pointer) + (define-blank-window-key ("b") 'banish-pointer) + (define-blank-window-key ("x") 'blank-black-window) + + (define-blank-window-mouse (1) 'place-current-blank-window)) + + + +(add-hook *binding-hook* 'set-default-blank-window-keys) + + + +(format t "done~%") diff --git a/doc/corner.html b/doc/corner.html index b9cc515..fa5c276 100644 --- a/doc/corner.html +++ b/doc/corner.html @@ -120,7 +120,7 @@ Bottom-Left: - Start the file manager + --- diff --git a/doc/corner.txt b/doc/corner.txt index 2ff5964..553b9e2 100644 --- a/doc/corner.txt +++ b/doc/corner.txt @@ -16,7 +16,7 @@ Here are the actions associated to screen corners in CLFSWM: Top-Left: Hide/Unhide a terminal Top-Right: Close or kill the current window (ask before doing anything) Bottom-Right: Present all windows in all frames (An expose like) - Bottom-Left: Start the file manager + Bottom-Left: --- *Corner-Second-Mode-Left-Button*: Top-Left: --- diff --git a/doc/keys.html b/doc/keys.html index 114df17..6238d9f 100644 --- a/doc/keys.html +++ b/doc/keys.html @@ -32,208 +32,10 @@ - Control - - - Sunprint_screen - - - Open the screenshot window - - - - - - - - Sunprint_screen - - - Take a screenshot - - - - - - - - Xf86audioplay - - - Toggles Play/Pause, plays if stopped - - - - - - - - Xf86tools - - - Start gmpc - - - - - - - - Xf86mail - - - Run a file manager - - - - - - - - Xf86search - - - Run a Web browser search - - - - - - - - Xf86favorites - - - Run a Web Browser - - - - - - - - Xf86homepage - - - Run Emacs - - - - - Control - - - Pause - - - Open the Reboot/Halt menu - - - - - Mod-4 - - - A - - - Move the pointer to the lower right corner of the screen - - - - - Control Shift - - - 66 - - - Present all windows in all frames (An expose like) - - - - - Control - - - 66 - - - Present all windows in currents roots (An expose like) - - - - - - - - Control_r - - - Move the pointer to the lower right corner of the screen - - - - - Control - - - Twosuperior - - - Start Apwal - - - - - - - - Xf86audioraisevolume - - - Raise volume. - - - - - - - - Xf86audiolowervolume - - - Lower volume. - - - - - - - - Xf86audiomute - - - Toggle mute. - - - - - - - - Pause - - - Start a black screen - - - - Mod-1 - Agrave + 0 Bind or jump to a slot (a frame or a window) @@ -244,29 +46,7 @@ Mod-1 - F2 - - - Open the Music Player Daemon (MPD) menu - - - - - - - - Twosuperior - - - Move the pointer to the lower right corner of the screen - - - - - Mod-1 - - - Ampersand + 9 Bind or jump to a slot (a frame or a window) @@ -277,7 +57,7 @@ Mod-1 - Eacute + 8 Bind or jump to a slot (a frame or a window) @@ -288,7 +68,7 @@ Mod-1 - Quotedbl + 7 Bind or jump to a slot (a frame or a window) @@ -299,7 +79,7 @@ Mod-1 - Quoteright + 6 Bind or jump to a slot (a frame or a window) @@ -310,7 +90,7 @@ Mod-1 - Parenleft + 5 Bind or jump to a slot (a frame or a window) @@ -321,7 +101,7 @@ Mod-1 - Minus + 4 Bind or jump to a slot (a frame or a window) @@ -332,7 +112,7 @@ Mod-1 - Egrave + 3 Bind or jump to a slot (a frame or a window) @@ -343,7 +123,7 @@ Mod-1 - Underscore + 2 Bind or jump to a slot (a frame or a window) @@ -354,7 +134,7 @@ Mod-1 - Ccedilla + 1 Bind or jump to a slot (a frame or a window) @@ -952,149 +732,6 @@ Or do actions on corners - - - - L2 - - - Raise volume. - - - - - - - - L1 - - - Lower volume. - - - - - Shift - - - S - - - Ask an URL to be opened in the Surf browser - - - - - Control - - - S - - - start the web browser on the search page with google - - - - - - - - S - - - start the web browser on the search page - - - - - Shift - - - Z - - - start the Konqueror web browser - - - - - - - - Z - - - start the web browser - - - - - - - - Space - - - start the file manager - - - - - - - - Greater - - - Raise 1% volume. - - - - - - - - Xf86audioraisevolume - - - Raise volume. - - - - - - - - Xf86audiolowervolume - - - Lower volume. - - - - - - - - Xf86audiomute - - - Toggle mute. - - - - - Mod-1 - - - Agrave - - - Bind or jump to a slot (a frame or a window) - - - - Control @@ -1117,13 +754,13 @@ Or do actions on corners - + Mod-1 - Twosuperior + 0 - Move the pointer to the lower right corner of the screen + Bind or jump to a slot (a frame or a window) @@ -1131,7 +768,7 @@ Or do actions on corners Mod-1 - Ampersand + 9 Bind or jump to a slot (a frame or a window) @@ -1142,7 +779,7 @@ Or do actions on corners Mod-1 - Eacute + 8 Bind or jump to a slot (a frame or a window) @@ -1153,7 +790,7 @@ Or do actions on corners Mod-1 - Quotedbl + 7 Bind or jump to a slot (a frame or a window) @@ -1164,7 +801,7 @@ Or do actions on corners Mod-1 - Quoteright + 6 Bind or jump to a slot (a frame or a window) @@ -1175,7 +812,7 @@ Or do actions on corners Mod-1 - Parenleft + 5 Bind or jump to a slot (a frame or a window) @@ -1186,7 +823,7 @@ Or do actions on corners Mod-1 - Minus + 4 Bind or jump to a slot (a frame or a window) @@ -1197,7 +834,7 @@ Or do actions on corners Mod-1 - Egrave + 3 Bind or jump to a slot (a frame or a window) @@ -1208,7 +845,7 @@ Or do actions on corners Mod-1 - Underscore + 2 Bind or jump to a slot (a frame or a window) @@ -1219,7 +856,7 @@ Or do actions on corners Mod-1 - Ccedilla + 1 Bind or jump to a slot (a frame or a window) @@ -2113,7 +1750,7 @@ Or do actions on corners Less - Lower 1% volume. + Open the main menu @@ -2444,6 +2081,17 @@ Or do corners actions + Mod-2 + + + Kp_enter + + + Leave the info mode and valid the selected item + + + + diff --git a/doc/keys.txt b/doc/keys.txt index b68a8d5..a5a9865 100644 --- a/doc/keys.txt +++ b/doc/keys.txt @@ -6,36 +6,16 @@ Note: Mod-1 is the Meta or Alt key Main mode keys: -------------- - Control Sunprint_screen Open the screenshot window - Sunprint_screen Take a screenshot - Xf86audioplay Toggles Play/Pause, plays if stopped - Xf86tools Start gmpc - Xf86mail Run a file manager - Xf86search Run a Web browser search - Xf86favorites Run a Web Browser - Xf86homepage Run Emacs - Control Pause Open the Reboot/Halt menu - Mod-4 A Move the pointer to the lower right corner of the screen - Control Shift 66 Present all windows in all frames (An expose like) - Control 66 Present all windows in currents roots (An expose like) - Control_r Move the pointer to the lower right corner of the screen - Control Twosuperior Start Apwal - Xf86audioraisevolume Raise volume. - Xf86audiolowervolume Lower volume. - Xf86audiomute Toggle mute. - Pause Start a black screen - Mod-1 Agrave Bind or jump to a slot (a frame or a window) - Mod-1 F2 Open the Music Player Daemon (MPD) menu - Twosuperior Move the pointer to the lower right corner of the screen - Mod-1 Ampersand Bind or jump to a slot (a frame or a window) - Mod-1 Eacute Bind or jump to a slot (a frame or a window) - Mod-1 Quotedbl Bind or jump to a slot (a frame or a window) - Mod-1 Quoteright Bind or jump to a slot (a frame or a window) - Mod-1 Parenleft Bind or jump to a slot (a frame or a window) - Mod-1 Minus Bind or jump to a slot (a frame or a window) - Mod-1 Egrave Bind or jump to a slot (a frame or a window) - Mod-1 Underscore Bind or jump to a slot (a frame or a window) - Mod-1 Ccedilla Bind or jump to a slot (a frame or a window) + Mod-1 0 Bind or jump to a slot (a frame or a window) + Mod-1 9 Bind or jump to a slot (a frame or a window) + Mod-1 8 Bind or jump to a slot (a frame or a window) + Mod-1 7 Bind or jump to a slot (a frame or a window) + Mod-1 6 Bind or jump to a slot (a frame or a window) + Mod-1 5 Bind or jump to a slot (a frame or a window) + Mod-1 4 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) + Mod-1 2 Bind or jump to a slot (a frame or a window) + Mod-1 1 Bind or jump to a slot (a frame or a window) Control Less Switch to editing mode (second mode) Mod-1 T Switch to editing mode (second mode) Control Escape Close or kill the current window (ask before doing anything) @@ -100,31 +80,18 @@ Or do actions on corners Second mode keys: ---------------- - L2 Raise volume. - L1 Lower volume. - Shift S Ask an URL to be opened in the Surf browser - Control S start the web browser on the search page with google - S start the web browser on the search page - Shift Z start the Konqueror web browser - Z start the web browser - Space start the file manager - Greater Raise 1% volume. - Xf86audioraisevolume Raise volume. - Xf86audiolowervolume Lower volume. - Xf86audiomute Toggle mute. - Mod-1 Agrave Bind or jump to a slot (a frame or a window) Control T Decrement the current window transparency Control Shift T Increment the current window transparency - Twosuperior Move the pointer to the lower right corner of the screen - Mod-1 Ampersand Bind or jump to a slot (a frame or a window) - Mod-1 Eacute Bind or jump to a slot (a frame or a window) - Mod-1 Quotedbl Bind or jump to a slot (a frame or a window) - Mod-1 Quoteright Bind or jump to a slot (a frame or a window) - Mod-1 Parenleft Bind or jump to a slot (a frame or a window) - Mod-1 Minus Bind or jump to a slot (a frame or a window) - Mod-1 Egrave Bind or jump to a slot (a frame or a window) - Mod-1 Underscore Bind or jump to a slot (a frame or a window) - Mod-1 Ccedilla Bind or jump to a slot (a frame or a window) + Mod-1 0 Bind or jump to a slot (a frame or a window) + Mod-1 9 Bind or jump to a slot (a frame or a window) + Mod-1 8 Bind or jump to a slot (a frame or a window) + Mod-1 7 Bind or jump to a slot (a frame or a window) + Mod-1 6 Bind or jump to a slot (a frame or a window) + Mod-1 5 Bind or jump to a slot (a frame or a window) + Mod-1 4 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) + Mod-1 2 Bind or jump to a slot (a frame or a window) + Mod-1 1 Bind or jump to a slot (a frame or a window) Mod-1 Shift L2 Show all frames info windows Shift L2 Show all frames info windows until a key is release Control F10 Present all windows in all frames (An expose like) @@ -205,7 +172,7 @@ Second mode keys: W Open the window menu F Open the frame menu Control Less Open the main menu - Less Lower 1% volume. + Less Open the main menu M Open the main menu Mod-1 F1 Open the help and info window @@ -246,6 +213,7 @@ Info mode keys: Control G Leave the info mode Escape Leave the info mode Space Leave the info mode and valid the selected item + Mod-2 Kp_enter Leave the info mode and valid the selected item Return Leave the info mode and valid the selected item Q Leave the info mode diff --git a/doc/menu.html b/doc/menu.html index 234fd83..3755f58 100644 --- a/doc/menu.html +++ b/doc/menu.html @@ -93,105 +93,6 @@

v: Show the current CLFSWM version

-

- F2: < Music Player Daemon (MPD) menu > -

-

- x: < XMMS menu > -

-

- i: < CDPLAYER menu > -

-
-

- Mpd-Menu -

-

- i: Show MPD informations -

-

- p: Play the previous song in the current playlist -

-

- n: Play the next song in the current playlist -

-

- t: Toggles Play/Pause, plays if stopped -

-

- y: Start playing -

-

- k: Stop the currently playing playlists -

-

- x: Seeks to +5% -

-

- w: Seeks to -5% -

-

- l: Show the current MPD playlist -

-

- s: Start sonata -

-

- g: Start gmpc -

-
-

- Xmms-Menu -

-

- r: Lanch XMMS -

-

- s: Show the current xmms status -

-

- l: Show the current xmms playlist -

-

- n: Play the next XMMS track -

-

- p: Play the previous XMMS track -

-

- e: open xmms "Load file(s)" dialog window. -

-
-

- Cdplayer-Menu -

-

- y: Start playing CD -

-

- k: Stop playing CD -

-

- t: Toggle pause -

-

- s: Show the current CD status -

-

- l: Show the current CD playlist -

-

- n: Play the next CD track -

-

- p: Play the previous CD track -

-

- e: Eject CD -

-

- c: Close CD -


Standard-Menu @@ -304,7 +205,10 @@ h: Thunar File Manager - Browse the filesystem with the file manager

- i: Gentoo - Fully GUI-configurable, two-pane X file manager + i: Midnight Commander - File manager +

+

+ j: Gentoo - Fully GUI-configurable, two-pane X file manager


@@ -340,6 +244,9 @@

j: Links 2

+

+ k: Luakit - Fast, small, webkit based micro-browser extensible by Lua +


Audiovideo @@ -381,76 +288,82 @@ l: MediathekView - View streams from public German TV stations

- m: Sonata - An elegant GTK+ MPD client + m: XBMC Media Center - Manage and view your media +

+

+ n: Sonata - An elegant GTK+ MPD client +

+

+ o: Stopmotion - Program to create stop-motion animations

- n: Stopmotion - Program to create stop-motion animations + p: Gnome Music Player Client - A gnome frontend for the mpd daemon

- o: Gnome Music Player Client - A gnome frontend for the mpd daemon + q: PulseAudio Volume Control - Adjust the volume level

- p: PulseAudio Volume Control - Adjust the volume level + r: Minitube - Watch YouTube videos

- q: GNOME ALSA Mixer - ALSA sound mixer for GNOME + s: GNOME ALSA Mixer - ALSA sound mixer for GNOME

- r: Mixer - Audio mixer for the Xfce Desktop Environment + t: Mixer - Audio mixer for the Xfce Desktop Environment

- s: Alsa Modular Synth - Modular Software Synth + u: Alsa Modular Synth - Modular Software Synth

- t: VLC media player - Read, capture, broadcast your multimedia streams + v: VLC media player - Read, capture, broadcast your multimedia streams

- u: Petri-Foo - Sound Sampler + w: Petri-Foo - Sound Sampler

- v: Sound Juicer - Copy music from your CDs + x: Sound Juicer - Copy music from your CDs

- w: PulseAudio Volume Meter (Playback) - Monitor the output volume + y: PulseAudio Volume Meter (Playback) - Monitor the output volume

- x: Rhythmbox - Play and organize your music collection + z: Rhythmbox - Play and organize your music collection

- y: Brasero - Create and copy CDs and DVDs + 0: Brasero - Create and copy CDs and DVDs

- z: Audacity - Record and edit audio files + 1: Audacity - Record and edit audio files

- 0: Cheese - Take photos and videos with your webcam, with fun graphical effects + 2: Cheese - Take photos and videos with your webcam, with fun graphical effects

- 1: Sound Recorder - Record sound clips + 3: Sound Recorder - Record sound clips

- 2: OpenShot Video Editor - Create and edit videos and movies + 4: OpenShot Video Editor - Create and edit videos and movies

- 3: terminatorX - Scratch and mix audio + 5: terminatorX - Scratch and mix audio

- 4: Decibel Audio Player - A simple audio player + 6: Decibel Audio Player - A simple audio player

- 5: Movie Player - Play movies and songs + 7: Movie Player - Play movies and songs

- 6: QVideoob - Search for videos on many websites, and get info about them + 8: QVideoob - Search for videos on many websites, and get info about them

- 7: PulseAudio Volume Meter (Capture) - Monitor the input volume + 9: PulseAudio Volume Meter (Capture) - Monitor the input volume

- 8: Specimen - Sound Sampler + A: Specimen - Sound Sampler

- 9: Music Player - Play your music files easily + B: Music Player - Play your music files easily


@@ -515,16 +428,22 @@ a: Camorama Webcam Viewer - View, alter and save images from a webcam

- b: Stopmotion - Program to create stop-motion animations + b: XBMC Media Center - Manage and view your media +

+

+ c: Stopmotion - Program to create stop-motion animations

- c: OptGeo - Interactive tool to study and simulate optic assemblies + d: Minitube - Watch YouTube videos

- d: OpenShot Video Editor - Create and edit videos and movies + e: OptGeo - Interactive tool to study and simulate optic assemblies

- e: Movie Player - Play movies and songs + f: OpenShot Video Editor - Create and edit videos and movies +

+

+ g: Movie Player - Play movies and songs


@@ -573,31 +492,34 @@ n: IDLE (using Python-2.7) - Integrated Development Environment for Python (using Python-2.7)

- o: IDLE - Integrated Development Environment for Python + o: GvRng - Guido van Robot NG +

+

+ p: IDLE - Integrated Development Environment for Python

- p: Python (v2.6) - Python Interpreter (v2.6) + q: Python (v2.6) - Python Interpreter (v2.6)

- q: Python (v3.2) - Python Interpreter (v3.2) + r: Python (v3.2) - Python Interpreter (v3.2)

- r: IDLE (using Python-3.2) - Integrated Development Environment for Python (using Python-3.2) + s: IDLE (using Python-3.2) - Integrated Development Environment for Python (using Python-3.2)

- s: IDLE 3 - Integrated DeveLopment Environment for Python3 + t: IDLE 3 - Integrated DeveLopment Environment for Python3

- t: Python (v2.7) - Python Interpreter (v2.7) + u: Python (v2.7) - Python Interpreter (v2.7)

- u: IDLE (using Python-2.6) - Integrated Development Environment for Python (using Python-2.6) + v: IDLE (using Python-2.6) - Integrated Development Environment for Python (using Python-2.6)

- v: GNU Emacs 23 - View and edit files + w: GNU Emacs 23 - View and edit files

- w: Squeak - Programming system and content development tool + x: Squeak - Programming system and content development tool


@@ -709,31 +631,43 @@ 8: OptGeo - Interactive tool to study and simulate optic assemblies

- 9: Klavaro - Yet another touch typing tutor + 9: GvRng - Guido van Robot NG

- A: wxMaxima - Perform symbolic and numeric calculations using Maxima + A: Klavaro - Yet another touch typing tutor

- B: Regina - Software for 3-manifold topology and normal surface theory + B: TurtleArt - A Logo programming environment

- C: CaRMetal - CaRMetal interactive geometry + C: wxMaxima - Perform symbolic and numeric calculations using Maxima

- D: python-whiteboard + D: Little Wizard - Development environment for children

- E: AWeather - Advanced weather reporting program + E: Regina - Software for 3-manifold topology and normal surface theory

- F: Xcas Computer Algebra System - The swiss knife for mathematics + F: CaRMetal - CaRMetal interactive geometry

- G: Squeak - Programming system and content development tool + G: python-whiteboard

- H: Educational suite GCompris - Educational game for ages 2 to 10 + H: AWeather - Advanced weather reporting program +

+

+ I: Xcas Computer Algebra System - The swiss knife for mathematics +

+

+ J: Squeak - Programming system and content development tool +

+

+ K: Educational suite GCompris - Educational game for ages 2 to 10 +

+

+ L: eToys - A media-rich model, simulation construction kit and authoring tool


@@ -905,25 +839,28 @@ S: Neverball - A 3D arcade game with a ball

- T: SDL-Ball + T: Teeworlds - An online multi-player platform 2D shooter +

+

+ U: SDL-Ball

- U: FreeDinkedit - Portable Dink Smallwood game editor + V: FreeDinkedit - Portable Dink Smallwood game editor

- V: PyChess - PyChess is a fully featured, nice looking, easy to use chess client for the Gnome desktop + W: PyChess - PyChess is a fully featured, nice looking, easy to use chess client for the Gnome desktop

- W: PlayOnLinux - PlayOnLinux + X: PlayOnLinux - PlayOnLinux

- X: REminiscence - A port of FlashBack game engine + Y: REminiscence - A port of FlashBack game engine

- Y: Gravitation - game about mania, melancholia, and the creative process + Z: Gravitation - game about mania, melancholia, and the creative process

- Z: OpenArena - A fast-paced 3D first-person shooter, similar to id Software Inc.'s Quake III Arena + |: OpenArena - A fast-paced 3D first-person shooter, similar to id Software Inc.'s Quake III Arena

|: The Ur-Quan Masters - An interstellar adventure game @@ -1178,6 +1115,9 @@ |: Gunroar - Kenta Cho's Gunroar

+ |: Singularity - Become the singularity +

+

|: Quadrapassel - Fit falling blocks together

@@ -1244,6 +1184,9 @@ |: Funny Boat - a side scrolling arcade shooter game on a steamboat

+ |: T.E.G. client - Tenes Empanadas Graciela client +

+

|: Tennix! - Play tennis against the computer or a friend

@@ -1602,6 +1545,9 @@

J: Gnubiff - Gnubiff is a mail notification program.

+

+ K: Luakit - Fast, small, webkit based micro-browser extensible by Lua +


Office @@ -1875,9 +1821,6 @@ Z: Settings Manager - Graphical Settings Manager for Xfce 4

- |: Panel tint2 - Customize the panel settings -

-

|: Tux Paint Config. - Configure Tux Paint

@@ -2077,40 +2020,46 @@ N: Log Out

- O: XTerm - standard terminal emulator for the X window system + O: Keyboard Layout - Preview keyboard layouts

- P: Reportbug - Report bugs to the Debian BTS + P: XTerm - standard terminal emulator for the X window system

- Q: GDebi Package Installer - Install and view software packages + Q: Reportbug - Report bugs to the Debian BTS

- R: Terminal emulator - Terminal Emulator + R: GDebi Package Installer - Install and view software packages

- S: Xfe - A lightweight file manager for X Window + S: Terminal emulator - Terminal Emulator

- T: Thunar File Manager - Browse the filesystem with the file manager + T: Xfe - A lightweight file manager for X Window

- U: Synaptic Package Manager - Install, remove and upgrade software packages + U: Thunar File Manager - Browse the filesystem with the file manager

- V: Software Update - Update software installed on the system + V: Synaptic Package Manager - Install, remove and upgrade software packages

- W: dconf Editor - Directly edit your entire configuration database + W: Software Update - Update software installed on the system

- X: Htop - Show System Processes + X: Midnight Commander - File manager

- Y: UNetbootin - Tool for creating Live USB drives + Y: dconf Editor - Directly edit your entire configuration database

- Z: Add/Remove Software - Add or remove software installed on the system + Z: Htop - Show System Processes +

+

+ |: UNetbootin - Tool for creating Live USB drives +

+

+ |: Add/Remove Software - Add or remove software installed on the system

|: Service Pack Creator - Create service packs for sharing with other computers @@ -2372,6 +2321,9 @@ |: Thunar File Manager - Browse the filesystem with the file manager

+ |: Midnight Commander - File manager +

+

|: Xfwrite - A simple text editor for Xfe

@@ -3312,9 +3264,6 @@

i: Open the window in this frame if it match nw-absorb-test

-

- s: Open the window in the Surf frame if it match surf absorb-nw-test -


Frame-Movement-Menu @@ -3643,70 +3592,92 @@ Configuration-Menu

- a: < Corner Group > + a: < Placement Group > +

+

+ b: < Corner Group >

- b: < Hook Group > + c: < Hook Group >

- c: < Root Group > + d: < Root Group >

- d: < Main Mode Group > + e: < Main Mode Group >

- e: < Frame Colors Group > + f: < Frame Colors Group >

- f: < Miscellaneous Group > + g: < Miscellaneous Group >

- g: < Second Mode Group > + h: < Second Mode Group >

- h: < Identify Key Group > + i: < Identify Key Group >

- i: < Query String Group > + j: < Query String Group >

- j: < Circulate Mode Group > + k: < Circulate Mode Group >

- k: < Expose Mode Group > + l: < Expose Mode Group >

- l: < Info Mode Group > + m: < Info Mode Group >

- m: < Menu Group > + n: < Menu Group >

- n: < Notify Window Group > + o: < Notify Window Group >

- o: < Gimp Layout Group > + p: < Gimp Layout Group >

- p: < Power Management Group > + F2: Save all configuration variables in clfswmrc +

+

+ F3: Reset all configuration variables to their default values

+
+

+ Conf-Placement +

- q: < Placement Group > + a: Configure BANISH-POINTER-PLACEMENT

- r: < Volume Mode Group > + b: Configure SECOND-MODE-PLACEMENT

- s: < Toolbar Group > + c: Configure INFO-MODE-PLACEMENT

- t: < Wallpaper Group > + d: Configure QUERY-MODE-PLACEMENT

- F2: Save all configuration variables in clfswmrc + e: Configure CIRCULATE-MODE-PLACEMENT

- F3: Reset all configuration variables to their default values + f: Configure EXPOSE-MODE-PLACEMENT +

+

+ g: Configure EXPOSE-QUERY-PLACEMENT +

+

+ h: Configure NOTIFY-WINDOW-PLACEMENT +

+

+ i: Configure ASK-CLOSE/KILL-PLACEMENT +

+

+ j: Configure UNMANAGED-WINDOW-PLACEMENT


@@ -3768,7 +3739,7 @@ c: Configure MAIN-ENTRANCE-HOOK

- d: Configure ROOT-SIZE-CHANGE + d: Configure ROOT-SIZE-CHANGE-HOOK

e: Configure INIT-HOOK @@ -4139,191 +4110,6 @@


- Conf-Power-Management -

-

- a: Configure POWER-SUSPEND-TO-RAM-CMD -

-

- b: Configure POWER-SUSPEND-TO-DISK-CMD -

-

- c: Configure POWER-REBOOT-CMD -

-

- d: Configure POWER-HALT-CMD -

-
-

- Conf-Placement -

-

- a: Configure BANISH-POINTER-PLACEMENT -

-

- b: Configure SECOND-MODE-PLACEMENT -

-

- c: Configure INFO-MODE-PLACEMENT -

-

- d: Configure QUERY-MODE-PLACEMENT -

-

- e: Configure CIRCULATE-MODE-PLACEMENT -

-

- f: Configure EXPOSE-MODE-PLACEMENT -

-

- g: Configure EXPOSE-QUERY-PLACEMENT -

-

- h: Configure NOTIFY-WINDOW-PLACEMENT -

-

- i: Configure ASK-CLOSE/KILL-PLACEMENT -

-

- j: Configure UNMANAGED-WINDOW-PLACEMENT -

-

- k: Configure TOOLBAR-WINDOW-PLACEMENT -

-

- l: Configure VOLUME-MODE-PLACEMENT -

-
-

- Conf-Volume-Mode -

-

- a: Configure VOLUME-FONT-STRING -

-

- b: Configure VOLUME-BACKGROUND -

-

- c: Configure VOLUME-FOREGROUND -

-

- d: Configure VOLUME-BORDER -

-

- e: Configure VOLUME-BORDER-SIZE -

-

- f: Configure VOLUME-WIDTH -

-

- g: Configure VOLUME-HEIGHT -

-

- h: Configure VOLUME-TEXT-LIMIT -

-

- i: Configure VOLUME-EXTERNAL-MIXER-CMD -

-
-

- Conf-Toolbar -

-

- a: Configure DEFAULT-TOOLBAR -

-

- b: Configure TOOLBAR-WINDOW-FONT-STRING -

-

- c: Configure TOOLBAR-WINDOW-BACKGROUND -

-

- d: Configure TOOLBAR-WINDOW-FOREGROUND -

-

- e: Configure TOOLBAR-WINDOW-BORDER -

-

- f: Configure TOOLBAR-DEFAULT-BORDER-SIZE -

-

- g: Configure TOOLBAR-WINDOW-TRANSPARENCY -

-

- h: Configure TOOLBAR-DEFAULT-THICKNESS -

-

- i: Configure TOOLBAR-DEFAULT-REFRESH-DELAY -

-

- j: Configure TOOLBAR-DEFAULT-AUTOHIDE -

-

- k: Configure TOOLBAR-SENSIBILITY -

-

- l: Configure TOOLBAR-CLOCK-COLOR -

-

- m: Configure TOOLBAR-LABEL-COLOR -

-

- n: Configure TOOLBAR-CLICKABLE-LABEL-COLOR -

-

- o: Configure TOOLBAR-CLICKABLE-CLOCK-COLOR -

-

- p: Configure TOOLBAR-CLOCK-ACTION -

-

- q: Configure TOOLBAR-CLFSWM-MENU-COLOR -

-

- r: Configure TOOLBAR-CPU-COLOR -

-

- s: Configure TOOLBAR-MEM-COLOR -

-

- t: Configure TOOLBAR-SYSTEM-INFO-COLOR -

-

- u: Configure TOOLBAR-SYSTEM-INFO-LOW-COLOR -

-

- v: Configure TOOLBAR-SYSTEM-INFO-ALERT-COLOR -

-

- w: Configure TOOLBAR-SYSTEM-INFO-URGENT-COLOR -

-

- x: Configure TOOLBAR-EXPOSE-MODE-BUTTON-COLOR -

-

- y: Configure MPD-TOOLBAR -

-

- z: Configure MPD-TOOLBAR-CLIENT -

-

- 0: Configure TOOLBAR-MPD-INFO-COLOR -

-

- 1: Configure TOOLBAR-MPD-BUTTONS-COLOR -

-

- 2: Configure TOOLBAR-VOLUME-MODE-BUTTON-COLOR -

-
-

- Conf-Wallpaper -

-

- a: Configure WALLPAPER-COMMAND -

-
-

Clfswm-Menu

@@ -4335,28 +4121,6 @@

x: Exit clfswm

-

- Pause: < Suspend/Reboot/Halt menu > -

-
-

- Reboot-Halt-Menu -

-

- -: Do nothing -

-

- s: Suspend the computer to RAM -

-

- d: Suspend the computer to DISK -

-

- r: Reboot the computer -

-

- h: Halt the computer -


diff --git a/doc/menu.txt b/doc/menu.txt index 9faea08..99fb1e9 100644 --- a/doc/menu.txt +++ b/doc/menu.txt @@ -28,41 +28,6 @@ d: Show the current time and date p: Show current processes sorted by CPU usage m: Show current processes sorted by memory usage v: Show the current CLFSWM version -F2: < Music Player Daemon (MPD) menu > -x: < XMMS menu > -i: < CDPLAYER menu > - -Mpd-Menu -i: Show MPD informations -p: Play the previous song in the current playlist -n: Play the next song in the current playlist -t: Toggles Play/Pause, plays if stopped -y: Start playing -k: Stop the currently playing playlists -x: Seeks to +5% -w: Seeks to -5% -l: Show the current MPD playlist -s: Start sonata -g: Start gmpc - -Xmms-Menu -r: Lanch XMMS -s: Show the current xmms status -l: Show the current xmms playlist -n: Play the next XMMS track -p: Play the previous XMMS track -e: open xmms "Load file(s)" dialog window. - -Cdplayer-Menu -y: Start playing CD -k: Stop playing CD -t: Toggle pause -s: Show the current CD status -l: Show the current CD playlist -n: Play the next CD track -p: Play the previous CD track -e: Eject CD -c: Close CD Standard-Menu a: < TEXTEDITOR > @@ -102,7 +67,8 @@ e: Open Folder with Thunar - Open the specified folders in Thunar f: Worker - File manager for X. g: Xfe - A lightweight file manager for X Window h: Thunar File Manager - Browse the filesystem with the file manager -i: Gentoo - Fully GUI-configurable, two-pane X file manager +i: Midnight Commander - File manager +j: Gentoo - Fully GUI-configurable, two-pane X file manager Webbrowser a: Konqueror @@ -115,6 +81,7 @@ g: Midori Private Browsing - Open a new private browsing window h: Web - Browse the web i: Conkeror Web Browser - Browse the World Wide Web j: Links 2 +k: Luakit - Fast, small, webkit based micro-browser extensible by Lua Audiovideo a: Dragon Player @@ -129,30 +96,32 @@ i: Rhythmbox - Play and organize your music collection j: Musique - Play your music collection k: HasciiCam - (h)ascii for the masses! l: MediathekView - View streams from public German TV stations -m: Sonata - An elegant GTK+ MPD client -n: Stopmotion - Program to create stop-motion animations -o: Gnome Music Player Client - A gnome frontend for the mpd daemon -p: PulseAudio Volume Control - Adjust the volume level -q: GNOME ALSA Mixer - ALSA sound mixer for GNOME -r: Mixer - Audio mixer for the Xfce Desktop Environment -s: Alsa Modular Synth - Modular Software Synth -t: VLC media player - Read, capture, broadcast your multimedia streams -u: Petri-Foo - Sound Sampler -v: Sound Juicer - Copy music from your CDs -w: PulseAudio Volume Meter (Playback) - Monitor the output volume -x: Rhythmbox - Play and organize your music collection -y: Brasero - Create and copy CDs and DVDs -z: Audacity - Record and edit audio files -0: Cheese - Take photos and videos with your webcam, with fun graphical effects -1: Sound Recorder - Record sound clips -2: OpenShot Video Editor - Create and edit videos and movies -3: terminatorX - Scratch and mix audio -4: Decibel Audio Player - A simple audio player -5: Movie Player - Play movies and songs -6: QVideoob - Search for videos on many websites, and get info about them -7: PulseAudio Volume Meter (Capture) - Monitor the input volume -8: Specimen - Sound Sampler -9: Music Player - Play your music files easily +m: XBMC Media Center - Manage and view your media +n: Sonata - An elegant GTK+ MPD client +o: Stopmotion - Program to create stop-motion animations +p: Gnome Music Player Client - A gnome frontend for the mpd daemon +q: PulseAudio Volume Control - Adjust the volume level +r: Minitube - Watch YouTube videos +s: GNOME ALSA Mixer - ALSA sound mixer for GNOME +t: Mixer - Audio mixer for the Xfce Desktop Environment +u: Alsa Modular Synth - Modular Software Synth +v: VLC media player - Read, capture, broadcast your multimedia streams +w: Petri-Foo - Sound Sampler +x: Sound Juicer - Copy music from your CDs +y: PulseAudio Volume Meter (Playback) - Monitor the output volume +z: Rhythmbox - Play and organize your music collection +0: Brasero - Create and copy CDs and DVDs +1: Audacity - Record and edit audio files +2: Cheese - Take photos and videos with your webcam, with fun graphical effects +3: Sound Recorder - Record sound clips +4: OpenShot Video Editor - Create and edit videos and movies +5: terminatorX - Scratch and mix audio +6: Decibel Audio Player - A simple audio player +7: Movie Player - Play movies and songs +8: QVideoob - Search for videos on many websites, and get info about them +9: PulseAudio Volume Meter (Capture) - Monitor the input volume +A: Specimen - Sound Sampler +B: Music Player - Play your music files easily Audio a: KMix @@ -175,10 +144,12 @@ q: Music Player - Play your music files easily Video a: Camorama Webcam Viewer - View, alter and save images from a webcam -b: Stopmotion - Program to create stop-motion animations -c: OptGeo - Interactive tool to study and simulate optic assemblies -d: OpenShot Video Editor - Create and edit videos and movies -e: Movie Player - Play movies and songs +b: XBMC Media Center - Manage and view your media +c: Stopmotion - Program to create stop-motion animations +d: Minitube - Watch YouTube videos +e: OptGeo - Interactive tool to study and simulate optic assemblies +f: OpenShot Video Editor - Create and edit videos and movies +g: Movie Player - Play movies and songs Development a: KLinkStatus @@ -195,15 +166,16 @@ k: Scilab CLI - Scientific software package for numerical computations l: Scilab - Scientific software package for numerical computations m: Scilab advanced CLI - Scientific software package for numerical computations n: IDLE (using Python-2.7) - Integrated Development Environment for Python (using Python-2.7) -o: IDLE - Integrated Development Environment for Python -p: Python (v2.6) - Python Interpreter (v2.6) -q: Python (v3.2) - Python Interpreter (v3.2) -r: IDLE (using Python-3.2) - Integrated Development Environment for Python (using Python-3.2) -s: IDLE 3 - Integrated DeveLopment Environment for Python3 -t: Python (v2.7) - Python Interpreter (v2.7) -u: IDLE (using Python-2.6) - Integrated Development Environment for Python (using Python-2.6) -v: GNU Emacs 23 - View and edit files -w: Squeak - Programming system and content development tool +o: GvRng - Guido van Robot NG +p: IDLE - Integrated Development Environment for Python +q: Python (v2.6) - Python Interpreter (v2.6) +r: Python (v3.2) - Python Interpreter (v3.2) +s: IDLE (using Python-3.2) - Integrated Development Environment for Python (using Python-3.2) +t: IDLE 3 - Integrated DeveLopment Environment for Python3 +u: Python (v2.7) - Python Interpreter (v2.7) +v: IDLE (using Python-2.6) - Integrated Development Environment for Python (using Python-2.6) +w: GNU Emacs 23 - View and edit files +x: Squeak - Programming system and content development tool Education a: Kig - Explore Geometric Constructions @@ -241,15 +213,19 @@ z: GeoGebra - Create interactive mathematical constructions and applets. 6: Scilab advanced CLI - Scientific software package for numerical computations 7: Geomview - Interactive geometry viewing program 8: OptGeo - Interactive tool to study and simulate optic assemblies -9: Klavaro - Yet another touch typing tutor -A: wxMaxima - Perform symbolic and numeric calculations using Maxima -B: Regina - Software for 3-manifold topology and normal surface theory -C: CaRMetal - CaRMetal interactive geometry -D: python-whiteboard -E: AWeather - Advanced weather reporting program -F: Xcas Computer Algebra System - The swiss knife for mathematics -G: Squeak - Programming system and content development tool -H: Educational suite GCompris - Educational game for ages 2 to 10 +9: GvRng - Guido van Robot NG +A: Klavaro - Yet another touch typing tutor +B: TurtleArt - A Logo programming environment +C: wxMaxima - Perform symbolic and numeric calculations using Maxima +D: Little Wizard - Development environment for children +E: Regina - Software for 3-manifold topology and normal surface theory +F: CaRMetal - CaRMetal interactive geometry +G: python-whiteboard +H: AWeather - Advanced weather reporting program +I: Xcas Computer Algebra System - The swiss knife for mathematics +J: Squeak - Programming system and content development tool +K: Educational suite GCompris - Educational game for ages 2 to 10 +L: eToys - A media-rich model, simulation construction kit and authoring tool Game a: Kolf @@ -307,13 +283,14 @@ P: I Have No Tomatoes - How many tomatoes can you smash in ten short minutes? Q: FreeCraft - The War begins R: FreeGish - A physics based arcade game S: Neverball - A 3D arcade game with a ball -T: SDL-Ball -U: FreeDinkedit - Portable Dink Smallwood game editor -V: PyChess - PyChess is a fully featured, nice looking, easy to use chess client for the Gnome desktop -W: PlayOnLinux - PlayOnLinux -X: REminiscence - A port of FlashBack game engine -Y: Gravitation - game about mania, melancholia, and the creative process -Z: OpenArena - A fast-paced 3D first-person shooter, similar to id Software Inc.'s Quake III Arena +T: Teeworlds - An online multi-player platform 2D shooter +U: SDL-Ball +V: FreeDinkedit - Portable Dink Smallwood game editor +W: PyChess - PyChess is a fully featured, nice looking, easy to use chess client for the Gnome desktop +X: PlayOnLinux - PlayOnLinux +Y: REminiscence - A port of FlashBack game engine +Z: Gravitation - game about mania, melancholia, and the creative process +|: OpenArena - A fast-paced 3D first-person shooter, similar to id Software Inc.'s Quake III Arena |: The Ur-Quan Masters - An interstellar adventure game |: Golly - A Conway's Game of Life simulator |: Chromium B.S.U. - Scrolling space shooter @@ -398,6 +375,7 @@ Z: OpenArena - A fast-paced 3D first-person shooter, similar to id Software Inc. |: Heroes - Collect powerups and avoid your opponents' trails |: Secret Maryo Chronicles - A 2D platform game with style similar to classic sidescroller games |: Gunroar - Kenta Cho's Gunroar +|: Singularity - Become the singularity |: Quadrapassel - Fit falling blocks together |: Minetest - InfiniMiner/Minecraft-inspired open game world |: Angband (GTK) - A roguelike dungeon exploration game based on the books of J.R.R.Tolkien @@ -420,6 +398,7 @@ Z: OpenArena - A fast-paced 3D first-person shooter, similar to id Software Inc. |: Zatacka - Arcade multiplayer game for 2-6 players |: Tumiki Fighters - Kenta Cho's Tumiki Fighters |: Funny Boat - a side scrolling arcade shooter game on a steamboat +|: T.E.G. client - Tenes Empanadas Graciela client |: Tennix! - Play tennis against the computer or a friend |: LordsAWar Tile Editor - Create or Edit LordsAWar tilesets |: Battle for Wesnoth (1.10) - A fantasy turn-based strategy game @@ -541,6 +520,7 @@ G: Links 2 H: Wicd Network Manager I: Dillo - Lightweight browser J: Gnubiff - Gnubiff is a mail notification program. +K: Luakit - Fast, small, webkit based micro-browser extensible by Lua Office a: Lokalize @@ -633,7 +613,6 @@ W: Guake Preferences - Comment X: System Settings Y: IcedTea Web Control Panel - Configure IcedTea Web (javaws and plugin) Z: Settings Manager - Graphical Settings Manager for Xfce 4 -|: Panel tint2 - Customize the panel settings |: Tux Paint Config. - Configure Tux Paint |: Passwords and Keys - Manage your passwords and encryption keys |: Software Settings - Change software update preferences and enable or disable software sources @@ -701,18 +680,20 @@ K: System Monitor - View current processes and monitor system state L: Open Folder with Thunar - Open the specified folders in Thunar M: Catalog Installer - Install a catalog of software on the system N: Log Out -O: XTerm - standard terminal emulator for the X window system -P: Reportbug - Report bugs to the Debian BTS -Q: GDebi Package Installer - Install and view software packages -R: Terminal emulator - Terminal Emulator -S: Xfe - A lightweight file manager for X Window -T: Thunar File Manager - Browse the filesystem with the file manager -U: Synaptic Package Manager - Install, remove and upgrade software packages -V: Software Update - Update software installed on the system -W: dconf Editor - Directly edit your entire configuration database -X: Htop - Show System Processes -Y: UNetbootin - Tool for creating Live USB drives -Z: Add/Remove Software - Add or remove software installed on the system +O: Keyboard Layout - Preview keyboard layouts +P: XTerm - standard terminal emulator for the X window system +Q: Reportbug - Report bugs to the Debian BTS +R: GDebi Package Installer - Install and view software packages +S: Terminal emulator - Terminal Emulator +T: Xfe - A lightweight file manager for X Window +U: Thunar File Manager - Browse the filesystem with the file manager +V: Synaptic Package Manager - Install, remove and upgrade software packages +W: Software Update - Update software installed on the system +X: Midnight Commander - File manager +Y: dconf Editor - Directly edit your entire configuration database +Z: Htop - Show System Processes +|: UNetbootin - Tool for creating Live USB drives +|: Add/Remove Software - Add or remove software installed on the system |: Service Pack Creator - Create service packs for sharing with other computers Utility @@ -800,6 +781,7 @@ Z: Bluetooth Device Setup - Setup Bluetooth devices |: Terminal emulator - Terminal Emulator |: GNU Emacs 23 - View and edit files |: Thunar File Manager - Browse the filesystem with the file manager +|: Midnight Commander - File manager |: Xfwrite - A simple text editor for Xfe |: Gentoo - Fully GUI-configurable, two-pane X file manager |: Disk Utility - Manage Drives and Media @@ -1123,7 +1105,6 @@ f: Open the next window in the current frame and leave the focus on the current g: Open the next window in a named frame h: Open the next window in a numbered frame i: Open the window in this frame if it match nw-absorb-test -s: Open the window in the Surf frame if it match surf absorb-nw-test Frame-Movement-Menu p: < Frame pack menu > @@ -1243,29 +1224,37 @@ l: Run LXDE p: Prompt for an other window manager Configuration-Menu -a: < Corner Group > -b: < Hook Group > -c: < Root Group > -d: < Main Mode Group > -e: < Frame Colors Group > -f: < Miscellaneous Group > -g: < Second Mode Group > -h: < Identify Key Group > -i: < Query String Group > -j: < Circulate Mode Group > -k: < Expose Mode Group > -l: < Info Mode Group > -m: < Menu Group > -n: < Notify Window Group > -o: < Gimp Layout Group > -p: < Power Management Group > -q: < Placement Group > -r: < Volume Mode Group > -s: < Toolbar Group > -t: < Wallpaper Group > +a: < Placement Group > +b: < Corner Group > +c: < Hook Group > +d: < Root Group > +e: < Main Mode Group > +f: < Frame Colors Group > +g: < Miscellaneous Group > +h: < Second Mode Group > +i: < Identify Key Group > +j: < Query String Group > +k: < Circulate Mode Group > +l: < Expose Mode Group > +m: < Info Mode Group > +n: < Menu Group > +o: < Notify Window Group > +p: < Gimp Layout Group > F2: Save all configuration variables in clfswmrc F3: Reset all configuration variables to their default values +Conf-Placement +a: Configure BANISH-POINTER-PLACEMENT +b: Configure SECOND-MODE-PLACEMENT +c: Configure INFO-MODE-PLACEMENT +d: Configure QUERY-MODE-PLACEMENT +e: Configure CIRCULATE-MODE-PLACEMENT +f: Configure EXPOSE-MODE-PLACEMENT +g: Configure EXPOSE-QUERY-PLACEMENT +h: Configure NOTIFY-WINDOW-PLACEMENT +i: Configure ASK-CLOSE/KILL-PLACEMENT +j: Configure UNMANAGED-WINDOW-PLACEMENT + Conf-Corner a: Configure CORNER-SIZE b: Configure CORNER-MAIN-MODE-LEFT-BUTTON @@ -1286,7 +1275,7 @@ Conf-Hook a: Configure BINDING-HOOK b: Configure LOOP-HOOK c: Configure MAIN-ENTRANCE-HOOK -d: Configure ROOT-SIZE-CHANGE +d: Configure ROOT-SIZE-CHANGE-HOOK e: Configure INIT-HOOK f: Configure CLOSE-HOOK g: Configure DEFAULT-NW-HOOK @@ -1419,83 +1408,10 @@ f: Configure NOTIFY-WINDOW-TRANSPARENCY Conf-Gimp-Layout a: Configure GIMP-LAYOUT-NOTIFY-WINDOW-DELAY -Conf-Power-Management -a: Configure POWER-SUSPEND-TO-RAM-CMD -b: Configure POWER-SUSPEND-TO-DISK-CMD -c: Configure POWER-REBOOT-CMD -d: Configure POWER-HALT-CMD - -Conf-Placement -a: Configure BANISH-POINTER-PLACEMENT -b: Configure SECOND-MODE-PLACEMENT -c: Configure INFO-MODE-PLACEMENT -d: Configure QUERY-MODE-PLACEMENT -e: Configure CIRCULATE-MODE-PLACEMENT -f: Configure EXPOSE-MODE-PLACEMENT -g: Configure EXPOSE-QUERY-PLACEMENT -h: Configure NOTIFY-WINDOW-PLACEMENT -i: Configure ASK-CLOSE/KILL-PLACEMENT -j: Configure UNMANAGED-WINDOW-PLACEMENT -k: Configure TOOLBAR-WINDOW-PLACEMENT -l: Configure VOLUME-MODE-PLACEMENT - -Conf-Volume-Mode -a: Configure VOLUME-FONT-STRING -b: Configure VOLUME-BACKGROUND -c: Configure VOLUME-FOREGROUND -d: Configure VOLUME-BORDER -e: Configure VOLUME-BORDER-SIZE -f: Configure VOLUME-WIDTH -g: Configure VOLUME-HEIGHT -h: Configure VOLUME-TEXT-LIMIT -i: Configure VOLUME-EXTERNAL-MIXER-CMD - -Conf-Toolbar -a: Configure DEFAULT-TOOLBAR -b: Configure TOOLBAR-WINDOW-FONT-STRING -c: Configure TOOLBAR-WINDOW-BACKGROUND -d: Configure TOOLBAR-WINDOW-FOREGROUND -e: Configure TOOLBAR-WINDOW-BORDER -f: Configure TOOLBAR-DEFAULT-BORDER-SIZE -g: Configure TOOLBAR-WINDOW-TRANSPARENCY -h: Configure TOOLBAR-DEFAULT-THICKNESS -i: Configure TOOLBAR-DEFAULT-REFRESH-DELAY -j: Configure TOOLBAR-DEFAULT-AUTOHIDE -k: Configure TOOLBAR-SENSIBILITY -l: Configure TOOLBAR-CLOCK-COLOR -m: Configure TOOLBAR-LABEL-COLOR -n: Configure TOOLBAR-CLICKABLE-LABEL-COLOR -o: Configure TOOLBAR-CLICKABLE-CLOCK-COLOR -p: Configure TOOLBAR-CLOCK-ACTION -q: Configure TOOLBAR-CLFSWM-MENU-COLOR -r: Configure TOOLBAR-CPU-COLOR -s: Configure TOOLBAR-MEM-COLOR -t: Configure TOOLBAR-SYSTEM-INFO-COLOR -u: Configure TOOLBAR-SYSTEM-INFO-LOW-COLOR -v: Configure TOOLBAR-SYSTEM-INFO-ALERT-COLOR -w: Configure TOOLBAR-SYSTEM-INFO-URGENT-COLOR -x: Configure TOOLBAR-EXPOSE-MODE-BUTTON-COLOR -y: Configure MPD-TOOLBAR -z: Configure MPD-TOOLBAR-CLIENT -0: Configure TOOLBAR-MPD-INFO-COLOR -1: Configure TOOLBAR-MPD-BUTTONS-COLOR -2: Configure TOOLBAR-VOLUME-MODE-BUTTON-COLOR - -Conf-Wallpaper -a: Configure WALLPAPER-COMMAND - Clfswm-Menu r: Reset clfswm l: Reload clfswm x: Exit clfswm -Pause: < Suspend/Reboot/Halt menu > - -Reboot-Halt-Menu --: Do nothing -s: Suspend the computer to RAM -d: Suspend the computer to DISK -r: Reboot the computer -h: Halt the computer This documentation was produced with the CLFSWM auto-doc functions. To reproduce it, use the produce-menu-doc-in-file or diff --git a/doc/variables.html b/doc/variables.html index 223131f..0084d27 100644 --- a/doc/variables.html +++ b/doc/variables.html @@ -85,11 +85,6 @@

  • - - Power Management Group - -
  • -
  • Query String Group @@ -104,21 +99,6 @@ Second Mode Group
  • -
  • - - Toolbar Group - -
  • -
  • - - Volume Mode Group - -
  • -
  • - - Wallpaper Group - -
  • @@ -332,10 +312,10 @@         ((:TOP-LEFT PRESENT-CLFSWM-TERMINAL) (:TOP-RIGHT ASK-CLOSE/KILL-CURRENT-WINDOW) (:BOTTOM-RIGHT EXPOSE-ALL-WINDOWS-MODE)
    -        (:BOTTOM-LEFT START-FILE-MANAGER))
    +        (:BOTTOM-LEFT NIL))
    -        Config(Corner group): Actions on corners in the main mode with the right mouse button
    +        Actions on corners in the main mode with the right mouse button
       *corner-main-mode-middle-button* @@ -568,7 +548,7 @@    *close-hook* - = (CLOSE-NOTIFY-WINDOW CLOSE-CLFSWM-TERMINAL CLOSE-VIRTUAL-KEYBOARD CLOSE-ALL-TOOLBARS)
    + = (CLOSE-NOTIFY-WINDOW CLOSE-CLFSWM-TERMINAL CLOSE-VIRTUAL-KEYBOARD)
            Close hook. This hook is run just before closing the display
    @@ -577,16 +557,16 @@    *init-hook* - = (DEFAULT-INIT-HOOK DISPLAY-HELLO-WINDOW OPEN-ALL-TOOLBARS MY-INIT-HOOK MY-WALLPAPER)
    + = (DEFAULT-INIT-HOOK DISPLAY-HELLO-WINDOW)
            Init hook. This hook is run just after the first root frame is created
    -    *root-size-change* +    *root-size-change-hook* - = (MY-WALLPAPER)
    + = NIL
            Hook executed when the root size has changed for example when adding/removing a monitor
    @@ -628,10 +608,7 @@         SET-DEFAULT-INFO-KEYS SET-DEFAULT-INFO-MOUSE INIT-*MAIN-KEYS* INIT-*MAIN-MOUSE* SET-DEFAULT-MAIN-KEYS
    -        SET-DEFAULT-MAIN-MOUSE INIT-*SECOND-KEYS* INIT-*SECOND-MOUSE* SET-DEFAULT-SECOND-KEYS SET-DEFAULT-SECOND-MOUSE
    - - -        MPD-BINDING FR-BINDING REBOOT-HALT-BINDING INIT-*VOLUME-KEYS* SET-DEFAULT-VOLUME-KEYS AMIXER-VOLUME-BIND LOCAL-BINDING)
    +        SET-DEFAULT-MAIN-MOUSE INIT-*SECOND-KEYS* INIT-*SECOND-MOUSE* SET-DEFAULT-SECOND-KEYS SET-DEFAULT-SECOND-MOUSE)
            Hook executed when keys/buttons are bounds
    @@ -1042,7 +1019,7 @@    *default-frame-data* - = ((:TILE-SIZE 0.8) (:TILE-SPACE-SIZE 0.1) (:MAIN-LAYOUT-WINDOWS NIL) (:FAST-LAYOUT (TILE-SPACE-LAYOUT NO-LAYOUT)))
    + = ((:TILE-SIZE 0.8) (:TILE-SPACE-SIZE 0.1) (:FAST-LAYOUT (TILE-LEFT-LAYOUT TILE-LAYOUT)) (:MAIN-LAYOUT-WINDOWS NIL))
            Default slots set in frame date
    @@ -1184,24 +1161,6 @@

    -    *volume-mode-placement* - - - = BOTTOM-MIDDLE-ROOT-PLACEMENT
    -
    - -        Volume mode window placement
    - - -    *toolbar-window-placement* - - - = TOP-LEFT-PLACEMENT
    -
    - -        Toolbar window placement
    - -    *unmanaged-window-placement* @@ -1286,53 +1245,12 @@    *banish-pointer-placement* - = MIDDLE-RIGHT-ROOT-PLACEMENT
    + = BOTTOM-RIGHT-ROOT-PLACEMENT
            Pointer banishment placement

    - - <= Power Management Group => - -

    - -    *power-halt-cmd* - - - = "sudo /sbin/halt"
    -
    - -        Halt command
    - - -    *power-reboot-cmd* - - - = "sudo /sbin/reboot"
    -
    - -        Reboot command
    - - -    *power-suspend-to-disk-cmd* - - - = "sudo pm-hibernate"
    -
    - -        Suspend to disk command
    - - -    *power-suspend-to-ram-cmd* - - - = "sudo pm-suspend"
    -
    - -        Suspend to ram command
    - -

    <= Query String Group => @@ -1564,372 +1482,6 @@         Second mode window border color

    - - <= Toolbar Group => - -

    - -    *toolbar-volume-mode-button-color* - - - = "green"
    -
    - -        Volume mode color
    - - -    *toolbar-mpd-buttons-color* - - - = "green"
    -
    - -        MPD - Music Player Daemon buttons color
    - - -    *toolbar-mpd-info-color* - - - = "green"
    -
    - -        MPD - Music Player Daemon information color
    - - -    *mpd-toolbar-client* - - - = "gmpc"
    -
    - -        MPD client
    - - -    *mpd-toolbar* - - - = ((MPD-BUTTONS 1) (MPD-INFO 60))
    -
    - -        MPD toolbar modules
    - - -    *toolbar-expose-mode-button-color* - - - = "green"
    -
    - -        Expose-mode button
    - - -    *toolbar-system-info-urgent-color* - - - = "Red"
    -
    - -        System information colors (CPU+Mem+Battery)
    - - -    *toolbar-system-info-alert-color* - - - = "Magenta"
    -
    - -        System information colors (CPU+Mem+Battery)
    - - -    *toolbar-system-info-low-color* - - - = "Yellow"
    -
    - -        System information colors (CPU+Mem+Battery)
    - - -    *toolbar-system-info-color* - - - = "green"
    -
    - -        System information colors (CPU+Mem+Battery)
    - - -    *toolbar-mem-color* - - - = "green"
    -
    - -        Memory color
    - - -    *toolbar-cpu-color* - - - = "green"
    -
    - -        CPU color
    - - -    *toolbar-clfswm-menu-color* - - - = "green"
    -
    - -        CLFSWM menu color
    - - -    *toolbar-clock-action* - - - = "xclock -analog"
    -
    - -        Toolbar clickable clock module action on click
    - - -    *toolbar-clickable-clock-color* - - - = "green"
    -
    - -        Clickable clock color
    - - -    *toolbar-clickable-label-color* - - - = "green"
    -
    - -        Clickable label color
    - - -    *toolbar-label-color* - - - = "green"
    -
    - -        Label color
    - - -    *toolbar-clock-color* - - - = "green"
    -
    - -        Clock color
    - - -    *toolbar-sensibility* - - - = 3
    -
    - -        Toolbar sensibility in pixels
    - - -    *toolbar-default-autohide* - - - = NIL
    -
    - -        Toolbar default autohide value
    - - -    *toolbar-default-refresh-delay* - - - = 30
    -
    - -        Toolbar default refresh delay
    - - -    *toolbar-default-thickness* - - - = 20
    -
    - -        Toolbar default thickness
    - - -    *toolbar-window-transparency* - - - = 0.8
    -
    - -        Toolbar window background transparency
    - - -    *toolbar-default-border-size* - - - = 0
    -
    - -        Toolbar Window border size
    - - -    *toolbar-window-border* - - - = "red"
    -
    - -        Toolbar Window border color
    - - -    *toolbar-window-foreground* - - - = "green"
    -
    - -        Toolbar Window foreground color
    - - -    *toolbar-window-background* - - - = "black"
    -
    - -        Toolbar Window background color
    - - -    *toolbar-window-font-string* - - - = "fixed"
    -
    - -        Toolbar window font string
    - - -    *default-toolbar* - - - = ((CLFSWM-MENU 1) (EXPOSE-MODE-BUTTON 10) (SYSTEM-USAGE 90) (CLICKABLE-CLOCK 99))
    -
    - -        Default toolbar modules
    - -

    - - <= Volume Mode Group => - -

    - -    *volume-external-mixer-cmd* - - - = "/usr/bin/gnome-alsamixer"
    -
    - -        Command to start an external mixer program
    - - -    *volume-text-limit* - - - = 30
    -
    - -        Maximum text limit in the volume window
    - - -    *volume-height* - - - = 15
    -
    - -        Volume mode window height
    - - -    *volume-width* - - - = 400
    -
    - -        Volume mode window width
    - - -    *volume-border-size* - - - = 1
    -
    - -        Volume window border size
    - - -    *volume-border* - - - = "red"
    -
    - -        Volume window border color
    - - -    *volume-foreground* - - - = "green"
    -
    - -        Volume window foreground color
    - - -    *volume-background* - - - = "black"
    -
    - -        Volume window background color
    - - -    *volume-font-string* - - - = "fixed"
    -
    - -        Volume window font string
    - -

    - - <= Wallpaper Group => - -

    - -    *wallpaper-command* - - - = "Esetroot -scale"
    -
    - -        Command to install the wallpaper
    - -

    This documentation was produced with the CLFSWM auto-doc functions. To reproduce it, use the produce-conf-var-doc-html-in-file or diff --git a/doc/variables.txt b/doc/variables.txt index 09cf97e..b7fd067 100644 --- a/doc/variables.txt +++ b/doc/variables.txt @@ -55,8 +55,8 @@ The command to display the virtual keybaord Actions on corners in the second mode with the left mouse button *CORNER-MAIN-MODE-RIGHT-BUTTON* = ((:TOP-LEFT PRESENT-CLFSWM-TERMINAL) (:TOP-RIGHT ASK-CLOSE/KILL-CURRENT-WINDOW) (:BOTTOM-RIGHT EXPOSE-ALL-WINDOWS-MODE) - (:BOTTOM-LEFT START-FILE-MANAGER)) - Config(Corner group): Actions on corners in the main mode with the right mouse button + (:BOTTOM-LEFT NIL)) + Actions on corners in the main mode with the right mouse button *CORNER-MAIN-MODE-MIDDLE-BUTTON* = ((:TOP-LEFT HELP-ON-CLFSWM) (:TOP-RIGHT ASK-CLOSE/KILL-CURRENT-WINDOW) (:BOTTOM-RIGHT NIL) (:BOTTOM-LEFT NIL)) Actions on corners in the main mode with the middle mouse button *CORNER-MAIN-MODE-LEFT-BUTTON* = ((:TOP-LEFT OPEN-MENU) (:TOP-RIGHT PRESENT-VIRTUAL-KEYBOARD) (:BOTTOM-RIGHT EXPOSE-WINDOWS-MODE) (:BOTTOM-LEFT NIL)) @@ -119,11 +119,11 @@ The command to display the virtual keybaord Query hook. Hook called on each key press event in query loop *DEFAULT-NW-HOOK* = DEFAULT-FRAME-NW-HOOK Default action to do on newly created windows - *CLOSE-HOOK* = (CLOSE-NOTIFY-WINDOW CLOSE-CLFSWM-TERMINAL CLOSE-VIRTUAL-KEYBOARD CLOSE-ALL-TOOLBARS) + *CLOSE-HOOK* = (CLOSE-NOTIFY-WINDOW CLOSE-CLFSWM-TERMINAL CLOSE-VIRTUAL-KEYBOARD) Close hook. This hook is run just before closing the display - *INIT-HOOK* = (DEFAULT-INIT-HOOK DISPLAY-HELLO-WINDOW OPEN-ALL-TOOLBARS MY-INIT-HOOK MY-WALLPAPER) + *INIT-HOOK* = (DEFAULT-INIT-HOOK DISPLAY-HELLO-WINDOW) Init hook. This hook is run just after the first root frame is created - *ROOT-SIZE-CHANGE* = (MY-WALLPAPER) + *ROOT-SIZE-CHANGE-HOOK* = NIL Hook executed when the root size has changed for example when adding/removing a monitor *MAIN-ENTRANCE-HOOK* = NIL @@ -134,8 +134,7 @@ loading configuration file and before opening the display. *BINDING-HOOK* = (INIT-*QUERY-KEYS* SET-DEFAULT-QUERY-KEYS SET-DEFAULT-CIRCULATE-KEYS INIT-*INFO-KEYS* INIT-*INFO-MOUSE* SET-DEFAULT-INFO-KEYS SET-DEFAULT-INFO-MOUSE INIT-*MAIN-KEYS* INIT-*MAIN-MOUSE* SET-DEFAULT-MAIN-KEYS - SET-DEFAULT-MAIN-MOUSE INIT-*SECOND-KEYS* INIT-*SECOND-MOUSE* SET-DEFAULT-SECOND-KEYS SET-DEFAULT-SECOND-MOUSE - MPD-BINDING FR-BINDING REBOOT-HALT-BINDING INIT-*VOLUME-KEYS* SET-DEFAULT-VOLUME-KEYS AMIXER-VOLUME-BIND LOCAL-BINDING) + SET-DEFAULT-MAIN-MOUSE INIT-*SECOND-KEYS* INIT-*SECOND-MOUSE* SET-DEFAULT-SECOND-KEYS SET-DEFAULT-SECOND-MOUSE) Hook executed when keys/buttons are bounds @@ -244,7 +243,7 @@ Example: :mod-2 for num_lock, :lock for Caps_lock... Default mouse focus policy. One of :click, :sloppy, :sloppy-strict or :sloppy-select. *DEFAULT-MANAGED-TYPE* = (:NORMAL) Default managed window types - *DEFAULT-FRAME-DATA* = ((:TILE-SIZE 0.8) (:TILE-SPACE-SIZE 0.1) (:MAIN-LAYOUT-WINDOWS NIL) (:FAST-LAYOUT (TILE-SPACE-LAYOUT NO-LAYOUT))) + *DEFAULT-FRAME-DATA* = ((:TILE-SIZE 0.8) (:TILE-SPACE-SIZE 0.1) (:FAST-LAYOUT (TILE-LEFT-LAYOUT TILE-LAYOUT)) (:MAIN-LAYOUT-WINDOWS NIL)) Default slots set in frame date *DEFAULT-FONT-STRING* = "fixed" The default font used in clfswm @@ -283,10 +282,6 @@ It is particulary useful with CLISP/MIT-CLX. <= Placement Group => - *VOLUME-MODE-PLACEMENT* = BOTTOM-MIDDLE-ROOT-PLACEMENT - Volume mode window placement - *TOOLBAR-WINDOW-PLACEMENT* = TOP-LEFT-PLACEMENT - Toolbar window placement *UNMANAGED-WINDOW-PLACEMENT* = MIDDLE-MIDDLE-ROOT-PLACEMENT Unmanager window placement *ASK-CLOSE/KILL-PLACEMENT* = TOP-RIGHT-ROOT-PLACEMENT @@ -305,22 +300,10 @@ It is particulary useful with CLISP/MIT-CLX. Info mode window placement *SECOND-MODE-PLACEMENT* = TOP-MIDDLE-ROOT-PLACEMENT Second mode window placement - *BANISH-POINTER-PLACEMENT* = MIDDLE-RIGHT-ROOT-PLACEMENT + *BANISH-POINTER-PLACEMENT* = BOTTOM-RIGHT-ROOT-PLACEMENT Pointer banishment placement -<= Power Management Group => - - *POWER-HALT-CMD* = "sudo /sbin/halt" - Halt command - *POWER-REBOOT-CMD* = "sudo /sbin/reboot" - Reboot command - *POWER-SUSPEND-TO-DISK-CMD* = "sudo pm-hibernate" - Suspend to disk command - *POWER-SUSPEND-TO-RAM-CMD* = "sudo pm-suspend" - Suspend to ram command - - <= Query String Group => *QUERY-MIN-COMPLET-CHAR* = 2 @@ -381,96 +364,6 @@ on the root window in the main mode with the mouse *SM-BORDER-COLOR* = "Green" Second mode window border color - -<= Toolbar Group => - - *TOOLBAR-VOLUME-MODE-BUTTON-COLOR* = "green" - Volume mode color - *TOOLBAR-MPD-BUTTONS-COLOR* = "green" - MPD - Music Player Daemon buttons color - *TOOLBAR-MPD-INFO-COLOR* = "green" - MPD - Music Player Daemon information color - *MPD-TOOLBAR-CLIENT* = "gmpc" - MPD client - *MPD-TOOLBAR* = ((MPD-BUTTONS 1) (MPD-INFO 60)) - MPD toolbar modules - *TOOLBAR-EXPOSE-MODE-BUTTON-COLOR* = "green" - Expose-mode button - *TOOLBAR-SYSTEM-INFO-URGENT-COLOR* = "Red" - System information colors (CPU+Mem+Battery) - *TOOLBAR-SYSTEM-INFO-ALERT-COLOR* = "Magenta" - System information colors (CPU+Mem+Battery) - *TOOLBAR-SYSTEM-INFO-LOW-COLOR* = "Yellow" - System information colors (CPU+Mem+Battery) - *TOOLBAR-SYSTEM-INFO-COLOR* = "green" - System information colors (CPU+Mem+Battery) - *TOOLBAR-MEM-COLOR* = "green" - Memory color - *TOOLBAR-CPU-COLOR* = "green" - CPU color - *TOOLBAR-CLFSWM-MENU-COLOR* = "green" - CLFSWM menu color - *TOOLBAR-CLOCK-ACTION* = "xclock -analog" - Toolbar clickable clock module action on click - *TOOLBAR-CLICKABLE-CLOCK-COLOR* = "green" - Clickable clock color - *TOOLBAR-CLICKABLE-LABEL-COLOR* = "green" - Clickable label color - *TOOLBAR-LABEL-COLOR* = "green" - Label color - *TOOLBAR-CLOCK-COLOR* = "green" - Clock color - *TOOLBAR-SENSIBILITY* = 3 - Toolbar sensibility in pixels - *TOOLBAR-DEFAULT-AUTOHIDE* = NIL - Toolbar default autohide value - *TOOLBAR-DEFAULT-REFRESH-DELAY* = 30 - Toolbar default refresh delay - *TOOLBAR-DEFAULT-THICKNESS* = 20 - Toolbar default thickness - *TOOLBAR-WINDOW-TRANSPARENCY* = 0.8 - Toolbar window background transparency - *TOOLBAR-DEFAULT-BORDER-SIZE* = 0 - Toolbar Window border size - *TOOLBAR-WINDOW-BORDER* = "red" - Toolbar Window border color - *TOOLBAR-WINDOW-FOREGROUND* = "green" - Toolbar Window foreground color - *TOOLBAR-WINDOW-BACKGROUND* = "black" - Toolbar Window background color - *TOOLBAR-WINDOW-FONT-STRING* = "fixed" - Toolbar window font string - *DEFAULT-TOOLBAR* = ((CLFSWM-MENU 1) (EXPOSE-MODE-BUTTON 10) (SYSTEM-USAGE 90) (CLICKABLE-CLOCK 99)) - Default toolbar modules - - -<= Volume Mode Group => - - *VOLUME-EXTERNAL-MIXER-CMD* = "/usr/bin/gnome-alsamixer" - Command to start an external mixer program - *VOLUME-TEXT-LIMIT* = 30 - Maximum text limit in the volume window - *VOLUME-HEIGHT* = 15 - Volume mode window height - *VOLUME-WIDTH* = 400 - Volume mode window width - *VOLUME-BORDER-SIZE* = 1 - Volume window border size - *VOLUME-BORDER* = "red" - Volume window border color - *VOLUME-FOREGROUND* = "green" - Volume window foreground color - *VOLUME-BACKGROUND* = "black" - Volume window background color - *VOLUME-FONT-STRING* = "fixed" - Volume window font string - - -<= Wallpaper Group => - - *WALLPAPER-COMMAND* = "Esetroot -scale" - Command to install the wallpaper - Those variables can be changed in clfswm. Maybe you'll need to restart clfswm to take care of new values diff --git a/load.lisp b/load.lisp index ce9fbfa..fb0356c 100644 --- a/load.lisp +++ b/load.lisp @@ -42,11 +42,15 @@ ;;;------------------ (defparameter *interactive* t) +(defparameter *build-original-doc* t + "Set to t to use original configuration or to nil to use your own configuration +from $XDG_CONFIG_HOME/clfswm/clfswmrc") + + ;;; Comment or uncomment the lines above to fit your needs. (pushnew :clfswm-compile *features*) ;;(pushnew :clfswm-run *features*) (pushnew :clfswm-build-image *features*) -;;(pushnew :clfswm-install *features*) ;;(pushnew :clfswm-build-doc *features*) (defparameter *binary-name* "clfswm") @@ -141,11 +145,11 @@ #+(or :clfswm-run :clfswm-build-doc :clfswm-build-image) (in-package :clfswm) -#+:clfswm-run +#+(or :clfswm-run :clfswm-build-doc) (progn (cl-user::load-info "Running CLFSWM") - (ignore-errors - (main :read-conf-file-p t))) +;; (ignore-errors + (main :read-conf-file-p (not cl-user::*build-original-doc*)));) ;;;------------------------- ----------------------------------------------------------------------- Summary of changes: contrib/blank-window-mode.lisp | 256 ++++++++++++++++++ doc/corner.html | 2 +- doc/corner.txt | 2 +- doc/keys.html | 420 +++--------------------------- doc/keys.txt | 76 ++---- doc/menu.html | 566 ++++++++++++---------------------------- doc/menu.txt | 310 ++++++++-------------- doc/variables.html | 466 +-------------------------------- doc/variables.txt | 123 +-------- load.lisp | 12 +- 10 files changed, 617 insertions(+), 1616 deletions(-) create mode 100644 contrib/blank-window-mode.lisp hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Fri Dec 7 22:23:05 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 07 Dec 2012 14:23:05 -0800 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-164-g24e28dc Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via 24e28dc07aa24a1f785c94c670c14500764549b1 (commit) from 2f688e57fbde0c4706a8082c0ec4ec8cc5ba7cc4 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 24e28dc07aa24a1f785c94c670c14500764549b1 Author: Philippe Brochard Date: Fri Dec 7 23:22:57 2012 +0100 Add a comment in load.lisp to change the contrib directory in clfswm image diff --git a/load.lisp b/load.lisp index fb0356c..d8dd479 100644 --- a/load.lisp +++ b/load.lisp @@ -148,8 +148,8 @@ from $XDG_CONFIG_HOME/clfswm/clfswmrc") #+(or :clfswm-run :clfswm-build-doc) (progn (cl-user::load-info "Running CLFSWM") -;; (ignore-errors - (main :read-conf-file-p (not cl-user::*build-original-doc*)));) + (ignore-errors + (main :read-conf-file-p (not cl-user::*build-original-doc*)))) ;;;------------------------- @@ -163,6 +163,10 @@ from $XDG_CONFIG_HOME/clfswm/clfswmrc") ;;;----------------------- ;;; Building image part ;;;----------------------- + +;;; Uncomment the line below to set the contrib directory in the image +;; (setf *contrib-dir* "/usr/local/lib/clfswm/") + #+:clfswm-build-image (progn (cl-user::load-info "Building CLFSWM executable image") ----------------------------------------------------------------------- Summary of changes: load.lisp | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sat Dec 8 07:56:41 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 07 Dec 2012 23:56:41 -0800 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager annotated tag R-1212 created. R-1212 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The annotated tag, R-1212 has been created at 23329d3c34c534d9cddaf514ef5dbb6f47597589 (tag) tagging 24e28dc07aa24a1f785c94c670c14500764549b1 (commit) replaces R-1106 tagged by Philippe Brochard on Sat Dec 8 08:54:14 2012 +0100 - Log ----------------------------------------------------------------- 1212 release Ales Guzik (2): src/clfswm-layout.lisp (update-layout-managed-children-keep-position): Fix an inattention error. src/clfswm-layout.lisp (tile-layout-mix): New layout to automatically choose between vertival and horizontal tile layout. (tile-space-layout): Fix to have space between screen border and frame the same as between frames. Desmond O. Chang (2): CLFSWM should depend on sb-posix since src/tools.lisp uses sb-posix:getenv & sb-posix:putenv. man page added Michael Raitza (7): src/tools.lisp (n-rotate-list): Implementation ehancements (1/2 GC, 2x speed). Added select-previous-child-simple. Changed frame-select-*-child to wrap around. Added set-layout-simple Added query-backspace-clear. Refactored run-program-from-query-string. Added query-mode-complete-suggest and helpers. Philipp Kroos (2): contrib/toolbar.lisp: Add an expose-mode-button-module. src/clfswm-placement.lisp (here-placement): Evaluates to current position of pointer. Philippe Brochard (150): src/clfswm-internal.lisp (process-existing-windows): Do not process the notify window. src/clfswm.lisp (:unmap-notify, :destroy-notify): Show all children just after the xlib tree cleanup -> reduce the flickering when a window is deleted or destroyed. src/keysyms.lisp: Repeat Page_Down/Up keysym definitions at the end of the file to change keysyms priority. src/clfswm-internal.lisp (clean-windows-in-all-frames): Prevent current root and current child being equal to child. src/clfswm-internal.lisp (place-window-from-hints): Use with-placement macro to place unmanaged windows in an arbitrary place. src/clfswm-util.lisp (update-menus): Set a default value for searching .desktop files when XDG_DATA_DIRS is not set. src/clfswm-util.lisp (um-create-xdg-section-list): Add at least the 'Utility menu entry. src/config.lisp (*xdg-section-list*): moved to config.lisp. src/package.lisp (make-x-drawable): Drawable wrapper to prevent type error in some CLX versions. Replace xlib:drawable-* functions with x-drawable-* equivalents src/clfswm-query.lisp: Fill the history list with a non-nil value. src/xlib-util.lisp (handle-event): Fix a clisp/new-clx error when sometimes window slot of event-slots is a pixmap instead of a window. src/xlib-util.lisp (with-xlib-protect): Protect from xlib:lookup-error. This prevent an error in clisp/new-clx when sometimes an xlib:colormap is expected instead of an xlib:window. load.lisp: Support clisp 2.49+ module system to load CLX. src/*.lisp: Add transparency support. Add full transparency support (with xcompmgr) src/clfswm-keys.lisp (define-keys): New macro to ease multiple keys definitions. (Thanks Valentin Plechinger for the request). src/bindings-second-mode.lisp (set-default-second-keys): New key binding to set window and frame transparency. src/bindings.lisp (set-default-main-mouse): New mouse binding to set window and frame transparency. src/*.lisp: Use create-symbol and create-symbol-in-package instead of the shorter symb. (Thanks Aad Versteden). src/clfswm-util.lisp (place-frames-from-xrandr, swap-frame-geometry, rotate-frame-geometry): New helper functions for multiple physical screen. src/clfswm-util.lisp (jump-to-slot, add-frame-in-parent-frame): Change *current-root* only when needed. src/clfswm-corner.lisp (wait-window-in-query-tree): Add a limit of try to wait the command window. src/tools.lisp (add-new-hook, add-hook): New macro. Do not duplicate hooks by default. Use add-new-hook if you want to duplicate them. Big change to replace *current-root* variable to support multiple root Replace the *current-root* variable in clfswm-nw-hooks.lisp src/*: Use a structure instead of a list in root-list src/clfswm-internal.lisp: Adapt prevent-current-*-equal-child src/config.lisp: Do not use get-fullscreen-size anymore src/clfswm-internal.lisp: TODO update src/clfswm-util.lisp (mouse-focus-move/resize-generic): Enable drawing new frame on all root window src/*.lisp: replace find-current-root by find-related-root when needed src/clfswm-internal.lisp : Use only one list for root management. src/clfswm-internal.lisp (*root*): Root management API simplification. src/clfswm-internal.lisp: Use xdpyinfo/xinerama informations instead of xrandr informations. src/clfswm-internal.lisp: Remove the *current-child* variable and use a setfable function (current-child) instead. src/clfswm-internal.lisp (current-child-setter): Store root current child before apllying current child change. src/clfswm-internal.lisp (get-connected-heads-size): Do not use fake test code src/clfswm-circulate-mode.lisp (rotate-root-geometry-next, rotate-root-geometry-previous): New second mode binding to change root geometry. src/menu-def.lisp: New root menu. src/clfswm-util.lisp (exchange-root-geometry-with-mouse): New function and menu. remove fake test minor check for root src/clfswm-util.lisp (change-current-root-geometry): New efunction. src/clfswm-placement.lisp: New root placement possibility. src/clfswm-placement.lisp: Adjust width and height in child and root placement to prevent too big child size. TODO update minor cleanup Adding a toolbar file src/clfswm-internal.lisp (place-frames-from-xinerama-infos): Reset root list before calculating new sizes src/clfswm-internal.lisp (place-frames-from-xinerama-infos): Place reset-root-list in the better place init-display contrib/toolbar.lisp (toolbar-adjust-root-size): adjust root from toolbar size src/clfswm-internal.lisp (rotate-root-geometry): Do not use rotatef but a simpler algorithm. contrib/toolbar.lisp: begining of toolbar support. contrib/toolbar.lisp (clock): Add a clock module. src/clfswm-placement.lisp: Add an optional border size in all placement functions. Switch to asdf2 in contrib directory src/xlib-util.lisp (handle-event): Add an additional hook event system to handle events in contrib code. contrib/toolbar.lisp (define-toolbar-hooks): Add auto-hide clickable toolbar. (define-toolbar-hooks): Add auto-hide toolbar (show/hide on mouse motion event). src/tools.lisp (process-timers): Call get-internal-real-time only once for all times. contrib/toolbar.lisp: beginning of clickable modules src/clfswm-placement.lisp: Each child can have its own border size. New binding to change the child border size on the fly. src/clfswm-placement.lisp: Take care of current child border size instead of placed window border size src/clfswm-query.lisp: Add completion for shell commands. src/clfswm-query.lisp: Support completion with chars other than spaces. src/clfswm-util.lisp (eval-from-query-string): Add completion for eval for query string. src/clfswm-expose-mode.lisp: New expose mode based on standard query input. Copyright date and mail update Documentation update *.lisp: remove unused *current-root* reference. Restore xlib event hooks loop used for toolbar mode src/clfswm-expose.lisp: minor transparency adjustments src/clfswm-util.lisp (find-child-under-mouse-in-child-tree): Handle children from all roots instead of from *root-frame*. src/clfswm-internal.lisp (show-child): Show unmanaged windows on (maybe) current child in all roots. src/clfswm-internal.lisp (parse-xinerama-info): Remove test code contrib/toolbar.lisp: End of toolbar framework. contrib/toolbar.lisp (list-toolbar-modules): Add a list toolbar modules function. contrib/toolbar.lisp (toolbar-module-text): Print a formatted text at module position centered in toolbar. src/xlib-util.lisp (optimize-event-hook): Remove unused event hooks. src/xlib-util.lisp (event-hook-name): Intern hook name symbole in :clfswm package. contrib/toolbar.lisp: Add arguments in toolbar modules. src/clfswm-util.lisp (eval-from-query-string): Show a notify window when updating symobls list for REPL completion. src/clfswm-util.lisp (show-current-root): New function and configuration menu to display a message on the current root. contrib/toolbar.lisp: Add a clickable label module for toolbar. Add a clickable entry to open the CLFSWM main menu. * src/clfswm-menu.lisp (open-menu): Prevent to reopen an opened menu. Fixe a but with negative selected-item. contrib/toolbar.lisp: Add memory, cpu and battery usage module. contrib/toolbar.lisp: Add memory, cpu and battery usage module with a poll methode. src/tools.lisp: Factorize system usage information collection. src/tools.lisp (start-system-poll): Use a lock file instead of a local variable. contrib/toolbar.lisp: Add configurable colors in toolbar modules. contrib/toolbar.lisp (remove-toolbar): New function. src/clfswm-internal.lisp (add-in-never-managed-window-list): New function. contrib/toolbar.lisp (toggle-toolbar-hide-state): New function. contrib/reboot-halt.lisp: Add configuration command for system actions. contrib/mpd.lisp: New toolbar modules (available only if toolbar.lisp is loaded). contrib/mpd.lisp: Add a small parameter for toolbar modules useful with vertical toolbars. contrib/volume-mode.lisp: Add mouse buttons actions in volume mode. Add a volume button toolbar module. src/*.lisp: Use with-xlib-protect macro to prevent a not implemented event x-error src/clfswm-expose-mode.lisp (expose-query-key-press-hook): Add an option to immediately select child if they can be directly accessed. src/xlib-util.lisp (with-xlib-protect): Handle all Xlib errors for better code protection. src/clfswm-internal.lisp (show-all-children): Hide only children hidden by normal windows or frames (but not :dialog, :transient...). src/clfswm-internal.lisp (process-new-window): Remove borders for maxsize windows. src/clfswm-internal.lisp (show-all-children): (show-all-children): Let the choice to always display children or to optimize by hidding children not seen . The first option is better with transparency support (frames behind orther frames are seen). The second one is faster with many children in the same frame (not seen children are not displayed). contrib/toolbar.lisp (toolbar-adjust-root-size): Takes care of multiple toolbar on the same root edge. contrib/wallpaper.lisp: New functionality to handle backgrounds on differents screen heads. contrib/wallpaper.lisp (wallpaper): create/use-background simplification function. src/*.lisp: Remove uneeded with-xlib-protect. src/clfswm-internal.lisp (delete-child-and-children-in-all-frames): Remove all children in frames and only close windows. Documentation update src/*.lisp: polish X error handling. src/xlib-util.lisp (with-xlib-protect): Return to clfswm's top level on xlib-error Release 1209 TODO update src/clfswm.lisp (configure-request handler): To be ICCCM compliant, send a fake configuration notify event only when the window has moved and not when it has been resized. Version update src/xlib-util.lisp (with-xlib-protect): Limit X errors ignored to prevent freezes and add a backtrace system. src/clfswm.lisp (configure-request handler): Send a configuration notify event in a more precise way. src/clfswm.lisp (configure-request handler): Protect fake configuration notify src/xlib-util.lisp (handle-event): Ignore synchronous xlib window-error and drawable-error in event handler. contrib/clfswm: Dump different image from different installation path. clfswm.lisp (configure-request): Honor configure request even for windows not in root frame src/clfswm.lisp (main-loop): Reset X error count only once for all loops. src/clfswm-menu.lisp (open-menu): Show key bindings correspondence in menu for main and second mode. src/clfswm-menu.lisp (open-menu): Show key bindings also for menu entry. src/clfswm-internal.lisp (place-frames-from-xinerama-infos): Handle root screen resize on the fly when adding or removing a monitor. src/clfswm.lisp (main-mode: configuer request): Call *root-size-change* hook on each root size change. This let CLFSWM refresh background wallpaper on root size changes. contrib/wallpaper.lisp (generate-wallpaper): Force waiting the end of convert. contrib/wallpaper.lisp (wallpaper): Open a notify window to wait wallpaper creation. Adding .desktop files. Open a zenity info window on image rebuilding in clfswm script src/clfswm-internal.lisp (place-frames-from-xinerama-infos): handle better no xinerama support case. contrib/wallpaper.lisp (wallpaper): Handle no xinerama support case. Changed frame-select-*-child to wrap around. (Handle frames with no children) src/clfswm-query.lisp (set-default-query-keys): Bind query-backspace-clear to C-u and S-C-Backspace Correctly Configure roots on monitor change Build clfswm image in load.lisp. Let bind-on-slot on other child than current child Build executable image from load.lisp. Do not update root geometry when a fullscreened window change root size load.lisp can download ASDF and CLX if needed Load.lisp do not run clfswm by default Remove configure tools. Just remove and not delete windows on unmap event Minor string check to prevent unknown alsa card errors Add support for numeric keypad with numlock on Change root structure on screen size change only when there is some heads changes Rename *root-size-change* hook to *root-size-change-hook* Do not update current size when there is only geometry change and not head structure change Do not redisplay children on unmap events when there is a fullscreend window Remove overlapping heads instead of equal heads Minor object check fix Remove hidden monitor heads at xinerama sizes construction time Reset last head sizes on CLFSWM reset Use a standard Makefile to load load.lisp and remove the installation part in load.lisp Use load.lisp instead of load.tmp.lisp Make install *.desktop files Don not use GNU specific command in Makefile Blank window mode added. Documentation update Add a comment in load.lisp to change the contrib directory in clfswm image Sylvain HENRY (1): *.*: Minor spelling fix. ----------------------------------------------------------------------- hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sun Dec 9 20:40:17 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 09 Dec 2012 12:40:17 -0800 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1212-1-g206ae17 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via 206ae17424bc8a5939c7850b78de0bd99548975e (commit) from 24e28dc07aa24a1f785c94c670c14500764549b1 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 206ae17424bc8a5939c7850b78de0bd99548975e Author: Philippe Brochard Date: Sun Dec 9 21:40:11 2012 +0100 Move or resize blank window with the mouse diff --git a/clfswm-session.desktop b/clfswm-session.desktop index cd86f22..34b1d93 100644 --- a/clfswm-session.desktop +++ b/clfswm-session.desktop @@ -1,5 +1,5 @@ [Desktop Entry] -Version=1209.2 +Version=1212 Encoding=UTF-8 Name=clfswm Name[en_US]=clfswm diff --git a/clfswm.desktop b/clfswm.desktop index 4f383c9..61237f2 100644 --- a/clfswm.desktop +++ b/clfswm.desktop @@ -1,5 +1,5 @@ [Desktop Entry] -Version=1209.2 +Version=1212 Encoding=UTF-8 Type=Application Name=clfswm diff --git a/contrib/blank-window-mode.lisp b/contrib/blank-window-mode.lisp index 4f6d77a..3797ebc 100644 --- a/contrib/blank-window-mode.lisp +++ b/contrib/blank-window-mode.lisp @@ -105,8 +105,9 @@ -(defun create-new-blank-window () +(defun create-new-blank-window (&rest args) "Create a new blank window" + (declare (ignore args)) (with-x-pointer (push (xlib:create-window :parent *root* :x (- x 50) :y y @@ -188,12 +189,41 @@ (with-current-blank-window (window) (setf (xlib:drawable-border-width window) (if *blank-window-show-current* 1 0)))) -(defun place-current-blank-window (window root-x root-y) - "Place the current blank window with the mouse" +(defun find-blank-window-under-mouse () + "Return the blank window under the mouse pointer if any" + (with-x-pointer + (dolist (win *blank-window-list*) + (when (in-window win x y) + (with-current-blank-window (window) + (setf (xlib:drawable-border-width window) 0)) + (setf *blank-window-list* (remove win *blank-window-list* :test #'xlib:window-equal)) + (push win *blank-window-list*) + (when *blank-window-show-current* + (with-current-blank-window (window) + (setf (xlib:drawable-border-width window) 1))) + (return-from find-blank-window-under-mouse win))))) + +(defun move-blank-window (window root-x root-y) + "Move blank window with the mouse" + (declare (ignore window)) + (let ((window (find-blank-window-under-mouse))) + (when window + (move-window window root-x root-y)))) + +(defun resize-blank-window (window root-x root-y) + "Resize blank window with the mouse" (declare (ignore window)) + (let ((window (find-blank-window-under-mouse))) + (when window + (resize-window window root-x root-y)))) + +(defun hide-unhide-current-blank-window () + "Hide or unhide the current blank window" (with-current-blank-window (window) - (setf (xlib:drawable-x window) root-x - (xlib:drawable-y window) root-y))) + (if (window-hidden-p window) + (unhide-window window) + (hide-window window)))) + (defun blank-black-window () "Open a black window. ie light of the screen" @@ -241,11 +271,14 @@ (define-blank-window-key ("m") 'blank-window-inc-width -1) (define-blank-window-key ("l") 'blank-window-inc-height -1) (define-blank-window-key ("Delete") 'remove-current-blank-window) + (define-blank-window-key ("t") 'hide-unhide-current-blank-window) (define-blank-window-key ("Control_R") 'banish-pointer) (define-blank-window-key ("b") 'banish-pointer) (define-blank-window-key ("x") 'blank-black-window) - (define-blank-window-mouse (1) 'place-current-blank-window)) + (define-blank-window-mouse (1) 'move-blank-window) + (define-blank-window-mouse (2) 'create-new-blank-window) + (define-blank-window-mouse (3) 'resize-blank-window)) ----------------------------------------------------------------------- Summary of changes: clfswm-session.desktop | 2 +- clfswm.desktop | 2 +- contrib/blank-window-mode.lisp | 45 ++++++++++++++++++++++++++++++++++----- 3 files changed, 41 insertions(+), 8 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Wed Dec 12 19:54:37 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 12 Dec 2012 11:54:37 -0800 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1212-2-gd296482 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via d29648229fbd5a0c1ea2c977bb8fe2c9a1d62b5a (commit) from 206ae17424bc8a5939c7850b78de0bd99548975e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit d29648229fbd5a0c1ea2c977bb8fe2c9a1d62b5a Author: Philippe Brochard Date: Wed Dec 12 20:54:26 2012 +0100 Remove L* keysym to use only F* (L1 become F11) diff --git a/src/bindings-second-mode.lisp b/src/bindings-second-mode.lisp index e1ca00a..c2e76b3 100644 --- a/src/bindings-second-mode.lisp +++ b/src/bindings-second-mode.lisp @@ -176,8 +176,8 @@ (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 ("L2" :shift) 'show-all-frames-info-key) - (define-second-key ("L2" :shift :mod-1) 'show-all-frames-info) + (define-second-key ("F12" :shift) 'show-all-frames-info-key) + (define-second-key ("F12" :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) diff --git a/src/bindings.lisp b/src/bindings.lisp index 4925bc6..106ae9a 100644 --- a/src/bindings.lisp +++ b/src/bindings.lisp @@ -68,9 +68,9 @@ (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 ("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 ("F12" :control) 'present-clfswm-terminal) + (define-main-key ("F12" :shift) 'show-all-frames-info-key) + (define-main-key ("F12" :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) diff --git a/src/keysyms.lisp b/src/keysyms.lisp index 7bef747..d5f7683 100644 --- a/src/keysyms.lisp +++ b/src/keysyms.lisp @@ -158,55 +158,30 @@ (cl-define-keysym #xffc6 "F9") (cl-define-keysym #xffc7 "F10") (cl-define-keysym #xffc8 "F11") -(cl-define-keysym #xffc8 "L1") (cl-define-keysym #xffc9 "F12") -(cl-define-keysym #xffc9 "L2") (cl-define-keysym #xffca "F13") -(cl-define-keysym #xffca "L3") (cl-define-keysym #xffcb "F14") -(cl-define-keysym #xffcb "L4") (cl-define-keysym #xffcc "F15") -(cl-define-keysym #xffcc "L5") (cl-define-keysym #xffcd "F16") -(cl-define-keysym #xffcd "L6") (cl-define-keysym #xffce "F17") -(cl-define-keysym #xffce "L7") (cl-define-keysym #xffcf "F18") -(cl-define-keysym #xffcf "L8") (cl-define-keysym #xffd0 "F19") -(cl-define-keysym #xffd0 "L9") (cl-define-keysym #xffd1 "F20") -(cl-define-keysym #xffd1 "L10") (cl-define-keysym #xffd2 "F21") -(cl-define-keysym #xffd2 "R1") (cl-define-keysym #xffd3 "F22") -(cl-define-keysym #xffd3 "R2") (cl-define-keysym #xffd4 "F23") -(cl-define-keysym #xffd4 "R3") (cl-define-keysym #xffd5 "F24") -(cl-define-keysym #xffd5 "R4") (cl-define-keysym #xffd6 "F25") -(cl-define-keysym #xffd6 "R5") (cl-define-keysym #xffd7 "F26") -(cl-define-keysym #xffd7 "R6") (cl-define-keysym #xffd8 "F27") -(cl-define-keysym #xffd8 "R7") (cl-define-keysym #xffd9 "F28") -(cl-define-keysym #xffd9 "R8") (cl-define-keysym #xffda "F29") -(cl-define-keysym #xffda "R9") (cl-define-keysym #xffdb "F30") -(cl-define-keysym #xffdb "R10") (cl-define-keysym #xffdc "F31") -(cl-define-keysym #xffdc "R11") (cl-define-keysym #xffdd "F32") -(cl-define-keysym #xffdd "R12") (cl-define-keysym #xffde "F33") -(cl-define-keysym #xffde "R13") (cl-define-keysym #xffdf "F34") -(cl-define-keysym #xffdf "R14") (cl-define-keysym #xffe0 "F35") -(cl-define-keysym #xffe0 "R15") (cl-define-keysym #xffe1 "Shift_L") ;Left shift (cl-define-keysym #xffe2 "Shift_R") ;Right shift (cl-define-keysym #xffe3 "Control_L") ;Left control ----------------------------------------------------------------------- Summary of changes: src/bindings-second-mode.lisp | 4 ++-- src/bindings.lisp | 6 +++--- src/keysyms.lisp | 25 ------------------------- 3 files changed, 5 insertions(+), 30 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Wed Dec 19 21:14:38 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 19 Dec 2012 13:14:38 -0800 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1212-3-gd414d0b Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via d414d0b4a92ed04b4197c552aa3d08df477712dc (commit) from d29648229fbd5a0c1ea2c977bb8fe2c9a1d62b5a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit d414d0b4a92ed04b4197c552aa3d08df477712dc Author: Philippe Brochard Date: Wed Dec 19 22:14:27 2012 +0100 Prevent current-child to be set to nil diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp index 0531d92..d529b3d 100644 --- a/src/clfswm-internal.lisp +++ b/src/clfswm-internal.lisp @@ -709,7 +709,7 @@ (return-from find-child-in-all-root root)))) (defun find-current-root () - (root-child (find-root (current-child)))) + (root-child (find-root current-child))) (defun exchange-root-geometry (root-1 root-2) (when (and root-1 root-2) @@ -746,9 +746,10 @@ current-child) (defun current-child-setter (value) - (awhen (find-root value) - (setf (root-current-child it) value)) - (setf current-child value)) + (when value + (awhen (find-root value) + (setf (root-current-child it) value)) + (setf current-child value))) (defmacro with-current-child ((new-child) &body body) "Temporarly change the current child" diff --git a/src/version.lisp b/src/version.lisp index 1866ea0..80d8d1d 100644 --- a/src/version.lisp +++ b/src/version.lisp @@ -33,4 +33,4 @@ (in-package :version) -(defparameter *version* #.(concatenate 'string "Version: 1209.2 built " (date-string))) +(defparameter *version* #.(concatenate 'string "Version: 13?? built " (date-string))) ----------------------------------------------------------------------- Summary of changes: src/clfswm-internal.lisp | 9 +++++---- src/version.lisp | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Thu Dec 20 21:05:34 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Thu, 20 Dec 2012 13:05:34 -0800 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1212-4-gcf7c2f3 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via cf7c2f362db112a6985841e89e58c4a148c94870 (commit) from d414d0b4a92ed04b4197c552aa3d08df477712dc (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit cf7c2f362db112a6985841e89e58c4a148c94870 Author: Philippe Brochard Date: Thu Dec 20 22:05:17 2012 +0100 Handle other children on configure request diff --git a/src/clfswm.lisp b/src/clfswm.lisp index c531d04..826f0fc 100644 --- a/src/clfswm.lisp +++ b/src/clfswm.lisp @@ -80,6 +80,7 @@ (when (or (child-equal-p window (current-child)) (is-in-current-child-p window)) (setf change (or change :moved)) + (show-all-children) (raise-window window) (focus-window window) (focus-all-children window (find-parent-frame window (find-current-root))))))))) ----------------------------------------------------------------------- Summary of changes: src/clfswm.lisp | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sat Dec 22 21:57:19 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 22 Dec 2012 13:57:19 -0800 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1212-5-g1ebf6e9 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via 1ebf6e9d43fc995dfc0392c5dd91d4c23335c717 (commit) from cf7c2f362db112a6985841e89e58c4a148c94870 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 1ebf6e9d43fc995dfc0392c5dd91d4c23335c717 Author: Philippe Brochard Date: Sat Dec 22 22:57:12 2012 +0100 Remove unnecessary raise-window and the not needed any more null-size-* functions. diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp index d529b3d..e0be9f6 100644 --- a/src/clfswm-internal.lisp +++ b/src/clfswm-internal.lisp @@ -490,15 +490,6 @@ -(defun null-size-window-in-frame (frame) - (let ((null-size-window-p nil)) - (with-all-windows (frame window) - (when (null-size-window-p window) - (setf null-size-window-p t))) - null-size-window-p)) - - - (defun create-frame-window () (let ((win (xlib:create-window :parent *root* :x 0 @@ -1079,8 +1070,7 @@ XINERAMA version 1.1 opcode: 150 (lower-window window (frame-window child))) (defmethod set-child-stack-order (window child) - (declare (ignore child)) - (raise-window window)) + (declare (ignore window child))) @@ -1195,10 +1185,10 @@ XINERAMA version 1.1 opcode: 150 (/= (x-drawable-width window) (child-rect-w rect)) (/= (x-drawable-height window) (child-rect-h rect))))) (when change - (setf (x-drawable-x window) (child-rect-x rect) - (x-drawable-y window) (child-rect-y rect) - (x-drawable-width window) (child-rect-w rect) - (x-drawable-height window) (child-rect-h rect))) + (setf (x-drawable-width window) (child-rect-w rect) + (x-drawable-height window) (child-rect-h rect) + (x-drawable-x window) (child-rect-x rect) + (x-drawable-y window) (child-rect-y rect))) change)))) diff --git a/src/clfswm.lisp b/src/clfswm.lisp index 826f0fc..730d5d8 100644 --- a/src/clfswm.lisp +++ b/src/clfswm.lisp @@ -76,14 +76,12 @@ (when (has-stackmode value-mask) (case stack-mode (:above - (unless (null-size-window-p window) - (when (or (child-equal-p window (current-child)) - (is-in-current-child-p window)) - (setf change (or change :moved)) - (show-all-children) - (raise-window window) - (focus-window window) - (focus-all-children window (find-parent-frame window (find-current-root))))))))) + (when (or (child-equal-p window (current-child)) + (is-in-current-child-p window)) + (setf change (or change :moved)) + (show-all-children) + (focus-window window) + (focus-all-children window (find-parent-frame window (find-current-root)))))))) (unless (eq change :resized) ;; To be ICCCM compliant, send a fake configuration notify event only when ;; the window has moved and not when it has been resized or the border width has changed. @@ -98,11 +96,10 @@ (unhide-window window) (process-new-window window) (map-window window) - (unless (null-size-window-p window) - (multiple-value-bind (never-managed raise) - (never-managed-window-p window) - (unless (and never-managed raise) - (show-all-children))))))) + (multiple-value-bind (never-managed raise) + (never-managed-window-p window) + (unless (and never-managed raise) + (show-all-children)))))) @@ -113,11 +110,7 @@ (setf (window-state window) +withdrawn-state+) (xlib:unmap-window window) (remove-child-in-all-frames window) - (unless (null-size-window-in-frame *root-frame*) - (show-all-children))))) - - - + (show-all-children)))) (define-handler main-mode :destroy-notify (send-event-p event-window window) @@ -125,10 +118,10 @@ (xlib:window-equal window event-window)) (when (find-child window *root-frame*) (delete-child-in-all-frames window) - (unless (null-size-window-in-frame *root-frame*) - (show-all-children)) + (show-all-children) (xlib:destroy-window window)))) + (define-handler main-mode :enter-notify (window root-x root-y) (unless (and (> root-x (- (xlib:screen-width *screen*) 3)) (> root-y (- (xlib:screen-height *screen*) 3))) @@ -156,11 +149,10 @@ (define-handler main-mode :configure-notify (window) (when (child-equal-p window *root*) - (unless (null-size-window-in-frame *root-frame*) - (unless (eql (place-frames-from-xinerama-infos) :update) - (finish-configuring-root)) - (show-all-children) - (call-hook *root-size-change-hook*)))) + (unless (eql (place-frames-from-xinerama-infos) :update) + (finish-configuring-root)) + (show-all-children) + (call-hook *root-size-change-hook*))) (defun error-handler (display error-key &rest key-vals &key asynchronous &allow-other-keys) diff --git a/src/xlib-util.lisp b/src/xlib-util.lisp index e72438d..dcb552f 100644 --- a/src/xlib-util.lisp +++ b/src/xlib-util.lisp @@ -349,17 +349,6 @@ they should be windows. So use this function to make a window out of them." (eql (window-state window) +iconic-state+)) -(defun null-size-window-p (window) - (let ((hints (xlib:wm-normal-hints window))) - (and hints - (not (or (xlib:wm-size-hints-width hints) - (xlib:wm-size-hints-height hints) - (xlib:wm-size-hints-win-gravity hints))) - (xlib:wm-size-hints-user-specified-position-p hints)))) - - - - (defun unhide-window (window) @@ -533,8 +522,14 @@ they should be windows. So use this function to make a window out of them." (unhide-window window)) (setf (xlib:window-priority window) :above))) + +(defun no-focus () + "don't focus any window but still read keyboard events." + (xlib:set-input-focus *display* *no-focus-window* :pointer-root)) + (defun focus-window (window) "Give the window focus." + (no-focus) (when (xlib:window-p window) (xlib:set-input-focus *display* window :parent))) @@ -543,10 +538,6 @@ they should be windows. So use this function to make a window out of them." (raise-window window) (focus-window window)) -(defun no-focus () - "don't focus any window but still read keyboard events." - (xlib:set-input-focus *display* *no-focus-window* :pointer-root)) - (defun lower-window (window sibling) "Map the window if needed and bring it just above sibling. Does not affect focus." ----------------------------------------------------------------------- Summary of changes: src/clfswm-internal.lisp | 20 +++++--------------- src/clfswm.lisp | 42 +++++++++++++++++------------------------- src/xlib-util.lisp | 21 ++++++--------------- 3 files changed, 28 insertions(+), 55 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Wed Dec 26 13:13:00 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 26 Dec 2012 05:13:00 -0800 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1212-6-g5b30659 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via 5b30659681be4b47f51d23638e8961d81fe43b76 (commit) from 1ebf6e9d43fc995dfc0392c5dd91d4c23335c717 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 5b30659681be4b47f51d23638e8961d81fe43b76 Author: Philippe Brochard Date: Wed Dec 26 14:12:54 2012 +0100 Use children position information from show-all-children instead of recalculating them each time diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp index e0be9f6..e543dc0 100644 --- a/src/clfswm-internal.lisp +++ b/src/clfswm-internal.lisp @@ -126,6 +126,7 @@ (x-drawable-x window) (x-drawable-y window) (x-drawable-width window) (x-drawable-height window)))) + (defgeneric in-child (child x y)) (defmethod in-child ((child frame) x y) @@ -1193,78 +1194,82 @@ XINERAMA version 1.1 opcode: 150 - -(defun show-all-children (&optional (from-root-frame nil)) - "Show all children and hide those not in a root frame" - (declare (ignore from-root-frame)) - (let ((geometry-change nil) - (displayed-child nil) - (hidden-child nil)) - (labels ((in-displayed-list (child) - (member child displayed-child :test (lambda (c rect) - (child-equal-p c (child-rect-child rect))))) - - (add-in-hidden-list (child) - (pushnew child hidden-child :test #'child-equal-p)) - - (set-geometry (child parent in-current-root child-current-root-p) - (if (or in-current-root child-current-root-p) +(let ((displayed-child nil)) + (defun get-displayed-child () + displayed-child) + + (defun show-all-children (&optional (from-root-frame nil)) + "Show all children and hide those not in a root frame" + (declare (ignore from-root-frame)) + (let ((geometry-change nil) + (hidden-child nil)) + (labels ((in-displayed-list (child) + (member child displayed-child :test (lambda (c rect) + (child-equal-p c (child-rect-child rect))))) + + (add-in-hidden-list (child) + (pushnew child hidden-child :test #'child-equal-p)) + + (set-geometry (child parent in-current-root child-current-root-p) + (if (or in-current-root child-current-root-p) + (when (frame-p child) + (adapt-frame-to-parent child (if child-current-root-p nil parent))) + (add-in-hidden-list child))) + + (recurse-on-frame-child (child in-current-root child-current-root-p selected-p) + (let ((selected-child (frame-selected-child child))) + (dolist (sub-child (frame-child child)) + (rec sub-child child + (and selected-p (child-equal-p sub-child selected-child)) + (or in-current-root child-current-root-p))))) + + (hidden-child-p (rect) + (dolist (r displayed-child) + (when (and (rect-hidden-p r rect) + (or (not (xlib:window-p (child-rect-child r))) + (eq (window-type (child-rect-child r)) :normal))) + (return t)))) + + (select-and-display (child parent selected-p) + (multiple-value-bind (nx ny nw nh) + (get-parent-layout child parent) + (let ((rect (make-child-rect :child child :parent parent + :selected-p selected-p + :x nx :y ny :w nw :h nh))) + (if (and *show-hide-policy* (hidden-child-p rect)) + (add-in-hidden-list child) + (push rect displayed-child))))) + + (display-displayed-child () + (let ((previous nil)) + (setf displayed-child (nreverse displayed-child)) + (dolist (rect displayed-child) + (when (adapt-child-to-rect rect) + (setf geometry-change t)) + (select-child (child-rect-child rect) (child-rect-selected-p rect)) + (show-child (child-rect-child rect) + (child-rect-parent rect) + previous) + (setf previous (child-rect-child rect))))) + + (rec (child parent selected-p in-current-root) + (let ((child-current-root-p (child-root-p child))) + (unless (in-displayed-list child) + (set-geometry child parent in-current-root child-current-root-p)) (when (frame-p child) - (adapt-frame-to-parent child (if child-current-root-p nil parent))) - (add-in-hidden-list child))) - - (recurse-on-frame-child (child in-current-root child-current-root-p selected-p) - (let ((selected-child (frame-selected-child child))) - (dolist (sub-child (frame-child child)) - (rec sub-child child - (and selected-p (child-equal-p sub-child selected-child)) - (or in-current-root child-current-root-p))))) - - (hidden-child-p (rect) - (dolist (r displayed-child) - (when (and (rect-hidden-p r rect) - (or (not (xlib:window-p (child-rect-child r))) - (eq (window-type (child-rect-child r)) :normal))) - (return t)))) - - (select-and-display (child parent selected-p) - (multiple-value-bind (nx ny nw nh) - (get-parent-layout child parent) - (let ((rect (make-child-rect :child child :parent parent - :selected-p selected-p - :x nx :y ny :w nw :h nh))) - (if (and *show-hide-policy* (hidden-child-p rect)) - (add-in-hidden-list child) - (push rect displayed-child))))) - - (display-displayed-child () - (let ((previous nil)) - (dolist (rect (nreverse displayed-child)) - (when (adapt-child-to-rect rect) - (setf geometry-change t)) - (select-child (child-rect-child rect) (child-rect-selected-p rect)) - (show-child (child-rect-child rect) - (child-rect-parent rect) - previous) - (setf previous (child-rect-child rect))))) - - (rec (child parent selected-p in-current-root) - (let ((child-current-root-p (child-root-p child))) - (unless (in-displayed-list child) - (set-geometry child parent in-current-root child-current-root-p)) - (when (frame-p child) - (recurse-on-frame-child child in-current-root child-current-root-p selected-p)) - (when (and (or in-current-root child-current-root-p) - (not (in-displayed-list child))) - (select-and-display child parent selected-p))))) - - (rec *root-frame* nil t (child-root-p *root-frame*)) - (display-displayed-child) - (dolist (child hidden-child) - (hide-child child)) - (set-focus-to-current-child) - (xlib:display-finish-output *display*) - geometry-change))) + (recurse-on-frame-child child in-current-root child-current-root-p selected-p)) + (when (and (or in-current-root child-current-root-p) + (not (in-displayed-list child))) + (select-and-display child parent selected-p))))) + + (setf displayed-child nil) + (rec *root-frame* nil t (child-root-p *root-frame*)) + (display-displayed-child) + (dolist (child hidden-child) + (hide-child child)) + (set-focus-to-current-child) + (xlib:display-finish-output *display*) + geometry-change)))) diff --git a/src/clfswm-util.lisp b/src/clfswm-util.lisp index 73834b8..8bc8b62 100644 --- a/src/clfswm-util.lisp +++ b/src/clfswm-util.lisp @@ -354,22 +354,6 @@ Write (defparameter *contrib-dir* \"/usr/local/lib/clfswm/\") in ~A.~%" -(defun find-window-under-mouse (x y) - "Return the child window under the mouse" - (let ((win *root*)) - (with-all-root-child (root) - (with-all-windows-frames-and-parent (root child parent) - (when (and (or (managed-window-p child parent) (child-equal-p parent (current-child))) - (not (window-hidden-p child)) - (in-window child x y)) - (setf win child)) - (when (in-frame child x y) - (setf win (frame-window child))))) - win)) - - - - (defun find-child-under-mouse-in-never-managed-windows (x y) "Return the child under mouse from never managed windows" (let ((ret nil)) @@ -381,30 +365,20 @@ Write (defparameter *contrib-dir* \"/usr/local/lib/clfswm/\") in ~A.~%" (setf ret win))))) ret)) +(defun find-child-under-mouse-in-child-tree (x y) + (dolist (child-rect (get-displayed-child)) + (when (in-rect x y (child-rect-x child-rect) (child-rect-y child-rect) + (child-rect-w child-rect) (child-rect-h child-rect)) + (return-from find-child-under-mouse-in-child-tree (child-rect-child child-rect))))) -(defun find-child-under-mouse-in-child-tree (x y &optional first-foundp) - "Return the child under the mouse" - (let ((ret nil)) - (with-all-root-child (root) - (with-all-windows-frames (root child) - (when (and (not (window-hidden-p child)) - (in-window child x y)) - (if first-foundp - (return-from find-child-under-mouse-in-child-tree child) - (setf ret child))) - (when (in-frame child x y) - (if first-foundp - (return-from find-child-under-mouse-in-child-tree child) - (setf ret child))))) - ret)) - -(defun find-child-under-mouse (x y &optional first-foundp also-never-managed) +(defun find-child-under-mouse (x y &optional also-never-managed) "Return the child under the mouse" (or (and also-never-managed (find-child-under-mouse-in-never-managed-windows x y)) - (find-child-under-mouse-in-child-tree x y first-foundp))) + (find-child-under-mouse-in-child-tree x y))) + @@ -593,32 +567,32 @@ Write (defparameter *contrib-dir* \"/usr/local/lib/clfswm/\") in ~A.~%" "Eval a lisp form from the query input" (let ((form (query-string (format nil "Eval Lisp <~A> " (package-name *package*)) "" all-symbols)) - (result nil)) - (when (and form (not (equal form ""))) - (let ((printed-result - (with-output-to-string (*standard-output*) - (setf result (handler-case - (loop for i in (multiple-value-list - (eval (read-from-string form))) - collect (format nil "~S" i)) - (error (condition) - (format nil "~A" condition))))))) - (let ((ret (info-mode (expand-newline (append (ensure-list (format nil "> ~A" form)) - (ensure-list printed-result) - (ensure-list result))) - :width (- (xlib:screen-width *screen*) 2)))) - (when (or (search "defparameter" form :test #'string-equal) - (search "defvar" form :test #'string-equal)) - (let ((elem (split-string form))) - (pushnew (string-downcase (if (string= (first elem) "(") (third elem) (second elem))) - all-symbols :test #'string=))) - (when (search "in-package" form :test #'string-equal) - (let ((*notify-window-placement* 'middle-middle-root-placement)) - (open-notify-window '("Collecting all symbols for Lisp REPL completion.")) - (setf all-symbols (collect-all-symbols)) - (close-notify-window))) - (when ret - (eval-from-query-string)))))))) + (result nil)) + (when (and form (not (equal form ""))) + (let ((printed-result + (with-output-to-string (*standard-output*) + (setf result (handler-case + (loop for i in (multiple-value-list + (eval (read-from-string form))) + collect (format nil "~S" i)) + (error (condition) + (format nil "~A" condition))))))) + (let ((ret (info-mode (expand-newline (append (ensure-list (format nil "> ~A" form)) + (ensure-list printed-result) + (ensure-list result))) + :width (- (xlib:screen-width *screen*) 2)))) + (when (or (search "defparameter" form :test #'string-equal) + (search "defvar" form :test #'string-equal)) + (let ((elem (split-string form))) + (pushnew (string-downcase (if (string= (first elem) "(") (third elem) (second elem))) + all-symbols :test #'string=))) + (when (search "in-package" form :test #'string-equal) + (let ((*notify-window-placement* 'middle-middle-root-placement)) + (open-notify-window '("Collecting all symbols for Lisp REPL completion.")) + (setf all-symbols (collect-all-symbols)) + (close-notify-window))) + (when ret + (eval-from-query-string)))))))) @@ -891,7 +865,7 @@ For window: set current child to window or its parent according to window-parent (funcall (cond ((eql mouse-fn #'move-frame) #'move-window) ((eql mouse-fn #'resize-frame) #'resize-window)) child root-x root-y))) - (let ((child (find-child-under-mouse root-x root-y nil t))) + (let ((child (find-child-under-mouse root-x root-y t))) (multiple-value-bind (never-managed raise-fun) (never-managed-window-p child) (if (and (xlib:window-p child) never-managed raise-fun) @@ -1214,11 +1188,11 @@ For window: set current child to window or its parent according to window-parent (with-current-window (let ((parent (find-parent-frame window))) (setf (x-drawable-x window) (truncate (+ (frame-rx parent) - (/ (- (frame-rw parent) - (x-drawable-width window)) 2))) + (/ (- (frame-rw parent) + (x-drawable-width window)) 2))) (x-drawable-y window) (truncate (+ (frame-ry parent) - (/ (- (frame-rh parent) - (x-drawable-height window)) 2)))) + (/ (- (frame-rh parent) + (x-drawable-height window)) 2)))) (xlib:display-finish-output *display*))) (leave-second-mode)) @@ -1238,7 +1212,7 @@ For window: set current child to window or its parent according to window-parent (defun set-current-window-transparency () "Set the current window transparency" (with-current-window - (ask-child-transparency "window" window)) + (ask-child-transparency "window" window)) (leave-second-mode)) @@ -1421,7 +1395,7 @@ For window: set current child to window or its parent according to window-parent (defun current-frame-set-sloppy-select-policy () "Set a sloppy select policy for the current frame." - (set-focus-policy-generic :sloppy-select)) + (set-focus-policy-generic :sloppy-select)) @@ -1445,7 +1419,7 @@ For window: set current child to window or its parent according to window-parent (defun all-frames-set-sloppy-select-policy () "Set a sloppy select policy for all frames." - (set-focus-policy-generic-for-all :sloppy-select)) + (set-focus-policy-generic-for-all :sloppy-select)) @@ -1518,23 +1492,23 @@ For window: set current child to window or its parent according to window-parent (loop for line = (ignore-errors (read-line stream nil nil)) while line do - (cond ((first-position "Name=" line) (setf name (um-extract-value line))) - ((first-position "Exec=" line) (setf exec (um-extract-value line))) - ((first-position "Categories=" line) (setf categories (um-extract-value line))) - ((first-position "Comment=" line) (setf comment (um-extract-value line)))) - (when (and name exec categories) - (let* ((sub-menu (um-find-submenu menu (split-string categories #\;))) - (fun-name (intern name :clfswm))) - (setf (symbol-function fun-name) (let ((do-exec exec)) - (lambda () - (do-shell do-exec) - (leave-second-mode))) - (documentation fun-name 'function) (format nil "~A~A" name (if comment - (format nil " - ~A" comment) - ""))) - (dolist (m sub-menu) - (add-menu-key (menu-name m) :next fun-name m))) - (setf name nil exec nil categories nil comment nil))))))) + (cond ((first-position "Name=" line) (setf name (um-extract-value line))) + ((first-position "Exec=" line) (setf exec (um-extract-value line))) + ((first-position "Categories=" line) (setf categories (um-extract-value line))) + ((first-position "Comment=" line) (setf comment (um-extract-value line)))) + (when (and name exec categories) + (let* ((sub-menu (um-find-submenu menu (split-string categories #\;))) + (fun-name (intern name :clfswm))) + (setf (symbol-function fun-name) (let ((do-exec exec)) + (lambda () + (do-shell do-exec) + (leave-second-mode))) + (documentation fun-name 'function) (format nil "~A~A" name (if comment + (format nil " - ~A" comment) + ""))) + (dolist (m sub-menu) + (add-menu-key (menu-name m) :next fun-name m))) + (setf name nil exec nil categories nil comment nil))))))) (defun update-menus (&optional (menu (make-menu :name 'main :doc "Main menu"))) @@ -1862,12 +1836,12 @@ For window: set current child to window or its parent according to window-parent (defun key-inc-transparency () "Increment the current window transparency" (with-current-window - (incf (child-transparency window) 0.1))) + (incf (child-transparency window) 0.1))) (defun key-dec-transparency () "Decrement the current window transparency" (with-current-window - (decf (child-transparency window) 0.1))) + (decf (child-transparency window) 0.1))) diff --git a/src/clfswm.lisp b/src/clfswm.lisp index 730d5d8..62cdf76 100644 --- a/src/clfswm.lisp +++ b/src/clfswm.lisp @@ -79,9 +79,9 @@ (when (or (child-equal-p window (current-child)) (is-in-current-child-p window)) (setf change (or change :moved)) - (show-all-children) (focus-window window) - (focus-all-children window (find-parent-frame window (find-current-root)))))))) + (focus-all-children window (find-parent-frame window (find-current-root))) + (show-all-children)))))) (unless (eq change :resized) ;; To be ICCCM compliant, send a fake configuration notify event only when ;; the window has moved and not when it has been resized or the border width has changed. ----------------------------------------------------------------------- Summary of changes: src/clfswm-internal.lisp | 147 +++++++++++++++++++++++---------------------- src/clfswm-util.lisp | 148 +++++++++++++++++++--------------------------- src/clfswm.lisp | 4 +- 3 files changed, 139 insertions(+), 160 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager