From pbrochard at common-lisp.net Tue Oct 2 21:03:30 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 02 Oct 2012 14:03:30 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-120-g58adf41 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 58adf4110a8c283110cb0a2572149ffbbe326b7c (commit) from 809cf340f1a50c08d191d5ced21a5023c298b52f (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: ChangeLog | 8 +++++++ contrib/clfswm | 13 ++++++++++- src/clfswm-internal.lisp | 18 +++++++++------- src/clfswm.lisp | 48 +++++++++++++++++++++++---------------------- src/xlib-util.lisp | 33 +++++++++++++++++++------------ 5 files changed, 74 insertions(+), 46 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Tue Oct 2 21:03:30 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 02 Oct 2012 14:03:30 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch test updated. R-1106-120-g58adf41 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, test has been updated via 58adf4110a8c283110cb0a2572149ffbbe326b7c (commit) via 809cf340f1a50c08d191d5ced21a5023c298b52f (commit) via 2a97c668efec1376f35453b3a560117b1ce7435b (commit) from 81a310cac49b418d7671c424713449e67cd870a3 (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: ChangeLog | 13 ++++++++++ contrib/clfswm | 13 ++++++++- src/clfswm-internal.lisp | 40 ++++++++++++++++++------------ src/clfswm.lisp | 61 +++++++++++++++++++++++++--------------------- src/xlib-util.lisp | 33 +++++++++++++++---------- 5 files changed, 101 insertions(+), 59 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Tue Oct 2 22:37:37 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 02 Oct 2012 15:37:37 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-121-ge7cb500 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 e7cb5009aa9c79212e5ee2b991a66e8f2d333a7b (commit) from 58adf4110a8c283110cb0a2572149ffbbe326b7c (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: src/clfswm.lisp | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Tue Oct 2 22:37:37 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 02 Oct 2012 15:37:37 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch test updated. R-1106-121-ge7cb500 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, test has been updated via e7cb5009aa9c79212e5ee2b991a66e8f2d333a7b (commit) from 58adf4110a8c283110cb0a2572149ffbbe326b7c (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: src/clfswm.lisp | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Wed Oct 3 08:36:43 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 03 Oct 2012 01:36:43 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-122-g8bbad49 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 8bbad49db35ff1c4708bc3ef5bc7d38be6a169e1 (commit) from e7cb5009aa9c79212e5ee2b991a66e8f2d333a7b (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 +++++ src/clfswm.lisp | 3 ++- src/xlib-util.lisp | 3 +-- 3 files changed, 8 insertions(+), 3 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Wed Oct 3 08:36:43 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 03 Oct 2012 01:36:43 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch test updated. R-1106-122-g8bbad49 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, test has been updated via 8bbad49db35ff1c4708bc3ef5bc7d38be6a169e1 (commit) from e7cb5009aa9c79212e5ee2b991a66e8f2d333a7b (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 +++++ src/clfswm.lisp | 3 ++- src/xlib-util.lisp | 3 +-- 3 files changed, 8 insertions(+), 3 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Wed Oct 3 14:25:52 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 03 Oct 2012 07:25:52 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-123-g54950ff 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 54950ffc1d508b968958b48aa3d93736e34f82cd (commit) from 8bbad49db35ff1c4708bc3ef5bc7d38be6a169e1 (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: ChangeLog | 3 +++ TODO | 1 - src/clfswm-keys.lisp | 29 +++++++++++++++++++++++++++++ src/clfswm-menu.lisp | 4 +++- src/config.lisp | 2 ++ src/tools.lisp | 9 +++++++++ 6 files changed, 46 insertions(+), 2 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Wed Oct 3 14:25:52 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 03 Oct 2012 07:25:52 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch test updated. R-1106-123-g54950ff 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, test has been updated via 54950ffc1d508b968958b48aa3d93736e34f82cd (commit) from 8bbad49db35ff1c4708bc3ef5bc7d38be6a169e1 (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: ChangeLog | 3 +++ TODO | 1 - src/clfswm-keys.lisp | 29 +++++++++++++++++++++++++++++ src/clfswm-menu.lisp | 4 +++- src/config.lisp | 2 ++ src/tools.lisp | 9 +++++++++ 6 files changed, 46 insertions(+), 2 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Thu Oct 4 07:44:08 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Thu, 04 Oct 2012 00:44:08 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-124-g9da793e 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 9da793e806fb73c7abf62c8c9043e07d80531ab0 (commit) from 54950ffc1d508b968958b48aa3d93736e34f82cd (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 9da793e806fb73c7abf62c8c9043e07d80531ab0 Author: Philippe Brochard Date: Thu Oct 4 09:44:02 2012 +0200 src/clfswm-menu.lisp (open-menu): Show key bindings also for menu entry. diff --git a/ChangeLog b/ChangeLog index e280b29..f0a05ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-10-04 Philippe Brochard + + * src/clfswm-menu.lisp (open-menu): Show key bindings also for + menu entry. + 2012-10-03 Philippe Brochard * src/clfswm-menu.lisp (open-menu): Show key bindings diff --git a/src/bindings-second-mode.lisp b/src/bindings-second-mode.lisp index 863164a..e1ca00a 100644 --- a/src/bindings-second-mode.lisp +++ b/src/bindings-second-mode.lisp @@ -51,8 +51,8 @@ "Open the action by number menu" (open-menu (find-menu 'action-by-number-menu))) -(defun open-frame-pack-menu () - "Open the frame pack/fill/resize menu" +(defun open-frame-movement-menu () + "Open the frame movement menu (pack/fill/resize)" (open-menu (find-menu 'frame-movement-menu))) (defun open-root-menu () @@ -96,7 +96,7 @@ (define-second-key ("w") 'open-window-menu) (define-second-key ("n") 'open-action-by-name-menu) (define-second-key ("u") 'open-action-by-number-menu) - (define-second-key ("p") 'open-frame-pack-menu) + (define-second-key ("p") 'open-frame-movement-menu) (define-second-key ("r") 'open-root-menu) (define-second-key ("c") 'open-child-menu) (define-second-key ("x") 'update-layout-managed-children-position) diff --git a/src/clfswm-menu.lisp b/src/clfswm-menu.lisp index 6ac0b2d..e4ae010 100644 --- a/src/clfswm-menu.lisp +++ b/src/clfswm-menu.lisp @@ -148,18 +148,27 @@ (when menu (let ((action nil) (old-info-keys (copy-hash-table *info-keys*))) - (labels ((populate-menu () + (labels ((menu-entry (item value) + (list (list (format nil "~A" (menu-item-key item)) *menu-color-menu-key*) + (list (format nil ": < ~A >" (menu-doc value)) *menu-color-submenu*) + (list (format nil " ~A" (find-associated-key-bindings + (create-symbol 'open- (menu-name value)))) + *menu-key-bound-color*))) + (menu-comment (item) + (list (list (format nil "~A" (menu-item-value item)) *menu-color-comment*))) + (menu-line (item value) + (list (list (format nil "~A" (menu-item-key item)) *menu-color-key*) + (format nil ": ~A" (documentation value 'function)) + (list (format nil " ~A" (find-associated-key-bindings value)) + *menu-key-bound-color*))) + (populate-menu () (let ((info-list nil)) (dolist (item (menu-item menu)) (let ((value (menu-item-value item))) (push (typecase value - (menu (list (list (format nil "~A" (menu-item-key item)) *menu-color-menu-key*) - (list (format nil ": < ~A >" (menu-doc value)) *menu-color-submenu*))) - (string (list (list (format nil "~A" (menu-item-value item)) *menu-color-comment*))) - (t (list (list (format nil "~A" (menu-item-key item)) *menu-color-key*) - (format nil ": ~A" (documentation value 'function)) - (list (format nil " ~A" (find-associated-key-bindings value)) - *menu-key-bound-color*)))) + (menu (menu-entry item value)) + (string (menu-comment item)) + (t (menu-line item value))) info-list) (when (menu-item-key item) (define-info-key-fun (list (menu-item-key item)) diff --git a/src/clfswm-util.lisp b/src/clfswm-util.lisp index d10659d..6a298f3 100644 --- a/src/clfswm-util.lisp +++ b/src/clfswm-util.lisp @@ -976,11 +976,13 @@ For window: set current child to window or its parent according to window-parent ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmacro with-movement (&body body) `(when (frame-p (current-child)) - , at body - (show-all-children) - (display-all-frame-info) - (draw-second-mode-window) - (open-menu (find-menu 'frame-movement-menu)))) + (unwind-protect + (progn + , at body) + (show-all-children) + (display-all-frame-info) + (draw-second-mode-window) + (open-menu (find-menu 'frame-movement-menu))))) ;;; Pack diff --git a/src/menu-def.lisp b/src/menu-def.lisp index d2d6693..2358cd9 100644 --- a/src/menu-def.lisp +++ b/src/menu-def.lisp @@ -121,31 +121,31 @@ (add-sub-menu 'frame-movement-menu "f" 'frame-fill-menu "Frame fill menu") (add-sub-menu 'frame-movement-menu "r" 'frame-resize-menu "Frame resize menu") (add-menu-key 'frame-movement-menu "c" 'center-current-frame) -(add-menu-key 'frame-movement-menu "Right" 'with-movement-select-next-brother) -(add-menu-key 'frame-movement-menu "Left" 'with-movement-select-previous-brother) -(add-menu-key 'frame-movement-menu "Up" 'with-movement-select-next-level) -(add-menu-key 'frame-movement-menu "Down" 'with-movement-select-previous-level) -(add-menu-key 'frame-movement-menu "Tab" 'with-movement-select-next-child) +(add-menu-key 'frame-movement-menu "R" 'with-movement-select-next-brother) +(add-menu-key 'frame-movement-menu "L" 'with-movement-select-previous-brother) +(add-menu-key 'frame-movement-menu "U" 'with-movement-select-next-level) +(add-menu-key 'frame-movement-menu "D" 'with-movement-select-previous-level) +(add-menu-key 'frame-movement-menu "T" 'with-movement-select-next-child) -(add-menu-key 'frame-pack-menu "Up" 'current-frame-pack-up) -(add-menu-key 'frame-pack-menu "Down" 'current-frame-pack-down) -(add-menu-key 'frame-pack-menu "Left" 'current-frame-pack-left) -(add-menu-key 'frame-pack-menu "Right" 'current-frame-pack-right) +(add-menu-key 'frame-pack-menu "u" 'current-frame-pack-up) +(add-menu-key 'frame-pack-menu "d" 'current-frame-pack-down) +(add-menu-key 'frame-pack-menu "l" 'current-frame-pack-left) +(add-menu-key 'frame-pack-menu "r" 'current-frame-pack-right) -(add-menu-key 'frame-fill-menu "Up" 'current-frame-fill-up) -(add-menu-key 'frame-fill-menu "Down" 'current-frame-fill-down) -(add-menu-key 'frame-fill-menu "Left" 'current-frame-fill-left) -(add-menu-key 'frame-fill-menu "Right" 'current-frame-fill-right) +(add-menu-key 'frame-fill-menu "u" 'current-frame-fill-up) +(add-menu-key 'frame-fill-menu "d" 'current-frame-fill-down) +(add-menu-key 'frame-fill-menu "l" 'current-frame-fill-left) +(add-menu-key 'frame-fill-menu "r" 'current-frame-fill-right) (add-menu-key 'frame-fill-menu "a" 'current-frame-fill-all-dir) (add-menu-key 'frame-fill-menu "v" 'current-frame-fill-vertical) (add-menu-key 'frame-fill-menu "h" 'current-frame-fill-horizontal) -(add-menu-key 'frame-resize-menu "Up" 'current-frame-resize-up) -(add-menu-key 'frame-resize-menu "Down" 'current-frame-resize-down) -(add-menu-key 'frame-resize-menu "Left" 'current-frame-resize-left) -(add-menu-key 'frame-resize-menu "Right" 'current-frame-resize-right) +(add-menu-key 'frame-resize-menu "u" 'current-frame-resize-up) +(add-menu-key 'frame-resize-menu "d" 'current-frame-resize-down) +(add-menu-key 'frame-resize-menu "l" 'current-frame-resize-left) +(add-menu-key 'frame-resize-menu "r" 'current-frame-resize-right) (add-menu-key 'frame-resize-menu "a" 'current-frame-resize-all-dir) (add-menu-key 'frame-resize-menu "m" 'current-frame-resize-all-dir-minimal) ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 +++++ src/bindings-second-mode.lisp | 6 +++--- src/clfswm-menu.lisp | 25 +++++++++++++++++-------- src/clfswm-util.lisp | 12 +++++++----- src/menu-def.lisp | 34 +++++++++++++++++----------------- 5 files changed, 49 insertions(+), 33 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Thu Oct 4 07:44:32 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Thu, 04 Oct 2012 00:44:32 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch test updated. R-1106-124-g9da793e 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, test has been updated via 9da793e806fb73c7abf62c8c9043e07d80531ab0 (commit) from 54950ffc1d508b968958b48aa3d93736e34f82cd (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 +++++ src/bindings-second-mode.lisp | 6 +++--- src/clfswm-menu.lisp | 25 +++++++++++++++++-------- src/clfswm-util.lisp | 12 +++++++----- src/menu-def.lisp | 34 +++++++++++++++++----------------- 5 files changed, 49 insertions(+), 33 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Thu Oct 4 19:20:25 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Thu, 04 Oct 2012 12:20:25 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-125-g225d141 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 225d141e77482a1f688116968360fbae7a22d6ee (commit) from 9da793e806fb73c7abf62c8c9043e07d80531ab0 (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: ChangeLog | 4 ++++ TODO | 1 - src/clfswm-internal.lisp | 17 +++++++++++++++-- src/clfswm.lisp | 5 +++++ 4 files changed, 24 insertions(+), 3 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Thu Oct 4 19:20:25 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Thu, 04 Oct 2012 12:20:25 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch test updated. R-1106-125-g225d141 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, test has been updated via 225d141e77482a1f688116968360fbae7a22d6ee (commit) from 9da793e806fb73c7abf62c8c9043e07d80531ab0 (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: ChangeLog | 4 ++++ TODO | 1 - src/clfswm-internal.lisp | 17 +++++++++++++++-- src/clfswm.lisp | 5 +++++ 4 files changed, 24 insertions(+), 3 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Thu Oct 4 19:48:10 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Thu, 04 Oct 2012 12:48:10 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-126-gb3f0789 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 b3f0789a661dada2f246e676159ea1183ccb9600 (commit) from 225d141e77482a1f688116968360fbae7a22d6ee (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: ChangeLog | 4 ++++ contrib/wallpaper.lisp | 2 +- src/clfswm.lisp | 3 ++- src/package.lisp | 3 +++ 4 files changed, 10 insertions(+), 2 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Thu Oct 4 19:48:10 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Thu, 04 Oct 2012 12:48:10 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch test updated. R-1106-126-gb3f0789 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, test has been updated via b3f0789a661dada2f246e676159ea1183ccb9600 (commit) from 225d141e77482a1f688116968360fbae7a22d6ee (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: ChangeLog | 4 ++++ contrib/wallpaper.lisp | 2 +- src/clfswm.lisp | 3 ++- src/package.lisp | 3 +++ 4 files changed, 10 insertions(+), 2 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Thu Oct 4 20:00:40 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Thu, 04 Oct 2012 13:00:40 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-127-g5b36488 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 5b364885aa6b15634919297e1de1ba975f52be76 (commit) from b3f0789a661dada2f246e676159ea1183ccb9600 (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 5b364885aa6b15634919297e1de1ba975f52be76 Author: Philippe Brochard Date: Thu Oct 4 22:00:35 2012 +0200 contrib/wallpaper.lisp (generate-wallpaper): Force waiting the end of convert. diff --git a/ChangeLog b/ChangeLog index 1fb49b2..b95f049 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2012-10-04 Philippe Brochard + * contrib/wallpaper.lisp (generate-wallpaper): Force waiting the + end of convert. + * 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. diff --git a/contrib/wallpaper.lisp b/contrib/wallpaper.lisp index 42d5703..547c3af 100644 --- a/contrib/wallpaper.lisp +++ b/contrib/wallpaper.lisp @@ -67,7 +67,10 @@ (setf ind (if (< ind len) (1+ ind) 0)))) (format str "~A" filename)))) (format t "~A~%" command) - (do-shell command nil t))) + (let ((output (do-shell command nil t))) + (loop for line = (read-line output nil nil) + while line + do (format t "~A~%" line))))) (defun create-wallpaper (filename &rest images) (format t "Creating wallpaper ~A from ~{~A ~}~%" filename images) diff --git a/src/xlib-util.lisp b/src/xlib-util.lisp index da6e823..e72438d 100644 --- a/src/xlib-util.lisp +++ b/src/xlib-util.lisp @@ -291,6 +291,7 @@ they should be windows. So use this function to make a window out of them." #+:event-debug (pushnew (list *current-event-mode* event-key) *unhandled-events* :test #'equal)) (xlib:display-finish-output *display*)) ((or xlib:window-error xlib:drawable-error) (c) + #-xlib-debug (declare (ignore c)) #+xlib-debug (format t "Ignore Xlib synchronous error: ~a~%" c))) t)) ----------------------------------------------------------------------- Summary of changes: ChangeLog | 3 +++ contrib/wallpaper.lisp | 5 ++++- src/xlib-util.lisp | 1 + 3 files changed, 8 insertions(+), 1 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Thu Oct 4 20:01:06 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Thu, 04 Oct 2012 13:01:06 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch test updated. R-1106-127-g5b36488 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, test has been updated via 5b364885aa6b15634919297e1de1ba975f52be76 (commit) from b3f0789a661dada2f246e676159ea1183ccb9600 (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: ChangeLog | 3 +++ contrib/wallpaper.lisp | 5 ++++- src/xlib-util.lisp | 1 + 3 files changed, 8 insertions(+), 1 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Thu Oct 4 20:22:12 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Thu, 04 Oct 2012 13:22:12 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-128-gfd3b524 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 fd3b524b820d04eeda3866bd59453f5444afd4ba (commit) from 5b364885aa6b15634919297e1de1ba975f52be76 (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: ChangeLog | 1 + contrib/wallpaper.lisp | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Thu Oct 4 20:22:12 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Thu, 04 Oct 2012 13:22:12 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch test updated. R-1106-128-gfd3b524 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, test has been updated via fd3b524b820d04eeda3866bd59453f5444afd4ba (commit) from 5b364885aa6b15634919297e1de1ba975f52be76 (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: ChangeLog | 1 + contrib/wallpaper.lisp | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Fri Oct 5 19:15:38 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 05 Oct 2012 12:15:38 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-129-gd469c53 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 d469c53c7fbde75f99300b8953e1719e0a59603b (commit) from fd3b524b820d04eeda3866bd59453f5444afd4ba (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: clfswm-session.desktop | 12 ++++++++++++ clfswm.desktop | 7 +++++++ configure | 2 +- contrib/clfswm | 11 +++++++++++ 4 files changed, 31 insertions(+), 1 deletions(-) create mode 100644 clfswm-session.desktop create mode 100644 clfswm.desktop hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Fri Oct 5 19:15:39 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 05 Oct 2012 12:15:39 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch test updated. R-1106-129-gd469c53 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, test has been updated via d469c53c7fbde75f99300b8953e1719e0a59603b (commit) from fd3b524b820d04eeda3866bd59453f5444afd4ba (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: clfswm-session.desktop | 12 ++++++++++++ clfswm.desktop | 7 +++++++ configure | 2 +- contrib/clfswm | 11 +++++++++++ 4 files changed, 31 insertions(+), 1 deletions(-) create mode 100644 clfswm-session.desktop create mode 100644 clfswm.desktop hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sun Oct 7 20:58:57 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 07 Oct 2012 13:58:57 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-130-gc663050 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 c6630509c047b34c4237c367757dd9608d7b6560 (commit) from d469c53c7fbde75f99300b8953e1719e0a59603b (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 c6630509c047b34c4237c367757dd9608d7b6560 Author: Philippe Brochard Date: Sun Oct 7 22:58:49 2012 +0200 src/clfswm-internal.lisp (place-frames-from-xinerama-infos): handle better no xinerama support case. diff --git a/ChangeLog b/ChangeLog index 026e3a9..927932a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-10-07 Philippe Brochard + + * src/clfswm-internal.lisp (place-frames-from-xinerama-infos): + handle better no xinerama support case. + 2012-10-04 Philippe Brochard * contrib/wallpaper.lisp (generate-wallpaper): Force waiting the diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp index 0c93dbe..964f4b9 100644 --- a/src/clfswm-internal.lisp +++ b/src/clfswm-internal.lisp @@ -651,10 +651,6 @@ (defun define-as-root (child x y width height) (push (make-root :child child :original child :current-child nil :x x :y y :w width :h height) root-list)) - (defun unsure-at-least-one-root () - (unless root-list - (define-as-root *root-frame* 0 0 (xlib:screen-width *screen*) (xlib:screen-height *screen*)))) - (defun find-root-by-coordinates (x y) (dolist (root root-list) (when (in-rect x y (root-x root) (root-y root) (root-w root) (root-h root)) @@ -759,6 +755,17 @@ (defsetf current-child current-child-setter) +(defun ensure-at-least-one-root () + (unless (get-root-list) + (let ((frame (create-frame))) + (add-frame frame *root-frame*) + (define-as-root frame 0 0 (xlib:screen-width *screen*) (xlib:screen-height *screen*)) + (add-frame (create-frame) frame)))) + + + + + (defun is-in-current-child-p (child) (and (frame-p (current-child)) @@ -837,7 +844,7 @@ XINERAMA version 1.1 opcode: 150 do (let ((frame (create-frame))) (add-frame frame *root-frame*))) ;; On the opposite way: remove frames until there is more than screen heads in *root-frame* - (when (> (length (frame-child *root-frame*)) (length sizes)) + (when (and sizes (> (length (frame-child *root-frame*)) (length sizes))) (dotimes (i (- (length (frame-child *root-frame*)) (length sizes))) (let ((deleted-child (pop (frame-child *root-frame*)))) (typecase deleted-child @@ -856,8 +863,8 @@ XINERAMA version 1.1 opcode: 150 ;;(add-placed-frame-tmp frame 2) ;; For tests (unless (frame-child frame) (add-frame (create-frame) frame)) - (define-as-root frame x y w h))) - (setf (current-child) (first (frame-child (first (frame-child *root-frame*))))))) + (define-as-root frame x y w h))))) + diff --git a/src/clfswm.lisp b/src/clfswm.lisp index 1c076df..c833ce2 100644 --- a/src/clfswm.lisp +++ b/src/clfswm.lisp @@ -198,11 +198,9 @@ (defun default-init-hook () - (let ((frame (add-frame (create-frame :name "Default" - :layout nil :x 0.05 :y 0.05 - :w 0.9 :h 0.9) - *root-frame*))) - (setf (current-child) frame))) + (place-frames-from-xinerama-infos) + (ensure-at-least-one-root) + (setf (current-child) (first (frame-child (first (frame-child *root-frame*)))))) (defun init-display () @@ -247,7 +245,6 @@ (setf *root-frame* (create-frame :name "Root" :number 0) (current-child) *root-frame*) (call-hook *init-hook*) - (unsure-at-least-one-root) (process-existing-windows *screen*) (show-all-children) (grab-main-keys) diff --git a/src/config.lisp b/src/config.lisp index 69c861e..6d0932d 100644 --- a/src/config.lisp +++ b/src/config.lisp @@ -159,9 +159,7 @@ This command must set the window title to *clfswm-terminal-name*") ;;; ;;; See clfswm.lisp for hooks examples. -(defconfig *init-hook* '(default-init-hook - place-frames-from-xinerama-infos - display-hello-window) +(defconfig *init-hook* '(default-init-hook display-hello-window) 'Hook "Init hook. This hook is run just after the first root frame is created") (defconfig *close-hook* '(close-notify-window close-clfswm-terminal close-virtual-keyboard) ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 +++++ src/clfswm-internal.lisp | 21 ++++++++++++++------- src/clfswm.lisp | 9 +++------ src/config.lisp | 4 +--- 4 files changed, 23 insertions(+), 16 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sun Oct 7 21:07:34 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 07 Oct 2012 14:07:34 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-131-gbbada27 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 bbada271d996eba4616dba7ddb47d4f05be7f275 (commit) from c6630509c047b34c4237c367757dd9608d7b6560 (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 ++++- contrib/wallpaper.lisp | 7 +++++-- 2 files changed, 9 insertions(+), 3 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sun Oct 7 21:07:34 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 07 Oct 2012 14:07:34 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch test updated. R-1106-131-gbbada27 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, test has been updated via bbada271d996eba4616dba7ddb47d4f05be7f275 (commit) via c6630509c047b34c4237c367757dd9608d7b6560 (commit) from d469c53c7fbde75f99300b8953e1719e0a59603b (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: ChangeLog | 8 ++++++++ contrib/wallpaper.lisp | 7 +++++-- src/clfswm-internal.lisp | 21 ++++++++++++++------- src/clfswm.lisp | 9 +++------ src/config.lisp | 4 +--- 5 files changed, 31 insertions(+), 18 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Mon Oct 8 20:47:59 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 08 Oct 2012 13:47:59 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-132-gedfeb6d 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 edfeb6db2f8517c9d8785b3561bb95afaa4ae4e2 (commit) from bbada271d996eba4616dba7ddb47d4f05be7f275 (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 edfeb6db2f8517c9d8785b3561bb95afaa4ae4e2 Author: Michael Raitza Date: Mon Oct 8 22:45:10 2012 +0200 src/tools.lisp (n-rotate-list): Implementation ehancements (1/2 GC, 2x speed). diff --git a/ChangeLog b/ChangeLog index b72f7be..9b5b79d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-10-08 Michael Raitza + + * src/tools.lisp (n-rotate-list): Implementation ehancements (1/2 GC, + 2x speed). + 2012-10-07 Philippe Brochard * contrib/wallpaper.lisp (wallpaper): Handle no xinerama support diff --git a/src/tools.lisp b/src/tools.lisp index 7655b4b..d930362 100644 --- a/src/tools.lisp +++ b/src/tools.lisp @@ -979,10 +979,11 @@ Useful for re-using the &REST arg after removing some options." (when list (append (last list) (butlast list)))) -(defun n-rotate-list (list n) - (if (> n 0) - (n-rotate-list (rotate-list list) (1- n)) - list)) +(defun n-rotate-list (list steps) + (when list + (let* ((len (length list)) + (nsteps (mod steps len))) + (append (nthcdr nsteps list) (butlast list (- len nsteps)))))) (defun append-formated-list (base-str ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 +++++ src/tools.lisp | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Fri Oct 12 20:47:14 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 12 Oct 2012 13:47:14 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-135-g50f822c 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 50f822c99b029eafbabd9fb5045eecc6d4e43f9c (commit) via ba634984f136240ae13c4511c6c75948a8f2af11 (commit) via d624e8bf0cf67142e6a46cc57185a6fe53c04aed (commit) from edfeb6db2f8517c9d8785b3561bb95afaa4ae4e2 (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 50f822c99b029eafbabd9fb5045eecc6d4e43f9c Author: Philippe Brochard Date: Fri Oct 12 13:03:03 2012 +0200 Changed frame-select-*-child to wrap around. (Handle frames with no children) diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp index 8924624..a584867 100644 --- a/src/clfswm-internal.lisp +++ b/src/clfswm-internal.lisp @@ -1372,7 +1372,7 @@ For window: set current child to window or its parent according to window-parent "Select the next child in the current frame" (when (frame-p (current-child)) (with-slots (child selected-pos) (current-child) - (setf selected-pos (mod (1+ selected-pos) (length child)))) + (setf selected-pos (mod (1+ selected-pos) (max (length child) 1)))) (show-all-children))) @@ -1380,7 +1380,7 @@ For window: set current child to window or its parent according to window-parent "Select the previous child in the current frame" (when (frame-p (current-child)) (with-slots (child selected-pos) (current-child) - (setf selected-pos (mod (1- selected-pos) (length child)))) + (setf selected-pos (mod (1- selected-pos) (max (length child) 1)))) (show-all-children))) commit ba634984f136240ae13c4511c6c75948a8f2af11 Author: Michael Raitza Date: Fri Oct 12 12:50:38 2012 +0200 Changed frame-select-*-child to wrap around. diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp index 964f4b9..8924624 100644 --- a/src/clfswm-internal.lisp +++ b/src/clfswm-internal.lisp @@ -1372,8 +1372,7 @@ For window: set current child to window or its parent according to window-parent "Select the next child in the current frame" (when (frame-p (current-child)) (with-slots (child selected-pos) (current-child) - (unless (>= selected-pos (length child)) - (incf selected-pos))) + (setf selected-pos (mod (1+ selected-pos) (length child)))) (show-all-children))) @@ -1381,8 +1380,7 @@ For window: set current child to window or its parent according to window-parent "Select the previous child in the current frame" (when (frame-p (current-child)) (with-slots (child selected-pos) (current-child) - (unless (< selected-pos 1) - (decf selected-pos))) + (setf selected-pos (mod (1- selected-pos) (length child)))) (show-all-children))) commit d624e8bf0cf67142e6a46cc57185a6fe53c04aed Author: Michael Raitza Date: Fri Oct 12 12:40:42 2012 +0200 Added select-previous-child-simple. diff --git a/load.lisp b/load.lisp index d8e063d..826997d 100644 --- a/load.lisp +++ b/load.lisp @@ -23,21 +23,40 @@ ;;; ;;; -------------------------------------------------------------------------- -;;;;;; Uncomment lines above to build the default documentation. -;;(pushnew :BUILD-DOC *features*) +(pushnew :clfswm-build *features*) +(pushnew :clfswm-dump *features*) +(pushnew :clfswm-start *features*) +(pushnew :clfswm-install *features*) +;;;;;; Uncomment lines above to build the default documentation. +;;(pushnew :clfswm-build-doc *features*) -;;(load (compile-file "metering.cl")) (defparameter *base-dir* (directory-namestring *load-truename*)) (export '*base-dir*) + #+CMU (setf ext:*gc-verbose* nil) + +;;;; Loading ASDF #+(or SBCL ECL) (require :asdf) + +#-ASDF +(load (make-pathname :host (pathname-host *base-dir*) + :device (pathname-device *base-dir*) + :directory (append (pathname-directory *base-dir*) (list "contrib")) + :name "asdf" :type "lisp")) + +(push *base-dir* asdf:*central-registry*) + + + + + #+(or CMU ECL) (require :clx) @@ -63,12 +82,12 @@ (in-package :clfswm) -#-:BUILD-DOC +#-:clfswm-build-doc (ignore-errors (main :read-conf-file-p t)) -#+:BUILD-DOC +#+:clfswm-build-doc (ignore-errors (main :read-conf-file-p nil) (produce-all-docs)) diff --git a/src/clfswm-circulate-mode.lisp b/src/clfswm-circulate-mode.lisp index 973976a..bc8ea8b 100644 --- a/src/clfswm-circulate-mode.lisp +++ b/src/clfswm-circulate-mode.lisp @@ -280,6 +280,12 @@ (setf child (rotate-list child))) (show-all-children))) +(defun select-previous-child-simple () + "Select the previous child (do not enter circulate mode)" + (when (frame-p (current-child)) + (with-slots (child) (current-child) + (setf child (anti-rotate-list child))) + (show-all-children))) (defun reorder-brother-simple (reorder-fun) ----------------------------------------------------------------------- Summary of changes: load.lisp | 29 ++++++++++++++++++++++++----- src/clfswm-circulate-mode.lisp | 6 ++++++ src/clfswm-internal.lisp | 6 ++---- 3 files changed, 32 insertions(+), 9 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Fri Oct 12 21:01:00 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 12 Oct 2012 14:01:00 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-136-ge45169e 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 e45169eb94233f9bdb3a8f3b25af36f30dd68e45 (commit) from 50f822c99b029eafbabd9fb5045eecc6d4e43f9c (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 e45169eb94233f9bdb3a8f3b25af36f30dd68e45 Author: Philippe Brochard Date: Fri Oct 12 23:00:55 2012 +0200 man page added diff --git a/clfswm.1 b/clfswm.1 new file mode 100644 index 0000000..3725c53 --- /dev/null +++ b/clfswm.1 @@ -0,0 +1,123 @@ +'\" t +.\" Title: clfswm +.\" Author: [see the "AUTHOR" section] +.\" Generator: DocBook XSL Stylesheets v1.76.1 +.\" Date: 10/12/2012 +.\" Manual: \ \& +.\" Source: \ \& +.\" Language: English +.\" +.TH "CLFSWM" "1" "10/12/2012" "\ \&" "\ \&" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +clfswm \- A(nother) Common Lisp Full Screen Window Manager +.SH "SYNOPSIS" +.sp +\fBclfswm\fR [\fIimplementation\fR] +.SH "DESCRIPTION" +.sp +CLFSWM is a 100% Common Lisp X11 window manager (based on Tinywm and Stumpwm\&. Many thanks to them)\&. It can be driven only with the keyboard or with the mouse\&. +.sp +CLFSWM uses the following rules to determine which implementation should be used: +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +the first command line argument\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +environment variable $LISP +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 3.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 3." 4.2 +.\} +the first line like "debian=" in its configuration file\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 4.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 4." 4.2 +.\} +clisp +.RE +.sp +CLFSWM handles clisp, sbcl and cmucl internally\&. If you specify a different implementation, CLFSWM will try to execute the command clfswm\-\&. See /usr/share/doc/clfswm/README\&.Debian for details\&. +.SH "OPTIONS" +.PP +\fIimplementation\fR +.RS 4 +Indicates which implementation should be used\&. +.RE +.SH "ENVIRONMENT" +.PP +\fILISP\fR +.RS 4 +Indicates which implementation should be used\&. +.RE +.SH "FILES" +.PP +\fI$XDG_CONFIG_HOME/clfswm/clfswmrc\fR +.RS 4 +User configuration file\&. If XDG_CONFIG_HOME is undefined, +\fI$HOME/\&.config/clfswm/clfswmrc\fR +will be used\&. +.RE +.PP +\fI$HOME/\&.clfswmrc\fR +.RS 4 +Deprecated\&. This file will be used only if the previous file does not exist\&. +.RE +.PP +\fI/etc/clfswmrc\fR +.RS 4 +System\-wide configuration file\&. +.RE +.SH "SEE ALSO" +.sp +clisp(1), sbcl(1), cmucl(1)\&. +.SH "AUTHOR" +.sp +CLFSWM was written by Philippe Brochard \&. +.sp +This manual page was written by Desmond O\&. Chang , for the Debian project (and may be used by others)\&. diff --git a/doc/clfswm.1.txt b/doc/clfswm.1.txt new file mode 100644 index 0000000..df742d7 --- /dev/null +++ b/doc/clfswm.1.txt @@ -0,0 +1,73 @@ +// -*- mode: doc -*- +// Use "a2x -f manpage clfswm.1.txt" to generate the man page. +CLFSWM(1) +========= +:doctype: manpage + + +NAME +---- +clfswm - A(nother) Common Lisp Full Screen Window Manager + + +SYNOPSIS +-------- +*clfswm* ['implementation'] + + +DESCRIPTION +----------- +CLFSWM is a 100% Common Lisp X11 window manager (based on Tinywm and +Stumpwm. Many thanks to them). It can be driven only with the +keyboard or with the mouse. + +CLFSWM uses the following rules to determine which implementation +should be used: + +. the first command line argument. +. environment variable $LISP +. the first line like "debian=" in its configuration file. +. clisp + +CLFSWM handles clisp, sbcl and cmucl internally. If you specify a +different implementation, CLFSWM will try to execute the command +`clfswm-`. See /usr/share/doc/clfswm/README.Debian +for details. + + +OPTIONS +------- +'implementation':: + Indicates which implementation should be used. + + +ENVIRONMENT +----------- +'LISP':: + Indicates which implementation should be used. + + +FILES +----- +'$XDG_CONFIG_HOME/clfswm/clfswmrc':: + User configuration file. If XDG_CONFIG_HOME is undefined, + '$HOME/.config/clfswm/clfswmrc' will be used. + +'$HOME/.clfswmrc':: + Deprecated. This file will be used only if the previous file + does not exist. + +'/etc/clfswmrc':: + System-wide configuration file. + + +SEE ALSO +-------- +clisp(1), sbcl(1), cmucl(1). + +AUTHOR +------ +CLFSWM was written by Philippe Brochard . + +This manual page was written by Desmond O. Chang , +for the Debian project (and may be used by others). ----------------------------------------------------------------------- Summary of changes: clfswm.1 | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ doc/clfswm.1.txt | 73 ++++++++++++++++++++++++++++++++ 2 files changed, 196 insertions(+), 0 deletions(-) create mode 100644 clfswm.1 create mode 100644 doc/clfswm.1.txt hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Fri Oct 12 21:21:00 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 12 Oct 2012 14:21:00 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-139-g60922e1 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 60922e16b58b6397485dd3f83e734734e5a8f95b (commit) via bcdbd31de7b4a7fe1c42c5a013b31b6636c455ed (commit) via 3affb1ff817ab8e407de71b024c74bd713249fa6 (commit) from e45169eb94233f9bdb3a8f3b25af36f30dd68e45 (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 60922e16b58b6397485dd3f83e734734e5a8f95b Author: Philippe Brochard Date: Fri Oct 12 23:19:55 2012 +0200 src/clfswm-query.lisp (set-default-query-keys): Bind query-backspace-clear to C-u and S-C-Backspace diff --git a/src/clfswm-query.lisp b/src/clfswm-query.lisp index c781973..8353677 100644 --- a/src/clfswm-query.lisp +++ b/src/clfswm-query.lisp @@ -287,6 +287,8 @@ (define-query-key ("Tab") 'query-mode-complet) (define-query-key ("BackSpace") 'query-backspace) (define-query-key ("BackSpace" :control) 'query-backspace-word) + (define-query-key ("BackSpace" :control :shift) 'query-backspace-clear) + (define-query-key ("u" :control) 'query-backspace-clear) (define-query-key ("Delete") 'query-delete) (define-query-key ("Delete" :control) 'query-delete-word) (define-query-key ("Home") 'query-home) commit bcdbd31de7b4a7fe1c42c5a013b31b6636c455ed Author: Michael Raitza Date: Fri Oct 12 23:12:10 2012 +0200 Added query-backspace-clear. diff --git a/src/clfswm-query.lisp b/src/clfswm-query.lisp index feef765..c781973 100644 --- a/src/clfswm-query.lisp +++ b/src/clfswm-query.lisp @@ -183,8 +183,11 @@ (defun query-backspace-word () "Delete a word backward" - (generic-backspace (or (position #\Space *query-string* :from-end t :end *query-pos*) 0)))) + (generic-backspace (or (position #\Space *query-string* :from-end t :end *query-pos*) 0))) + (defun query-backspace-clear () + "Delete backwards until beginning" + (generic-backspace 0))) (labels ((generic-delete (del-pos) (when (<= del-pos (length *query-string*)) commit 3affb1ff817ab8e407de71b024c74bd713249fa6 Author: Michael Raitza Date: Fri Oct 12 23:09:53 2012 +0200 Added set-layout-simple diff --git a/src/clfswm-layout.lisp b/src/clfswm-layout.lisp index 9af5020..710bbc0 100644 --- a/src/clfswm-layout.lisp +++ b/src/clfswm-layout.lisp @@ -60,6 +60,10 @@ (fixe-real-size-current-child) (set-layout-dont-leave #'no-layout)) +(defun set-layout-simple (layout) + "Set the layout of the current child" + (set-layout-dont-leave layout) + (show-all-children)) (defun get-managed-child (parent) "Return only the windows that are managed for tiling" ----------------------------------------------------------------------- Summary of changes: src/clfswm-layout.lisp | 4 ++++ src/clfswm-query.lisp | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sat Oct 13 12:09:11 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 13 Oct 2012 05:09:11 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-140-g8f5e6f3 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 8f5e6f374f4aaf1b96fb2943c7ef94b0f37006ce (commit) from 60922e16b58b6397485dd3f83e734734e5a8f95b (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 8f5e6f374f4aaf1b96fb2943c7ef94b0f37006ce Author: Michael Raitza Date: Sat Oct 13 14:07:58 2012 +0200 Refactored run-program-from-query-string. diff --git a/src/clfswm-util.lisp b/src/clfswm-util.lisp index 6a298f3..841cbed 100644 --- a/src/clfswm-util.lisp +++ b/src/clfswm-util.lisp @@ -603,13 +603,21 @@ (let ((commands (command-in-path))) (defun run-program-from-query-string () "Run a program from the query input" - (multiple-value-bind (program return) - (query-string "Run:" "" commands) - (when (and (equal return :return) program (not (equal program ""))) - (setf *second-mode-leave-function* (let ((cmd (concatenate 'string "cd $HOME && " program))) - (lambda () - (do-shell cmd)))) - (leave-second-mode))))) + (labels ((run-program-from-query-string-fun () + (multiple-value-bind (program return) + (query-string "Run:" "" commands) + (when (and (equal return :return) program (not (equal program ""))) + (let ((cmd (concatenate 'string "cd $HOME && exec " program))) + (lambda () + (do-shell cmd))))))) + (let ((fun (run-program-from-query-string-fun))) + (when fun + (if *in-second-mode* + (progn + (setf *second-mode-leave-function* fun) + (leave-second-mode)) + (funcall fun))))))) + ----------------------------------------------------------------------- Summary of changes: src/clfswm-util.lisp | 22 +++++++++++++++------- 1 files changed, 15 insertions(+), 7 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sat Oct 13 12:26:35 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 13 Oct 2012 05:26:35 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-141-gb70ba53 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 b70ba53d6adfb212f261bf8bb54abf5f3846b0f1 (commit) from 8f5e6f374f4aaf1b96fb2943c7ef94b0f37006ce (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: src/clfswm-query.lisp | 39 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 37 insertions(+), 2 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sat Oct 13 12:26:36 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 13 Oct 2012 05:26:36 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch test updated. R-1106-141-gb70ba53 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, test has been updated via b70ba53d6adfb212f261bf8bb54abf5f3846b0f1 (commit) via 8f5e6f374f4aaf1b96fb2943c7ef94b0f37006ce (commit) via 60922e16b58b6397485dd3f83e734734e5a8f95b (commit) via bcdbd31de7b4a7fe1c42c5a013b31b6636c455ed (commit) via 3affb1ff817ab8e407de71b024c74bd713249fa6 (commit) via e45169eb94233f9bdb3a8f3b25af36f30dd68e45 (commit) via 50f822c99b029eafbabd9fb5045eecc6d4e43f9c (commit) via ba634984f136240ae13c4511c6c75948a8f2af11 (commit) via d624e8bf0cf67142e6a46cc57185a6fe53c04aed (commit) via edfeb6db2f8517c9d8785b3561bb95afaa4ae4e2 (commit) from bbada271d996eba4616dba7ddb47d4f05be7f275 (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 ++ clfswm.1 | 123 ++++++++++++++++++++++++++++++++++++++++ doc/clfswm.1.txt | 73 ++++++++++++++++++++++++ load.lisp | 29 ++++++++-- src/clfswm-circulate-mode.lisp | 6 ++ src/clfswm-internal.lisp | 6 +- src/clfswm-layout.lisp | 4 + src/clfswm-query.lisp | 46 ++++++++++++++- src/clfswm-util.lisp | 22 +++++-- src/tools.lisp | 9 ++- 10 files changed, 300 insertions(+), 23 deletions(-) create mode 100644 clfswm.1 create mode 100644 doc/clfswm.1.txt hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Mon Oct 15 21:14:06 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 15 Oct 2012 14:14:06 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch test updated. R-1106-142-g880b850 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, test has been updated via 880b850e6e493cb658617a3a63133ccc9b8c7734 (commit) from b70ba53d6adfb212f261bf8bb54abf5f3846b0f1 (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 880b850e6e493cb658617a3a63133ccc9b8c7734 Author: Philippe Brochard Date: Mon Oct 15 23:11:38 2012 +0200 load.lisp: Dump image after loading system diff --git a/load.lisp b/load.lisp index 826997d..ef9af08 100644 --- a/load.lisp +++ b/load.lisp @@ -24,39 +24,43 @@ ;;; -------------------------------------------------------------------------- (pushnew :clfswm-build *features*) -(pushnew :clfswm-dump *features*) (pushnew :clfswm-start *features*) +(pushnew :clfswm-make-exec *features*) (pushnew :clfswm-install *features*) +(defparameter *install-dir* "/tmp/local") + +(defparameter *binary-name* "clfswm") + + ;;;;;; Uncomment lines above to build the default documentation. ;;(pushnew :clfswm-build-doc *features*) +;;;; Uncomment the line above if you want to follow the +;;;; handle event mecanism. +;;(pushnew :event-debug *features*) -(defparameter *base-dir* (directory-namestring *load-truename*)) -(export '*base-dir*) +;;;;; Uncomment the line below if you want to see all ignored X errors +;;(pushnew :xlib-debug *features*) -#+CMU -(setf ext:*gc-verbose* nil) -;;;; Loading ASDF -#+(or SBCL ECL) -(require :asdf) -#-ASDF -(load (make-pathname :host (pathname-host *base-dir*) - :device (pathname-device *base-dir*) - :directory (append (pathname-directory *base-dir*) (list "contrib")) - :name "asdf" :type "lisp")) +;;;;;; End of configuration part ;;;;;;;;;; -(push *base-dir* asdf:*central-registry*) +(defparameter *base-dir* (directory-namestring *load-truename*)) +(export '*base-dir*) +(export '*binary-name*) + +#+CMU (setf ext:*gc-verbose* nil) +;;; Loading CLX #+(or CMU ECL) (require :clx) @@ -64,6 +68,12 @@ (when (fboundp 'require) (require "clx.lisp")) + +;;;; Loading ASDF +#+(or SBCL ECL) +(require :asdf) + + #-ASDF (load (make-pathname :host (pathname-host *base-dir*) :device (pathname-device *base-dir*) @@ -72,17 +82,16 @@ (push *base-dir* asdf:*central-registry*) -;;(setf asdf:*verbose-out* t) -;;;; Uncomment the line above if you want to follow the -;;;; handle event mecanism. -;;(pushnew :event-debug *features*) +;;(setf asdf:*verbose-out* t) + +#+:clfswm-build (asdf:oos 'asdf:load-op :clfswm) (in-package :clfswm) -#-:clfswm-build-doc +#+(and :clfswm-start (not :clfswm-build-doc)) (ignore-errors (main :read-conf-file-p t)) @@ -93,14 +102,8 @@ (produce-all-docs)) -;;; For debuging: start another sever (for example: 'startx -- :1'), Xnest -;;; or Zephyr and add the lines above in a dot-clfswmrc-debug file -;;; mod-2 is the numlock key on some keyboards. -;;(setf *default-modifiers* '(:mod-2)) -;; -;;(defun my-add-escape () -;; (define-main-key ("Escape" :mod-2) 'exit-clfswm)) -;; -;;(add-hook *binding-hook* 'my-add-escape) -;; -;;(clfswm:main :display ":1" :alternate-conf #P"/where/is/dot-clfswmrc-debug") + + + +#+:clfswm-make-exec +(dump-image cl-user:*binary-name*) diff --git a/src/clfswm-util.lisp b/src/clfswm-util.lisp index 841cbed..f1cedf6 100644 --- a/src/clfswm-util.lisp +++ b/src/clfswm-util.lisp @@ -47,6 +47,17 @@ +(defun dump-image (filename) + (format t "Dumping image in ~A~%" filename) + #+:CLISP (ext:saveinitmem filename :init-function (lambda () (clfswm:main) (ext:quit)) :executable t :norc t) + #+SBCL (sb-ext:save-lisp-and-die filename :toplevel 'clfswm:main :executable t) + #+CMU (ext:save-lisp filename :init-function (lambda () (clfswm:main) (quit)) :executable t) + #+CCL (ccl:save-application filename :toplevel-function (lambda () (clfswm:main) (ccl:quit)) :prepend-kernel t) + #+ECL (progn + (asdf:make-build :clfswm :type :program :monolithic t :move-here "." + :prologue-code '(progn (require :asdf) (require :clx))) + (ushell (format nil "mv ./clfswm-mono ~A" filename)))) + (defun load-contrib (file) "Load a file in the contrib directory" diff --git a/src/tools.lisp b/src/tools.lisp index d930362..ecf8f73 100644 --- a/src/tools.lisp +++ b/src/tools.lisp @@ -404,6 +404,7 @@ Return the result of the last hook" + (defun in-rectangle (x y rectangle) (and rectangle (<= (rectangle-x rectangle) x (+ (rectangle-x rectangle) (rectangle-width rectangle))) ----------------------------------------------------------------------- Summary of changes: load.lisp | 63 ++++++++++++++++++++++++++----------------------- src/clfswm-util.lisp | 11 ++++++++ src/tools.lisp | 1 + 3 files changed, 45 insertions(+), 30 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Mon Oct 15 21:16:56 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 15 Oct 2012 14:16:56 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-148-g63909e9 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 63909e9545ac18fe3a76b1bdedcb818b05e95168 (commit) via 6c832664a41082e36acc88f4750b1991e1ac7f48 (commit) via 9f258de18367e521e2eff1a1e86b9f88fb99ae22 (commit) via d56a1f85b333734eb091adb66d5e8111760f2915 (commit) via b0ae2233ceccfe9ebb92505131af426f472e5b37 (commit) via 32c8813fb1c7da8fc7d4e286621ed8c7c77f1868 (commit) via c67507777b0a81d5ed2f37ad0c27de861c1db128 (commit) from b70ba53d6adfb212f261bf8bb54abf5f3846b0f1 (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 63909e9545ac18fe3a76b1bdedcb818b05e95168 Merge: 6c83266 b70ba53 Author: Philippe Brochard Date: Mon Oct 15 23:14:35 2012 +0200 Merge branch 'master' of ssh://common-lisp.net/var/git/projects/clfswm/clfswm commit 6c832664a41082e36acc88f4750b1991e1ac7f48 Author: Michael Raitza Date: Sat Oct 13 14:24:50 2012 +0200 Added query-mode-complete-suggest and helpers. diff --git a/src/clfswm-query.lisp b/src/clfswm-query.lisp index 8353677..a178b79 100644 --- a/src/clfswm-query.lisp +++ b/src/clfswm-query.lisp @@ -32,6 +32,7 @@ (defparameter *query-history* (list "")) (defparameter *query-complet-list* nil) +(defparameter *query-completion-state* nil) (defparameter *query-message* nil) (defparameter *query-string* nil) @@ -108,7 +109,9 @@ (defun query-print-string () (let ((dec (min 0 (- (- (x-drawable-width *query-window*) 10) (+ 10 (* *query-pos* (xlib:max-char-width *query-font*)))))) - (complet (query-find-complet-list))) + (complet (if *query-completion-state* + (first *query-completion-state*) + (query-find-complet-list)))) (clear-pixmap-buffer *query-window* *query-gc*) (setf (xlib:gcontext-foreground *query-gc*) (get-color *query-message-color*)) (xlib:draw-glyphs *pixmap-buffer* *query-gc* 5 (+ (xlib:max-char-ascent *query-font*) 5) @@ -277,6 +280,37 @@ (subseq *query-string* *query-pos*)) *query-pos* (+ pos (length common))))))))) +(defun query-mode-complete-suggest () + (flet ((complete (completions completion-pos pos initial-pos) + (when completions + (let ((completion (if (equal completion-pos (list-length completions)) + (subseq *query-string* pos initial-pos) + (nth completion-pos completions)))) + (setf *query-string* (concatenate 'string + (subseq *query-string* 0 pos) + completion + (subseq *query-string* *query-pos*)) + *query-pos* (+ pos (length completion)))) + (setf *query-completion-state* + (list completions completion-pos pos initial-pos))))) + (if *query-completion-state* + (complete (first *query-completion-state*) + (mod (1+ (second *query-completion-state*)) + (1+ (list-length (first *query-completion-state*)))) + (third *query-completion-state*) + (fourth *query-completion-state*)) + (multiple-value-bind (comps pos) (query-find-complet-list) + (complete comps 0 pos *query-pos*))))) + +(add-hook *query-key-press-hook* 'query-mode-complete-suggest-reset) + +(defun query-mode-complete-suggest-reset (code state) + "Reset the query-completion-state if another key was pressed than a key +that calls query-mode-complete-suggest." + (unless (equal 'query-mode-complete-suggest + (first (find-key-from-code *query-keys* code state))) + (setf *query-completion-state* nil) + (query-print-string))) (add-hook *binding-hook* 'set-default-query-keys) @@ -336,7 +370,8 @@ (setf *query-message* message *query-string* default *query-pos* (length default) - *query-complet-list* complet-list) + *query-complet-list* complet-list + *query-completion-state* nil) (with-grab-keyboard-and-pointer (92 93 66 67 t) (generic-mode 'query-mode 'exit-query-loop :enter-function #'query-enter-function commit 9f258de18367e521e2eff1a1e86b9f88fb99ae22 Author: Michael Raitza Date: Sat Oct 13 14:07:58 2012 +0200 Refactored run-program-from-query-string. diff --git a/src/clfswm-util.lisp b/src/clfswm-util.lisp index 6a298f3..841cbed 100644 --- a/src/clfswm-util.lisp +++ b/src/clfswm-util.lisp @@ -603,13 +603,21 @@ (let ((commands (command-in-path))) (defun run-program-from-query-string () "Run a program from the query input" - (multiple-value-bind (program return) - (query-string "Run:" "" commands) - (when (and (equal return :return) program (not (equal program ""))) - (setf *second-mode-leave-function* (let ((cmd (concatenate 'string "cd $HOME && " program))) - (lambda () - (do-shell cmd)))) - (leave-second-mode))))) + (labels ((run-program-from-query-string-fun () + (multiple-value-bind (program return) + (query-string "Run:" "" commands) + (when (and (equal return :return) program (not (equal program ""))) + (let ((cmd (concatenate 'string "cd $HOME && exec " program))) + (lambda () + (do-shell cmd))))))) + (let ((fun (run-program-from-query-string-fun))) + (when fun + (if *in-second-mode* + (progn + (setf *second-mode-leave-function* fun) + (leave-second-mode)) + (funcall fun))))))) + commit d56a1f85b333734eb091adb66d5e8111760f2915 Author: Philippe Brochard Date: Fri Oct 12 23:19:55 2012 +0200 src/clfswm-query.lisp (set-default-query-keys): Bind query-backspace-clear to C-u and S-C-Backspace diff --git a/src/clfswm-query.lisp b/src/clfswm-query.lisp index c781973..8353677 100644 --- a/src/clfswm-query.lisp +++ b/src/clfswm-query.lisp @@ -287,6 +287,8 @@ (define-query-key ("Tab") 'query-mode-complet) (define-query-key ("BackSpace") 'query-backspace) (define-query-key ("BackSpace" :control) 'query-backspace-word) + (define-query-key ("BackSpace" :control :shift) 'query-backspace-clear) + (define-query-key ("u" :control) 'query-backspace-clear) (define-query-key ("Delete") 'query-delete) (define-query-key ("Delete" :control) 'query-delete-word) (define-query-key ("Home") 'query-home) commit b0ae2233ceccfe9ebb92505131af426f472e5b37 Author: Michael Raitza Date: Fri Oct 12 23:12:10 2012 +0200 Added query-backspace-clear. diff --git a/src/clfswm-query.lisp b/src/clfswm-query.lisp index feef765..c781973 100644 --- a/src/clfswm-query.lisp +++ b/src/clfswm-query.lisp @@ -183,8 +183,11 @@ (defun query-backspace-word () "Delete a word backward" - (generic-backspace (or (position #\Space *query-string* :from-end t :end *query-pos*) 0)))) + (generic-backspace (or (position #\Space *query-string* :from-end t :end *query-pos*) 0))) + (defun query-backspace-clear () + "Delete backwards until beginning" + (generic-backspace 0))) (labels ((generic-delete (del-pos) (when (<= del-pos (length *query-string*)) commit 32c8813fb1c7da8fc7d4e286621ed8c7c77f1868 Author: Michael Raitza Date: Fri Oct 12 23:09:53 2012 +0200 Added set-layout-simple diff --git a/src/clfswm-layout.lisp b/src/clfswm-layout.lisp index 9af5020..710bbc0 100644 --- a/src/clfswm-layout.lisp +++ b/src/clfswm-layout.lisp @@ -60,6 +60,10 @@ (fixe-real-size-current-child) (set-layout-dont-leave #'no-layout)) +(defun set-layout-simple (layout) + "Set the layout of the current child" + (set-layout-dont-leave layout) + (show-all-children)) (defun get-managed-child (parent) "Return only the windows that are managed for tiling" commit c67507777b0a81d5ed2f37ad0c27de861c1db128 Author: Desmond O. Chang Date: Fri Oct 12 23:00:55 2012 +0200 man page added diff --git a/clfswm.1 b/clfswm.1 new file mode 100644 index 0000000..3725c53 --- /dev/null +++ b/clfswm.1 @@ -0,0 +1,123 @@ +'\" t +.\" Title: clfswm +.\" Author: [see the "AUTHOR" section] +.\" Generator: DocBook XSL Stylesheets v1.76.1 +.\" Date: 10/12/2012 +.\" Manual: \ \& +.\" Source: \ \& +.\" Language: English +.\" +.TH "CLFSWM" "1" "10/12/2012" "\ \&" "\ \&" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +clfswm \- A(nother) Common Lisp Full Screen Window Manager +.SH "SYNOPSIS" +.sp +\fBclfswm\fR [\fIimplementation\fR] +.SH "DESCRIPTION" +.sp +CLFSWM is a 100% Common Lisp X11 window manager (based on Tinywm and Stumpwm\&. Many thanks to them)\&. It can be driven only with the keyboard or with the mouse\&. +.sp +CLFSWM uses the following rules to determine which implementation should be used: +.sp +.RS 4 +.ie n \{\ +\h'-04' 1.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 1." 4.2 +.\} +the first command line argument\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 2.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 2." 4.2 +.\} +environment variable $LISP +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 3.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 3." 4.2 +.\} +the first line like "debian=" in its configuration file\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04' 4.\h'+01'\c +.\} +.el \{\ +.sp -1 +.IP " 4." 4.2 +.\} +clisp +.RE +.sp +CLFSWM handles clisp, sbcl and cmucl internally\&. If you specify a different implementation, CLFSWM will try to execute the command clfswm\-\&. See /usr/share/doc/clfswm/README\&.Debian for details\&. +.SH "OPTIONS" +.PP +\fIimplementation\fR +.RS 4 +Indicates which implementation should be used\&. +.RE +.SH "ENVIRONMENT" +.PP +\fILISP\fR +.RS 4 +Indicates which implementation should be used\&. +.RE +.SH "FILES" +.PP +\fI$XDG_CONFIG_HOME/clfswm/clfswmrc\fR +.RS 4 +User configuration file\&. If XDG_CONFIG_HOME is undefined, +\fI$HOME/\&.config/clfswm/clfswmrc\fR +will be used\&. +.RE +.PP +\fI$HOME/\&.clfswmrc\fR +.RS 4 +Deprecated\&. This file will be used only if the previous file does not exist\&. +.RE +.PP +\fI/etc/clfswmrc\fR +.RS 4 +System\-wide configuration file\&. +.RE +.SH "SEE ALSO" +.sp +clisp(1), sbcl(1), cmucl(1)\&. +.SH "AUTHOR" +.sp +CLFSWM was written by Philippe Brochard \&. +.sp +This manual page was written by Desmond O\&. Chang , for the Debian project (and may be used by others)\&. diff --git a/doc/clfswm.1.txt b/doc/clfswm.1.txt new file mode 100644 index 0000000..df742d7 --- /dev/null +++ b/doc/clfswm.1.txt @@ -0,0 +1,73 @@ +// -*- mode: doc -*- +// Use "a2x -f manpage clfswm.1.txt" to generate the man page. +CLFSWM(1) +========= +:doctype: manpage + + +NAME +---- +clfswm - A(nother) Common Lisp Full Screen Window Manager + + +SYNOPSIS +-------- +*clfswm* ['implementation'] + + +DESCRIPTION +----------- +CLFSWM is a 100% Common Lisp X11 window manager (based on Tinywm and +Stumpwm. Many thanks to them). It can be driven only with the +keyboard or with the mouse. + +CLFSWM uses the following rules to determine which implementation +should be used: + +. the first command line argument. +. environment variable $LISP +. the first line like "debian=" in its configuration file. +. clisp + +CLFSWM handles clisp, sbcl and cmucl internally. If you specify a +different implementation, CLFSWM will try to execute the command +`clfswm-`. See /usr/share/doc/clfswm/README.Debian +for details. + + +OPTIONS +------- +'implementation':: + Indicates which implementation should be used. + + +ENVIRONMENT +----------- +'LISP':: + Indicates which implementation should be used. + + +FILES +----- +'$XDG_CONFIG_HOME/clfswm/clfswmrc':: + User configuration file. If XDG_CONFIG_HOME is undefined, + '$HOME/.config/clfswm/clfswmrc' will be used. + +'$HOME/.clfswmrc':: + Deprecated. This file will be used only if the previous file + does not exist. + +'/etc/clfswmrc':: + System-wide configuration file. + + +SEE ALSO +-------- +clisp(1), sbcl(1), cmucl(1). + +AUTHOR +------ +CLFSWM was written by Philippe Brochard . + +This manual page was written by Desmond O. Chang , +for the Debian project (and may be used by others). ----------------------------------------------------------------------- Summary of changes: hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Mon Oct 15 21:42:30 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 15 Oct 2012 14:42:30 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-141-g6c83266 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 discards 63909e9545ac18fe3a76b1bdedcb818b05e95168 (commit) discards b70ba53d6adfb212f261bf8bb54abf5f3846b0f1 (commit) discards 8f5e6f374f4aaf1b96fb2943c7ef94b0f37006ce (commit) discards 60922e16b58b6397485dd3f83e734734e5a8f95b (commit) discards bcdbd31de7b4a7fe1c42c5a013b31b6636c455ed (commit) discards 3affb1ff817ab8e407de71b024c74bd713249fa6 (commit) discards e45169eb94233f9bdb3a8f3b25af36f30dd68e45 (commit) This update discarded existing revisions and left the branch pointing at a previous point in the repository history. * -- * -- N (6c832664a41082e36acc88f4750b1991e1ac7f48) \ O -- O -- O (63909e9545ac18fe3a76b1bdedcb818b05e95168) The removed revisions are not necessarilly gone - if another reference still refers to them they will stay in the repository. No new revisions were added by this update. Summary of changes: hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Tue Oct 16 07:46:28 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 16 Oct 2012 00:46:28 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-142-gfb5fe5f 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 fb5fe5fe1ca54228086486b67307cd13b029675f (commit) from 6c832664a41082e36acc88f4750b1991e1ac7f48 (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 fb5fe5fe1ca54228086486b67307cd13b029675f Author: Philippe Brochard Date: Tue Oct 16 09:46:22 2012 +0200 Correctly Configure roots on monitor change diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp index a584867..81c5e7e 100644 --- a/src/clfswm-internal.lisp +++ b/src/clfswm-internal.lisp @@ -866,6 +866,9 @@ XINERAMA version 1.1 opcode: 150 (define-as-root frame x y w h))))) +(defun finish-configuring-root () + (ensure-at-least-one-root) + (setf (current-child) (first (frame-child (first (frame-child *root-frame*)))))) diff --git a/src/clfswm.lisp b/src/clfswm.lisp index c833ce2..7ae2f35 100644 --- a/src/clfswm.lisp +++ b/src/clfswm.lisp @@ -153,6 +153,7 @@ (define-handler main-mode :configure-notify (window) (when (child-equal-p window *root*) (place-frames-from-xinerama-infos) + (finish-configuring-root) (show-all-children) (call-hook *root-size-change*))) @@ -199,8 +200,7 @@ (defun default-init-hook () (place-frames-from-xinerama-infos) - (ensure-at-least-one-root) - (setf (current-child) (first (frame-child (first (frame-child *root-frame*)))))) + (finish-configuring-root)) (defun init-display () ----------------------------------------------------------------------- Summary of changes: src/clfswm-internal.lisp | 3 +++ src/clfswm.lisp | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Tue Oct 16 07:46:54 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 16 Oct 2012 00:46:54 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch test updated. R-1106-150-g158d326 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, test has been updated via 158d326431bce28ef942fd01182e52fbc9c454e3 (commit) via fb5fe5fe1ca54228086486b67307cd13b029675f (commit) via 6c832664a41082e36acc88f4750b1991e1ac7f48 (commit) via 9f258de18367e521e2eff1a1e86b9f88fb99ae22 (commit) via d56a1f85b333734eb091adb66d5e8111760f2915 (commit) via b0ae2233ceccfe9ebb92505131af426f472e5b37 (commit) via 32c8813fb1c7da8fc7d4e286621ed8c7c77f1868 (commit) via c67507777b0a81d5ed2f37ad0c27de861c1db128 (commit) from 880b850e6e493cb658617a3a63133ccc9b8c7734 (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 158d326431bce28ef942fd01182e52fbc9c454e3 Merge: 880b850 fb5fe5f Author: Philippe Brochard Date: Tue Oct 16 09:46:39 2012 +0200 Merge branch 'master' into test ----------------------------------------------------------------------- Summary of changes: src/clfswm-internal.lisp | 3 +++ src/clfswm.lisp | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Tue Oct 16 20:29:16 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 16 Oct 2012 13:29:16 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch test deleted. R-1106-150-g158d326 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, test has been deleted was 158d326431bce28ef942fd01182e52fbc9c454e3 ----------------------------------------------------------------------- 158d326431bce28ef942fd01182e52fbc9c454e3 Merge branch 'master' into test ----------------------------------------------------------------------- hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sat Oct 20 12:12:56 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 20 Oct 2012 05:12:56 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-143-gc31ef42 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 c31ef42829758a1934eee6515e9ca32023e3b9f6 (commit) from fb5fe5fe1ca54228086486b67307cd13b029675f (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 c31ef42829758a1934eee6515e9ca32023e3b9f6 Author: Philippe Brochard Date: Sat Oct 20 14:12:25 2012 +0200 Build clfswm image in load.lisp. Let bind-on-slot on other child than current child diff --git a/doc/dot-clfswmrc b/doc/dot-clfswmrc index ce51b72..7dc7adb 100644 --- a/doc/dot-clfswmrc +++ b/doc/dot-clfswmrc @@ -190,3 +190,16 @@ ;;;; my-init-hook-rox-filer ;;;;(setf *init-hook* nil) ;;;;; Init hook end + + +;;; For debuging: start another sever (for example: 'startx -- :1'), Xnest +;;; or Zephyr and add the lines above in a dot-clfswmrc-debug file +;;; mod-2 is the numlock key on some keyboards. +;;(setf *default-modifiers* '(:mod-2)) +;; +;;(defun my-add-escape () +;; (define-main-key ("Escape" :mod-2) 'exit-clfswm)) +;; +;;(add-hook *binding-hook* 'my-add-escape) +;; +;;(clfswm:main :display ":1" :alternate-conf #P"/where/is/dot-clfswmrc-debug") diff --git a/load.lisp b/load.lisp index 826997d..ca9d1d0 100644 --- a/load.lisp +++ b/load.lisp @@ -23,6 +23,9 @@ ;;; ;;; -------------------------------------------------------------------------- +;;;------------------ +;;; Customization part +;;;------------------ (pushnew :clfswm-build *features*) (pushnew :clfswm-dump *features*) (pushnew :clfswm-start *features*) @@ -31,21 +34,29 @@ ;;;;;; Uncomment lines above to build the default documentation. ;;(pushnew :clfswm-build-doc *features*) +;;;;; Uncomment the line below if you want to see all ignored X errors +;;(pushnew :xlib-debug *features*) + +;;;;; Uncomment the line below if you want to see all event debug messages +;;(pushnew :event-debug *features*) + (defparameter *base-dir* (directory-namestring *load-truename*)) (export '*base-dir*) -#+CMU +#+:CMU (setf ext:*gc-verbose* nil) - +;;;------------------ +;;; ASDF part +;;;------------------ ;;;; Loading ASDF -#+(or SBCL ECL) +#+(or :SBCL :ECL) (require :asdf) -#-ASDF +#-:ASDF (load (make-pathname :host (pathname-host *base-dir*) :device (pathname-device *base-dir*) :directory (append (pathname-directory *base-dir*) (list "contrib")) @@ -53,54 +64,48 @@ (push *base-dir* asdf:*central-registry*) +;;(setf asdf:*verbose-out* t) - - -#+(or CMU ECL) +;;;------------------ +;;; XLib part +;;;------------------ +#+(or :CMU :ECL) (require :clx) -#+(AND CLISP (not CLX)) -(when (fboundp 'require) - (require "clx.lisp")) - -#-ASDF -(load (make-pathname :host (pathname-host *base-dir*) - :device (pathname-device *base-dir*) - :directory (append (pathname-directory *base-dir*) (list "contrib")) - :name "asdf" :type "lisp")) - -(push *base-dir* asdf:*central-registry*) - -;;(setf asdf:*verbose-out* t) -;;;; Uncomment the line above if you want to follow the -;;;; handle event mecanism. -;;(pushnew :event-debug *features*) +;;; This part needs clisp >= 2.50 +;;#+(AND CLISP (not CLX)) +;;(when (fboundp 'require) +;; (require "clx.lisp")) +;;;------------------ +;;; CLFSWM loading +;;;------------------ +#+:clfswm-build (asdf:oos 'asdf:load-op :clfswm) + +;;;------------------------- +;;; Starting clfswm +;;;------------------------- (in-package :clfswm) -#-:clfswm-build-doc +#+:clfswm-start (ignore-errors - (main :read-conf-file-p t)) + (main :read-conf-file-p #-:clfswm-build-doc t #+:clfswm-build-doc nil)) + +;;;------------------------- +;;; Building documentation +;;;------------------------- #+:clfswm-build-doc -(ignore-errors - (main :read-conf-file-p nil) - (produce-all-docs)) - - -;;; For debuging: start another sever (for example: 'startx -- :1'), Xnest -;;; or Zephyr and add the lines above in a dot-clfswmrc-debug file -;;; mod-2 is the numlock key on some keyboards. -;;(setf *default-modifiers* '(:mod-2)) -;; -;;(defun my-add-escape () -;; (define-main-key ("Escape" :mod-2) 'exit-clfswm)) -;; -;;(add-hook *binding-hook* 'my-add-escape) -;; -;;(clfswm:main :display ":1" :alternate-conf #P"/where/is/dot-clfswmrc-debug") +(produce-all-docs) + +;;;----------------------- +;;; Building image part +;;;----------------------- +#+:clfswm-build +(build-lisp-image "clfswm") + diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp index 81c5e7e..7e404ab 100644 --- a/src/clfswm-internal.lisp +++ b/src/clfswm-internal.lisp @@ -879,6 +879,13 @@ XINERAMA version 1.1 opcode: 150 (push window acc)) acc)) +(defun get-all-frame-windows (&optional (root *root-frame*)) + "Return all frame windows in root and in its children" + (let ((acc nil)) + (with-all-frames (root frame) + (push (frame-window frame) acc)) + acc)) + (defun get-hidden-windows () "Return all hiddens windows" @@ -1568,9 +1575,11 @@ managed." "Windows present when clfswm starts up must be absorbed by clfswm." (setf *in-process-existing-windows* t) (let ((id-list nil) - (all-windows (get-all-windows))) + (all-windows (get-all-windows)) + (all-frame-windows (get-all-frame-windows))) (dolist (win (xlib:query-tree (xlib:screen-root screen))) - (unless (child-member win all-windows) + (unless (or (child-member win all-windows) + (child-member win all-frame-windows)) (let ((map-state (xlib:window-map-state win)) (wm-state (window-state win))) (unless (or (eql (xlib:window-override-redirect win) :on) diff --git a/src/clfswm-util.lisp b/src/clfswm-util.lisp index 841cbed..9e0b396 100644 --- a/src/clfswm-util.lisp +++ b/src/clfswm-util.lisp @@ -64,6 +64,15 @@ +;;;---------------------------- +;;; Lisp image part +;;;---------------------------- +(defun build-lisp-image (dump-name) + #+CLISP (ext:saveinitmem dump-name :init-function (lambda () (clfswm:main) (ext:quit)) :executable t :norc t) + #+SBCL (sb-ext:save-lisp-and-die dump-name :toplevel 'clfswm:main :executable t)) + + + (defun query-yes-or-no (formatter &rest args) (let ((rep (query-string (apply #'format nil formatter args) "" '("Yes" "No")))) (or (string= rep "") @@ -941,9 +950,9 @@ For window: set current child to window or its parent according to window-parent (dotimes (i 10) (setf (aref key-slots i) nil))) - (defun bind-on-slot (&optional (slot current-slot)) + (defun bind-on-slot (&optional (slot current-slot) child) "Bind current child to slot" - (setf (aref key-slots slot) (current-child))) + (setf (aref key-slots slot) (if child child (current-child)))) (defun remove-binding-on-slot () "Remove binding on slot" diff --git a/src/tools.lisp b/src/tools.lisp index d930362..04b0dc7 100644 --- a/src/tools.lisp +++ b/src/tools.lisp @@ -403,7 +403,6 @@ Return the result of the last hook" (force-output)) - (defun in-rectangle (x y rectangle) (and rectangle (<= (rectangle-x rectangle) x (+ (rectangle-x rectangle) (rectangle-width rectangle))) ----------------------------------------------------------------------- Summary of changes: doc/dot-clfswmrc | 13 +++++++ load.lisp | 87 ++++++++++++++++++++++++--------------------- src/clfswm-internal.lisp | 13 ++++++- src/clfswm-util.lisp | 13 ++++++- src/tools.lisp | 1 - 5 files changed, 81 insertions(+), 46 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sat Oct 20 21:33:44 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 20 Oct 2012 14:33:44 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-144-g3ebdf87 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 3ebdf875abd221d51de859405d4c848890b3dfc3 (commit) from c31ef42829758a1934eee6515e9ca32023e3b9f6 (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 3ebdf875abd221d51de859405d4c848890b3dfc3 Author: Philippe Brochard Date: Sat Oct 20 23:33:02 2012 +0200 Build executable image from load.lisp. diff --git a/README b/README index fae781a..dcf0ea4 100644 --- a/README +++ b/README @@ -53,7 +53,12 @@ it with cmucl regularly and I use it with clisp (you need the clx/xlib package). To use CLFSWM, load the load.lisp file. It loads the ASDF package, -build the system and start the main loop. +build the system and start the main loop. Then it dumps an executable +image. it may also install files for you in a standard directory +(/usr/local for example). + +Have a look at load.lisp for more details. You can also make a copy and +tweak it. Another way is to do something like this: $ cd /in/the/directory/of/clfswm/ diff --git a/doc/corner.html b/doc/corner.html index b3fa735..b9cc515 100644 --- a/doc/corner.html +++ b/doc/corner.html @@ -120,7 +120,7 @@ Bottom-Left: - --- + Start the file manager @@ -237,13 +237,15 @@

- This documentation was produced with the CLFSWM auto-doc functions. To reproduce it, use the produce-corner-doc-html-in-file or + +This documentation was produced with the CLFSWM auto-doc functions. To reproduce it, use the produce-corner-doc-html-in-file or the produce-all-docs function from the Lisp REPL.

- Something like this:
+ +Something like this:
LISP> (in-package :clfswm)
CLFSWM> (produce-corner-doc-html-in-file "my-corner.html")
or
CLFSWM> (produce-all-docs) diff --git a/doc/corner.txt b/doc/corner.txt index 553b9e2..2ff5964 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: --- + Bottom-Left: Start the file manager *Corner-Second-Mode-Left-Button*: Top-Left: --- diff --git a/doc/keys.html b/doc/keys.html index a5e4479..114df17 100644 --- a/doc/keys.html +++ b/doc/keys.html @@ -32,200 +32,200 @@ - Mod-1 + Control - F1 + Sunprint_screen - Open the help and info window + Open the screenshot window - Mod-1 Control Shift + - Home + Sunprint_screen - Exit clfswm + Take a screenshot - Mod-1 + - Right + Xf86audioplay - Select the next brother + Toggles Play/Pause, plays if stopped - Mod-1 + - Left + Xf86tools - Select the previous brother + Start gmpc - Mod-1 + - Down + Xf86mail - Select the previous level in frame + Run a file manager - Mod-1 + - Up + Xf86search - Select the next level in frame + Run a Web browser search - Mod-1 Control + - Left + Xf86favorites - Select spatially the nearest brother of the current child in the left direction + Run a Web Browser - Mod-1 Control + - Right + Xf86homepage - Select spatially the nearest brother of the current child in the right direction + Run Emacs - Mod-1 Control + Control - Up + Pause - Select spatially the nearest brother of the current child in the up direction + Open the Reboot/Halt menu - Mod-1 Control + Mod-4 - Down + A - Select spatially the nearest brother of the current child in the down direction + Move the pointer to the lower right corner of the screen - Mod-1 + Control Shift - Tab + 66 - Select the next child + Present all windows in all frames (An expose like) - Mod-1 Shift + Control - Tab + 66 - Select the previous child + Present all windows in currents roots (An expose like) - Mod-1 Control + - Tab + Control_r - Select the next subchild + Move the pointer to the lower right corner of the screen - Mod-1 + Control - Return + Twosuperior - Enter in the selected frame - ie make it the root frame + Start Apwal - Mod-1 Shift + - Return + Xf86audioraisevolume - Leave the selected frame - ie make its parent the root frame + Raise volume. - Mod-1 Control + - Return + Xf86audiolowervolume - Maximize/Unmaximize the current frame in its parent frame + Lower volume. - Mod-5 + - Return + Xf86audiomute - Maximize/Unmaximize the current frame in its parent frame + Toggle mute. - Mod-1 + - Page_up + Pause - Select the previous child in the current frame + Start a black screen @@ -233,32 +233,32 @@ Mod-1 - Page_down + Agrave - Select the next child in the current frame + Bind or jump to a slot (a frame or a window) - Mod-1 Control + Mod-1 - Page_up + F2 - Lower the child in the current frame + Open the Music Player Daemon (MPD) menu - Mod-1 Control + - Page_down + Twosuperior - Raise the child in the current frame + Move the pointer to the lower right corner of the screen @@ -266,21 +266,10 @@ Mod-1 - Home - - - Switch to the root frame - - - - - Mod-1 Shift - - - Home + Ampersand - Switch and select the root frame + Bind or jump to a slot (a frame or a window) @@ -288,76 +277,76 @@ Mod-1 - F10 + Eacute - Switch between two layouts + Bind or jump to a slot (a frame or a window) - Control Shift + Mod-1 - F10 + Quotedbl - Show/Hide the root frame + Bind or jump to a slot (a frame or a window) - + Mod-1 - F10 + Quoteright - Present all windows in currents roots (An expose like) + Bind or jump to a slot (a frame or a window) - Control + Mod-1 - F10 + Parenleft - Present all windows in all frames (An expose like) + Bind or jump to a slot (a frame or a window) - Control + Mod-1 - L2 + Minus - Hide/Unhide a terminal + Bind or jump to a slot (a frame or a window) - Shift + Mod-1 - L2 + Egrave - Show all frames info windows until a key is release + Bind or jump to a slot (a frame or a window) - Mod-1 Shift + Mod-1 - L2 + Underscore - Show all frames info windows + Bind or jump to a slot (a frame or a window) @@ -365,10 +354,10 @@ Mod-1 - B + Ccedilla - Move the pointer to the lower right corner of the screen + Bind or jump to a slot (a frame or a window) @@ -376,10 +365,10 @@ Control - Escape + Less - Close or kill the current window (ask before doing anything) + Switch to editing mode (second mode) @@ -398,10 +387,10 @@ Control - Less + Escape - Switch to editing mode (second mode) + Close or kill the current window (ask before doing anything) @@ -409,76 +398,76 @@ Mod-1 - 1 + B - Bind or jump to a slot (a frame or a window) + Move the pointer to the lower right corner of the screen - Mod-1 + Mod-1 Shift - 2 + L2 - Bind or jump to a slot (a frame or a window) + Show all frames info windows - Mod-1 + Shift - 3 + L2 - Bind or jump to a slot (a frame or a window) + Show all frames info windows until a key is release - Mod-1 + Control - 4 + L2 - Bind or jump to a slot (a frame or a window) + Hide/Unhide a terminal - Mod-1 + Control - 5 + F10 - Bind or jump to a slot (a frame or a window) + Present all windows in all frames (An expose like) - Mod-1 + - 6 + F10 - Bind or jump to a slot (a frame or a window) + Present all windows in currents roots (An expose like) - Mod-1 + Control Shift - 7 + F10 - Bind or jump to a slot (a frame or a window) + Show/Hide the root frame @@ -486,21 +475,21 @@ Mod-1 - 8 + F10 - Bind or jump to a slot (a frame or a window) + Switch between two layouts - Mod-1 + Mod-1 Shift - 9 + Home - Bind or jump to a slot (a frame or a window) + Switch and select the root frame @@ -508,63 +497,43 @@ Mod-1 - 0 + Home - Bind or jump to a slot (a frame or a window) + Switch to the root frame - -

- - Mouse buttons actions in main mode - -

- - - - - - @@ -572,32 +541,32 @@ Or do actions on corners Mod-1 @@ -605,21 +574,424 @@ Or do actions on corners Mod-1 Shift + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
- Modifiers - - Key/Button - - Function -
- + Mod-1 Control - 1 + Page_down - Move and focus the current frame or focus the current window parent. -Or do actions on corners + Raise the child in the current frame
- + Mod-1 Control - 2 + Page_up - Do actions on corners + Lower the child in the current frame
- + Mod-1 - 3 + Page_down - Resize and focus the current frame or focus the current window parent. -Or do actions on corners + Select the next child in the current frame
- 1 + Page_up - Move and focus the current child - Create a new frame on the root window + Select the previous child in the current frame
- Mod-1 + Mod-5 - 3 + Return - Resize and focus the current child - Create a new frame on the root window + Maximize/Unmaximize the current frame in its parent frame
- Mod-1 Shift + Mod-1 Control - 1 + Return - Move (constrained by other frames) and focus the current child - Create a new frame on the root window + Maximize/Unmaximize the current frame in its parent frame
- 3 + Return - Resize (constrained by other frames) and focus the current child - Create a new frame on the root window + Leave the selected frame - ie make its parent the root frame
- Mod-1 Control + Mod-1 + + Return + + Enter in the selected frame - ie make it the root frame +
+ Mod-1 Control + + Tab + + Select the next subchild +
+ Mod-1 Shift + + Tab + + Select the previous child +
+ Mod-1 + + Tab + + Select the next child +
+ Mod-1 Control + + Down + + Select spatially the nearest brother of the current child in the down direction +
+ Mod-1 Control + + Up + + Select spatially the nearest brother of the current child in the up direction +
+ Mod-1 Control + + Right + + Select spatially the nearest brother of the current child in the right direction +
+ Mod-1 Control + + Left + + Select spatially the nearest brother of the current child in the left direction +
+ Mod-1 + + Up + + Select the next level in frame +
+ Mod-1 + + Down + + Select the previous level in frame +
+ Mod-1 + + Left + + Select the previous brother +
+ Mod-1 + + Right + + Select the next brother +
+ Mod-1 Control Shift + + Home + + Exit clfswm +
+ Mod-1 + + F1 + + Open the help and info window +
+

+ + Mouse buttons actions in main mode + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Modifiers + + Key/Button + + Function +
+ Mod-1 Control Shift + + 5 + + Increment slowly the child under mouse transparency +
+ Mod-1 Control Shift + + 4 + + Decrement slowly the child under mouse transparency +
+ Mod-1 Control + + 5 + + Increment the child under mouse transparency +
+ Mod-1 Control + + 4 + + Decrement the child under mouse transparency +
+ Mod-1 + + 5 + + Leave the selected frame - ie make its parent the root frame +
+ Mod-1 + + 4 + + Enter in the selected frame - ie make it the root frame +
+ + + 5 + + Select the previous level in frame +
+ + + 4 + + Select the next level in frame +
+ Mod-1 Control 1 - Move the child under the mouse cursor to another frame + Move the child under the mouse cursor to another frame +
+ Mod-1 Shift + + 3 + + Resize (constrained by other frames) and focus the current child - Create a new frame on the root window +
+ Mod-1 Shift + + 1 + + Move (constrained by other frames) and focus the current child - Create a new frame on the root window +
+ Mod-1 + + 3 + + Resize and focus the current child - Create a new frame on the root window +
+ Mod-1 + + 1 + + Move and focus the current child - Create a new frame on the root window +
+ + + 3 + + +Resize and focus the current frame or focus the current window parent. +Or do actions on corners +
+ + + 2 + + Do actions on corners +
+ + + 1 + + +Move and focus the current frame or focus the current window parent. +Or do actions on corners +
+

+ + Second mode keys + +

+ + + + + + + + + + + + + + + + + + + + + + + + + @@ -627,127 +999,120 @@ Or do actions on corners -
+ Modifiers + + Key/Button + + Function +
+ + + 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
- 4 + S - Select the next level in frame + start the web browser on the search page
- + Shift - 5 + Z - Select the previous level in frame + start the Konqueror web browser
- Mod-1 + - 4 + Z - Enter in the selected frame - ie make it the root frame + start the web browser
- Mod-1 + - 5 + Space - Leave the selected frame - ie make its parent the root frame + start the file manager
- Mod-1 Control + - 4 + Greater - Decrement the child under mouse transparency + Raise 1% volume.
- Mod-1 Control + - 5 + Xf86audioraisevolume - Increment the child under mouse transparency + Raise volume.
- Mod-1 Control Shift + - 4 + Xf86audiolowervolume - Decrement slowly the child under mouse transparency + Lower volume.
- Mod-1 Control Shift + - 5 + Xf86audiomute - Increment slowly the child under mouse transparency + Toggle mute.
-

- - Second mode keys - -

- - - - + + + @@ -755,142 +1120,142 @@ Or do actions on corners @@ -898,43 +1263,43 @@ Or do actions on corners @@ -942,76 +1307,76 @@ Or do actions on corners @@ -1019,54 +1384,54 @@ Or do actions on corners Mod-1 Control @@ -1074,32 +1439,32 @@ Or do actions on corners @@ -1107,10 +1472,10 @@ Or do actions on corners @@ -1118,32 +1483,32 @@ Or do actions on corners Control @@ -1151,76 +1516,76 @@ Or do actions on corners @@ -1228,21 +1593,21 @@ Or do actions on corners Mod-1 Shift @@ -1258,13 +1623,13 @@ Or do actions on corners @@ -1272,76 +1637,76 @@ Or do actions on corners Mod-1 Shift @@ -1349,32 +1714,32 @@ Or do actions on corners @@ -1382,10 +1747,10 @@ Or do actions on corners Control @@ -1393,32 +1758,32 @@ Or do actions on corners @@ -1426,54 +1791,54 @@ Or do actions on corners @@ -1481,76 +1846,76 @@ Or do actions on corners Mod-1 Control @@ -1558,43 +1923,43 @@ Or do actions on corners @@ -1602,175 +1967,175 @@ Or do actions on corners
- Modifiers - - Key/Button - - Function - + Mod-1 + + Agrave + + Bind or jump to a slot (a frame or a window) +
- Mod-1 + Control - F1 + T - Open the help and info window + Decrement the current window transparency
- + Control Shift - M + T - Open the main menu + Increment the current window transparency
- Less + Twosuperior - Open the main menu + Move the pointer to the lower right corner of the screen
- Control + Mod-1 - Less + Ampersand - Open the main menu + Bind or jump to a slot (a frame or a window)
- + Mod-1 - F + Eacute - Open the frame menu + Bind or jump to a slot (a frame or a window)
- + Mod-1 - W + Quotedbl - Open the window menu + Bind or jump to a slot (a frame or a window)
- + Mod-1 - N + Quoteright - Open the action by name menu + Bind or jump to a slot (a frame or a window)
- + Mod-1 - U + Parenleft - Open the action by number menu + Bind or jump to a slot (a frame or a window)
- + Mod-1 - P + Minus - Open the frame pack/fill/resize menu + Bind or jump to a slot (a frame or a window)
- + Mod-1 - R + Egrave - Open the root menu + Bind or jump to a slot (a frame or a window)
- + Mod-1 - C + Underscore - Open the child menu + Bind or jump to a slot (a frame or a window)
- + Mod-1 - X + Ccedilla - Update layout managed children position + Bind or jump to a slot (a frame or a window)
- Control + Mod-1 Shift - G + L2 - Stop all pending actions + Show all frames info windows
- + Shift - Q + L2 - Close focus window: Delete the focus window in all frames and workspaces + Show all frames info windows until a key is release
- + Control - K + F10 - Close or kill the current window (ask before doing anything) + Present all windows in all frames (An expose like)
- I + F10 - Identify a key + Present all windows in currents roots (An expose like)
- + Control Shift - Colon + F10 - Eval a lisp form from the query input + Show/Hide the root frame
- + Mod-1 - Exclam + F10 - Run a program from the query input + Switch between two layouts
- + Control - Return + E - Leave second mode + start an emacs for another user
- Escape + E - Leave second mode + start emacs
- Shift + T - Tile the current frame + start an xterm
- Mod-1 Control Shift + - Home + Delete - Exit clfswm + Delete the current child and its children in all frames
- Mod-1 + Control - Right + Delete - Select the next brother + Remove the current child from its parent frame
- Mod-1 + Control Shift - Left + V - Select the previous brother + Paste the selection in the current frame - Do not clear the selection after paste
- Mod-1 + Control - Down + V - Select the previous level in frame + Paste the selection in the current frame
- Mod-1 + Control - Up + C - Select the next level in frame + Copy the current child to the selection
- Left + X - Select spatially the nearest brother of the current child in the left direction + Clear the current selection
- Mod-1 Control + Control - Right + X - Select spatially the nearest brother of the current child in the right direction + Cut the current child to the selection
- Mod-1 Control + Control - Up + Escape - Select spatially the nearest brother of the current child in the up direction + Close or kill the current window (ask before doing anything)
- Mod-1 Control + Control - Down + Minus - Select spatially the nearest brother of the current child in the down direction + Decrease slowly the tile layout size
- + Control - J + Plus - Swap current brother frame geometry + Increase slowly the tile layout size
- H + Minus - Rotate brother frame geometry + Decrease the tile layout size
- Shift + - H + Plus - Anti rotate brother frame geometry + Increase the tile layout size
- + Control - Page_up + A - Select the next root + Add a frame in the parent frame (and reorganize parent frame)
- Page_down + A - Select the previous root + Add a default frame in the current frame
- Page_up + O - Rotate root geometry to next root + Open the next window in a new frame in the root frame
- Control + - Page_down + O - Rotate root geometry to previous root + Open the next window in a new frame in the parent frame
- + Mod-1 - Right + B - Speed move mouse to right + Move the pointer to the lower right corner of the screen
- Left + Menu - Speed move mouse to left + Show/Hide the root frame
- + Mod-1 Shift - Down + Home - Speed move mouse to down + Switch and select the root frame
- + Mod-1 - Up + Home - Speed move mouse to up + Switch to the root frame
- Control + Mod-1 - Left + Page_down - Undo last speed mouse move + Raise the child in the current frame
- Control + Mod-1 - Up + Page_up - Revert to the first speed move mouse + Lower the child in the current frame
- Control + Mod-5 - Down + Return - Reset speed mouse coordinates + Maximize/Unmaximize the current frame in its parent frame
- Mod-1 + Mod-1 Control - Tab + Return - Select the next child + Maximize/Unmaximize the current frame in its parent frame
- Tab + Return - Select the previous child + Leave the selected frame - ie make its parent the root frame
- Mod-1 Control + Mod-1 - Tab + Return - Select the next subchild + Enter in the selected frame - ie make it the root frame
- Mod-1 + Mod-1 Control - Return + Tab - Enter in the selected frame - ie make it the root frame + Select the next subchild
- Return + Tab - Leave the selected frame - ie make its parent the root frame + Select the previous child
- Mod-1 Control + Mod-1 - Return + Tab - Maximize/Unmaximize the current frame in its parent frame + Select the next child
- Mod-5 + Control - Return + Down - Maximize/Unmaximize the current frame in its parent frame + Reset speed mouse coordinates
- Mod-1 + Control - Page_up + Up - Lower the child in the current frame + Revert to the first speed move mouse
- Mod-1 + Control - Page_down + Left - Raise the child in the current frame + Undo last speed mouse move
- Mod-1 + - Home + Up - Switch to the root frame + Speed move mouse to up
- Mod-1 Shift + - Home + Down - Switch and select the root frame + Speed move mouse to down
- Menu + Left - Show/Hide the root frame + Speed move mouse to left
- Mod-1 + - B + Right - Move the pointer to the lower right corner of the screen + Speed move mouse to right
- + Control - O + Page_down - Open the next window in a new frame in the parent frame + Rotate root geometry to previous root
- O + Page_up - Open the next window in a new frame in the root frame + Rotate root geometry to next root
- A + Page_down - Add a default frame in the current frame + Select the previous root
- Control + - A + Page_up - Add a frame in the parent frame (and reorganize parent frame) + Select the next root
- + Shift - Plus + H - Increase the tile layout size + Anti rotate brother frame geometry
- Minus + H - Decrease the tile layout size + Rotate brother frame geometry
- Control + - Plus + J - Increase slowly the tile layout size + Swap current brother frame geometry
- Control + Mod-1 Control - Minus + Down - Decrease slowly the tile layout size + Select spatially the nearest brother of the current child in the down direction
- Control + Mod-1 Control - Escape + Up - Close or kill the current window (ask before doing anything) + Select spatially the nearest brother of the current child in the up direction
- Control + Mod-1 Control - X + Right - Cut the current child to the selection + Select spatially the nearest brother of the current child in the right direction
- X + Left - Clear the current selection + Select spatially the nearest brother of the current child in the left direction
- Control + Mod-1 - C + Up - Copy the current child to the selection + Select the next level in frame
- Control + Mod-1 - V + Down - Paste the selection in the current frame + Select the previous level in frame
- Control Shift + Mod-1 - V + Left - Paste the selection in the current frame - Do not clear the selection after paste + Select the previous brother
- Control + Mod-1 - Delete + Right - Remove the current child from its parent frame + Select the next brother
- + Mod-1 Control Shift - Delete + Home - Delete the current child and its children in all frames + Exit clfswm
- + Shift T - start an xterm + Tile the current frame
- E + Escape - start emacs + Leave second mode
- Control + - E + Return - start an emacs for another user + Leave second mode
- Mod-1 + - F10 + Exclam - Switch between two layouts + Run a program from the query input
- Control Shift + - F10 + Colon - Show/Hide the root frame + Eval a lisp form from the query input
- F10 + I - Present all windows in currents roots (An expose like) + Identify a key
- Control + - F10 + K - Present all windows in all frames (An expose like) + Close or kill the current window (ask before doing anything)
- Shift + - L2 + Q - Show all frames info windows until a key is release + Close focus window: Delete the focus window in all frames and workspaces
- Mod-1 Shift + Control - L2 + G - Show all frames info windows + Stop all pending actions
- Mod-1 + - 1 + X - Bind or jump to a slot (a frame or a window) + Update layout managed children position
- Mod-1 + - 2 + C - Bind or jump to a slot (a frame or a window) + Open the child menu
- Mod-1 + - 3 + R - Bind or jump to a slot (a frame or a window) + Open the root menu
- Mod-1 + - 4 + P - Bind or jump to a slot (a frame or a window) + Open the frame movement menu (pack/fill/resize)
- Mod-1 + - 5 + U - Bind or jump to a slot (a frame or a window) + Open the action by number menu
- Mod-1 + - 6 + N - Bind or jump to a slot (a frame or a window) + Open the action by name menu
- Mod-1 + - 7 + W - Bind or jump to a slot (a frame or a window) + Open the window menu
- Mod-1 + - 8 + F - Bind or jump to a slot (a frame or a window) + Open the frame menu
- Mod-1 + Control - 9 + Less - Bind or jump to a slot (a frame or a window) + Open the main menu
- Mod-1 + - 0 + Less - Bind or jump to a slot (a frame or a window) + Lower 1% volume.
- Control Shift + - T + M - Increment the current window transparency + Open the main menu
- Control + Mod-1 - T + F1 - Decrement the current window transparency + Open the help and info window
@@ -1793,25 +2158,24 @@ Or do actions on corners - + Mod-1 - 1 + 5 - Move and focus the current child - Create a new frame on the root window. -Or do corners actions + Leave the selected frame - ie make its parent the root frame - + Mod-1 - 2 + 4 - Do actions on corners + Enter in the selected frame - ie make it the root frame @@ -1819,33 +2183,32 @@ Or do corners actions - 3 + 5 - Resize and focus the current child - Create a new frame on the root window. -Or do corners actions + Select the previous level in frame - Mod-1 + - 1 + 4 - Move and focus the current child - Create a new frame on the root window + Select the next level in frame - Mod-1 + Mod-1 Control - 3 + 1 - Resize and focus the current child - Create a new frame on the root window + Move the child under the mouse cursor to another frame @@ -1853,10 +2216,10 @@ Or do corners actions Mod-1 Shift - 1 + 3 - Move (constrained by other frames) and focus the current child - Create a new frame on the root window + Resize (constrained by other frames) and focus the current child - Create a new frame on the root window @@ -1864,32 +2227,32 @@ Or do corners actions Mod-1 Shift - 3 + 1 - Resize (constrained by other frames) and focus the current child - Create a new frame on the root window + Move (constrained by other frames) and focus the current child - Create a new frame on the root window - Mod-1 Control + Mod-1 - 1 + 3 - Move the child under the mouse cursor to another frame + Resize and focus the current child - Create a new frame on the root window - + Mod-1 - 4 + 1 - Select the next level in frame + Move and focus the current child - Create a new frame on the root window @@ -1897,32 +2260,36 @@ Or do corners actions - 5 + 3 - Select the previous level in frame + +Resize and focus the current child - Create a new frame on the root window. +Or do corners actions - Mod-1 + - 4 + 2 - Enter in the selected frame - ie make it the root frame + Do actions on corners - Mod-1 + - 5 + 1 - Leave the selected frame - ie make its parent the root frame + +Move and focus the current child - Create a new frame on the root window. +Or do corners actions @@ -1948,10 +2315,10 @@ Or do corners actions - Q + Page_up - Leave the info mode + Move ten lines up @@ -1959,10 +2326,10 @@ Or do corners actions - Return + Page_down - Leave the info mode and valid the selected item + Move ten lines down @@ -1970,10 +2337,10 @@ Or do corners actions - Space + End - Leave the info mode and valid the selected item + Move to last line @@ -1981,21 +2348,21 @@ Or do corners actions - Escape + Home - Leave the info mode + Move to first line - Control + - G + Right - Leave the info mode + Move one char right @@ -2003,10 +2370,10 @@ Or do corners actions - Twosuperior + Left - Move the pointer to the lower right corner of the screen + Move one char left @@ -2014,10 +2381,10 @@ Or do corners actions - Down + Up - Move one line down + Move one line up @@ -2025,10 +2392,10 @@ Or do corners actions - Up + Down - Move one line up + Move one line down @@ -2036,21 +2403,21 @@ Or do corners actions - Left + Twosuperior - Move one char left + Move the pointer to the lower right corner of the screen - + Control - Right + G - Move one char right + Leave the info mode @@ -2058,10 +2425,10 @@ Or do corners actions - Home + Escape - Move to first line + Leave the info mode @@ -2069,10 +2436,10 @@ Or do corners actions - End + Space - Move to last line + Leave the info mode and valid the selected item @@ -2080,10 +2447,10 @@ Or do corners actions - Page_down + Return - Move ten lines down + Leave the info mode and valid the selected item @@ -2091,10 +2458,10 @@ Or do corners actions - Page_up + Q - Move ten lines up + Leave the info mode @@ -2120,7 +2487,7 @@ Or do corners actions - 1 + Motion @@ -2132,10 +2499,10 @@ Or do corners actions - 2 + 5 - Leave the info mode + Move one line down @@ -2143,10 +2510,10 @@ Or do corners actions - 3 + 4 - Leave the info mode + Move one line up @@ -2154,10 +2521,10 @@ Or do corners actions - 4 + 3 - Move one line up + Leave the info mode @@ -2165,10 +2532,10 @@ Or do corners actions - 5 + 2 - Move one line down + Leave the info mode @@ -2176,7 +2543,7 @@ Or do corners actions - Motion + 1 @@ -2203,112 +2570,112 @@ Or do corners actions - + Mod-1 - Escape + Left - Leave the circulate mode + Select the previous borther - Control + Mod-1 - G + Right - Leave the circulate mode + Select the next brother - Mod-1 + Mod-1 Shift - Escape + Iso_left_tab - Leave the circulate mode + Select the previous child - Mod-1 Control + Mod-1 Shift - G + Tab - Leave the circulate mode + Select the previous child - Mod-1 + Mod-1 Control Tab - Select the next child + Select the next subchild - Mod-1 Control + Mod-1 Tab - Select the next subchild + Select the next child - Mod-1 Shift + Mod-1 Control - Tab + G - Select the previous child + Leave the circulate mode - Mod-1 Shift + Mod-1 - Iso_left_tab + Escape - Select the previous child + Leave the circulate mode - Mod-1 + Control - Right + G - Select the next brother + Leave the circulate mode - Mod-1 + - Left + Escape - Select the previous borther + Leave the circulate mode @@ -2350,13 +2717,15 @@ Or do corners actions

- This documentation was produced with the CLFSWM auto-doc functions. To reproduce it, use the produce-doc-html-in-file or + +This documentation was produced with the CLFSWM auto-doc functions. To reproduce it, use the produce-doc-html-in-file or the produce-all-docs function from the Lisp REPL.

- Something like this:
+ +Something like this:
LISP> (in-package :clfswm)
CLFSWM> (produce-doc-html-in-file "my-keys.html")
or
CLFSWM> (produce-all-docs) diff --git a/doc/keys.txt b/doc/keys.txt index 7f4017a..b68a8d5 100644 --- a/doc/keys.txt +++ b/doc/keys.txt @@ -6,237 +6,274 @@ Note: Mod-1 is the Meta or Alt key Main mode keys: -------------- - Mod-1 F1 Open the help and info window - Mod-1 Control Shift Home Exit clfswm - Mod-1 Right Select the next brother - Mod-1 Left Select the previous brother - Mod-1 Down Select the previous level in frame - Mod-1 Up Select the next level in frame - Mod-1 Control Left Select spatially the nearest brother of the current child in the left direction - Mod-1 Control Right Select spatially the nearest brother of the current child in the right direction - Mod-1 Control Up Select spatially the nearest brother of the current child in the up direction - Mod-1 Control Down Select spatially the nearest brother of the current child in the down direction - Mod-1 Tab Select the next child - Mod-1 Shift Tab Select the previous child - Mod-1 Control Tab Select the next subchild - Mod-1 Return Enter in the selected frame - ie make it the root frame - Mod-1 Shift Return Leave the selected frame - ie make its parent the root frame - Mod-1 Control Return Maximize/Unmaximize the current frame in its parent frame - Mod-5 Return Maximize/Unmaximize the current frame in its parent frame - Mod-1 Page_up Select the previous child in the current frame - Mod-1 Page_down Select the next child in the current frame - Mod-1 Control Page_up Lower the child in the current frame - Mod-1 Control Page_down Raise the child in the current frame - Mod-1 Home Switch to the root frame - Mod-1 Shift Home Switch and select the root frame - Mod-1 F10 Switch between two layouts - Control Shift F10 Show/Hide the root frame - F10 Present all windows in currents roots (An expose like) - Control F10 Present all windows in all frames (An expose like) - Control L2 Hide/Unhide a terminal - Shift L2 Show all frames info windows until a key is release - Mod-1 Shift L2 Show all frames info windows - Mod-1 B Move the pointer to the lower right corner of the screen - Control Escape Close or kill the current window (ask before doing anything) - Mod-1 T Switch to editing mode (second mode) + 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) Control Less Switch to editing mode (second mode) - Mod-1 1 Bind or jump to a slot (a frame or a window) - Mod-1 2 Bind or jump to a slot (a frame or a window) - Mod-1 3 Bind or jump to a slot (a frame or a window) - Mod-1 4 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 6 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 8 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 0 Bind or jump to a slot (a frame or a window) + Mod-1 T Switch to editing mode (second mode) + Control Escape Close or kill the current window (ask before doing anything) + Mod-1 B Move the pointer to the lower right corner of the screen + Mod-1 Shift L2 Show all frames info windows + Shift L2 Show all frames info windows until a key is release + Control L2 Hide/Unhide a terminal + Control F10 Present all windows in all frames (An expose like) + F10 Present all windows in currents roots (An expose like) + Control Shift F10 Show/Hide the root frame + Mod-1 F10 Switch between two layouts + Mod-1 Shift Home Switch and select the root frame + Mod-1 Home Switch to the root frame + Mod-1 Control Page_down Raise the child in the current frame + Mod-1 Control Page_up Lower the child in the current frame + Mod-1 Page_down Select the next child in the current frame + Mod-1 Page_up Select the previous child in the current frame + Mod-5 Return Maximize/Unmaximize the current frame in its parent frame + Mod-1 Control Return Maximize/Unmaximize the current frame in its parent frame + Mod-1 Shift Return Leave the selected frame - ie make its parent the root frame + Mod-1 Return Enter in the selected frame - ie make it the root frame + Mod-1 Control Tab Select the next subchild + Mod-1 Shift Tab Select the previous child + Mod-1 Tab Select the next child + Mod-1 Control Down Select spatially the nearest brother of the current child in the down direction + Mod-1 Control Up Select spatially the nearest brother of the current child in the up direction + Mod-1 Control Right Select spatially the nearest brother of the current child in the right direction + Mod-1 Control Left Select spatially the nearest brother of the current child in the left direction + Mod-1 Up Select the next level in frame + Mod-1 Down Select the previous level in frame + Mod-1 Left Select the previous brother + Mod-1 Right Select the next brother + Mod-1 Control Shift Home Exit clfswm + Mod-1 F1 Open the help and info window Mouse buttons actions in main mode: ---------------------------------- - 1 Move and focus the current frame or focus the current window parent. + Mod-1 Control Shift 5 Increment slowly the child under mouse transparency + Mod-1 Control Shift 4 Decrement slowly the child under mouse transparency + Mod-1 Control 5 Increment the child under mouse transparency + Mod-1 Control 4 Decrement the child under mouse transparency + Mod-1 5 Leave the selected frame - ie make its parent the root frame + Mod-1 4 Enter in the selected frame - ie make it the root frame + 5 Select the previous level in frame + 4 Select the next level in frame + Mod-1 Control 1 Move the child under the mouse cursor to another frame + Mod-1 Shift 3 Resize (constrained by other frames) and focus the current child - Create a new frame on the root window + Mod-1 Shift 1 Move (constrained by other frames) and focus the current child - Create a new frame on the root window + Mod-1 3 Resize and focus the current child - Create a new frame on the root window + Mod-1 1 Move and focus the current child - Create a new frame on the root window + 3 +Resize and focus the current frame or focus the current window parent. Or do actions on corners 2 Do actions on corners - 3 Resize and focus the current frame or focus the current window parent. + 1 +Move and focus the current frame or focus the current window parent. Or do actions on corners - Mod-1 1 Move and focus the current child - Create a new frame on the root window - Mod-1 3 Resize and focus the current child - Create a new frame on the root window - Mod-1 Shift 1 Move (constrained by other frames) and focus the current child - Create a new frame on the root window - Mod-1 Shift 3 Resize (constrained by other frames) and focus the current child - Create a new frame on the root window - Mod-1 Control 1 Move the child under the mouse cursor to another frame - 4 Select the next level in frame - 5 Select the previous level in frame - Mod-1 4 Enter in the selected frame - ie make it the root frame - Mod-1 5 Leave the selected frame - ie make its parent the root frame - Mod-1 Control 4 Decrement the child under mouse transparency - Mod-1 Control 5 Increment the child under mouse transparency - Mod-1 Control Shift 4 Decrement slowly the child under mouse transparency - Mod-1 Control Shift 5 Increment slowly the child under mouse transparency Second mode keys: ---------------- - Mod-1 F1 Open the help and info window - M Open the main menu - Less Open the main menu - Control Less Open the main menu - F Open the frame menu - W Open the window menu - N Open the action by name menu - U Open the action by number menu - P Open the frame pack/fill/resize menu - R Open the root menu - C Open the child menu - X Update layout managed children position - Control G Stop all pending actions - Q Close focus window: Delete the focus window in all frames and workspaces - K Close or kill the current window (ask before doing anything) - I Identify a key - Colon Eval a lisp form from the query input - Exclam Run a program from the query input - Return Leave second mode - Escape Leave second mode - Shift T Tile the current frame - Mod-1 Control Shift Home Exit clfswm - Mod-1 Right Select the next brother - Mod-1 Left Select the previous brother - Mod-1 Down Select the previous level in frame - Mod-1 Up Select the next level in frame - Mod-1 Control Left Select spatially the nearest brother of the current child in the left direction - Mod-1 Control Right Select spatially the nearest brother of the current child in the right direction - Mod-1 Control Up Select spatially the nearest brother of the current child in the up direction - Mod-1 Control Down Select spatially the nearest brother of the current child in the down direction - J Swap current brother frame geometry - H Rotate brother frame geometry - Shift H Anti rotate brother frame geometry - Page_up Select the next root - Page_down Select the previous root - Control Page_up Rotate root geometry to next root - Control Page_down Rotate root geometry to previous root - Right Speed move mouse to right - Left Speed move mouse to left - Down Speed move mouse to down - Up Speed move mouse to up - Control Left Undo last speed mouse move - Control Up Revert to the first speed move mouse - Control Down Reset speed mouse coordinates - Mod-1 Tab Select the next child - Mod-1 Shift Tab Select the previous child - Mod-1 Control Tab Select the next subchild - Tab Store the current child and switch to the previous one - Mod-1 Return Enter in the selected frame - ie make it the root frame - Mod-1 Shift Return Leave the selected frame - ie make its parent the root frame - Mod-1 Control Return Maximize/Unmaximize the current frame in its parent frame - Mod-5 Return Maximize/Unmaximize the current frame in its parent frame - Mod-1 Page_up Lower the child in the current frame - Mod-1 Page_down Raise the child in the current frame - Mod-1 Home Switch to the root frame - Mod-1 Shift Home Switch and select the root frame - Menu Show/Hide the root frame - Mod-1 B Move the pointer to the lower right corner of the screen - O Open the next window in a new frame in the parent frame - Control O Open the next window in a new frame in the root frame - A Add a default frame in the current frame - Control A Add a frame in the parent frame (and reorganize parent frame) - Plus Increase the tile layout size - Minus Decrease the tile layout size - Control Plus Increase slowly the tile layout size - Control Minus Decrease slowly the tile layout size - Control Escape Close or kill the current window (ask before doing anything) - Control X Cut the current child to the selection - Mod-1 Control X Clear the current selection - Control C Copy the current child to the selection - Control V Paste the selection in the current frame - Control Shift V Paste the selection in the current frame - Do not clear the selection after paste - Control Delete Remove the current child from its parent frame - Delete Delete the current child and its children in all frames - T start an xterm - E start emacs - Control E start an emacs for another user - Mod-1 F10 Switch between two layouts - Control Shift F10 Show/Hide the root frame - F10 Present all windows in currents roots (An expose like) - Control F10 Present all windows in all frames (An expose like) - Shift L2 Show all frames info windows until a key is release - Mod-1 Shift L2 Show all frames info windows - Mod-1 1 Bind or jump to a slot (a frame or a window) - Mod-1 2 Bind or jump to a slot (a frame or a window) - Mod-1 3 Bind or jump to a slot (a frame or a window) - Mod-1 4 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 6 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 8 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 0 Bind or jump to a slot (a frame or a window) - Control Shift T Increment the current window transparency + 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 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) + F10 Present all windows in currents roots (An expose like) + Control Shift F10 Show/Hide the root frame + Mod-1 F10 Switch between two layouts + Control E start an emacs for another user + E start emacs + T start an xterm + Delete Delete the current child and its children in all frames + Control Delete Remove the current child from its parent frame + Control Shift V Paste the selection in the current frame - Do not clear the selection after paste + Control V Paste the selection in the current frame + Control C Copy the current child to the selection + Mod-1 Control X Clear the current selection + Control X Cut the current child to the selection + Control Escape Close or kill the current window (ask before doing anything) + Control Minus Decrease slowly the tile layout size + Control Plus Increase slowly the tile layout size + Minus Decrease the tile layout size + Plus Increase the tile layout size + Control A Add a frame in the parent frame (and reorganize parent frame) + A Add a default frame in the current frame + Control O Open the next window in a new frame in the root frame + O Open the next window in a new frame in the parent frame + Mod-1 B Move the pointer to the lower right corner of the screen + Menu Show/Hide the root frame + Mod-1 Shift Home Switch and select the root frame + Mod-1 Home Switch to the root frame + Mod-1 Page_down Raise the child in the current frame + Mod-1 Page_up Lower the child in the current frame + Mod-5 Return Maximize/Unmaximize the current frame in its parent frame + Mod-1 Control Return Maximize/Unmaximize the current frame in its parent frame + Mod-1 Shift Return Leave the selected frame - ie make its parent the root frame + Mod-1 Return Enter in the selected frame - ie make it the root frame + Tab Store the current child and switch to the previous one + Mod-1 Control Tab Select the next subchild + Mod-1 Shift Tab Select the previous child + Mod-1 Tab Select the next child + Control Down Reset speed mouse coordinates + Control Up Revert to the first speed move mouse + Control Left Undo last speed mouse move + Up Speed move mouse to up + Down Speed move mouse to down + Left Speed move mouse to left + Right Speed move mouse to right + Control Page_down Rotate root geometry to previous root + Control Page_up Rotate root geometry to next root + Page_down Select the previous root + Page_up Select the next root + Shift H Anti rotate brother frame geometry + H Rotate brother frame geometry + J Swap current brother frame geometry + Mod-1 Control Down Select spatially the nearest brother of the current child in the down direction + Mod-1 Control Up Select spatially the nearest brother of the current child in the up direction + Mod-1 Control Right Select spatially the nearest brother of the current child in the right direction + Mod-1 Control Left Select spatially the nearest brother of the current child in the left direction + Mod-1 Up Select the next level in frame + Mod-1 Down Select the previous level in frame + Mod-1 Left Select the previous brother + Mod-1 Right Select the next brother + Mod-1 Control Shift Home Exit clfswm + Shift T Tile the current frame + Escape Leave second mode + Return Leave second mode + Exclam Run a program from the query input + Colon Eval a lisp form from the query input + I Identify a key + K Close or kill the current window (ask before doing anything) + Q Close focus window: Delete the focus window in all frames and workspaces + Control G Stop all pending actions + X Update layout managed children position + C Open the child menu + R Open the root menu + P Open the frame movement menu (pack/fill/resize) + U Open the action by number menu + N Open the action by name menu + W Open the window menu + F Open the frame menu + Control Less Open the main menu + Less Lower 1% volume. + M Open the main menu + Mod-1 F1 Open the help and info window Mouse buttons actions in second mode: ------------------------------------ - 1 Move and focus the current child - Create a new frame on the root window. + Mod-1 5 Leave the selected frame - ie make its parent the root frame + Mod-1 4 Enter in the selected frame - ie make it the root frame + 5 Select the previous level in frame + 4 Select the next level in frame + Mod-1 Control 1 Move the child under the mouse cursor to another frame + Mod-1 Shift 3 Resize (constrained by other frames) and focus the current child - Create a new frame on the root window + Mod-1 Shift 1 Move (constrained by other frames) and focus the current child - Create a new frame on the root window + Mod-1 3 Resize and focus the current child - Create a new frame on the root window + Mod-1 1 Move and focus the current child - Create a new frame on the root window + 3 +Resize and focus the current child - Create a new frame on the root window. Or do corners actions 2 Do actions on corners - 3 Resize and focus the current child - Create a new frame on the root window. + 1 +Move and focus the current child - Create a new frame on the root window. Or do corners actions - Mod-1 1 Move and focus the current child - Create a new frame on the root window - Mod-1 3 Resize and focus the current child - Create a new frame on the root window - Mod-1 Shift 1 Move (constrained by other frames) and focus the current child - Create a new frame on the root window - Mod-1 Shift 3 Resize (constrained by other frames) and focus the current child - Create a new frame on the root window - Mod-1 Control 1 Move the child under the mouse cursor to another frame - 4 Select the next level in frame - 5 Select the previous level in frame - Mod-1 4 Enter in the selected frame - ie make it the root frame - Mod-1 5 Leave the selected frame - ie make its parent the root frame Info mode keys: -------------- - Q Leave the info mode - Return Leave the info mode and valid the selected item - Space Leave the info mode and valid the selected item - Escape Leave the info mode - Control G Leave the info mode - Twosuperior Move the pointer to the lower right corner of the screen - Down Move one line down - Up Move one line up - Left Move one char left - Right Move one char right - Home Move to first line - End Move to last line - Page_down Move ten lines down Page_up Move ten lines up + Page_down Move ten lines down + End Move to last line + Home Move to first line + Right Move one char right + Left Move one char left + Up Move one line up + Down Move one line down + Twosuperior Move the pointer to the lower right corner of the screen + Control G Leave the info mode + Escape Leave the info mode + Space Leave the info mode and valid the selected item + Return Leave the info mode and valid the selected item + Q Leave the info mode Mouse buttons actions in info mode: ---------------------------------- - 1 NIL - 2 Leave the info mode - 3 Leave the info mode - 4 Move one line up - 5 Move one line down Motion NIL + 5 Move one line down + 4 Move one line up + 3 Leave the info mode + 2 Leave the info mode + 1 NIL Circulate mode keys: ------------------- - Escape Leave the circulate mode - Control G Leave the circulate mode - Mod-1 Escape Leave the circulate mode - Mod-1 Control G Leave the circulate mode - Mod-1 Tab Select the next child - Mod-1 Control Tab Select the next subchild - Mod-1 Shift Tab Select the previous child - Mod-1 Shift Iso_left_tab Select the previous child - Mod-1 Right Select the next brother Mod-1 Left Select the previous borther + Mod-1 Right Select the next brother + Mod-1 Shift Iso_left_tab Select the previous child + Mod-1 Shift Tab Select the previous child + Mod-1 Control Tab Select the next subchild + Mod-1 Tab Select the next child + Mod-1 Control G Leave the circulate mode + Mod-1 Escape Leave the circulate mode + Control G Leave the circulate mode + Escape Leave the circulate mode Expose windows mode keys: diff --git a/doc/menu.html b/doc/menu.html index 42e3df5..234fd83 100644 --- a/doc/menu.html +++ b/doc/menu.html @@ -93,6 +93,105 @@

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 @@ -153,260 +252,260 @@ Texteditor

- a: GNU Emacs 23 - View and edit files + a: Snippets datafile editor

- b: gedit - Edit text files + b: Kate

- c: Kate + c: KWrite

- d: Snippets datafile editor + d: Xournal - Take handwritten notes

- e: KWrite + e: Leafpad - Simple text editor

- f: Leafpad - Simple text editor + f: gedit - Edit text files

- g: Xfwrite - A simple text editor for Xfe + g: GNU Emacs 23 - View and edit files

- h: Xournal - Take handwritten notes + h: Xfwrite - A simple text editor for Xfe


Filemanager

- a: Open Folder with Thunar - Open the specified folders in Thunar + a: Krusader

- b: Thunar File Manager - Browse the filesystem with the file manager + b: Dolphin

- c: Gentoo - Fully GUI-configurable, two-pane X file manager + c: GNOME Commander - A two paned file manager

- d: GNOME Commander - A two paned file manager + d: File Manager - Configure the Thunar file manager

- e: Dolphin + e: Open Folder with Thunar - Open the specified folders in Thunar

- f: Krusader + f: Worker - File manager for X.

- g: File Manager - Configure the Thunar file manager + g: Xfe - A lightweight file manager for X Window

- h: Worker - File manager for X. + h: Thunar File Manager - Browse the filesystem with the file manager

- i: Xfe - A lightweight file manager for X Window + i: Gentoo - Fully GUI-configurable, two-pane X file manager


Webbrowser

- a: Conkeror Web Browser - Browse the World Wide Web + a: Konqueror

- b: Web - Browse the web + b: Bookmark Editor - Bookmark Organizer and Editor

- c: Web - Browse the web + c: Web Browser

- d: Iceweasel - Browse the World Wide Web + d: Web - Browse the web

- e: Bookmark Editor - Bookmark Organizer and Editor + e: Midori - Lightweight web browser

- f: Konqueror + f: Iceweasel - Browse the World Wide Web

- g: Links 2 + g: Midori Private Browsing - Open a new private browsing window

- h: Web Browser + h: Web - Browse the web

- i: Midori Private Browsing - Open a new private browsing window + i: Conkeror Web Browser - Browse the World Wide Web

- j: Midori - Lightweight web browser + j: Links 2


Audiovideo

- a: Alsa Modular Synth - Modular Software Synth + a: Dragon Player

- b: Audacity - Record and edit audio files + b: KMix

- c: Brasero - Create and copy CDs and DVDs + c: KsCD

- d: Cheese - Take photos and videos with your webcam, with fun graphical effects + d: JuK

- e: Composite - Live performance sequencer + e: Qsampler - Qsampler is a LinuxSampler Qt GUI Interface

- f: Decibel Audio Player - A simple audio player + f: Composite - Live performance sequencer

- g: Gnome Music Player Client - A gnome frontend for the mpd daemon + g: Swami Instrument Editor - Create, play and organize MIDI instruments and sounds

- h: GNOME ALSA Mixer - ALSA sound mixer for GNOME + h: QjackCtl - QjackCtl is a JACK Audio Connection Kit Qt GUI Interface

- i: Sound Recorder - Record sound clips + i: Rhythmbox - Play and organize your music collection

- j: HasciiCam - (h)ascii for the masses! + j: Musique - Play your music collection

- k: Dragon Player + k: HasciiCam - (h)ascii for the masses!

- l: JuK + l: MediathekView - View streams from public German TV stations

- m: KMix + m: Sonata - An elegant GTK+ MPD client

- n: KsCD + n: Stopmotion - Program to create stop-motion animations

- o: Music Player - Play your music files easily + o: Gnome Music Player Client - A gnome frontend for the mpd daemon

- p: MediathekView - View streams from public German TV stations + p: PulseAudio Volume Control - Adjust the volume level

- q: Musique - Play your music collection + q: GNOME ALSA Mixer - ALSA sound mixer for GNOME

- r: OpenShot Video Editor - Create and edit videos and movies + r: Mixer - Audio mixer for the Xfce Desktop Environment

- s: PulseAudio Volume Control - Adjust the volume level + s: Alsa Modular Synth - Modular Software Synth

- t: PulseAudio Volume Meter (Capture) - Monitor the input volume + t: VLC media player - Read, capture, broadcast your multimedia streams

- u: PulseAudio Volume Meter (Playback) - Monitor the output volume + u: Petri-Foo - Sound Sampler

- v: Petri-Foo - Sound Sampler + v: Sound Juicer - Copy music from your CDs

- w: QjackCtl - QjackCtl is a JACK Audio Connection Kit Qt GUI Interface + w: PulseAudio Volume Meter (Playback) - Monitor the output volume

- x: Qsampler - Qsampler is a LinuxSampler Qt GUI Interface + x: Rhythmbox - Play and organize your music collection

- y: QVideoob - Search for videos on many websites, and get info about them + y: Brasero - Create and copy CDs and DVDs

- z: Rhythmbox - Play and organize your music collection + z: Audacity - Record and edit audio files

- 0: Rhythmbox - Play and organize your music collection + 0: Cheese - Take photos and videos with your webcam, with fun graphical effects

- 1: Sonata - An elegant GTK+ MPD client + 1: Sound Recorder - Record sound clips

- 2: Sound Juicer - Copy music from your CDs + 2: OpenShot Video Editor - Create and edit videos and movies

- 3: Specimen - Sound Sampler + 3: terminatorX - Scratch and mix audio

- 4: Stopmotion - Program to create stop-motion animations + 4: Decibel Audio Player - A simple audio player

- 5: Swami Instrument Editor - Create, play and organize MIDI instruments and sounds + 5: Movie Player - Play movies and songs

- 6: terminatorX - Scratch and mix audio + 6: QVideoob - Search for videos on many websites, and get info about them

- 7: Movie Player - Play movies and songs + 7: PulseAudio Volume Meter (Capture) - Monitor the input volume

- 8: VLC media player - Read, capture, broadcast your multimedia streams + 8: Specimen - Sound Sampler

- 9: Mixer - Audio mixer for the Xfce Desktop Environment + 9: Music Player - Play your music files easily


Audio

- a: Alsa Modular Synth - Modular Software Synth + a: KMix

- b: Audacity - Record and edit audio files + b: Qsampler - Qsampler is a LinuxSampler Qt GUI Interface

c: Composite - Live performance sequencer

- d: Decibel Audio Player - A simple audio player + d: Swami Instrument Editor - Create, play and organize MIDI instruments and sounds

- e: Sound Recorder - Record sound clips + e: QjackCtl - QjackCtl is a JACK Audio Connection Kit Qt GUI Interface

- f: KMix + f: Musique - Play your music collection

- g: Music Player - Play your music files easily + g: PulseAudio Volume Control - Adjust the volume level

- h: Musique - Play your music collection + h: Mixer - Audio mixer for the Xfce Desktop Environment

- i: PulseAudio Volume Control - Adjust the volume level + i: Alsa Modular Synth - Modular Software Synth

- j: PulseAudio Volume Meter (Capture) - Monitor the input volume + j: Petri-Foo - Sound Sampler

- k: PulseAudio Volume Meter (Playback) - Monitor the output volume + k: Sound Juicer - Copy music from your CDs

- l: Petri-Foo - Sound Sampler + l: PulseAudio Volume Meter (Playback) - Monitor the output volume

- m: QjackCtl - QjackCtl is a JACK Audio Connection Kit Qt GUI Interface + m: Audacity - Record and edit audio files

- n: Qsampler - Qsampler is a LinuxSampler Qt GUI Interface + n: Sound Recorder - Record sound clips

- o: Sound Juicer - Copy music from your CDs + o: Decibel Audio Player - A simple audio player

- p: Swami Instrument Editor - Create, play and organize MIDI instruments and sounds + p: PulseAudio Volume Meter (Capture) - Monitor the input volume

- q: Mixer - Audio mixer for the Xfce Desktop Environment + q: Music Player - Play your music files easily


@@ -416,13 +515,13 @@ a: Camorama Webcam Viewer - View, alter and save images from a webcam

- b: OpenShot Video Editor - Create and edit videos and movies + b: Stopmotion - Program to create stop-motion animations

c: OptGeo - Interactive tool to study and simulate optic assemblies

- d: Stopmotion - Program to create stop-motion animations + d: OpenShot Video Editor - Create and edit videos and movies

e: Movie Player - Play movies and songs @@ -432,70 +531,70 @@ Development

- a: GNU Emacs 23 - View and edit files + a: KLinkStatus

- b: IDLE (using Python-2.6) - Integrated Development Environment for Python (using Python-2.6) + b: Cervisia

- c: IDLE (using Python-2.7) - Integrated Development Environment for Python (using Python-2.7) + c: Lokalize

- d: IDLE (using Python-3.2) - Integrated Development Environment for Python (using Python-3.2) + d: Umbrello

- e: IDLE - Integrated Development Environment for Python + e: KUIViewer

- f: IDLE 3 - Integrated DeveLopment Environment for Python3 + f: KImageMapEditor

- g: Akonadi Console - Akonadi Management and Debugging Console + g: Kompare

- h: Cervisia + h: KAppTemplate

- i: KAppTemplate + i: KCachegrind - Visualization of Performance Profiling Data

- j: KCachegrind - Visualization of Performance Profiling Data + j: Akonadi Console - Akonadi Management and Debugging Console

- k: KImageMapEditor + k: Scilab CLI - Scientific software package for numerical computations

- l: KLinkStatus + l: Scilab - Scientific software package for numerical computations

- m: Kompare + m: Scilab advanced CLI - Scientific software package for numerical computations

- n: KUIViewer + n: IDLE (using Python-2.7) - Integrated Development Environment for Python (using Python-2.7)

- o: Lokalize + o: IDLE - Integrated Development Environment for Python

- p: Umbrello + 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 (v2.7) - Python Interpreter (v2.7) + r: IDLE (using Python-3.2) - Integrated Development Environment for Python (using Python-3.2)

- s: Python (v3.2) - Python Interpreter (v3.2) + s: IDLE 3 - Integrated DeveLopment Environment for Python3

- t: Scilab advanced CLI - Scientific software package for numerical computations + t: Python (v2.7) - Python Interpreter (v2.7)

- u: Scilab CLI - Scientific software package for numerical computations + u: IDLE (using Python-2.6) - Integrated Development Environment for Python (using Python-2.6)

- v: Scilab - Scientific software package for numerical computations + v: GNU Emacs 23 - View and edit files

w: Squeak - Programming system and content development tool @@ -505,1076 +604,1082 @@ Education

- a: MathWar - A simple math game for kids + a: Kig - Explore Geometric Constructions

- b: AWeather - Advanced weather reporting program + b: Rocs - Graph Theory Tool for Professors and Students.

- c: CaRMetal - CaRMetal interactive geometry + c: KWordQuiz - A flashcard and vocabulary learning program

- d: Childsplay - Suite of educational games for young children + d: Marble

- e: Dr.Geo - Dr.Geo Math Tool + e: KHangMan - KDE Hangman Game

- f: Euler + f: Step - Simulate physics experiments

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

- h: GeoGebra - Create interactive mathematical constructions and applets. + h: KTurtle

- i: Geomview - Interactive geometry viewing program + i: KStars - Desktop Planetarium

- j: K3DSurf - tool for mathematical surfaces + j: KmPlot - Function Plotter

- k: Blinken - A memory enhancement game + k: Kiten - Japanese Reference and Study Tool

- l: Cantor + l: KGeography - A Geography Learning Program

- m: KAlgebra - Math Expression Solver and Plotter + m: KLettres - a KDE program to learn the alphabet

- n: Kalzium - KDE Periodic Table of Elements + n: Blinken - A memory enhancement game

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

- p: KBruch - Practice exercises with fractions + p: KTouch

- q: KGeography - A Geography Learning Program + q: Cantor

- r: KHangMan - KDE Hangman Game + r: Kanagram - KDE Letter Order Game

- s: Kig - Explore Geometric Constructions + s: Kalzium - KDE Periodic Table of Elements

- t: Kiten - Japanese Reference and Study Tool + t: KAlgebra - Math Expression Solver and Plotter

- u: KLettres - a KDE program to learn the alphabet + u: Dr.Geo - Dr.Geo Math Tool

- v: KmPlot - Function Plotter + v: Tux Math - Tux Math - Learn math with Tux!

- w: KStars - Desktop Planetarium + w: Euler

- x: KTouch + x: Scilab CLI - Scientific software package for numerical computations

- y: KTurtle + y: MathWar - A simple math game for kids

- z: KWordQuiz - A flashcard and vocabulary learning program + z: GeoGebra - Create interactive mathematical constructions and applets.

- 0: Marble + 0: Maxima Algebra System - An interface to the Maxima Computer Algebra System

- 1: Parley + 1: Tux Paint

- 2: Rocs - Graph Theory Tool for Professors and Students. + 2: Scilab - Scientific software package for numerical computations

- 3: Step - Simulate physics experiments + 3: K3DSurf - tool for mathematical surfaces

- 4: Klavaro - Yet another touch typing tutor + 4: Tux Typing - Educational typing tutor game starring Tux

- 5: OptGeo - Interactive tool to study and simulate optic assemblies + 5: Childsplay - Suite of educational games for young children

- 6: Regina - Software for 3-manifold topology and normal surface theory + 6: Scilab advanced CLI - Scientific software package for numerical computations

- 7: Scilab advanced CLI - Scientific software package for numerical computations + 7: Geomview - Interactive geometry viewing program

- 8: Scilab CLI - Scientific software package for numerical computations + 8: OptGeo - Interactive tool to study and simulate optic assemblies

- 9: Scilab - Scientific software package for numerical computations + 9: Klavaro - Yet another touch typing tutor

- A: Squeak - Programming system and content development tool + A: wxMaxima - Perform symbolic and numeric calculations using Maxima

- B: Tux Math - Tux Math - Learn math with Tux! + B: Regina - Software for 3-manifold topology and normal surface theory

- C: Tux Paint + C: CaRMetal - CaRMetal interactive geometry

- D: Tux Typing - Educational typing tutor game starring Tux + D: python-whiteboard

- E: wxMaxima - Perform symbolic and numeric calculations using Maxima + E: AWeather - Advanced weather reporting program

F: Xcas Computer Algebra System - The swiss knife for mathematics

- G: Maxima Algebra System - An interface to the Maxima Computer Algebra System + G: Squeak - Programming system and content development tool +

+

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


Game

- a: Ardentryst - Fantasy sidescroller game + a: Kolf

- b: Balder2D - 2D overhead shooter in Zero G + b: KJumpingCube

- c: PlayOnLinux - PlayOnLinux + c: Klickety

- d: Search and rescue + d: Bovo

- e: Adanaxis - Fly your ship in a 4d environment + e: Palapeli

- f: Airstrike - Dogfight an enemy plane + f: KSnake

- g: Alex the Allegator 4 - Retro platform game + g: KSpaceDuel

- h: Amoebax - Defeat your opponent by filling up their grid up with garbage. + h: KPatience

- i: Amphetamine - Fight evil monsters with your magic weapons. + i: KMines

- j: Angband (GTK) - A roguelike dungeon exploration game based on the books of J.R.R.Tolkien + j: Kiriki

- k: Angband (SDL) - A roguelike dungeon exploration game based on the books of J.R.R.Tolkien + k: KBlackBox

- l: Angband (X11) - A roguelike dungeon exploration game based on the books of J.R.R.Tolkien + l: Naval Battle

- m: Balazar - Play a 3D adventure and roleplaying game + m: Bomber

- n: B.A.L.L.Z. - Platform game with some puzzle elements + n: Kubrick

- o: Beneath A Steel Sky - A science-fiction adventure game set in a bleak post-apocalyptic vision of the future + o: Konquest

- p: Between - game about consciousness and isolation + p: Kolor Lines

- q: Billard-GL - Play Billard Game + q: KSquares

- r: Biloba - Up to four player network capable turn based strategy board game + r: KHangMan - KDE Hangman Game

- s: Biniax-2 - Colorful Logic game with arcade and tactics modes + s: KMahjongg

- t: Block Attack - Rise of the Blocks - Switch blocks so they match + t: KsirK

- u: Bomberclone - Play a Bomberman like game + u: KDiamond

- v: Bouncy the Hungry Rabbit - Eat the yummy veggies in the garden (game for small kids) + v: KNetWalk

- w: Ceferino - Save the cows! + w: KAtomic

- x: Childsplay - Suite of educational games for young children + x: Killbots

- y: Chromium B.S.U. - Scrolling space shooter + y: KBlocks

- z: Crack Attack - Puzzle game similar to Tetris Attack + z: KReversi

- 0: Cytadela - old-school first person shooter + 0: KBounce

- 1: Dodgin Diamond 2 + 1: Blinken - A memory enhancement game

- 2: DOSBox Emulator - Run old DOS applications + 2: Kigo

- 3: eboard - A graphical chessboard program + 3: Potato Guy

- 4: Egoboo - 3D dungeon crawling game + 4: KBreakOut

- 5: Feeding Frenzy! - multiplayer platform game with dwarfs fighting with/for food + 5: LSkat

- 6: Fish Fillets - Puzzle game about witty fish saving the world sokoban-style + 6: KGoldrunner - A game of action and puzzle-solving

- 7: Flight of the Amazon Queen - Embark on a quest to rescue a kidnapped princess and in the process, discover the true sinister intentions of a suspiciously located Lederhosen company + 7: Kapman - Eat pills escaping ghosts

- 8: FloboPuyo + 8: Granatier

- 9: Foobillard - 3D billiards game using OpenGL + 9: AMOR

- A: FreeCell Solitaire - Play the popular FreeCell card game + A: Kanagram - KDE Letter Order Game

- B: FreeCraft - The War begins + B: Kollision - A simple ball dodging game

- C: DFArc - Dink frontend - Run, edit, install, remove and package D-Mods (Dink Modules) + C: Shisen-Sho

- D: FreeDink - Humorous zelda-like isometric adventure/RPG + D: KSudoku - KSudoku, Sudoku game & more for KDE

- E: FreeDinkedit - Portable Dink Smallwood game editor + E: KSnakeDuel

- F: Freedroid - Clear a spaceship from all droids + F: KFourInLine

- G: Freedroid RPG - Isometric role playing game + G: Kajongg - The ancient Chinese board game for 4 players

- H: FreeGish - A physics based arcade game + H: SameGame

- I: Frogatto - Young frog's adventure + I: KsirK Skin Editor

- J: Funny Boat - a side scrolling arcade shooter game on a steamboat + J: Xboard - Resume XBoard chess tourney

- K: Educational suite GCompris - Educational game for ages 2 to 10 + K: Frogatto - Young frog's adventure

- L: Chess - Play the classic two-player boardgame of chess + L: Four-in-a-Row - Make lines of the same color to win

- M: Five or More - Remove colored balls from the board by forming lines + M: pyRacerz

- N: Four-in-a-Row - Make lines of the same color to win + N: Out Of Order - Adventure Game

- O: Nibbles - Guide a worm around a maze + O: Plee the Bear - Catch your son, he ate all the honey then ran away

- P: Robots - Avoid the robots and make them crash into each other + P: I Have No Tomatoes - How many tomatoes can you smash in ten short minutes?

- Q: Sudoku - Test your logic skills in this number grid puzzle + Q: FreeCraft - The War begins

- R: Mines - Clear hidden mines from a minefield + R: FreeGish - A physics based arcade game

- S: Tetravex - Complete the puzzle by matching numbered tiles + S: Neverball - A 3D arcade game with a ball

- T: Klotski - Slide blocks to solve the puzzle + T: SDL-Ball

- U: Golly - A Conway's Game of Life simulator + U: FreeDinkedit - Portable Dink Smallwood game editor

- V: Gravitation - game about mania, melancholia, and the creative process + V: PyChess - PyChess is a fully featured, nice looking, easy to use chess client for the Gnome desktop

- W: Tali - Beat the odds in a poker-style dice game + W: PlayOnLinux - PlayOnLinux

- X: Gunroar - Kenta Cho's Gunroar + X: REminiscence - A port of FlashBack game engine

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

- Z: Heroes - Collect powerups and avoid your opponents' trails + Z: OpenArena - A fast-paced 3D first-person shooter, similar to id Software Inc.'s Quake III Arena

- |: Iagno - Dominate the board in a classic version of Reversi + |: The Ur-Quan Masters - An interstellar adventure game

- |: ii-esu - HIZ's ES + |: Golly - A Conway's Game of Life simulator

- |: KGoldrunner - A game of action and puzzle-solving + |: Chromium B.S.U. - Scrolling space shooter

- |: AMOR + |: Virus Killer

- |: Blinken - A memory enhancement game + |: Swell Foop - Clear the screen by removing groups of colored and shaped tiles

- |: Bomber + |: Xmoto

- |: Bovo + |: LordsAWar Editor - Create or Edit LordsAWar maps

- |: Granatier + |: Primrose - Captivating tile-clearing puzzle game

- |: Kajongg - The ancient Chinese board game for 4 players + |: Biniax-2 - Colorful Logic game with arcade and tactics modes

- |: Kanagram - KDE Letter Order Game + |: Galaga:Hyperspace - Play enhanced Galaga Game

- |: Kapman - Eat pills escaping ghosts + |: MegaGlest - A real time strategy game.

- |: KAtomic + |: koules - Push your enemies away, but stay away from obstacles

- |: Naval Battle + |: XBoard - Use an X Windows Chess Board

- |: KBlackBox + |: Xboard - Resume XBoard chess tourney

- |: KBlocks + |: Bouncy the Hungry Rabbit - Eat the yummy veggies in the garden (game for small kids)

- |: KBounce + |: Battle for Wesnoth Map Editor (1.10) - A map editor for Battle for Wesnoth maps

- |: KBreakOut + |: DFArc - Dink frontend - Run, edit, install, remove and package D-Mods (Dink Modules)

- |: KSnake + |: ii-esu - HIZ's ES

- |: KDiamond + |: Amphetamine - Fight evil monsters with your magic weapons.

- |: KFourInLine + |: Galaga - Play Galaga Game

- |: KHangMan - KDE Hangman Game + |: Xboard - Resume XBoard chess tourney

- |: Kigo + |: Adanaxis - Fly your ship in a 4d environment

- |: Killbots + |: Flight of the Amazon Queen - Embark on a quest to rescue a kidnapped princess and in the process, discover the true sinister intentions of a suspiciously located Lederhosen company

- |: Kiriki + |: Sudoku - Test your logic skills in this number grid puzzle

- |: KJumpingCube + |: Monster Masher - Mash monsters and save the gnomes

- |: Klickety + |: SuperTuxKart

- |: Kolor Lines + |: LordsAWar Army Editor - Create or Edit LordsAWar armies

- |: KMahjongg + |: DOSBox Emulator - Run old DOS applications

- |: KMines + |: Childsplay - Suite of educational games for young children

- |: KNetWalk + |: Egoboo - 3D dungeon crawling game

- |: Kolf + |: X Slash'EM - Super Lotsa Added Stuff Hack - Extended Magic (X11)

- |: Kollision - A simple ball dodging game + |: Tuxfootball - 2D Football Game

- |: Konquest + |: Biloba - Up to four player network capable turn based strategy board game

- |: KPatience + |: GTK Slash'EM - Super Lotsa Added Stuff Hack - Extended Magic (GTK)

- |: KReversi + |: The Mana world - The Mana World 2D MMORPG client

- |: SameGame + |: Lights Off - Turn off all the lights

- |: Shisen-Sho + |: PIX Frogger - Help the frog cross the street

- |: KsirK + |: Robots - Avoid the robots and make them crash into each other

- |: KsirK Skin Editor + |: Tali - Beat the odds in a poker-style dice game

- |: KSpaceDuel + |: Trackballs

- |: KSquares + |: Raincat - 2D puzzle game featuring a fuzzy little cat

- |: KSudoku - KSudoku, Sudoku game & more for KDE + |: Tetravex - Complete the puzzle by matching numbered tiles

- |: KSnakeDuel + |: Freedroid - Clear a spaceship from all droids

- |: Potato Guy + |: Magicor - Puzzle game in the spirit of solomon's key

- |: Kubrick + |: Kiki the nano bot

- |: LSkat + |: FreeDink - Humorous zelda-like isometric adventure/RPG

- |: Palapeli + |: Tower Toppler - A clone of the 'Nebulus' game on old 8 and 16 bit machines.

- |: Kiki the nano bot + |: Klotski - Slide blocks to solve the puzzle

- |: Kobo Deluxe - Destroy enemy bases in space + |: eboard - A graphical chessboard program

- |: koules - Push your enemies away, but stay away from obstacles + |: Word War vi - side-scrolling shoot'em up arcade game

- |: Lights Off - Turn off all the lights + |: Lugaru - Third-person action game about an anthropomorphic rabbit with curiously well developed combat skills

- |: Liquid War - A unique multiplayer wargame + |: B.A.L.L.Z. - Platform game with some puzzle elements

- |: LordsAWar Army Editor - Create or Edit LordsAWar armies + |: Mana - A 2D MMORPG client

- |: LordsAWar Editor - Create or Edit LordsAWar maps + |: PokerTH - Texas hold'em game

- |: LordsAWar Tile Editor - Create or Edit LordsAWar tilesets + |: AisleRiot Solitaire - Play many different solitaire games

- |: LordsAWar - Play a clone of Warlords II + |: Dodgin Diamond 2

- |: Lugaru - Third-person action game about an anthropomorphic rabbit with curiously well developed combat skills + |: OpenTTD

- |: Luola + |: Alex the Allegator 4 - Retro platform game

- |: Magicor - Puzzle game in the spirit of solomon's key + |: Meritous - action-adventure dungeon crawl game

- |: Mahjongg - Disassemble a pile of tiles by removing matching pairs + |: Amoebax - Defeat your opponent by filling up their grid up with garbage.

- |: Mana - A 2D MMORPG client + |: Angband (SDL) - A roguelike dungeon exploration game based on the books of J.R.R.Tolkien

- |: MegaGlest - A real time strategy game. + |: Triplane Classic - side-scrolling dogfighting game

- |: Meritous - action-adventure dungeon crawl game + |: Pathological - Solve puzzles involving paths and marbles

- |: Minetest - InfiniMiner/Minecraft-inspired open game world + |: Block Attack - Rise of the Blocks - Switch blocks so they match

- |: Monster Masher - Mash monsters and save the gnomes + |: Luola

- |: X NetHack + |: Between - game about consciousness and isolation

- |: Neverball - A 3D arcade game with a ball + |: Airstrike - Dogfight an enemy plane

- |: Neverputt - A 3D mini golf game + |: X NetHack

- |: Numpty Physics + |: Balazar - Play a 3D adventure and roleplaying game

- |: OpenArena - A fast-paced 3D first-person shooter, similar to id Software Inc.'s Quake III Arena + |: Passage - game about the passage through life

- |: OpenTTD + |: Numpty Physics

- |: Out Of Order - Adventure Game + |: FreeCell Solitaire - Play the popular FreeCell card game

- |: Passage - game about the passage through life + |: Balder2D - 2D overhead shooter in Zero G

- |: Pathological - Solve puzzles involving paths and marbles + |: SDL Slash'EM - Super Lotsa Added Stuff Hack - Extended Magic (SDL)

- |: PCSX - Sony PlayStation emulator + |: FloboPuyo

- |: PIX Frogger - Help the frog cross the street + |: Which Way is Up - 2D platform game with a slight rotational twist

- |: Plee the Bear - Catch your son, he ate all the honey then ran away + |: Crack Attack - Puzzle game similar to Tetris Attack

- |: PokerTH - Texas hold'em game + |: LordsAWar - Play a clone of Warlords II

- |: Primrose - Captivating tile-clearing puzzle game + |: Hedgewars

- |: PyChess - PyChess is a fully featured, nice looking, easy to use chess client for the Gnome desktop + |: Five or More - Remove colored balls from the board by forming lines

- |: pyRacerz + |: Bomberclone - Play a Bomberman like game

- |: Quadrapassel - Fit falling blocks together + |: Heroes - Collect powerups and avoid your opponents' trails

- |: Raincat - 2D puzzle game featuring a fuzzy little cat + |: Secret Maryo Chronicles - A 2D platform game with style similar to classic sidescroller games

- |: REminiscence - A port of FlashBack game engine + |: Gunroar - Kenta Cho's Gunroar

- |: Ri-li - a toy simulator game + |: Quadrapassel - Fit falling blocks together

- |: rRootage - Destroy autocreated battleships + |: Minetest - InfiniMiner/Minecraft-inspired open game world

- |: ScummVM - Interpreter for several adventure games + |: Angband (GTK) - A roguelike dungeon exploration game based on the books of J.R.R.Tolkien

- |: SDL-Ball + |: Neverputt - A 3D mini golf game

- |: GTK Slash'EM - Super Lotsa Added Stuff Hack - Extended Magic (GTK) + |: ScummVM - Interpreter for several adventure games

- |: SDL Slash'EM - Super Lotsa Added Stuff Hack - Extended Magic (SDL) + |: Liquid War - A unique multiplayer wargame

- |: X Slash'EM - Super Lotsa Added Stuff Hack - Extended Magic (X11) + |: Angband (X11) - A roguelike dungeon exploration game based on the books of J.R.R.Tolkien

- |: SLUDGE Engine - Play SLUDGE games + |: Mahjongg - Disassemble a pile of tiles by removing matching pairs

- |: Secret Maryo Chronicles - A 2D platform game with style similar to classic sidescroller games + |: Foobillard - 3D billiards game using OpenGL

- |: AisleRiot Solitaire - Play many different solitaire games + |: rRootage - Destroy autocreated battleships

- |: SuperTux - A Super Mario inspired penguin platform game + |: VoR

- |: SuperTuxKart + |: Search and rescue

- |: Swell Foop - Clear the screen by removing groups of colored and shaped tiles + |: Chess - Play the classic two-player boardgame of chess

- |: Tatan - HIZ's Tatan + |: Freedroid RPG - Isometric role playing game

- |: Tennix! - Play tennis against the computer or a friend + |: Billard-GL - Play Billard Game

- |: The Mana world - The Mana World 2D MMORPG client + |: Widelands - A a real-time build-up strategy game

- |: I Have No Tomatoes - How many tomatoes can you smash in ten short minutes? + |: Nibbles - Guide a worm around a maze

- |: Tower Toppler - A clone of the 'Nebulus' game on old 8 and 16 bit machines. + |: Ardentryst - Fantasy sidescroller game

- |: Trackballs + |: Trophy - 2D car racing game with power-ups

- |: Trigger - 3D rally racing car game + |: Zatacka - Arcade multiplayer game for 2-6 players

- |: Triplane Classic - side-scrolling dogfighting game + |: Tumiki Fighters - Kenta Cho's Tumiki Fighters

- |: Trophy - 2D car racing game with power-ups + |: Funny Boat - a side scrolling arcade shooter game on a steamboat

- |: Tumiki Fighters - Kenta Cho's Tumiki Fighters + |: Tennix! - Play tennis against the computer or a friend

- |: Tuxfootball - 2D Football Game + |: LordsAWar Tile Editor - Create or Edit LordsAWar tilesets

- |: The Ur-Quan Masters - An interstellar adventure game + |: Battle for Wesnoth (1.10) - A fantasy turn-based strategy game

- |: Virus Killer + |: Feeding Frenzy! - multiplayer platform game with dwarfs fighting with/for food

- |: VoR + |: Trigger - 3D rally racing car game

- |: Battle for Wesnoth (1.10) - A fantasy turn-based strategy game + |: PCSX - Sony PlayStation emulator

- |: Battle for Wesnoth Map Editor (1.10) - A map editor for Battle for Wesnoth maps + |: Kobo Deluxe - Destroy enemy bases in space

- |: Which Way is Up - 2D platform game with a slight rotational twist + |: Ceferino - Save the cows!

- |: Widelands - A a real-time build-up strategy game + |: Fish Fillets - Puzzle game about witty fish saving the world sokoban-style

- |: Word War vi - side-scrolling shoot'em up arcade game + |: XScavenger - X11 clone of Lode Runner

- |: Xboard - Resume XBoard chess tourney + |: Educational suite GCompris - Educational game for ages 2 to 10

- |: Xboard - Resume XBoard chess tourney + |: Tatan - HIZ's Tatan

- |: Xboard - Resume XBoard chess tourney + |: Mines - Clear hidden mines from a minefield

- |: XBoard - Use an X Windows Chess Board + |: Xmille

- |: Galaga:Hyperspace - Play enhanced Galaga Game + |: Ri-li - a toy simulator game

- |: Galaga - Play Galaga Game + |: SLUDGE Engine - Play SLUDGE games

- |: Xmille + |: Beneath A Steel Sky - A science-fiction adventure game set in a bleak post-apocalyptic vision of the future

- |: Xmoto + |: SuperTux - A Super Mario inspired penguin platform game

- |: XScavenger - X11 clone of Lode Runner + |: Cytadela - old-school first person shooter

- |: Zatacka - Arcade multiplayer game for 2-6 players + |: Iagno - Dominate the board in a classic version of Reversi


Graphics

- a: Hugin Batch Processor - Hugin project stitching queue manager + a: digiKam

- b: apvlv - Alf's PDF Viewer Like Vim + b: Okular

- c: Hugin Calibrate Lens - Stitch photographs together + c: Okular

- d: Camorama Webcam Viewer - View, alter and save images from a webcam + d: Photo Layouts Editor

- e: ImageMagick (display) - Display and edit image files + e: Kamoso - Take any picture with your web cam

- f: Image Viewer + f: ExpoBlending - A tool to blend bracketed images

- g: Document Viewer - View multi-page documents + g: KColorChooser

- h: GNU Image Manipulation Program - Create images and edit photographs + h: AcquireImages - A tool to acquire images using a flat scanner

- i: Image Viewer + i: Okular

- j: gv - View PS and/or PDF files + j: Okular

- k: Hugin Panorama Creator - Stitch photographs together + k: Okular

- l: Inkscape - Create and edit Scalable Vector Graphics images + l: Gwenview - A simple image viewer

- m: K-3D - Free-as-in-freedom 3D modeling and animation software + m: Okular

- n: digiKam + n: Okular

- o: DNGConverter - A tool to batch convert RAW camera images to DNG + o: Okular +

+

+ p: Okular

- p: ExpoBlending - A tool to blend bracketed images + q: KolourPaint

- q: Gwenview - A simple image viewer + r: Okular

- r: Kamoso - Take any picture with your web cam + s: Okular

- s: KColorChooser + t: DNGConverter - A tool to batch convert RAW camera images to DNG

- t: KIPI Plugins - KDE Image Plugins Interface + u: Okular

- u: KolourPaint + v: KSnapshot

- v: KRuler + w: Panorama - A tool to assemble images as a panorama

- w: KSnapshot + x: KRuler

- x: Okular + y: KIPI Plugins - KDE Image Plugins Interface

- y: Okular + z: K-3D - Free-as-in-freedom 3D modeling and animation software

- z: Okular + 0: Hugin Calibrate Lens - Stitch photographs together

- 0: Okular + 1: Inkscape - Create and edit Scalable Vector Graphics images

- 1: Okular + 2: MyPaint - Painting program for digital artists

- 2: Okular + 3: XSane Image scanning program - A program to work with scanner. Can be used as a scanning, copier, OCR, fax tools.

- 3: Okular + 4: Document Viewer - View multi-page documents

- 4: Okular + 5: Camorama Webcam Viewer - View, alter and save images from a webcam

- 5: Okular + 6: Hugin Panorama Creator - Stitch photographs together

- 6: Okular + 7: Mandelbulber - Visit 3D Fractal World

- 7: Okular + 8: LibreOffice Draw

- 8: Okular + 9: Shotwell - Organize your photos

- 9: Panorama - A tool to assemble images as a panorama + A: Stopmotion - Program to create stop-motion animations

- A: Photo Layouts Editor + B: ImageMagick (display) - Display and edit image files

- B: AcquireImages - A tool to acquire images using a flat scanner + C: PDF Editor - PDF Editor

- C: LibreOffice Draw + D: Scribus - Page Layout and Publication

- D: Mandelbulber - Visit 3D Fractal World + E: Xaos - Fractal Zoomer - Fractal Generator

- E: MuPDF - PDF file viewer + F: Image Viewer

- F: MyPaint - Painting program for digital artists + G: GNU Image Manipulation Program - Create images and edit photographs

- G: PDF Editor - PDF Editor + H: apvlv - Alf's PDF Viewer Like Vim

- H: Shotwell Viewer + I: Hugin Batch Processor - Hugin project stitching queue manager

- I: Shotwell - Organize your photos + J: Shotwell Viewer

- J: Simple Scan - Scan Documents + K: Image Viewer

- K: Stopmotion - Program to create stop-motion animations + L: MuPDF - PDF file viewer

- L: Xaos - Fractal Zoomer - Fractal Generator + M: gv - View PS and/or PDF files

- M: xpdf - View PDF files + N: xpdf - View PDF files

- N: XSane Image scanning program - A program to work with scanner. Can be used as a scanning, copier, OCR, fax tools. + O: Simple Scan - Scan Documents


Network

- a: Conkeror Web Browser - Browse the World Wide Web + a: Konqueror

- b: Dillo - Lightweight browser + b: KNode

- c: Ekiga Softphone - Talk to people over the Internet + c: Akregator - A Feed Reader for KDE

- d: Web - Browse the web + d: KPPPLogview

- e: Web - Browse the web + e: KNetAttach

- f: Email Settings - Configure email accounts + f: Kopete - Instant Messenger

- g: Mail Reader + g: Blogilo

- h: Web Browser + h: KMail

- i: Google Gadgets (Qt) - Run Google Gadgets in KDE/Qt environment + i: KRDC

- j: Gnubiff - Gnubiff is a mail notification program. + j: KPPP

- k: Icedove Mail/News - Read/Write Mail/News with Icedove + k: Krfb

- l: IcedTea Java Web Start - IcedTea Java Web Start + l: KGet

- m: Iceweasel - Browse the World Wide Web + m: Bookmark Editor - Bookmark Organizer and Editor

- n: KMail + n: QWebContentEdit - Edit website contents

- o: KNode + o: Web Browser

- p: KPPP + p: Web - Browse the web

- q: Akregator - A Feed Reader for KDE + q: SSL/SSH VNC Viewer - SSVNC - access remote VNC desktops

- r: Blogilo + r: Midori - Lightweight web browser

- s: Bookmark Editor - Bookmark Organizer and Editor + s: Remote Desktop Viewer - Access remote desktops

- t: KGet + t: Mail Reader

- u: KNetAttach + u: QBoobmsg - Send and receive messages from various websites

- v: Konqueror + v: Iceweasel - Browse the World Wide Web

- w: Kopete - Instant Messenger + w: Mumble - A low-latency, high quality voice chat program for gaming

- x: KPPPLogview + x: Email Settings - Configure email accounts

- y: KRDC + y: IcedTea Java Web Start - IcedTea Java Web Start

- z: Krfb + z: Desktop Sharing - Choose how other users can remotely view your desktop

- 0: Liferea - Download and view feeds + 0: Midori Private Browsing - Open a new private browsing window

- 1: Links 2 + 1: Icedove Mail/News - Read/Write Mail/News with Icedove

- 2: Web Browser + 2: Web - Browse the web

- 3: Midori Private Browsing - Open a new private browsing window + 3: Liferea - Download and view feeds

- 4: Midori - Lightweight web browser + 4: Conkeror Web Browser - Browse the World Wide Web

- 5: MLDonkey - Graphical frontend for MLDonkey + 5: Wireshark - Network traffic analyzer

- 6: Mumble - A low-latency, high quality voice chat program for gaming + 6: Ekiga Softphone - Talk to people over the Internet

- 7: mutt - Simple text-based Mail User Agent + 7: Google Gadgets (Qt) - Run Google Gadgets in KDE/Qt environment

- 8: QBoobmsg - Send and receive messages from various websites + 8: MLDonkey - Graphical frontend for MLDonkey

- 9: QFlatBoob - Search housings + 9: Remmina - Connect to remote desktops

- A: QHaveDate - Optimize your probabilities to have sex on dating websites + A: QFlatBoob - Search housings

- B: QWebContentEdit - Edit website contents + B: Transmission - Download and share files over BitTorrent

- C: Remmina - Connect to remote desktops + C: Web Browser

- D: SSL/SSH VNC Viewer - SSVNC - access remote VNC desktops + D: QHaveDate - Optimize your probabilities to have sex on dating websites

- E: Transmission - Download and share files over BitTorrent + E: X11VNC Server - Share this desktop by VNC

- F: Remote Desktop Viewer - Access remote desktops + F: mutt - Simple text-based Mail User Agent

- G: Desktop Sharing - Choose how other users can remotely view your desktop + G: Links 2

H: Wicd Network Manager

- I: Wireshark - Network traffic analyzer + I: Dillo - Lightweight browser

- J: X11VNC Server - Share this desktop by VNC + J: Gnubiff - Gnubiff is a mail notification program.


Office

- a: AbiWord + a: Lokalize

- b: ePDFViewer - Lightweight PDF document viewer + b: KOrganizer - Calendar and Scheduling Program

- c: Document Viewer - View multi-page documents + c: Kontact

- d: Evolution - Manage your email, contacts and schedule + d: Kontact Administration

- e: FreeMind + e: KAddressBook

- f: Orage Globaltime - Show clocks from different countries + f: Okular

- g: Dictionary - Check word definitions and spellings in an online dictionary + g: KTimeTracker

- h: Gnumeric - Calculation, Analysis, and Visualization of Information + h: LibreOffice Calc

- i: Kontact + i: LibreOffice

- j: KAddressBook + j: Evolution - Manage your email, contacts and schedule

- k: Kontact Administration + k: Document Viewer - View multi-page documents

- l: KOrganizer - Calendar and Scheduling Program + l: Dictionary - Check word definitions and spellings in an online dictionary

- m: KTimeTracker + m: Orage Calendar - Desktop calendar

- n: Lokalize + n: LibreOffice Draw

- o: Okular + o: Orage Globaltime - Show clocks from different countries

- p: LibreOffice Base + p: LibreOffice Writer

- q: LibreOffice Calc + q: LibreOffice Base

- r: LibreOffice Draw + r: LyX Document Processor - High level LaTeX frontend

- s: LibreOffice Impress + s: FreeMind

- t: LibreOffice Math + t: LibreOffice Impress

- u: LibreOffice + u: ePDFViewer - Lightweight PDF document viewer

- v: LibreOffice Writer + v: AbiWord

- w: LyX Document Processor - High level LaTeX frontend + w: LibreOffice Math

x: mutt - Simple text-based Mail User Agent

- y: Orage Calendar - Desktop calendar + y: Gnumeric - Calculation, Analysis, and Visualization of Information

z: Zathura - A minimalistic document viewer @@ -1584,1331 +1689,1337 @@ Settings

- a: Main Menu - Add or remove applications from the main menu + a: KDE System Settings

- b: ARandR + b: Change Password

- c: Bluetooth - Configure Bluetooth settings + c: System Settings

- d: Email Settings - Configure email accounts + d: Menu Editor

- e: Preferred Applications + e: Date and Time - Date and Time preferences panel

- f: GCompris Administration - Administration for gcompris + f: Background - Change the background

- g: Background - Change the background + g: Printing - Configure printers

- h: Color - Color management settings + h: Mouse - Configure pointer device behavior and appearance

- i: System Settings + i: Power - Power management settings

- j: Date and Time - Date and Time preferences panel + j: Workspaces - Set number and names of workspaces

- k: Displays - Change resolution and position of monitors and projectors + k: Network Tools - View information about your network

- l: Details - System Information + l: Users and Groups - Add or remove users and groups

- m: Keyboard - Edit keyboard settings and application shortcuts + m: Window Manager - Configure window behavior and shortcuts

- n: Mouse and Touchpad - Set your mouse and touchpad preferences + n: Notifications - Customize how notifications appear on your screen

- o: Network Tools - View information about your network + o: Software Center - Lets you choose from thousands of applications available for your system

p: Network - Configure network devices and connections

- q: Online Accounts - Manage online accounts + q: Network - Configure network devices and connections

- r: Power - Power management settings + r: Details - System Information

- s: Printers - Change printer settings + s: User Accounts - Add or remove users

- t: Region and Language - Change your region and language settings + t: Brightness and Lock - Screen brightness and lock settings

- u: Brightness and Lock - Screen brightness and lock settings + u: Keyboard - Edit keyboard settings and application shortcuts

- v: Sound - Change sound volume and sound events + v: Shared Folders - Configure which folders are available for your network neighborhood

- w: Universal Access - Universal Access Preferences + w: Preferred Applications

- x: User Accounts - Add or remove users + x: Region and Language - Change your region and language settings

- y: Personal File Sharing - Preferences for sharing of files + y: Bluetooth - Configure Bluetooth settings

- z: Wacom Graphics Tablet - Set your Wacom tablet preferences + z: Color - Color management settings

- 0: GParted - Create, reorganize, and delete partitions + 0: Startup Applications - Choose what applications to start when you log in

- 1: Software Settings - Change software update preferences and enable or disable software sources + 1: Screensaver - Change screensaver properties

- 2: Pointing devices - Set your mouse and touchpad preferences + 2: Update Manager - Show and install available updates

- 3: Multimedia Systems Selector - Configure defaults for GStreamer applications + 3: Email Settings - Configure email accounts

- 4: Guake Preferences - Comment + 4: Desktop Sharing - Choose how other users can remotely view your desktop

- 5: IcedTea Web Control Panel - Configure IcedTea Web (javaws and plugin) + 5: Services - Configure which services will be run when the system starts

- 6: Change Password + 6: Universal Access - Universal Access Preferences

- 7: KDE System Settings + 7: GParted - Create, reorganize, and delete partitions

- 8: Menu Editor + 8: Wacom Graphics Tablet - Set your Wacom tablet preferences

- 9: System Settings + 9: Displays - Change resolution and position of monitors and projectors

- A: Preferred Applications + A: Personal File Sharing - Preferences for sharing of files

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

- C: Keyboard and Mouse - Configure keyboard, mouse, and other input devices + C: Online Accounts - Manage online accounts

- D: Monitor Settings - Change screen resolution and configure external monitors + D: Time and Date - Change system time, date, and timezone

- E: Desktop Session Settings - Manage applications loaded in desktop session + E: Desktop - Set desktop background and menu and icon behaviour

- F: Network - Configure network devices and connections + F: Keyboard and Mouse - Configure keyboard, mouse, and other input devices

- G: Network Connections - Manage and change your network connection settings + G: Multimedia Systems Selector - Configure defaults for GStreamer applications

- H: Openbox Configuration Manager - Configure and personalize the Openbox window manager + H: File Manager - Configure the Thunar file manager

- I: OpenJDK Java 6 Policy Tool - OpenJDK Java 6 Policy Tool + I: Session and Startup - Customize desktop startup and splash screen

- J: Panel + J: Openbox Configuration Manager - Configure and personalize the Openbox window manager

- K: Passwords and Keys - Manage your passwords and encryption keys + K: Keyboard - Edit keyboard settings and application shortcuts

- L: Services - Configure which services will be run when the system starts + L: ARandR

- M: Startup Applications - Choose what applications to start when you log in + M: Settings Editor - Graphical settings editor for Xfconf

- N: Shared Folders - Configure which folders are available for your network neighborhood + N: Software Sources - Configure the sources for installable software and updates

- O: Software Sources - Configure the sources for installable software and updates + O: GCompris Administration - Administration for gcompris

- P: Synaptic Package Manager - Install, remove and upgrade software packages + P: Monitor Settings - Change screen resolution and configure external monitors

- Q: Printing - Configure printers + Q: Synaptic Package Manager - Install, remove and upgrade software packages

- R: File Manager - Configure the Thunar file manager + R: Orage preferences - Settings for the Xfce 4 Calendar Application (Orage)

- S: Removable Drives and Media - Configure management of removable drives and media + S: Window Manager Tweaks - Fine-tune window behaviour and effects

- T: Time and Date - Change system time, date, and timezone + T: Network Connections - Manage and change your network connection settings

- U: Panel tint2 - Customize the panel settings + U: Preferred Applications

- V: Tux Paint Config. - Configure Tux Paint + V: Sound - Change sound volume and sound events

- W: Software Center - Lets you choose from thousands of applications available for your system + W: Guake Preferences - Comment

- X: Update Manager - Show and install available updates + X: System Settings

- Y: Users and Groups - Add or remove users and groups + Y: IcedTea Web Control Panel - Configure IcedTea Web (javaws and plugin)

- Z: Desktop Sharing - Choose how other users can remotely view your desktop + Z: Settings Manager - Graphical Settings Manager for Xfce 4

- |: Desktop - Set desktop background and menu and icon behaviour + |: Panel tint2 - Customize the panel settings

- |: Display - Configure screen settings and layout + |: Tux Paint Config. - Configure Tux Paint

- |: Keyboard - Edit keyboard settings and application shortcuts + |: Passwords and Keys - Manage your passwords and encryption keys

- |: Mouse - Configure pointer device behavior and appearance + |: Software Settings - Change software update preferences and enable or disable software sources

- |: Session and Startup - Customize desktop startup and splash screen + |: Main Menu - Add or remove applications from the main menu

- |: Settings Manager - Graphical Settings Manager for Xfce 4 + |: Printers - Change printer settings

- |: Appearance - Customize the look of your desktop + |: Desktop Session Settings - Manage applications loaded in desktop session

- |: Window Manager - Configure window behavior and shortcuts + |: OpenJDK Java 6 Policy Tool - OpenJDK Java 6 Policy Tool

- |: Window Manager Tweaks - Fine-tune window behaviour and effects + |: Accessibility - Improve keyboard and mouse accessibility

- |: Workspaces - Set number and names of workspaces + |: Mouse and Touchpad - Set your mouse and touchpad preferences

- |: Orage preferences - Settings for the Xfce 4 Calendar Application (Orage) + |: Customize Look and Feel - Customizes look and feel of your desktop and applications

- |: Accessibility - Improve keyboard and mouse accessibility + |: Pointing devices - Set your mouse and touchpad preferences

- |: Notifications - Customize how notifications appear on your screen + |: Panel

|: Power Manager - Settings for the Xfce Power Manager

- |: Settings Editor - Graphical settings editor for Xfconf + |: Removable Drives and Media - Configure management of removable drives and media

- |: Screensaver - Change screensaver properties + |: Display - Configure screen settings and layout


System

- a: Bulk Rename - Rename Multiple Files + a: KDiskFree

- b: Open Folder with Thunar - Open the specified folders in Thunar + b: Konqueror

- c: Thunar File Manager - Browse the filesystem with the file manager + c: Nepomuk File Indexing Controller - System tray icon to control the behaviour of the Nepomuk file indexer

- d: Disk Usage Analyzer - Check folder sizes and available disk space + d: Nepomuk Backup

- e: CD/DVD Creator - Create CDs and DVDs + e: Konqueror

- f: dconf Editor - Directly edit your entire configuration database + f: Konqueror

- g: UXTerm - standard terminal emulator for the X window system + g: Konsole

- h: XTerm - standard terminal emulator for the X window system + h: System Monitor - View current processes and monitor system state

- i: Configuration Editor - Directly edit your entire configuration database + i: Dolphin

- j: GDebi Package Installer - Install and view software packages + j: KwikDisk

- k: Network Tools - View information about your network + k: Konqueror

- l: Panel + l: KSystemLog

- m: Power Statistics - Observe power management + m: File Manager - Super User Mode

- n: Log File Viewer - View or monitor system log files + n: KWalletManager

- o: System Monitor + o: Krusader - root-mode

- p: User Accounts - Add or remove users + p: Krfb

- q: GParted - Create, reorganize, and delete partitions + q: KUser

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

- s: Software Install - Install selected software on the system + s: KRandRTray - A panel applet for resizing and reorientating X screens.

- t: Catalog Installer - Install a catalog of software on the system + t: Software Install - Install selected software on the system

- u: Software Install - Install selected software on the system + u: Synaptic Package Manager - Install, remove and upgrade software packages

- v: Software Log Viewer - View past package management tasks + v: Printing - Configure printers

- w: Service Pack Creator - Create service packs for sharing with other computers + w: UXTerm - standard terminal emulator for the X window system

- x: Software Update - Update software installed on the system + x: Network Tools - View information about your network

- y: Htop - Show System Processes + y: Xosview - X based system monitor

- z: Dolphin + z: Log File Viewer - View or monitor system log files

- 0: KDiskFree + 0: Users and Groups - Add or remove users and groups

- 1: Konqueror + 1: Configuration Editor - Directly edit your entire configuration database

- 2: Konqueror + 2: Software Log Viewer - View past package management tasks

- 3: Konqueror + 3: Software Center - Lets you choose from thousands of applications available for your system

- 4: Konqueror + 4: Wine Uninstaller - Uninstall Windows programs

- 5: KInfoCenter + 5: Network - Configure network devices and connections

- 6: File Manager - Super User Mode + 6: Bulk Rename - Rename Multiple Files

- 7: Konsole + 7: User Accounts - Add or remove users

- 8: KRandRTray - A panel applet for resizing and reorientating X screens. + 8: CD/DVD Creator - Create CDs and DVDs

- 9: Krfb + 9: Shared Folders - Configure which folders are available for your network neighborhood

- A: Krusader - root-mode + A: Power Statistics - Observe power management

- B: System Monitor + B: Wine configuration - Setup the compatibility layer for Windows programs

- C: KSystemLog + C: Update Manager - Show and install available updates

- D: KUser + D: Software Install - Install selected software on the system

- E: KWalletManager + E: Services - Configure which services will be run when the system starts

- F: KwikDisk + F: Disk Usage Analyzer - Check folder sizes and available disk space

- G: Nepomuk Backup + G: GParted - Create, reorganize, and delete partitions

- H: Nepomuk File Indexing Controller - System tray icon to control the behaviour of the Nepomuk file indexer + H: Panel

- I: Terminal emulator - Terminal Emulator + I: Time and Date - Change system time, date, and timezone

J: Task Manager - Manage running processes

- K: Network - Configure network devices and connections + K: System Monitor - View current processes and monitor system state

- L: Reportbug - Report bugs to the Debian BTS + L: Open Folder with Thunar - Open the specified folders in Thunar

- M: Services - Configure which services will be run when the system starts + M: Catalog Installer - Install a catalog of software on the system

- N: Shared Folders - Configure which folders are available for your network neighborhood + N: Log Out

- O: Synaptic Package Manager - Install, remove and upgrade software packages + O: XTerm - standard terminal emulator for the X window system

- P: Synaptic Package Manager - Install, remove and upgrade software packages + P: Reportbug - Report bugs to the Debian BTS

- Q: Printing - Configure printers + Q: GDebi Package Installer - Install and view software packages

- R: Time and Date - Change system time, date, and timezone + R: Terminal emulator - Terminal Emulator

- S: Software Center - Lets you choose from thousands of applications available for your system + S: Xfe - A lightweight file manager for X Window

- T: UNetbootin - Tool for creating Live USB drives + T: Thunar File Manager - Browse the filesystem with the file manager

- U: Wine Uninstaller - Uninstall Windows programs + U: Synaptic Package Manager - Install, remove and upgrade software packages

- V: Update Manager - Show and install available updates + V: Software Update - Update software installed on the system

- W: Users and Groups - Add or remove users and groups + W: dconf Editor - Directly edit your entire configuration database

- X: Wine configuration - Setup the compatibility layer for Windows programs + X: Htop - Show System Processes

- Y: Log Out + Y: UNetbootin - Tool for creating Live USB drives

- Z: Xfe - A lightweight file manager for X Window + Z: Add/Remove Software - Add or remove software installed on the system

- |: Xosview - X based system monitor + |: Service Pack Creator - Create service packs for sharing with other computers


Utility

- a: Bulk Rename - Rename Multiple Files + a: KJots

- b: Open Folder with Thunar - Open the specified folders in Thunar + b: KTimer

- c: Thunar File Manager - Browse the filesystem with the file manager + c: Okteta

- d: Main Menu - Add or remove applications from the main menu + d: Krusader

- e: Battery Charge Graph - Battery Charge Graph + e: Ark

- f: Bluetooth Transfer - Send files via Bluetooth + f: Snippets datafile editor

- g: Bluetooth Device Setup - Setup Bluetooth devices + g: KNotes

- h: Curtain - Show and move a curtain on the desktop + h: Akonaditray

- i: GNU Emacs 23 - View and edit files + i: KonsoleKalendar

- j: File Manager - Configure the Thunar file manager + j: Home

- k: Terminal Emulator + k: KDE Groupware Wizard

- l: Archive Manager - Create and modify an archive + l: Help

- m: Galculator - Perform simple and scientific calculations + m: Kate

- n: Calculator - Perform arithmetic, scientific or financial calculations + n: Klipper

- o: gedit - Edit text files + o: Kleopatra

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

- q: Root Terminal - Opens a terminal as the root user, using gksu to ask for the password + q: Kleopatra

- r: Orage Globaltime - Show clocks from different countries + r: SuperKaramba - An engine for cool desktop eyecandy.

- s: GNOME Commander - A two paned file manager + s: KGpg - A GnuPG frontend

- t: Contacts + t: KAlarm

- u: Screenshot - Save images of your desktop or individual windows + u: KFileReplace

- v: Search for Files... - Locate documents and folders on this computer by name or content + v: KWrite

- w: GNOME Shell Extension Preferences - Configure GNOME Shell Extensions + w: KTeaTime

- x: GNOME Shell - Window management and application launching + x: KFontView

- y: Terminal - Use the command line + y: KCalc

- z: On-Screen Keyboard - Navigate applications and type using alternative input devices + z: Jovie - KDE Text To Speech Service

- 0: Image Viewer + 0: Sweeper

- 1: Guake Terminal - Use the command line in a Quake-like terminal + 1: KMag

- 2: Character Map - Insert special characters into documents + 2: KTimeTracker

- 3: Time Tracking Overview - The overview window of hamster time tracker + 3: KMouseTool - Clicks the mouse for you, reducing the effects of RSI

- 4: Time Tracker - Project Hamster - track your time + 4: Find Files/Folders

- 5: Time Tracker - Project Hamster - track your time + 5: Filelight - View disk usage information

- 6: Help - Get help with GNOME + 6: KCharSelect

- 7: Home + 7: Shutter - Capture, edit and share screenshots

- 8: KCharSelect + 8: Time Tracker - Project Hamster - track your time

- 9: KJots + 9: Run Program...

- A: Akonaditray + A: Guake Terminal - Use the command line in a Quake-like terminal

- B: Ark + B: Help

- C: Filelight - View disk usage information + C: Xfimage - A simple image viewer for Xfe

- D: KDE Groupware Wizard + D: Add New Program - Adds Zero Install programs to your Applications menu

- E: Jovie - KDE Text To Speech Service + E: Xournal - Take handwritten notes

- F: KAlarm + F: Leafpad - Simple text editor

- G: Kate + G: Terminal - Use the command line

- H: KCalc + H: File Manager - Configure the Thunar file manager

- I: KFileReplace + I: Calculator - Perform arithmetic, scientific or financial calculations

- J: Find Files/Folders + J: Kupfer - Convenient command and access tool for applications and documents

- K: KFontView + K: Xfview - A simple text viewer for Xfe

- L: KGpg - A GnuPG frontend + L: Galculator - Perform simple and scientific calculations

- M: Kleopatra + M: Character Map - Insert special characters into documents

- N: Kleopatra + N: Time Tracker - Project Hamster - track your time

- O: Klipper + O: Bulk Rename - Rename Multiple Files

- P: KMag + P: Search for Files... - Locate documents and folders on this computer by name or content

- Q: KMouseTool - Clicks the mouse for you, reducing the effects of RSI + Q: Live Magic - Create Debian Live systems (LiveCDs, etc.)

- R: KMouth + R: Xfpack - A simple package manager for Xfe

- S: KNotes + S: Manage Programs - Update or Remove Zero Install programs on your Applications menu

- T: KonsoleKalendar + T: Tux Commander - A two panel file manager

- U: Krusader + U: About Xfce

- V: KTeaTime + V: gedit - Edit text files

- W: Snippets datafile editor + W: Curtain - Show and move a curtain on the desktop

- X: KTimer + X: Orage Globaltime - Show clocks from different countries

- Y: KTimeTracker + Y: Screenshot - Save images of your desktop or individual windows

- Z: KWrite + Z: Bluetooth Device Setup - Setup Bluetooth devices

- |: Okteta + |: VirtualBox - Run several virtual systems on a single host computer

- |: SuperKaramba - An engine for cool desktop eyecandy. + |: Help

- |: Sweeper + |: GNOME Commander - A two paned file manager

- |: Kupfer - Convenient command and access tool for applications and documents + |: Time Tracking Overview - The overview window of hamster time tracker

- |: Leafpad - Simple text editor + |: GNOME Shell Extension Preferences - Configure GNOME Shell Extensions

- |: Live Magic - Create Debian Live systems (LiveCDs, etc.) + |: Spotlighter - Show and move a spotlight on the desktop

- |: Terminal emulator - Terminal Emulator + |: File Manager - Configure the Thunar file manager

- |: LXTerminal - Use the command line + |: Xarchiver - A GTK+2 only archive manager

- |: Files - Access and organize files + |: Take Vector Screenshot - Save vector images of application windows

- |: Disk Utility - Manage Drives and Media + |: Battery Charge Graph - Battery Charge Graph

- |: File Manager - Configure the Thunar file manager + |: Application Finder - Find and launch applications installed on your system

- |: Spotlighter - Show and move a spotlight on the desktop + |: Open Folder with Thunar - Open the specified folders in Thunar

- |: Tux Commander - A two panel file manager + |: Worker - File manager for X.

- |: VirtualBox - Run several virtual systems on a single host computer + |: Archive Manager - Create and modify an archive

|: Weboob backends configuration - Configure Weboob backends

- |: Worker - File manager for X. + |: GNOME Shell - Window management and application launching

- |: Xarchiver - A GTK+2 only archive manager + |: Files - Access and organize files

- |: About Xfce + |: LXTerminal - Use the command line

- |: Application Finder - Find and launch applications installed on your system + |: On-Screen Keyboard - Navigate applications and type using alternative input devices +

+

+ |: Terminal emulator - Terminal Emulator

- |: Help - Get help with GNOME + |: GNU Emacs 23 - View and edit files

- |: Xfimage - A simple image viewer for Xfe + |: Thunar File Manager - Browse the filesystem with the file manager

- |: Xfpack - A simple package manager for Xfe + |: Xfwrite - A simple text editor for Xfe

- |: Run Program... + |: Gentoo - Fully GUI-configurable, two-pane X file manager

- |: Xfview - A simple text viewer for Xfe + |: Disk Utility - Manage Drives and Media

- |: Xfwrite - A simple text editor for Xfe + |: Terminal Emulator

- |: Xournal - Take handwritten notes + |: Root Terminal - Opens a terminal as the root user, using gksu to ask for the password

- |: Help - Get help with GNOME + |: Bluetooth Transfer - Send files via Bluetooth

- |: Add New Program - Adds Zero Install programs to your Applications menu + |: Main Menu - Add or remove applications from the main menu

- |: Manage Programs - Update or Remove Zero Install programs on your Applications menu + |: Image Viewer +

+

+ |: Contacts


Terminalemulator

- a: UXTerm - standard terminal emulator for the X window system + a: Konsole

- b: XTerm - standard terminal emulator for the X window system + b: Guake Terminal - Use the command line in a Quake-like terminal

- c: Root Terminal - Opens a terminal as the root user, using gksu to ask for the password + c: UXTerm - standard terminal emulator for the X window system

d: Terminal - Use the command line

- e: Guake Terminal - Use the command line in a Quake-like terminal + e: XTerm - standard terminal emulator for the X window system

- f: Konsole + f: LXTerminal - Use the command line

g: Terminal emulator - Terminal Emulator

- h: LXTerminal - Use the command line + h: Root Terminal - Opens a terminal as the root user, using gksu to ask for the password


Screensaver

- a: Abstractile - Generates mosaic patterns of interlocking tiles. Written by Steve Sundstrom. + a: LCDscrub - This screen saver is not meant to look pretty, but rather, to repair burn-in on LCD monitors. Believe it or not, screen burn is not a thing of the past. It can happen to LCD screens pretty easily, even in this modern age. However, leaving the screen on and displaying high contrast images can often repair the damage. That's what this screen saver does. See also: http://docs.info.apple.com/article.html?artnum

- b: Anemone - Wiggling tentacles. Written by Gabriel Finch. + b: Kumppa - Spiraling, spinning, and very, very fast splashes of color rush toward the screen. Written by Teemu Suutari.

- c: Anemotaxis - Anemotaxis demonstrates a search algorithm designed for locating a source of odor in turbulent atmosphere. The searcher is able to sense the odor and determine local instantaneous wind direction. The goal is to find the source in the shortest mean time. http://en.wikipedia.org/wiki/Anemotaxis Written by Eugene Balkovsky. + c: CloudLife - Generates cloud-like formations based on a variant of Conway's Life. The difference is that cells have a maximum age, after which they count as 3 for populating the next generation. This makes long-lived formations explode instead of just sitting there. http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Written by Don Marti.

- d: AntInspect - Draws a trio of ants moving their spheres around a circle. Written by Blair Tennessy. + d: m6502 - This emulates a 6502 microprocessor. The family of 6502 chips were used throughout the 70's and 80's in machines such as the Atari 2600, Commodore PET, VIC20 and C64, Apple ][, and the NES. Some example programs are included, and it can also read in an assembly file as input. Original JavaScript Version by Stian Soreng: http://www.6502asm.com/. Ported to XScreenSaver by Jeremy English. Written by Stian Soreng and Jeremy English.

- e: AntMaze - Draws a few views of a few ants walking around in a simple maze. Written by Blair Tennessy. + e: Galaxy - This draws spinning galaxies, which then collide and scatter their stars to the, uh, four winds or something. Written by Uli Siegmund, Harald Backert, and Hubert Feyrer.

- f: AntSpotlight - Draws an ant (with a headlight) who walks on top of an image of your desktop or other image. Written by Blair Tennessy. + f: IFS - This one draws spinning, colliding iterated-function-system images. Note that the "Detail" parameter is exponential. Number of points drawn is functions^detail. http://en.wikipedia.org/wiki/Iterated_function_system Written by Chris Le Sueur and Robby Griffin.

- g: Apollonian - Draws an Apollonian gasket: a fractal packing of circles with smaller circles, demonstrating Descartes's theorem. http://en.wikipedia.org/wiki/Apollonian_gasket http://en.wikipedia.org/wiki/Descartes%27_theorem Written by Allan R. Wilks and David Bagley. + g: Swirl - Flowing, swirly patterns. Written by M. Dobie and R. Taylor.

- h: Apple2 - Simulates an original Apple ][ Plus computer in all its 1979 glory. It also reproduces the appearance of display on a color television set of the period. In "Basic Programming Mode", a simulated user types in a BASIC program and runs it. In "Text Mode", it displays the output of a program, or the contents of a file or URL. In "Slideshow Mode", it chooses random images and displays them within the limitations of the Apple ][ display hardware. (Six available colors in hi-res mode!) On X11 systems, This program is also a fully-functional VT100 emulator. http://en.wikipedia.org/wiki/Apple_II_series Written by Trevor Blackwell. + h: StonerView - Chains of colorful squares dance around each other in complex spiral patterns. Inspired by David Tristram's `electropaint' screen saver, originally written for SGI computers in the late 1980s or early 1990s. Written by Andrew Plotkin.

- i: Atlantis - A 3D animation of a number of sharks, dolphins, and whales. Written by Mark Kilgard. + i: Slip - This throws some random bits on the screen, then sucks them through a jet engine and spews them out the other side. To avoid turning the image completely to mush, every now and then it will it interject some splashes of color into the scene, or go into a spin cycle, or stretch the image like taffy. Written by Scott Draves and Jamie Zawinski.

- j: Attraction - Uses a simple simple motion model to generate many different display modes. The control points attract each other up to a certain distance, and then begin to repel each other. The attraction/repulsion is proportional to the distance between any two particles, similar to the strong and weak nuclear forces. Written by Jamie Zawinski and John Pezaris. + j: GFlux - Draws a rippling waves on a rotating wireframe grid. Written by Josiah Pease.

- k: Atunnel - Draws an animation of a textured tunnel in GL. Written by Eric Lassauge and Roman Podobedov. + k: Munch - DATAI 2 ADDB 1,2 ROTC 2,-22 XOR 1,2 JRST .-4 As reported by HAKMEM, in 1962, Jackson Wright wrote the above PDP-1 code. That code still lives on here, some 46 years later. The number of lines of enclosing code has increased substantially, however. http://en.wikipedia.org/wiki/HAKMEM http://en.wikipedia.org/wiki/Munching_square Written by Jackson Wright and Tim Showalter.

- l: Barcode - Draws a random sequence of colorful barcodes scrolling across your screen. CONSUME! The barcodes follow the UPC-A, UPC-E, EAN-8 or EAN-13 standards. http://en.wikipedia.org/wiki/Universal_Product_Code http://en.wikipedia.org/wiki/European_Article_Number Written by Dan Bornstein. + l: Apple2 - Simulates an original Apple ][ Plus computer in all its 1979 glory. It also reproduces the appearance of display on a color television set of the period. In "Basic Programming Mode", a simulated user types in a BASIC program and runs it. In "Text Mode", it displays the output of a program, or the contents of a file or URL. In "Slideshow Mode", it chooses random images and displays them within the limitations of the Apple ][ display hardware. (Six available colors in hi-res mode!) On X11 systems, This program is also a fully-functional VT100 emulator. http://en.wikipedia.org/wiki/Apple_II_series Written by Trevor Blackwell.

- m: Blaster - Draws a simulation of flying space-combat robots (cleverly disguised as colored circles) doing battle in front of a moving star field. Written by Jonathan Lin. + m: Hypertorus - This shows a rotating Clifford Torus: a torus lying on the "surface" of a 4D hypersphere. Inspired by Thomas Banchoff's book "Beyond the Third Dimension: Geometry, Computer Graphics, and Higher Dimensions", Scientific American Library, 1990. http://en.wikipedia.org/wiki/N-sphere http://en.wikipedia.org/wiki/Clifford_torus http://en.wikipedia.org/wiki/Regular_polytope Written by Carsten Steger.

- n: BlinkBox - Shows a ball contained inside of a bounding box. Colored blocks blink in when the ball hits the sides. Written by Jeremy English. + n: Jigsaw - This grabs a screen image, carves it up into a jigsaw puzzle, shuffles it, and then solves the puzzle. This works especially well when you feed it an external video signal instead of letting it grab the screen image (actually, I guess this is generally true...) When it is grabbing a video image, it is sometimes pretty hard to guess what the image is going to look like once the puzzle is solved. Written by Jamie Zawinski.

- o: BlitSpin - Repeatedly rotates a bitmap by 90 degrees by using logical operations: the bitmap is divided into quadrants, and the quadrants are shifted clockwise. Then the same thing is done again with progressively smaller quadrants, except that all sub-quadrants of a given size are rotated in parallel. As you watch it, the image appears to dissolve into static and then reconstitute itself, but rotated. Written by Jamie Zawinski. + o: Rorschach - This generates random inkblot patterns via a reflected random walk. Any deep-seated neurotic tendencies which this program reveals are your own problem. http://en.wikipedia.org/wiki/Rorschach_inkblot_test http://en.wikipedia.org/wiki/Random_walk Written by Jamie Zawinski.

- p: BlockTube - Draws a swirling, falling tunnel of reflective slabs. They fade from hue to hue. Written by Lars R. Damerow. + p: GLHanoi - Solves the Towers of Hanoi puzzle. Move N disks from one pole to another, one disk at a time, with no disk ever resting on a disk smaller than itself. http://en.wikipedia.org/wiki/Tower_of_Hanoi Written by Dave Atkinson; 2005.

- q: Boing - This bouncing ball is a clone of the first graphics demo for the Amiga 1000, which was written by Dale Luck and RJ Mical during a break at the 1984 Consumer Electronics Show (or so the legend goes.) This looks like the original Amiga demo if you turn off "smoothing" and "lighting" and turn on "scanlines", and is somewhat more modern otherwise. http://en.wikipedia.org/wiki/Amiga#Boing_Ball Written by Jamie Zawinski. + q: Circuit - Animates a number of 3D electronic components. Written by Ben Buxton.

- r: Bouboule - This draws what looks like a spinning, deforming balloon with varying-sized spots painted on its invisible surface. Written by Jeremie Petit. + r: Starfish - This generates a sequence of undulating, throbbing, star-like patterns which pulsate, rotate, and turn inside out. Another display mode uses these shapes to lay down a field of colors, which are then cycled. The motion is very organic. Written by Jamie Zawinski.

- s: BouncingCow - A Cow. A Trampoline. Together, they fight crime. Written by Jamie Zawinski. + s: Julia - Animates the Julia set (a close relative of the Mandelbrot set). The small moving dot indicates the control point from which the rest of the image was generated. See also the "Discrete" screen saver. http://en.wikipedia.org/wiki/Julia_set Written by Sean McCullough.

- t: Boxed - Draws a box full of 3D bouncing balls that explode. Written by Sander van Grieken. + t: Maze - This generates random mazes (with various different algorithms), and then solves them. Backtracking and look-ahead paths are displayed in different colors. Written by Jim Randell and many others.

- u: BoxFit - Packs the screen with growing squares or circles, colored according to a horizontal or vertical gradient, or according to the colors of the desktop or a loaded image file. The objects grow until they touch, then stop. When the screen is full, they shrink away and the process restarts. Written by Jamie Zawinski. + u: VidWhacker - This is a shell script that grabs a frame of video from the system's video input, and then uses some PBM filters (chosen at random) to manipulate and recombine the video frame in various ways (edge detection, subtracting the image from a rotated version of itself, etc.) Then it displays that image for a few seconds, and does it again. This works really well if you just feed broadcast television into it. Written by Jamie Zawinski.

- v: Braid - Draws random color-cycling inter-braided concentric circles. Written by John Neil. + v: Pipes - A growing plumbing system, with bolts and valves. Written by Marcelo Vianna.

- w: BSOD - BSOD stands for "Blue Screen of Death". The finest in personal computer emulation, BSOD simulates popular screen savers from a number of less robust operating systems. Written by Jamie Zawinski. + w: SBalls - Draws an animation of textured balls spinning like crazy. Written by Eric Lassauge.

- x: Bubble3D - Draws a stream of rising, undulating 3D bubbles, rising toward the top of the screen, with transparency and specular reflections. Written by Richard Jones. + x: MirrorBlob - Draws a wobbly blob that distorts the image behind it. Written by Jon Dowdall.

- y: Bumps - A spotlight roams across an embossed version of your desktop or other picture. Written by Shane Smit. + y: Polyominoes - Repeatedly attempts to completely fill a rectangle with irregularly-shaped puzzle pieces. http://en.wikipedia.org/wiki/Polyomino Written by Stephen Montgomery-Smith.

- z: Cage - This draws Escher's "Impossible Cage", a 3d analog of a moebius strip, and rotates it in three dimensions. http://en.wikipedia.org/wiki/Maurits_Cornelis_Escher Written by Marcelo Vianna. + z: Flame - Iterative fractals. Written by Scott Draves.

- 0: Carousel - Loads several random images, and displays them flying in a circular formation. The formation changes speed and direction randomly, and images periodically drop out to be replaced by new ones. Written by Jamie Zawinski. + 0: AntSpotlight - Draws an ant (with a headlight) who walks on top of an image of your desktop or other image. Written by Blair Tennessy.

- 1: CCurve - Generates self-similar linear fractals, including the classic "C Curve". http://en.wikipedia.org/wiki/Levy_C_curve Written by Rick Campbell. + 1: XLyap - This generates pretty fractal pictures via the Lyapunov exponent. http://en.wikipedia.org/wiki/Lyapunov_exponent Written by Ron Record.

- 2: Celtic - Repeatedly draws random Celtic cross-stitch patterns. http://en.wikipedia.org/wiki/Celtic_knot Written by Max Froumentin. + 2: FontGlide - Puts text on the screen using large characters that glide in from the edges, assemble, then disperse. Alternately, it can simply scroll whole sentences from right to left. Written by Jamie Zawinski.

- 3: Circuit - Animates a number of 3D electronic components. Written by Ben Buxton. + 3: Spotlight - Draws a spotlight scanning across a black screen, illuminating the underlying desktop (or a picture) when it passes. Written by Rick Schultz and Jamie Zawinski.

- 4: CloudLife - Generates cloud-like formations based on a variant of Conway's Life. The difference is that cells have a maximum age, after which they count as 3 for populating the next generation. This makes long-lived formations explode instead of just sitting there. http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Written by Don Marti. + 4: SkyTentacles - There is a tentacled abomination in the sky. From above you it devours. Written by Jamie Zawinski.

- 5: CompanionCube - The symptoms most commonly produced by Enrichment Center testing are superstition, perceiving inanimate objects as alive, and hallucinations. The Enrichment Center reminds you that the weighted companion cube will never threaten to stab you and, in fact, cannot speak. In the event that the Weighted Companion Cube does speak, the Enrichment Center urges you to disregard its advice. http://en.wikipedia.org/wiki/Portal_%28video_game%29 Written by Jamie Zawinski. + 5: Surfaces - This draws a visualization of several interesting parametric surfaces. http://mathworld.wolfram.com/DinisSurface.html http://en.wikipedia.org/wiki/Enneper_surface http://mathworld.wolfram.com/EnnepersMinimalSurface.html http://mathworld.wolfram.com/KuenSurface.html http://en.wikipedia.org/wiki/Moebius_strip http://mathworld.wolfram.com/Seashell.html http://mathworld.wolfram.com/SwallowtailCatastrophe.html http://mathworld.wolfram.com/BohemianDome.html http://en.wikipedia.org/wiki/Whitney_umbrella http://mathworld.wolfram.com/PlueckersConoid.html http://mathworld.wolfram.com/HennebergsMinimalSurface.html http://mathworld.wolfram.com/CatalansSurface.html http://mathworld.wolfram.com/CorkscrewSurface.html Written by Andrey Mirtchovski and Carsten Steger.

- 6: Compass - This draws a compass, with all elements spinning about randomly, for that "lost and nauseous" feeling. Written by Jamie Zawinski. + 6: GLPlanet - Draws a planet bouncing around in space. The built-in image is a map of the earth (extracted from `xearth'), but you can wrap any texture around the sphere, e.g., the planetary textures that come with `ssystem'. Written by David Konerding.

- 7: Coral - Simulates coral growth, albeit somewhat slowly. Written by Frederick Roeber. + 7: Intermomentary - A surface is filled with a hundred medium to small sized circles. Each circle has a different size and direction, but moves at the same slow rate. Displays the instantaneous intersections of the circles as well as the aggregate intersections of the circles. The circles begin with a radius of 1 pixel and slowly increase to some arbitrary size. Circles are drawn with small moving points along the perimeter. The intersections are rendered as glowing orbs. Glowing orbs are rendered only when a perimeter point moves past the intersection point. Written by Casey Reas, William Ngan, Robert Hodgin, and Jamie Zawinski.

- 8: Crackberg - Flies through height maps, optionally animating the creation and destruction of generated tiles; tiles `grow' into place. Written by Matus Telgarsky. + 8: Cynosure - Random dropshadowed rectangles pop onto the screen in lockstep. Written by Ozymandias G. Desiderata, Jamie Zawinski, and Stephen Linhart.

- 9: Crystal - Moving polygons, similar to a kaleidoscope. See also the "Kaleidescope" and "GLeidescope" screen savers. http://en.wikipedia.org/wiki/Kaleidoscope Written by Jouk Jansen. + 9: WhirlWindWarp - Floating stars are acted upon by a mixture of simple 2D forcefields. The strength of each forcefield changes continuously, and it is also switched on and off at random. Written by Paul 'Joey' Clark.

- A: Cube21 - Animates a Rubik-like puzzle known as Cube 21 or Square-1. The rotations are chosen randomly. See also the "Rubik" and "GLSnake" screen savers. http://en.wikipedia.org/wiki/Square_One_%28puzzle%29 Written by Vasek Potocek. + A: SpeedMine - Simulates speeding down a rocky mineshaft, or a funky dancing worm. Written by Conrad Parker.

- B: Cubenetic - Draws a pulsating set of overlapping boxes with ever-chaning blobby patterns undulating across their surfaces. It's sort of a cubist Lavalite. Written by Jamie Zawinski. + B: Flow - Strange attractors formed of flows in a 3D differential equation phase space. Features the popular attractors described by Lorentz, Roessler, Birkhoff and Duffing, and can discover entirely new attractors by itself. http://en.wikipedia.org/wiki/Attractor#Strange_attractor Written by Tim Auckland.

- C: CubeStorm - Draws a series of rotating 3D boxes that intersect each other and eventually fill space. Written by Jamie Zawinski. + C: Bouboule - This draws what looks like a spinning, deforming balloon with varying-sized spots painted on its invisible surface. Written by Jeremie Petit.

- D: CubicGrid - Draws the view of an observer located inside a rotating 3D lattice of colored points. Written by Vasek Potocek. + D: Barcode - Draws a random sequence of colorful barcodes scrolling across your screen. CONSUME! The barcodes follow the UPC-A, UPC-E, EAN-8 or EAN-13 standards. http://en.wikipedia.org/wiki/Universal_Product_Code http://en.wikipedia.org/wiki/European_Article_Number Written by Dan Bornstein.

- E: CWaves - This generates a languidly-scrolling vertical field of sinusoidal colors. Written by Jamie Zawinski. + E: Moire2 - Generates fields of concentric circles or ovals, and combines the planes with various operations. The planes are moving independently of one another, causing the interference lines to spray. http://en.wikipedia.org/wiki/Moire_pattern Written by Jamie Zawinski.

- F: Cynosure - Random dropshadowed rectangles pop onto the screen in lockstep. Written by Ozymandias G. Desiderata, Jamie Zawinski, and Stephen Linhart. + F: BouncingCow - A Cow. A Trampoline. Together, they fight crime. Written by Jamie Zawinski.

- G: DangerBall - Draws a ball that periodically extrudes many random spikes. Ouch! Written by Jamie Zawinski. + G: Grav - This draws a simple orbital simulation. With trails enabled, it looks kind of like a cloud-chamber photograph. Written by Greg Bowering.

- H: DecayScreen - This takes an image and makes it melt. You've no doubt seen this effect before, but no screensaver would really be complete without it. It works best if there's something colorful visible. Warning, if the effect continues after the screen saver is off, seek medical attention. Written by David Wald, Vivek Khera, Jamie Zawinski, and Vince Levey. + H: Greynetic - Draws random colored, stippled and transparent rectangles. Written by Jamie Zawinski.

- I: Deco - Subdivides and colors rectangles randomly. It looks kind of like Brady-Bunch-era rec-room wall paneling. http://en.wikipedia.org/wiki/Piet_Mondrian#Paris_1919.E2.80.931938 Written by Jamie Zawinski and Michael Bayne. + I: Atunnel - Draws an animation of a textured tunnel in GL. Written by Eric Lassauge and Roman Podobedov.

- J: Deluxe - Draws a pulsing sequence of transparent stars, circles, and lines. Written by Jamie Zawinski. + J: Sproingies - Slinky-like creatures walk down an infinite staircase and occasionally explode! http://en.wikipedia.org/wiki/Slinky http://en.wikipedia.org/wiki/Q%2Abert http://en.wikipedia.org/wiki/Marble_Madness Written by Ed Mackey.

- K: Demon - A cellular automaton that starts with a random field, and organizes it into stripes and spirals. http://en.wikipedia.org/wiki/Maxwell%27s_demon Written by David Bagley. + K: Hilbert - This draws the recursive Hilbert space-filling curve, in both 2D and 3D variants. It incrementally animates the growth and recursion to the maximum depth, then unwinds it back. The Hilbert path is a single contiguous line that can fill a volume without crossing itself. As a data structure, Hilbert paths are useful because ordering along the curve preserves locality: points that close together along the curve are also close together in space. The converse is often, but not always, true. The coloration reflects this. http://en.wikipedia.org/wiki/Hilbert_curve Written by Jamie Zawinski.

- L: Discrete - More "discrete map" systems, including new variants of Hopalong and Julia, and a few others. Written by Tim Auckland. + L: Mountain - Generates random 3D plots that look vaguely mountainous. Written by Pascal Pensa.

- M: Distort - Grabs an image of the screen, and then lets a transparent lens wander around the screen, magnifying whatever is underneath. Written by Jonas Munsin. + M: Polytopes - This shows one of the six regular 4D polytopes rotating in 4D. Inspired by H.S.M Coxeter's book "Regular Polytopes", 3rd Edition, Dover Publications, Inc., 1973, and Thomas Banchoff's book "Beyond the Third Dimension: Geometry, Computer Graphics, and Higher Dimensions", Scientific American Library, 1990. http://en.wikipedia.org/wiki/Hypercube http://en.wikipedia.org/wiki/Regular_polytope Written by Carsten Steger.

- N: Drift - Drifting recursive fractal cosmic flames. Written by Scott Draves. + N: Morph3D - Platonic solids that turn inside out and get spikey. http://en.wikipedia.org/wiki/Platonic_solid Written by Marcelo Vianna.

- O: Endgame - Black slips out of three mating nets, but the fourth one holds him tight! A brilliant composition! See also the "Queens" screen saver. http://en.wikipedia.org/wiki/Chess_endgame Written by Blair Tennessy. + O: GLMatrix - Draws 3D dropping characters similar to what is seen in the title sequence of "The Matrix". See also "xmatrix" for a 2D rendering of the similar effect that appeared on the computer monitors actually *in* the movie. Written by Jamie Zawinski.

- P: Engine - Draws a simple model of an engine that floats around the screen. http://en.wikipedia.org/wiki/Internal_combustion_engine#Operation Written by Ben Buxton and Ed Beroset. + P: FluidBalls - Models the physics of bouncing balls, or of particles in a gas or fluid, depending on the settings. If "Shake Box" is selected, then every now and then, the box will be rotated, changing which direction is down (in order to keep the settled balls in motion.) Written by Peter Birtles and Jamie Zawinski.

- Q: Epicycle - This draws the path traced out by a point on the edge of a circle. That circle rotates around a point on the rim of another circle, and so on, several times. These were the basis for the pre-heliocentric model of planetary motion. http://en.wikipedia.org/wiki/Deferent_and_epicycle Written by James Youngman. + Q: Qix - Bounces a series of line segments around the screen, and uses variations on this basic motion pattern to produce all sorts of different presentations: line segments, filled polygons, and overlapping translucent areas. http://en.wikipedia.org/wiki/Qix Written by Jamie Zawinski.

- R: Eruption - Exploding fireworks. See also the "Fireworkx", "XFlame" and "Pyro" screen savers. Written by W.P. van Paassen. + R: CubicGrid - Draws the view of an observer located inside a rotating 3D lattice of colored points. Written by Vasek Potocek.

- S: Euler2D - Simulates two dimensional incompressible inviscid fluid flow. http://en.wikipedia.org/wiki/Euler_equations_%28fluid_dynamics%29 http://en.wikipedia.org/wiki/Inviscid_flow Written by Stephen Montgomery-Smith. + S: Boing - This bouncing ball is a clone of the first graphics demo for the Amiga 1000, which was written by Dale Luck and RJ Mical during a break at the 1984 Consumer Electronics Show (or so the legend goes.) This looks like the original Amiga demo if you turn off "smoothing" and "lighting" and turn on "scanlines", and is somewhat more modern otherwise. http://en.wikipedia.org/wiki/Amiga#Boing_Ball Written by Jamie Zawinski.

- T: Extrusion - Draws various rotating extruded shapes that twist around, lengthen, and turn inside out. Written by Linas Vepstas, David Konerding, and Jamie Zawinski. + T: GLKnots - Generates some twisting 3d knot patterns. Spins 'em around. http://en.wikipedia.org/wiki/Knot_theory Written by Jamie Zawinski.

- U: FadePlot - Draws what looks like a waving ribbon following a sinusoidal path. Written by Bas van Gaalen and Charles Vidal. + U: RubikBlocks - Animates the Rubik's Mirror Blocks puzzle. See also the "Rubik", "Cube21", and "GLSnake" screen savers. http://en.wikipedia.org/wiki/Combination_puzzles#Irregular_Cuboids Written by Vasek Potocek.

- V: Fiberlamp - Draws a groovy rotating fiber optic lamp. Written by Tim Auckland. + V: BSOD - BSOD stands for "Blue Screen of Death". The finest in personal computer emulation, BSOD simulates popular screen savers from a number of less robust operating systems. Written by Jamie Zawinski.

- W: Fireworkx - Exploding fireworks. See also the "Eruption", "XFlame" and "Pyro" screen savers. Written by Rony B Chandran. + W: Celtic - Repeatedly draws random Celtic cross-stitch patterns. http://en.wikipedia.org/wiki/Celtic_knot Written by Max Froumentin.

- X: Flame - Iterative fractals. Written by Scott Draves. + X: TimeTunnel - Draws an animation similar to the opening and closing effects on the Dr. Who TV show. Written by Sean P. Brennan.

- Y: FlipFlop - Draws a grid of 3D colored tiles that change positions with each other. Written by Kevin Ogden and Sergio Gutierrez. + Y: Rocks - This draws an animation of flight through an asteroid field, with changes in rotation and direction. Written by Jamie Zawinski.

- Z: FlipScreen3D - Grabs an image of the desktop, turns it into a GL texture map, and spins it around and deforms it in various ways. Written by Ben Buxton and Jamie Zawinski. + Z: Kaleidescope - A simple kaleidoscope. See also "GLeidescope". http://en.wikipedia.org/wiki/Kaleidoscope Written by Ron Tapia.

- |: FlipText - Draws successive pages of text. The lines flip in and out in a soothing 3D pattern. Written by Jamie Zawinski. + |: Deluxe - Draws a pulsing sequence of transparent stars, circles, and lines. Written by Jamie Zawinski.

- |: Flow - Strange attractors formed of flows in a 3D differential equation phase space. Features the popular attractors described by Lorentz, Roessler, Birkhoff and Duffing, and can discover entirely new attractors by itself. http://en.wikipedia.org/wiki/Attractor#Strange_attractor Written by Tim Auckland. + |: Pinion - Draws an interconnected set of gears moving across the screen. See also the "Gears" and "MoebiusGears" screen savers. http://en.wikipedia.org/wiki/Involute_gear Written by Jamie Zawinski.

- |: FluidBalls - Models the physics of bouncing balls, or of particles in a gas or fluid, depending on the settings. If "Shake Box" is selected, then every now and then, the box will be rotated, changing which direction is down (in order to keep the settled balls in motion.) Written by Peter Birtles and Jamie Zawinski. + |: Hopalong - This draws lacy fractal patterns based on iteration in the imaginary plane, from a 1986 Scientific American article. See also the "Discrete" screen saver. Written by Patrick Naughton.

- |: Flurry - This X11 port of the OSX screensaver of the same name draws a colourful star(fish)like flurry of particles. Original Mac version: http://homepage.mac.com/calumr Written by Calum Robinson and Tobias Sargeant. + |: Atlantis - A 3D animation of a number of sharks, dolphins, and whales. Written by Mark Kilgard.

- |: FlyingToasters - A fleet of 3d space-age jet-powered flying toasters (and toast!) Inspired by the ancient Berkeley Systems After Dark flying toasters. http://en.wikipedia.org/wiki/After_Dark_%28software%29#Flying_Toasters Written by Jamie Zawinski and Devon Dossett. + |: Goop - This draws set of animating, transparent, amoeba-like blobs. The blobs change shape as they wander around the screen, and they are translucent, so you can see the lower blobs through the higher ones, and when one passes over another, their colors merge. I got the idea for this from a mouse pad I had once, which achieved the same kind of effect in real life by having several layers of plastic with colored oil between them. Written by Jamie Zawinski.

- |: FontGlide - Puts text on the screen using large characters that glide in from the edges, assemble, then disperse. Alternately, it can simply scroll whole sentences from right to left. Written by Jamie Zawinski. + |: Noof - Draws some rotatey patterns, using OpenGL. Written by Bill Torzewski.

- |: FuzzyFlakes - Falling colored snowflake/flower shapes. Written by Barry Dmytro. + |: Pong - This simulates the 1971 Pong home video game, as well as various artifacts from displaying it on a color TV set. In clock mode, the score keeps track of the current time. http://en.wikipedia.org/wiki/Pong Written by Jeremy English and Trevor Blackwell.

- |: Galaxy - This draws spinning galaxies, which then collide and scatter their stars to the, uh, four winds or something. Written by Uli Siegmund, Harald Backert, and Hubert Feyrer. + |: Interaggregate - A surface is filled with a hundred medium to small sized circles. Each circle has a different size and direction, but moves at the same slow rate. Displays the instantaneous intersections of the circles as well as the aggregate intersections of the circles. Though actually it doesn't look like circles at all! Written by Casey Reas, William Ngan, Robert Hodgin, and Jamie Zawinski.

- |: Gears - This draws sets of turning, interlocking gears, rotating in three dimensions. See also the "Pinion" and "MoebiusGears" screen savers. http://en.wikipedia.org/wiki/Involute_gear http://en.wikipedia.org/wiki/Epicyclic_gearing Written by Jamie Zawinski. + |: Petri - This simulates colonies of mold growing in a petri dish. Growing colored circles overlap and leave spiral interference in their wake. Written by Dan Bornstein.

- |: GFlux - Draws a rippling waves on a rotating wireframe grid. Written by Josiah Pease. + |: Fiberlamp - Draws a groovy rotating fiber optic lamp. Written by Tim Auckland.

- |: GLBlur - This draws a box and a few line segments, and generates a radial blur outward from it. This creates flowing field effects. This is done by rendering the scene into a small texture, then repeatedly rendering increasingly-enlarged and increasingly-transparent versions of that texture onto the frame buffer. As such, it's quite GPU-intensive: if you don't have a very good graphics card, it will hurt your machine bad. Written by Jamie Zawinski. + |: Pyro - Exploding fireworks. See also the "Fireworkx", "Eruption", and "XFlame" screen savers. Written by Jamie Zawinski.

- |: GLCells - Cells growing, dividing and dying on your screen. Written by Matthias Toussaint. + |: Wormhole - Flying through a colored wormhole in space. Written by Jon Rafkind.

- |: Gleidescope - A kaleidoscope that operates on your desktop image, or on image files loaded from disk. http://en.wikipedia.org/wiki/Kaleidoscope Written by Andrew Dean. + |: Spheremonics - These closed objects are commonly called spherical harmonics, although they are only remotely related to the mathematical definition found in the solution to certain wave functions, most notably the eigenfunctions of angular momentum operators. http://en.wikipedia.org/wiki/Spherical_harmonics#Visualization_of_the_spherical_harmonics Written by Paul Bourke and Jamie Zawinski.

- |: GLHanoi - Solves the Towers of Hanoi puzzle. Move N disks from one pole to another, one disk at a time, with no disk ever resting on a disk smaller than itself. http://en.wikipedia.org/wiki/Tower_of_Hanoi Written by Dave Atkinson; 2005. + |: Substrate - Crystalline lines grow on a computational substrate. A simple perpendicular growth rule creates intricate city-like structures. Written by J. Tarbell and Mike Kershaw.

- |: GLKnots - Generates some twisting 3d knot patterns. Spins 'em around. http://en.wikipedia.org/wiki/Knot_theory Written by Jamie Zawinski. + |: AntMaze - Draws a few views of a few ants walking around in a simple maze. Written by Blair Tennessy.

- |: GLMatrix - Draws 3D dropping characters similar to what is seen in the title sequence of "The Matrix". See also "xmatrix" for a 2D rendering of the similar effect that appeared on the computer monitors actually *in* the movie. Written by Jamie Zawinski. + |: Crackberg - Flies through height maps, optionally animating the creation and destruction of generated tiles; tiles `grow' into place. Written by Matus Telgarsky.

- |: GLPlanet - Draws a planet bouncing around in space. The built-in image is a map of the earth (extracted from `xearth'), but you can wrap any texture around the sphere, e.g., the planetary textures that come with `ssystem'. Written by David Konerding. + |: DecayScreen - This takes an image and makes it melt. You've no doubt seen this effect before, but no screensaver would really be complete without it. It works best if there's something colorful visible. Warning, if the effect continues after the screen saver is off, seek medical attention. Written by David Wald, Vivek Khera, Jamie Zawinski, and Vince Levey.

- |: GLSchool - Uses Craig Reynolds' Boids algorithm to simulate a school of fish. http://en.wikipedia.org/wiki/Boids Written by David C. Lambert. + |: Tangram - Solves tangram puzzles. http://en.wikipedia.org/wiki/Tangram Written by Jeremy English.

- |: GLSlideshow - Loads a random sequence of images and smoothly scans and zooms around in each, fading from pan to pan. Written by Jamie Zawinski and Mike Oliphant. + |: Lavalite - Draws a 3D Simulation a Lava Lite(r). Odd-shaped blobs of a mysterious substance are heated, slowly rise to the top of the bottle, and then drop back down as they cool. This simulation requires a fairly fast machine (both CPU and 3D performance.) "LAVA LITE(r) and the configuration of the LAVA(r) brand motion lamp are registered trademarks of Haggerty Enterprises, Inc. The configuration of the globe and base of the motion lamp are registered trademarks of Haggerty Enterprises, Inc. in the U.S.A. and in other countries around the world." http://en.wikipedia.org/wiki/Lava_lamp http://en.wikipedia.org/wiki/Metaballs Written by Jamie Zawinski.

- |: GLSnake - Draws a simulation of the Rubik's Snake puzzle. See also the "Rubik" and "Cube21" screen savers. http://en.wikipedia.org/wiki/Rubik%27s_Snake Written by Jamie Wilkinson, Andrew Bennetts, and Peter Aylett. + |: Pulsar - Draws some intersecting planes, making use of alpha blending, fog, textures, and mipmaps. Written by David Konerding.

- |: GLText - Displays a few lines of text spinning around in a solid 3D font. The text can use strftime() escape codes to display the current date and time. Written by Jamie Zawinski. + |: RotZoomer - Creates a collage of rotated and scaled portions of the screen. Written by Claudio Matsuoka.

- |: Goop - This draws set of animating, transparent, amoeba-like blobs. The blobs change shape as they wander around the screen, and they are translucent, so you can see the lower blobs through the higher ones, and when one passes over another, their colors merge. I got the idea for this from a mouse pad I had once, which achieved the same kind of effect in real life by having several layers of plastic with colored oil between them. Written by Jamie Zawinski. + |: Engine - Draws a simple model of an engine that floats around the screen. http://en.wikipedia.org/wiki/Internal_combustion_engine#Operation Written by Ben Buxton and Ed Beroset.

- |: Grav - This draws a simple orbital simulation. With trails enabled, it looks kind of like a cloud-chamber photograph. Written by Greg Bowering. + |: Phosphor - Draws a simulation of an old terminal, with large pixels and long-sustain phosphor. On X11 systems, This program is also a fully-functional VT100 emulator! Written by Jamie Zawinski.

- |: Greynetic - Draws random colored, stippled and transparent rectangles. Written by Jamie Zawinski. + |: Rubik - Draws a Rubik's Cube that rotates in three dimensions and repeatedly shuffles and solves itself. See also the "GLSnake" and "Cube21" screen savers. http://en.wikipedia.org/wiki/Rubik%27s_Cube Written by Marcelo Vianna.

- |: Halftone - Draws the gravity force in each point on the screen seen through a halftone dot pattern. The gravity force is calculated from a set of moving mass points. View it from a distance for best effect. http://en.wikipedia.org/wiki/Halftone Written by Peter Jaric. + |: Zoom - Zooms in on a part of the screen and then moves around. With the "Lenses" option, the result is like looking through many overlapping lenses rather than just a simple zoom. Written by James Macnicol.

- |: Halo - Draws trippy psychedelic circular patterns that hurt to look at. http://en.wikipedia.org/wiki/Moire_pattern Written by Jamie Zawinski. + |: Polyhedra - Displays different 3D solids and some information about each. A new solid is chosen every few seconds. There are 75 uniform polyhedra, plus 5 infinite sets of prisms and antiprisms; including their duals brings the total to 160. http://en.wikipedia.org/wiki/Uniform_polyhedra Written by Dr. Zvi Har'El and Jamie Zawinski.

- |: Helix - Spirally string-art-ish patterns. Written by Jamie Zawinski. + |: Lockward - A translucent spinning, blinking thing. Sort of a cross between the wards in an old combination lock and those old backlit information displays that animated and changed color via polarized light. Written by Leo L. Schwab.

- |: Hilbert - This draws the recursive Hilbert space-filling curve, in both 2D and 3D variants. It incrementally animates the growth and recursion to the maximum depth, then unwinds it back. The Hilbert path is a single contiguous line that can fill a volume without crossing itself. As a data structure, Hilbert paths are useful because ordering along the curve preserves locality: points that close together along the curve are also close together in space. The converse is often, but not always, true. The coloration reflects this. http://en.wikipedia.org/wiki/Hilbert_curve Written by Jamie Zawinski. + |: Stairs - Escher's infinite staircase. http://en.wikipedia.org/wiki/Maurits_Cornelis_Escher Written by Marcelo Vianna.

- |: Hopalong - This draws lacy fractal patterns based on iteration in the imaginary plane, from a 1986 Scientific American article. See also the "Discrete" screen saver. Written by Patrick Naughton. + |: Loop - Generates loop-shaped colonies that spawn, age, and eventually die. http://en.wikipedia.org/wiki/Langton%27s_loops Written by David Bagley.

- |: Hypertorus - This shows a rotating Clifford Torus: a torus lying on the "surface" of a 4D hypersphere. Inspired by Thomas Banchoff's book "Beyond the Third Dimension: Geometry, Computer Graphics, and Higher Dimensions", Scientific American Library, 1990. http://en.wikipedia.org/wiki/N-sphere http://en.wikipedia.org/wiki/Clifford_torus http://en.wikipedia.org/wiki/Regular_polytope Written by Carsten Steger. + |: Bubble3D - Draws a stream of rising, undulating 3D bubbles, rising toward the top of the screen, with transparency and specular reflections. Written by Richard Jones.

- |: Hypnowheel - Draws a series of overlapping, translucent spiral patterns. The tightness of their spirals fluctuates in and out. http://en.wikipedia.org/wiki/Moire_pattern Written by Jamie Zawinski. + |: CompanionCube - The symptoms most commonly produced by Enrichment Center testing are superstition, perceiving inanimate objects as alive, and hallucinations. The Enrichment Center reminds you that the weighted companion cube will never threaten to stab you and, in fact, cannot speak. In the event that the Weighted Companion Cube does speak, the Enrichment Center urges you to disregard its advice. http://en.wikipedia.org/wiki/Portal_%28video_game%29 Written by Jamie Zawinski.

- |: IFS - This one draws spinning, colliding iterated-function-system images. Note that the "Detail" parameter is exponential. Number of points drawn is functions^detail. http://en.wikipedia.org/wiki/Iterated_function_system Written by Chris Le Sueur and Robby Griffin. + |: Juggler3D - 3D simulation of a juggler performing with balls, clubs and rings. http://en.wikipedia.org/wiki/Siteswap Written by Brian Apps.

- |: IMSMap - This generates random cloud-like patterns. The idea is to take four points on the edge of the image, and assign each a random "elevation". Then find the point between them, and give it a value which is the average of the other four, plus some small random offset. Coloration is done based on elevation. Written by Juergen Nickelsen and Jamie Zawinski. + |: Anemone - Wiggling tentacles. Written by Gabriel Finch.

- |: Interaggregate - A surface is filled with a hundred medium to small sized circles. Each circle has a different size and direction, but moves at the same slow rate. Displays the instantaneous intersections of the circles as well as the aggregate intersections of the circles. Though actually it doesn't look like circles at all! Written by Casey Reas, William Ngan, Robert Hodgin, and Jamie Zawinski. + |: MoebiusGears - Draws a closed, interlinked chain of rotating gears. The layout of the gears follows the path of a moebius strip. See also the "Pinion" and "Gears" screen savers. http://en.wikipedia.org/wiki/Involute_gear http://en.wikipedia.org/wiki/Moebius_strip Written by Jamie Zawinski.

- |: Interference - Color field based on computing decaying sinusoidal waves. Written by Hannu Mallat. + |: Hypnowheel - Draws a series of overlapping, translucent spiral patterns. The tightness of their spirals fluctuates in and out. http://en.wikipedia.org/wiki/Moire_pattern Written by Jamie Zawinski.

- |: Intermomentary - A surface is filled with a hundred medium to small sized circles. Each circle has a different size and direction, but moves at the same slow rate. Displays the instantaneous intersections of the circles as well as the aggregate intersections of the circles. The circles begin with a radius of 1 pixel and slowly increase to some arbitrary size. Circles are drawn with small moving points along the perimeter. The intersections are rendered as glowing orbs. Glowing orbs are rendered only when a perimeter point moves past the intersection point. Written by Casey Reas, William Ngan, Robert Hodgin, and Jamie Zawinski. + |: Sierpinski - This draws the two-dimensional variant of the recursive Sierpinski triangle fractal. See also the "Sierpinski3D" screen saver. http://en.wikipedia.org/wiki/Sierpinski_triangle Written by Desmond Daignault.

- |: JigglyPuff - This does bad things with quasi-spherical objects. You have a tetrahedron with tesselated faces. The vertices on these faces have forces on them: one proportional to the distance from the surface of a sphere; and one proportional to the distance from the neighbors. They also have inertia. The resulting effect can range from a shape that does nothing, to a frenetic polygon storm. Somewhere in between there it usually manifests as a blob that jiggles in a kind of disturbing manner. Written by Keith Macleod. + |: Sierpinski3D - This draws the Sierpinski tetrahedron fractal, the three-dimensional variant of the recursive Sierpinski triangle. http://en.wikipedia.org/wiki/Sierpinski_triangle#Analogs_in_higher_dimension Written by Tim Robinson and Jamie Zawinski.

- |: Jigsaw - This grabs a screen image, carves it up into a jigsaw puzzle, shuffles it, and then solves the puzzle. This works especially well when you feed it an external video signal instead of letting it grab the screen image (actually, I guess this is generally true...) When it is grabbing a video image, it is sometimes pretty hard to guess what the image is going to look like once the puzzle is solved. Written by Jamie Zawinski. + |: GLText - Displays a few lines of text spinning around in a solid 3D font. The text can use strftime() escape codes to display the current date and time. Written by Jamie Zawinski.

- |: Juggler3D - 3D simulation of a juggler performing with balls, clubs and rings. http://en.wikipedia.org/wiki/Siteswap Written by Brian Apps. + |: Euler2D - Simulates two dimensional incompressible inviscid fluid flow. http://en.wikipedia.org/wiki/Euler_equations_%28fluid_dynamics%29 http://en.wikipedia.org/wiki/Inviscid_flow Written by Stephen Montgomery-Smith.

- |: Julia - Animates the Julia set (a close relative of the Mandelbrot set). The small moving dot indicates the control point from which the rest of the image was generated. See also the "Discrete" screen saver. http://en.wikipedia.org/wiki/Julia_set Written by Sean McCullough. + |: Boxed - Draws a box full of 3D bouncing balls that explode. Written by Sander van Grieken.

- |: Kaleidescope - A simple kaleidoscope. See also "GLeidescope". http://en.wikipedia.org/wiki/Kaleidoscope Written by Ron Tapia. + |: Superquadrics - Morphing 3D shapes. Written by Ed Mackey.

- |: Klein - This draws a visualization of a Klein bottle or some other interesting parametric surfaces. http://en.wikipedia.org/wiki/Klein_bottle Written by Andrey Mirtchovski. + |: Fireworkx - Exploding fireworks. See also the "Eruption", "XFlame" and "Pyro" screen savers. Written by Rony B Chandran.

- |: Kumppa - Spiraling, spinning, and very, very fast splashes of color rush toward the screen. Written by Teemu Suutari. + |: FlipFlop - Draws a grid of 3D colored tiles that change positions with each other. Written by Kevin Ogden and Sergio Gutierrez.

- |: Lament - Animates a simulation of Lemarchand's Box, the Lament Configuration, repeatedly solving itself. Warning: occasionally opens doors. http://en.wikipedia.org/wiki/Lemarchand%27s_box Written by Jamie Zawinski. + |: XMatrix - Draws dropping characters similar to what is seen on the computer monitors in "The Matrix". See also "GLMatrix" for a 3D rendering of the similar effect that appeared in the movie's title sequence. Written by Jamie Zawinski.

- |: Lavalite - Draws a 3D Simulation a Lava Lite(r). Odd-shaped blobs of a mysterious substance are heated, slowly rise to the top of the bottle, and then drop back down as they cool. This simulation requires a fairly fast machine (both CPU and 3D performance.) "LAVA LITE(r) and the configuration of the LAVA(r) brand motion lamp are registered trademarks of Haggerty Enterprises, Inc. The configuration of the globe and base of the motion lamp are registered trademarks of Haggerty Enterprises, Inc. in the U.S.A. and in other countries around the world." http://en.wikipedia.org/wiki/Lava_lamp http://en.wikipedia.org/wiki/Metaballs Written by Jamie Zawinski. + |: Distort - Grabs an image of the screen, and then lets a transparent lens wander around the screen, magnifying whatever is underneath. Written by Jonas Munsin.

- |: LCDscrub - This screen saver is not meant to look pretty, but rather, to repair burn-in on LCD monitors. Believe it or not, screen burn is not a thing of the past. It can happen to LCD screens pretty easily, even in this modern age. However, leaving the screen on and displaying high contrast images can often repair the damage. That's what this screen saver does. See also: http://docs.info.apple.com/article.html?artnum + |: XJack - This behaves schizophrenically and makes a lot of typos. Written by Jamie Zawinski.

- |: Lockward - A translucent spinning, blinking thing. Sort of a cross between the wards in an old combination lock and those old backlit information displays that animated and changed color via polarized light. Written by Leo L. Schwab. + |: Extrusion - Draws various rotating extruded shapes that twist around, lengthen, and turn inside out. Written by Linas Vepstas, David Konerding, and Jamie Zawinski.

- |: Loop - Generates loop-shaped colonies that spawn, age, and eventually die. http://en.wikipedia.org/wiki/Langton%27s_loops Written by David Bagley. + |: MemScroller - This draws a dump of its own process memory scrolling across the screen in three windows at three different rates. Written by Jamie Zawinski.

- |: m6502 - This emulates a 6502 microprocessor. The family of 6502 chips were used throughout the 70's and 80's in machines such as the Atari 2600, Commodore PET, VIC20 and C64, Apple ][, and the NES. Some example programs are included, and it can also read in an assembly file as input. Original JavaScript Version by Stian Soreng: http://www.6502asm.com/. Ported to XScreenSaver by Jeremy English. Written by Stian Soreng and Jeremy English. + |: FlyingToasters - A fleet of 3d space-age jet-powered flying toasters (and toast!) Inspired by the ancient Berkeley Systems After Dark flying toasters. http://en.wikipedia.org/wiki/After_Dark_%28software%29#Flying_Toasters Written by Jamie Zawinski and Devon Dossett.

- |: Maze - This generates random mazes (with various different algorithms), and then solves them. Backtracking and look-ahead paths are displayed in different colors. Written by Jim Randell and many others. + |: Bumps - A spotlight roams across an embossed version of your desktop or other picture. Written by Shane Smit.

- |: MemScroller - This draws a dump of its own process memory scrolling across the screen in three windows at three different rates. Written by Jamie Zawinski. + |: XAnalogTV - XAnalogTV shows a detailed simulation of an old TV set showing various test patterns, with various picture artifacts like snow, bloom, distortion, ghosting, and hash noise. It also simulates the TV warming up. It will cycle through 12 channels, some with images you give it, and some with color bars or nothing but static. Written by Trevor Blackwell.

- |: Menger - This draws the three-dimensional variant of the recursive Menger Gasket, a cube-based fractal object analagous to the Sierpinski Tetrahedron. http://en.wikipedia.org/wiki/Menger_sponge http://en.wikipedia.org/wiki/Sierpinski_carpet Written by Jamie Zawinski. + |: Penetrate - Simulates (something like) the classic arcade game Missile Command. http://en.wikipedia.org/wiki/Missile_Command Written by Adam Miller.

- |: MetaBalls - Draws two dimensional metaballs: overlapping and merging balls with fuzzy edges. http://en.wikipedia.org/wiki/Metaballs Written by W.P. van Paassen. + |: Apollonian - Draws an Apollonian gasket: a fractal packing of circles with smaller circles, demonstrating Descartes's theorem. http://en.wikipedia.org/wiki/Apollonian_gasket http://en.wikipedia.org/wiki/Descartes%27_theorem Written by Allan R. Wilks and David Bagley.

- |: MirrorBlob - Draws a wobbly blob that distorts the image behind it. Written by Jon Dowdall. + |: Endgame - Black slips out of three mating nets, but the fourth one holds him tight! A brilliant composition! See also the "Queens" screen saver. http://en.wikipedia.org/wiki/Chess_endgame Written by Blair Tennessy.

- |: Moebius - This animates a 3D rendition M.C. Escher's "Moebius Strip II", an image of ants walking along the surface of a moebius strip. http://en.wikipedia.org/wiki/Moebius_strip http://en.wikipedia.org/wiki/Maurits_Cornelis_Escher Written by Marcelo F. Vianna. + |: Ripples - This draws rippling interference patterns like splashing water. With the -water option, it manipulates your desktop image to look like something is dripping into it. Written by Tom Hammersley.

- |: MoebiusGears - Draws a closed, interlinked chain of rotating gears. The layout of the gears follows the path of a moebius strip. See also the "Pinion" and "Gears" screen savers. http://en.wikipedia.org/wiki/Involute_gear http://en.wikipedia.org/wiki/Moebius_strip Written by Jamie Zawinski. + |: Menger - This draws the three-dimensional variant of the recursive Menger Gasket, a cube-based fractal object analagous to the Sierpinski Tetrahedron. http://en.wikipedia.org/wiki/Menger_sponge http://en.wikipedia.org/wiki/Sierpinski_carpet Written by Jamie Zawinski.

- |: Moire - When the lines on the screen Make more lines in between, That's a moire'! http://en.wikipedia.org/wiki/Moire_pattern Written by Jamie Zawinski and Michael Bayne. + |: Cage - This draws Escher's "Impossible Cage", a 3d analog of a moebius strip, and rotates it in three dimensions. http://en.wikipedia.org/wiki/Maurits_Cornelis_Escher Written by Marcelo Vianna.

- |: Moire2 - Generates fields of concentric circles or ovals, and combines the planes with various operations. The planes are moving independently of one another, causing the interference lines to spray. http://en.wikipedia.org/wiki/Moire_pattern Written by Jamie Zawinski. + |: Triangle - Generates random mountain ranges using iterative subdivision of triangles. Written by Tobias Gloth.

- |: Molecule - Draws several different representations of molecules. Some common molecules are built in, and it can also read PDB (Protein Data Bank) files as input. http://en.wikipedia.org/wiki/Protein_Data_Bank_%28file_format%29 Written by Jamie Zawinski. + |: Gears - This draws sets of turning, interlocking gears, rotating in three dimensions. See also the "Pinion" and "MoebiusGears" screen savers. http://en.wikipedia.org/wiki/Involute_gear http://en.wikipedia.org/wiki/Epicyclic_gearing Written by Jamie Zawinski.

- |: Morph3D - Platonic solids that turn inside out and get spikey. http://en.wikipedia.org/wiki/Platonic_solid Written by Marcelo Vianna. + |: JigglyPuff - This does bad things with quasi-spherical objects. You have a tetrahedron with tesselated faces. The vertices on these faces have forces on them: one proportional to the distance from the surface of a sphere; and one proportional to the distance from the neighbors. They also have inertia. The resulting effect can range from a shape that does nothing, to a frenetic polygon storm. Somewhere in between there it usually manifests as a blob that jiggles in a kind of disturbing manner. Written by Keith Macleod.

- |: Mountain - Generates random 3D plots that look vaguely mountainous. Written by Pascal Pensa. + |: Wander - Draws a colorful random-walk, in various forms. http://en.wikipedia.org/wiki/Random_walk Written by Rick Campbell.

- |: Munch - DATAI 2 ADDB 1,2 ROTC 2,-22 XOR 1,2 JRST .-4 As reported by HAKMEM, in 1962, Jackson Wright wrote the above PDP-1 code. That code still lives on here, some 46 years later. The number of lines of enclosing code has increased substantially, however. http://en.wikipedia.org/wiki/HAKMEM http://en.wikipedia.org/wiki/Munching_square Written by Jackson Wright and Tim Showalter. + |: Cube21 - Animates a Rubik-like puzzle known as Cube 21 or Square-1. The rotations are chosen randomly. See also the "Rubik" and "GLSnake" screen savers. http://en.wikipedia.org/wiki/Square_One_%28puzzle%29 Written by Vasek Potocek.

- |: NerveRot - Draws different shapes composed of nervously vibrating squiggles, as if seen through a camera operated by a monkey on crack. Written by Dan Bornstein. + |: FlipText - Draws successive pages of text. The lines flip in and out in a soothing 3D pattern. Written by Jamie Zawinski.

- |: Noof - Draws some rotatey patterns, using OpenGL. Written by Bill Torzewski. + |: Providence - "A pyramid unfinished. In the zenith an eye in a triangle, surrounded by a glory, proper." http://en.wikipedia.org/wiki/Eye_of_Providence Written by Blair Tennessy.

- |: NoseGuy - A little man with a big nose wanders around your screen saying things. Written by Dan Heller and Jamie Zawinski. + |: Penrose - Draws quasiperiodic tilings; think of the implications on modern formica technology. In April 1997, Sir Roger Penrose, a British math professor who has worked with Stephen Hawking on such topics as relativity, black holes, and whether time has a beginning, filed a copyright-infringement lawsuit against the Kimberly-Clark Corporation, which Penrose said copied a pattern he created (a pattern demonstrating that "a nonrepeating pattern could exist in nature") for its Kleenex quilted toilet paper. Penrose said he doesn't like litigation but, "When it comes to the population of Great Britain being invited by a multinational to wipe their bottoms on what appears to be the work of a Knight of the Realm, then a last stand must be taken." As reported by News of the Weird #491, 4-Jul-1997. http://en.wikipedia.org/wiki/Penrose_tiling Written by Timo Korvola.

- |: Pacman - Simulates a game of Pac-Man on a randomly-created level. http://en.wikipedia.org/wiki/Pac-Man Written by Edwin de Jong. + |: FadePlot - Draws what looks like a waving ribbon following a sinusoidal path. Written by Bas van Gaalen and Charles Vidal.

- |: Pedal - This is sort of a combination spirograph/string-art. It generates a large, complex polygon, and renders it by filling using an even/odd winding rule. Written by Dale Moore. + |: XFlame - Draws a simulation of pulsing fire. It can also take an arbitrary image and set it on fire too. Written by Carsten Haitzler and many others.

- |: Penetrate - Simulates (something like) the classic arcade game Missile Command. http://en.wikipedia.org/wiki/Missile_Command Written by Adam Miller. + |: Photopile - Loads several random images, and displays them as if lying in a random pile. The pile is periodically reshuffled, with new images coming in and old ones being thrown out. Written by Jens Kilian.

- |: Penrose - Draws quasiperiodic tilings; think of the implications on modern formica technology. In April 1997, Sir Roger Penrose, a British math professor who has worked with Stephen Hawking on such topics as relativity, black holes, and whether time has a beginning, filed a copyright-infringement lawsuit against the Kimberly-Clark Corporation, which Penrose said copied a pattern he created (a pattern demonstrating that "a nonrepeating pattern could exist in nature") for its Kleenex quilted toilet paper. Penrose said he doesn't like litigation but, "When it comes to the population of Great Britain being invited by a multinational to wipe their bottoms on what appears to be the work of a Knight of the Realm, then a last stand must be taken." As reported by News of the Weird #491, 4-Jul-1997. http://en.wikipedia.org/wiki/Penrose_tiling Written by Timo Korvola. + |: GLBlur - This draws a box and a few line segments, and generates a radial blur outward from it. This creates flowing field effects. This is done by rendering the scene into a small texture, then repeatedly rendering increasingly-enlarged and increasingly-transparent versions of that texture onto the frame buffer. As such, it's quite GPU-intensive: if you don't have a very good graphics card, it will hurt your machine bad. Written by Jamie Zawinski.

- |: Petri - This simulates colonies of mold growing in a petri dish. Growing colored circles overlap and leave spiral interference in their wake. Written by Dan Bornstein. + |: Crystal - Moving polygons, similar to a kaleidoscope. See also the "Kaleidescope" and "GLeidescope" screen savers. http://en.wikipedia.org/wiki/Kaleidoscope Written by Jouk Jansen.

- |: Phosphor - Draws a simulation of an old terminal, with large pixels and long-sustain phosphor. On X11 systems, This program is also a fully-functional VT100 emulator! Written by Jamie Zawinski. + |: Interference - Color field based on computing decaying sinusoidal waves. Written by Hannu Mallat.

- |: Photopile - Loads several random images, and displays them as if lying in a random pile. The pile is periodically reshuffled, with new images coming in and old ones being thrown out. Written by Jens Kilian. + |: Carousel - Loads several random images, and displays them flying in a circular formation. The formation changes speed and direction randomly, and images periodically drop out to be replaced by new ones. Written by Jamie Zawinski.

- |: Piecewise - This draws a bunch of moving circles which switch from visibility to invisibility at intersection points. Written by Geoffrey Irving. + |: Epicycle - This draws the path traced out by a point on the edge of a circle. That circle rotates around a point on the rim of another circle, and so on, several times. These were the basis for the pre-heliocentric model of planetary motion. http://en.wikipedia.org/wiki/Deferent_and_epicycle Written by James Youngman.

- |: Pinion - Draws an interconnected set of gears moving across the screen. See also the "Gears" and "MoebiusGears" screen savers. http://en.wikipedia.org/wiki/Involute_gear Written by Jamie Zawinski. + |: StarWars - Draws a stream of text slowly scrolling into the distance at an angle, over a star field, like at the beginning of the movie of the same name. http://en.wikipedia.org/wiki/Star_Wars_opening_crawl Written by Jamie Zawinski and Claudio Matauoka.

- |: Pipes - A growing plumbing system, with bolts and valves. Written by Marcelo Vianna. + |: Vermiculate - Draws squiggly worm-like paths. Written by Tyler Pierce.

- |: Polyhedra - Displays different 3D solids and some information about each. A new solid is chosen every few seconds. There are 75 uniform polyhedra, plus 5 infinite sets of prisms and antiprisms; including their duals brings the total to 160. http://en.wikipedia.org/wiki/Uniform_polyhedra Written by Dr. Zvi Har'El and Jamie Zawinski. + |: Blaster - Draws a simulation of flying space-combat robots (cleverly disguised as colored circles) doing battle in front of a moving star field. Written by Jonathan Lin.

- |: Polyominoes - Repeatedly attempts to completely fill a rectangle with irregularly-shaped puzzle pieces. http://en.wikipedia.org/wiki/Polyomino Written by Stephen Montgomery-Smith. + |: Discrete - More "discrete map" systems, including new variants of Hopalong and Julia, and a few others. Written by Tim Auckland.

- |: Polytopes - This shows one of the six regular 4D polytopes rotating in 4D. Inspired by H.S.M Coxeter's book "Regular Polytopes", 3rd Edition, Dover Publications, Inc., 1973, and Thomas Banchoff's book "Beyond the Third Dimension: Geometry, Computer Graphics, and Higher Dimensions", Scientific American Library, 1990. http://en.wikipedia.org/wiki/Hypercube http://en.wikipedia.org/wiki/Regular_polytope Written by Carsten Steger. + |: NerveRot - Draws different shapes composed of nervously vibrating squiggles, as if seen through a camera operated by a monkey on crack. Written by Dan Bornstein.

- |: Pong - This simulates the 1971 Pong home video game, as well as various artifacts from displaying it on a color TV set. In clock mode, the score keeps track of the current time. http://en.wikipedia.org/wiki/Pong Written by Jeremy English and Trevor Blackwell. + |: Abstractile - Generates mosaic patterns of interlocking tiles. Written by Steve Sundstrom.

- |: Providence - "A pyramid unfinished. In the zenith an eye in a triangle, surrounded by a glory, proper." http://en.wikipedia.org/wiki/Eye_of_Providence Written by Blair Tennessy. + |: Demon - A cellular automaton that starts with a random field, and organizes it into stripes and spirals. http://en.wikipedia.org/wiki/Maxwell%27s_demon Written by David Bagley.

- |: Pulsar - Draws some intersecting planes, making use of alpha blending, fog, textures, and mipmaps. Written by David Konerding. + |: TronBit - Draws an animation of the character "Bit" from the film, "Tron". The "yes" state is a tetrahedron; the "no" state is the second stellation of an icosahedron; and the idle state oscillates between a small triambic icosahedron and the compound of an icosahedron and a dodecahedron. http://en.wikipedia.org/wiki/List_of_Tron_characters#Bit http://en.wikipedia.org/wiki/Uniform_polyhedra http://en.wikipedia.org/wiki/Stellation Written by Jamie Zawinski.

- |: Pyro - Exploding fireworks. See also the "Fireworkx", "Eruption", and "XFlame" screen savers. Written by Jamie Zawinski. + |: AntInspect - Draws a trio of ants moving their spheres around a circle. Written by Blair Tennessy.

- |: Qix - Bounces a series of line segments around the screen, and uses variations on this basic motion pattern to produce all sorts of different presentations: line segments, filled polygons, and overlapping translucent areas. http://en.wikipedia.org/wiki/Qix Written by Jamie Zawinski. + |: Truchet - This draws line- and arc-based truchet patterns that tile the screen. http://en.wikipedia.org/wiki/Tessellation Written by Adrian Likins.

- |: Queens - Solves the N-Queens problem (where N is between 5 and 10 queens). The problem is: how may one place N queens on an NxN chessboard such that no queen can attack a sister? See also the "Endgame" screen saver. http://en.wikipedia.org/wiki/Eight_queens_puzzle Written by Blair Tennessy. + |: Pedal - This is sort of a combination spirograph/string-art. It generates a large, complex polygon, and renders it by filling using an even/odd winding rule. Written by Dale Moore.

- |: RDbomb - Draws a grid of growing square-like shapes that, once they overtake each other, react in unpredictable ways. "RD" stands for reaction-diffusion. Written by Scott Draves. + |: BlockTube - Draws a swirling, falling tunnel of reflective slabs. They fade from hue to hue. Written by Lars R. Damerow.

- |: Ripples - This draws rippling interference patterns like splashing water. With the -water option, it manipulates your desktop image to look like something is dripping into it. Written by Tom Hammersley. + |: Moire - When the lines on the screen Make more lines in between, That's a moire'! http://en.wikipedia.org/wiki/Moire_pattern Written by Jamie Zawinski and Michael Bayne.

- |: Rocks - This draws an animation of flight through an asteroid field, with changes in rotation and direction. Written by Jamie Zawinski. + |: Drift - Drifting recursive fractal cosmic flames. Written by Scott Draves.

- |: Rorschach - This generates random inkblot patterns via a reflected random walk. Any deep-seated neurotic tendencies which this program reveals are your own problem. http://en.wikipedia.org/wiki/Rorschach_inkblot_test http://en.wikipedia.org/wiki/Random_walk Written by Jamie Zawinski. + |: NoseGuy - A little man with a big nose wanders around your screen saying things. Written by Dan Heller and Jamie Zawinski.

- |: RotZoomer - Creates a collage of rotated and scaled portions of the screen. Written by Claudio Matsuoka. + |: FlipScreen3D - Grabs an image of the desktop, turns it into a GL texture map, and spins it around and deforms it in various ways. Written by Ben Buxton and Jamie Zawinski.

- |: Rubik - Draws a Rubik's Cube that rotates in three dimensions and repeatedly shuffles and solves itself. See also the "GLSnake" and "Cube21" screen savers. http://en.wikipedia.org/wiki/Rubik%27s_Cube Written by Marcelo Vianna. + |: Strange - This draws iterations to strange attractors: it's a colorful, unpredictably-animating swarm of dots that swoops and twists around. http://en.wikipedia.org/wiki/Attractor#Strange_attractor Written by Massimino Pascal.

- |: RubikBlocks - Animates the Rubik's Mirror Blocks puzzle. See also the "Rubik", "Cube21", and "GLSnake" screen savers. http://en.wikipedia.org/wiki/Combination_puzzles#Irregular_Cuboids Written by Vasek Potocek. + |: CWaves - This generates a languidly-scrolling vertical field of sinusoidal colors. Written by Jamie Zawinski.

- |: SBalls - Draws an animation of textured balls spinning like crazy. Written by Eric Lassauge. + |: IMSMap - This generates random cloud-like patterns. The idea is to take four points on the edge of the image, and assign each a random "elevation". Then find the point between them, and give it a value which is the average of the other four, plus some small random offset. Coloration is done based on elevation. Written by Juergen Nickelsen and Jamie Zawinski.

- |: ShadeBobs - This draws smoothly-shaded oscillating oval patterns that look something like vapor trails or neon tubes. Written by Shane Smit. + |: GLSlideshow - Loads a random sequence of images and smoothly scans and zooms around in each, fading from pan to pan. Written by Jamie Zawinski and Mike Oliphant.

- |: Sierpinski - This draws the two-dimensional variant of the recursive Sierpinski triangle fractal. See also the "Sierpinski3D" screen saver. http://en.wikipedia.org/wiki/Sierpinski_triangle Written by Desmond Daignault. + |: ShadeBobs - This draws smoothly-shaded oscillating oval patterns that look something like vapor trails or neon tubes. Written by Shane Smit.

- |: Sierpinski3D - This draws the Sierpinski tetrahedron fractal, the three-dimensional variant of the recursive Sierpinski triangle. http://en.wikipedia.org/wiki/Sierpinski_triangle#Analogs_in_higher_dimension Written by Tim Robinson and Jamie Zawinski. + |: Eruption - Exploding fireworks. See also the "Fireworkx", "XFlame" and "Pyro" screen savers. Written by W.P. van Paassen.

- |: SkyTentacles - There is a tentacled abomination in the sky. From above you it devours. Written by Jamie Zawinski. + |: Thornbird - Displays a view of the "Bird in a Thornbush" fractal. Written by Tim Auckland.

- |: SlideScreen - This takes an image, divides it into a grid, and then randomly shuffles the squares around as if it was one of those "fifteen-puzzle" games where there is a grid of squares, one of which is missing. http://en.wikipedia.org/wiki/Fifteen_puzzle Written by Jamie Zawinski. + |: Halo - Draws trippy psychedelic circular patterns that hurt to look at. http://en.wikipedia.org/wiki/Moire_pattern Written by Jamie Zawinski.

- |: Slip - This throws some random bits on the screen, then sucks them through a jet engine and spews them out the other side. To avoid turning the image completely to mush, every now and then it will it interject some splashes of color into the scene, or go into a spin cycle, or stretch the image like taffy. Written by Scott Draves and Jamie Zawinski. + |: XRaySwarm - Draws a few swarms of critters flying around the screen, with faded color trails behind them. Written by Chris Leger.

- |: Sonar - This draws a sonar screen that pings (get it?) the hosts on your local network, and plots their distance (response time) from you. The three rings represent ping times of approximately 2.5, 70 and 2,000 milliseconds respectively. Alternately, it can run a simulation that doesn't involve hosts. (If pinging doesn't work, you may need to make the executable be setuid.) http://en.wikipedia.org/wiki/Ping#History Written by Stephen Martin and Jamie Zawinski. + |: Anemotaxis - Anemotaxis demonstrates a search algorithm designed for locating a source of odor in turbulent atmosphere. The searcher is able to sense the odor and determine local instantaneous wind direction. The goal is to find the source in the shortest mean time. http://en.wikipedia.org/wiki/Anemotaxis Written by Eugene Balkovsky.

- |: SpeedMine - Simulates speeding down a rocky mineshaft, or a funky dancing worm. Written by Conrad Parker. + |: Queens - Solves the N-Queens problem (where N is between 5 and 10 queens). The problem is: how may one place N queens on an NxN chessboard such that no queen can attack a sister? See also the "Endgame" screen saver. http://en.wikipedia.org/wiki/Eight_queens_puzzle Written by Blair Tennessy.

- |: Spheremonics - These closed objects are commonly called spherical harmonics, although they are only remotely related to the mathematical definition found in the solution to certain wave functions, most notably the eigenfunctions of angular momentum operators. http://en.wikipedia.org/wiki/Spherical_harmonics#Visualization_of_the_spherical_harmonics Written by Paul Bourke and Jamie Zawinski. + |: Halftone - Draws the gravity force in each point on the screen seen through a halftone dot pattern. The gravity force is calculated from a set of moving mass points. View it from a distance for best effect. http://en.wikipedia.org/wiki/Halftone Written by Peter Jaric.

- |: Spotlight - Draws a spotlight scanning across a black screen, illuminating the underlying desktop (or a picture) when it passes. Written by Rick Schultz and Jamie Zawinski. + |: Moebius - This animates a 3D rendition M.C. Escher's "Moebius Strip II", an image of ants walking along the surface of a moebius strip. http://en.wikipedia.org/wiki/Moebius_strip http://en.wikipedia.org/wiki/Maurits_Cornelis_Escher Written by Marcelo F. Vianna.

- |: Sproingies - Slinky-like creatures walk down an infinite staircase and occasionally explode! http://en.wikipedia.org/wiki/Slinky http://en.wikipedia.org/wiki/Q%2Abert http://en.wikipedia.org/wiki/Marble_Madness Written by Ed Mackey. + |: Helix - Spirally string-art-ish patterns. Written by Jamie Zawinski.

- |: Squiral - Draws a set of interacting, square-spiral-producing automata. The spirals grow outward until they hit something, then they go around it. Written by Jeff Epler. + |: Flurry - This X11 port of the OSX screensaver of the same name draws a colourful star(fish)like flurry of particles. Original Mac version: http://homepage.mac.com/calumr Written by Calum Robinson and Tobias Sargeant.

- |: Stairs - Escher's infinite staircase. http://en.wikipedia.org/wiki/Maurits_Cornelis_Escher Written by Marcelo Vianna. + |: CCurve - Generates self-similar linear fractals, including the classic "C Curve". http://en.wikipedia.org/wiki/Levy_C_curve Written by Rick Campbell.

- |: Starfish - This generates a sequence of undulating, throbbing, star-like patterns which pulsate, rotate, and turn inside out. Another display mode uses these shapes to lay down a field of colors, which are then cycled. The motion is very organic. Written by Jamie Zawinski. + |: Cubenetic - Draws a pulsating set of overlapping boxes with ever-chaning blobby patterns undulating across their surfaces. It's sort of a cubist Lavalite. Written by Jamie Zawinski.

- |: StarWars - Draws a stream of text slowly scrolling into the distance at an angle, over a star field, like at the beginning of the movie of the same name. http://en.wikipedia.org/wiki/Star_Wars_opening_crawl Written by Jamie Zawinski and Claudio Matauoka. + |: GLSchool - Uses Craig Reynolds' Boids algorithm to simulate a school of fish. http://en.wikipedia.org/wiki/Boids Written by David C. Lambert.

- |: StonerView - Chains of colorful squares dance around each other in complex spiral patterns. Inspired by David Tristram's `electropaint' screen saver, originally written for SGI computers in the late 1980s or early 1990s. Written by Andrew Plotkin. + |: Pacman - Simulates a game of Pac-Man on a randomly-created level. http://en.wikipedia.org/wiki/Pac-Man Written by Edwin de Jong.

- |: Strange - This draws iterations to strange attractors: it's a colorful, unpredictably-animating swarm of dots that swoops and twists around. http://en.wikipedia.org/wiki/Attractor#Strange_attractor Written by Massimino Pascal. + |: Voronoi - Draws a randomly-colored Voronoi tessellation, and periodically zooms in and adds new points. The existing points also wander around. There are a set of control points on the plane, each at the center of a colored cell. Every pixel within that cell is closer to that cell's control point than to any other control point. That is what determines the cell's shapes. http://en.wikipedia.org/wiki/Voronoi_diagram Written by Jamie Zawinski.

- |: Substrate - Crystalline lines grow on a computational substrate. A simple perpendicular growth rule creates intricate city-like structures. Written by J. Tarbell and Mike Kershaw. + |: BoxFit - Packs the screen with growing squares or circles, colored according to a horizontal or vertical gradient, or according to the colors of the desktop or a loaded image file. The objects grow until they touch, then stop. When the screen is full, they shrink away and the process restarts. Written by Jamie Zawinski.

- |: Superquadrics - Morphing 3D shapes. Written by Ed Mackey. + |: Coral - Simulates coral growth, albeit somewhat slowly. Written by Frederick Roeber.

- |: Surfaces - This draws a visualization of several interesting parametric surfaces. http://mathworld.wolfram.com/DinisSurface.html http://en.wikipedia.org/wiki/Enneper_surface http://mathworld.wolfram.com/EnnepersMinimalSurface.html http://mathworld.wolfram.com/KuenSurface.html http://en.wikipedia.org/wiki/Moebius_strip http://mathworld.wolfram.com/Seashell.html http://mathworld.wolfram.com/SwallowtailCatastrophe.html http://mathworld.wolfram.com/BohemianDome.html http://en.wikipedia.org/wiki/Whitney_umbrella http://mathworld.wolfram.com/PlueckersConoid.html http://mathworld.wolfram.com/HennebergsMinimalSurface.html http://mathworld.wolfram.com/CatalansSurface.html http://mathworld.wolfram.com/CorkscrewSurface.html Written by Andrey Mirtchovski and Carsten Steger. + |: TopBlock - Creates a 3D world with dropping blocks that build up and up. Written by rednuht.

- |: Swirl - Flowing, swirly patterns. Written by M. Dobie and R. Taylor. + |: Lament - Animates a simulation of Lemarchand's Box, the Lament Configuration, repeatedly solving itself. Warning: occasionally opens doors. http://en.wikipedia.org/wiki/Lemarchand%27s_box Written by Jamie Zawinski.

- |: Tangram - Solves tangram puzzles. http://en.wikipedia.org/wiki/Tangram Written by Jeremy English. + |: Attraction - Uses a simple simple motion model to generate many different display modes. The control points attract each other up to a certain distance, and then begin to repel each other. The attraction/repulsion is proportional to the distance between any two particles, similar to the strong and weak nuclear forces. Written by Jamie Zawinski and John Pezaris.

- |: Thornbird - Displays a view of the "Bird in a Thornbush" fractal. Written by Tim Auckland. + |: Gleidescope - A kaleidoscope that operates on your desktop image, or on image files loaded from disk. http://en.wikipedia.org/wiki/Kaleidoscope Written by Andrew Dean.

- |: TimeTunnel - Draws an animation similar to the opening and closing effects on the Dr. Who TV show. Written by Sean P. Brennan. + |: CubeStorm - Draws a series of rotating 3D boxes that intersect each other and eventually fill space. Written by Jamie Zawinski.

- |: TopBlock - Creates a 3D world with dropping blocks that build up and up. Written by rednuht. + |: Compass - This draws a compass, with all elements spinning about randomly, for that "lost and nauseous" feeling. Written by Jamie Zawinski.

- |: Triangle - Generates random mountain ranges using iterative subdivision of triangles. Written by Tobias Gloth. + |: Twang - Divides the screen into a grid, and plucks them. Written by Dan Bornstein.

- |: TronBit - Draws an animation of the character "Bit" from the film, "Tron". The "yes" state is a tetrahedron; the "no" state is the second stellation of an icosahedron; and the idle state oscillates between a small triambic icosahedron and the compound of an icosahedron and a dodecahedron. http://en.wikipedia.org/wiki/List_of_Tron_characters#Bit http://en.wikipedia.org/wiki/Uniform_polyhedra http://en.wikipedia.org/wiki/Stellation Written by Jamie Zawinski. + |: BlitSpin - Repeatedly rotates a bitmap by 90 degrees by using logical operations: the bitmap is divided into quadrants, and the quadrants are shifted clockwise. Then the same thing is done again with progressively smaller quadrants, except that all sub-quadrants of a given size are rotated in parallel. As you watch it, the image appears to dissolve into static and then reconstitute itself, but rotated. Written by Jamie Zawinski.

- |: Truchet - This draws line- and arc-based truchet patterns that tile the screen. http://en.wikipedia.org/wiki/Tessellation Written by Adrian Likins. + |: XSpirograph - Simulates that pen-in-nested-plastic-gears toy from your childhood. http://en.wikipedia.org/wiki/Spirograph Written by Rohit Singh.

- |: Twang - Divides the screen into a grid, and plucks them. Written by Dan Bornstein. + |: SlideScreen - This takes an image, divides it into a grid, and then randomly shuffles the squares around as if it was one of those "fifteen-puzzle" games where there is a grid of squares, one of which is missing. http://en.wikipedia.org/wiki/Fifteen_puzzle Written by Jamie Zawinski.

- |: Vermiculate - Draws squiggly worm-like paths. Written by Tyler Pierce. + |: Piecewise - This draws a bunch of moving circles which switch from visibility to invisibility at intersection points. Written by Geoffrey Irving.

- |: VidWhacker - This is a shell script that grabs a frame of video from the system's video input, and then uses some PBM filters (chosen at random) to manipulate and recombine the video frame in various ways (edge detection, subtracting the image from a rotated version of itself, etc.) Then it displays that image for a few seconds, and does it again. This works really well if you just feed broadcast television into it. Written by Jamie Zawinski. + |: Deco - Subdivides and colors rectangles randomly. It looks kind of like Brady-Bunch-era rec-room wall paneling. http://en.wikipedia.org/wiki/Piet_Mondrian#Paris_1919.E2.80.931938 Written by Jamie Zawinski and Michael Bayne.

- |: Voronoi - Draws a randomly-colored Voronoi tessellation, and periodically zooms in and adds new points. The existing points also wander around. There are a set of control points on the plane, each at the center of a colored cell. Every pixel within that cell is closer to that cell's control point than to any other control point. That is what determines the cell's shapes. http://en.wikipedia.org/wiki/Voronoi_diagram Written by Jamie Zawinski. + |: GLSnake - Draws a simulation of the Rubik's Snake puzzle. See also the "Rubik" and "Cube21" screen savers. http://en.wikipedia.org/wiki/Rubik%27s_Snake Written by Jamie Wilkinson, Andrew Bennetts, and Peter Aylett.

- |: Wander - Draws a colorful random-walk, in various forms. http://en.wikipedia.org/wiki/Random_walk Written by Rick Campbell. + |: RDbomb - Draws a grid of growing square-like shapes that, once they overtake each other, react in unpredictable ways. "RD" stands for reaction-diffusion. Written by Scott Draves.

- |: WhirlWindWarp - Floating stars are acted upon by a mixture of simple 2D forcefields. The strength of each forcefield changes continuously, and it is also switched on and off at random. Written by Paul 'Joey' Clark. + |: FuzzyFlakes - Falling colored snowflake/flower shapes. Written by Barry Dmytro.

- |: Wormhole - Flying through a colored wormhole in space. Written by Jon Rafkind. + |: Braid - Draws random color-cycling inter-braided concentric circles. Written by John Neil.

- |: XAnalogTV - XAnalogTV shows a detailed simulation of an old TV set showing various test patterns, with various picture artifacts like snow, bloom, distortion, ghosting, and hash noise. It also simulates the TV warming up. It will cycle through 12 channels, some with images you give it, and some with color bars or nothing but static. Written by Trevor Blackwell. + |: MetaBalls - Draws two dimensional metaballs: overlapping and merging balls with fuzzy edges. http://en.wikipedia.org/wiki/Metaballs Written by W.P. van Paassen.

- |: XFlame - Draws a simulation of pulsing fire. It can also take an arbitrary image and set it on fire too. Written by Carsten Haitzler and many others. + |: DangerBall - Draws a ball that periodically extrudes many random spikes. Ouch! Written by Jamie Zawinski.

- |: XJack - This behaves schizophrenically and makes a lot of typos. Written by Jamie Zawinski. + |: Molecule - Draws several different representations of molecules. Some common molecules are built in, and it can also read PDB (Protein Data Bank) files as input. http://en.wikipedia.org/wiki/Protein_Data_Bank_%28file_format%29 Written by Jamie Zawinski.

- |: XLyap - This generates pretty fractal pictures via the Lyapunov exponent. http://en.wikipedia.org/wiki/Lyapunov_exponent Written by Ron Record. + |: BlinkBox - Shows a ball contained inside of a bounding box. Colored blocks blink in when the ball hits the sides. Written by Jeremy English.

- |: XMatrix - Draws dropping characters similar to what is seen on the computer monitors in "The Matrix". See also "GLMatrix" for a 3D rendering of the similar effect that appeared in the movie's title sequence. Written by Jamie Zawinski. + |: Sonar - This draws a sonar screen that pings (get it?) the hosts on your local network, and plots their distance (response time) from you. The three rings represent ping times of approximately 2.5, 70 and 2,000 milliseconds respectively. Alternately, it can run a simulation that doesn't involve hosts. (If pinging doesn't work, you may need to make the executable be setuid.) http://en.wikipedia.org/wiki/Ping#History Written by Stephen Martin and Jamie Zawinski.

- |: XRaySwarm - Draws a few swarms of critters flying around the screen, with faded color trails behind them. Written by Chris Leger. + |: GLCells - Cells growing, dividing and dying on your screen. Written by Matthias Toussaint.

- |: XSpirograph - Simulates that pen-in-nested-plastic-gears toy from your childhood. http://en.wikipedia.org/wiki/Spirograph Written by Rohit Singh. + |: Squiral - Draws a set of interacting, square-spiral-producing automata. The spirals grow outward until they hit something, then they go around it. Written by Jeff Epler.

- |: Zoom - Zooms in on a part of the screen and then moves around. With the "Lenses" option, the result is like looking through many overlapping lenses rather than just a simple zoom. Written by James Macnicol. + |: Klein - This draws a visualization of a Klein bottle or some other interesting parametric surfaces. http://en.wikipedia.org/wiki/Klein_bottle Written by Andrey Mirtchovski.


@@ -3201,6 +3312,9 @@

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 @@ -3218,51 +3332,51 @@ c: Center the current frame

- Right: Select the next brother frame + R: Select the next brother frame

- Left: Select the previous brother frame + L: Select the previous brother frame

- Up: Select the next level + U: Select the next level

- Down: Select the previous levelframe + D: Select the previous levelframe

- Tab: Select the next child + T: Select the next child


Frame-Pack-Menu

- Up: Pack the current frame up + u: Pack the current frame up

- Down: Pack the current frame down + d: Pack the current frame down

- Left: Pack the current frame left + l: Pack the current frame left

- Right: Pack the current frame right + r: Pack the current frame right


Frame-Fill-Menu

- Up: Fill the current frame up + u: Fill the current frame up

- Down: Fill the current frame down + d: Fill the current frame down

- Left: Fill the current frame left + l: Fill the current frame left

- Right: Fill the current frame right + r: Fill the current frame right

a: Fill the current frame in all directions @@ -3278,16 +3392,16 @@ Frame-Resize-Menu

- Up: Resize the current frame up to its half height + u: Resize the current frame up to its half height

- Down: Resize the current frame down to its half height + d: Resize the current frame down to its half height

- Left: Resize the current frame left to its half width + l: Resize the current frame left to its half width

- Right: Resize the current frame right to its half width + r: Resize the current frame right to its half width

a: Resize down the current frame @@ -3529,52 +3643,64 @@ Configuration-Menu

- a: < Gimp Layout Group > + a: < Corner Group > +

+

+ b: < Hook Group > +

+

+ c: < Root Group >

- b: < Notify Window Group > + d: < Main Mode Group >

- c: < Expose Mode Group > + e: < Frame Colors Group >

- d: < Circulate Mode Group > + f: < Miscellaneous Group >

- e: < Info Mode Group > + g: < Second Mode Group >

- f: < Query String Group > + h: < Identify Key Group >

- g: < Identify Key Group > + i: < Query String Group >

- h: < Second Mode Group > + j: < Circulate Mode Group >

- i: < Frame Colors Group > + k: < Expose Mode Group >

- j: < Root Group > + l: < Info Mode Group >

- k: < Corner Group > + m: < Menu Group >

- l: < Menu Group > + n: < Notify Window Group >

- m: < Placement Group > + o: < Gimp Layout Group >

- n: < Hook Group > + p: < Power Management Group >

- o: < Main Mode Group > + q: < Placement Group >

- p: < Miscellaneous Group > + r: < Volume Mode Group > +

+

+ s: < Toolbar Group > +

+

+ t: < Wallpaper Group >

F2: Save all configuration variables in clfswmrc @@ -3584,460 +3710,617 @@


- Conf-Gimp-Layout + Conf-Corner

- a: Configure GIMP-LAYOUT-NOTIFY-WINDOW-DELAY + a: Configure CORNER-SIZE +

+

+ b: Configure CORNER-MAIN-MODE-LEFT-BUTTON +

+

+ c: Configure CORNER-MAIN-MODE-MIDDLE-BUTTON +

+

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

-
-

- Conf-Notify-Window -

- a: Configure NOTIFY-WINDOW-TRANSPARENCY + e: Configure CORNER-SECOND-MODE-LEFT-BUTTON

- b: Configure NOTIFY-WINDOW-DELAY + f: Configure CORNER-SECOND-MODE-MIDDLE-BUTTON

- c: Configure NOTIFY-WINDOW-BORDER + g: Configure CORNER-SECOND-MODE-RIGHT-BUTTON

- d: Configure NOTIFY-WINDOW-FOREGROUND + h: Configure VIRTUAL-KEYBOARD-CMD

- e: Configure NOTIFY-WINDOW-BACKGROUND + i: Configure CLFSWM-TERMINAL-NAME

- f: Configure NOTIFY-WINDOW-FONT-STRING + j: Configure CLFSWM-TERMINAL-CMD +

+

+ k: Configure CORNER-ERROR-MESSAGE-COLOR +

+

+ l: Configure CORNER-ERROR-MESSAGE-DELAY +

+

+ m: Configure CORNER-COMMAND-TRY-DELAY +

+

+ n: Configure CORNER-COMMAND-TRY-NUMBER


- Conf-Expose-Mode + Conf-Hook

- a: Configure EXPOSE-DIRECT-SELECT + a: Configure BINDING-HOOK +

+

+ b: Configure LOOP-HOOK

- b: Configure EXPOSE-TRANSPARENCY + c: Configure MAIN-ENTRANCE-HOOK

- c: Configure EXPOSE-SHOW-WINDOW-TITLE + d: Configure ROOT-SIZE-CHANGE

- d: Configure EXPOSE-VALID-ON-KEY + e: Configure INIT-HOOK

- e: Configure EXPOSE-BORDER + f: Configure CLOSE-HOOK

- f: Configure EXPOSE-BACKGROUND-LETTER-MATCH + g: Configure DEFAULT-NW-HOOK +

+

+ h: Configure QUERY-KEY-PRESS-HOOK +

+

+ i: Configure QUERY-BUTTON-PRESS-HOOK

+
+

+ Conf-Root +

- g: Configure EXPOSE-FOREGROUND-LETTER-NOK + a: Configure CREATE-FRAME-ON-ROOT

- h: Configure EXPOSE-FOREGROUND-LETTER + b: Configure HAVE-TO-SHOW-CURRENT-ROOT

- i: Configure EXPOSE-FOREGROUND + c: Configure SHOW-CURRENT-ROOT-DELAY

- j: Configure EXPOSE-BACKGROUND + d: Configure SHOW-CURRENT-ROOT-PLACEMENT

- k: Configure EXPOSE-FONT-STRING + e: Configure SHOW-CURRENT-ROOT-MESSAGE


- Conf-Circulate-Mode + Conf-Main-Mode

- a: Configure CIRCULATE-TEXT-LIMITE + a: Configure COLOR-MOVE-WINDOW

- b: Configure CIRCULATE-TRANSPARENCY + b: Configure COLOR-SELECTED

- c: Configure CIRCULATE-HEIGHT + c: Configure COLOR-UNSELECTED

- d: Configure CIRCULATE-WIDTH + d: Configure COLOR-MAYBE-SELECTED

+
+

+ Conf-Frame-Colors +

- e: Configure CIRCULATE-BORDER + a: Configure FRAME-BACKGROUND

- f: Configure CIRCULATE-FOREGROUND + b: Configure FRAME-FOREGROUND

- g: Configure CIRCULATE-BACKGROUND + c: Configure FRAME-FOREGROUND-ROOT +

+

+ d: Configure FRAME-FOREGROUND-HIDDEN

- h: Configure CIRCULATE-FONT-STRING + e: Configure FRAME-TRANSPARENCY


- Conf-Info-Mode + Conf-Miscellaneous

- a: Configure INFO-COLOR-SECOND + a: Configure HAVE-TO-COMPRESS-NOTIFY

- b: Configure INFO-COLOR-FIRST + b: Configure TRANSPARENT-BACKGROUND

- c: Configure INFO-COLOR-UNDERLINE + c: Configure DEFAULT-TRANSPARENCY

- d: Configure INFO-COLOR-TITLE + d: Configure SHOW-ROOT-FRAME-P

- e: Configure INFO-CLICK-TO-SELECT + e: Configure BORDER-SIZE

- f: Configure INFO-TRANSPARENCY + f: Configure LOOP-TIMEOUT

- g: Configure INFO-FONT-STRING + g: Configure DEFAULT-FONT-STRING

- h: Configure INFO-SELECTED-BACKGROUND + h: Configure DEFAULT-FRAME-DATA

- i: Configure INFO-LINE-CURSOR + i: Configure DEFAULT-MANAGED-TYPE

- j: Configure INFO-BORDER + j: Configure DEFAULT-FOCUS-POLICY

- k: Configure INFO-FOREGROUND + k: Configure SHOW-HIDE-POLICY

- l: Configure INFO-BACKGROUND + l: Configure DEFAULT-MODIFIERS

-
-

- Conf-Query-String -

- a: Configure QUERY-MIN-COMPLET-CHAR + m: Configure NEVER-MANAGED-WINDOW-LIST

- b: Configure QUERY-MAX-COMPLET-LENGTH + n: Configure HIDE-UNMANAGED-WINDOW

- c: Configure QUERY-TRANSPARENCY + o: Configure SNAP-SIZE

- d: Configure QUERY-BORDER + p: Configure SPATIAL-MOVE-DELAY-BEFORE

- e: Configure QUERY-PARENT-ERROR-COLOR + q: Configure SPATIAL-MOVE-DELAY-AFTER

- f: Configure QUERY-PARENT-COLOR + r: Configure DEFAULT-WINDOW-WIDTH

- g: Configure QUERY-CURSOR-COLOR + s: Configure DEFAULT-WINDOW-HEIGHT

+
+

+ Conf-Second-Mode +

- h: Configure QUERY-FOREGROUND + a: Configure SM-BORDER-COLOR

- i: Configure QUERY-MESSAGE-COLOR + b: Configure SM-BACKGROUND-COLOR

- j: Configure QUERY-BACKGROUND + c: Configure SM-FOREGROUND-COLOR

- k: Configure QUERY-FONT-STRING + d: Configure SM-FONT-STRING +

+

+ e: Configure SM-WIDTH +

+

+ f: Configure SM-HEIGHT +

+

+ g: Configure SM-TRANSPARENCY


Conf-Identify-Key

- a: Configure IDENTIFY-TRANSPARENCY + a: Configure IDENTIFY-FONT-STRING

- b: Configure IDENTIFY-BORDER + b: Configure IDENTIFY-BACKGROUND

c: Configure IDENTIFY-FOREGROUND

- d: Configure IDENTIFY-BACKGROUND + d: Configure IDENTIFY-BORDER

- e: Configure IDENTIFY-FONT-STRING + e: Configure IDENTIFY-TRANSPARENCY


- Conf-Second-Mode + Conf-Query-String

- a: Configure SM-TRANSPARENCY + a: Configure QUERY-FONT-STRING

- b: Configure SM-HEIGHT + b: Configure QUERY-BACKGROUND

- c: Configure SM-WIDTH + c: Configure QUERY-MESSAGE-COLOR

- d: Configure SM-FONT-STRING + d: Configure QUERY-FOREGROUND

- e: Configure SM-FOREGROUND-COLOR + e: Configure QUERY-CURSOR-COLOR +

+

+ f: Configure QUERY-PARENT-COLOR

- f: Configure SM-BACKGROUND-COLOR + g: Configure QUERY-PARENT-ERROR-COLOR

- g: Configure SM-BORDER-COLOR + h: Configure QUERY-BORDER +

+

+ i: Configure QUERY-TRANSPARENCY +

+

+ j: Configure QUERY-MAX-COMPLET-LENGTH +

+

+ k: Configure QUERY-MIN-COMPLET-CHAR


- Conf-Frame-Colors + Conf-Circulate-Mode

- a: Configure FRAME-TRANSPARENCY + a: Configure CIRCULATE-FONT-STRING

- b: Configure FRAME-FOREGROUND-HIDDEN + b: Configure CIRCULATE-BACKGROUND

- c: Configure FRAME-FOREGROUND-ROOT + c: Configure CIRCULATE-FOREGROUND +

+

+ d: Configure CIRCULATE-BORDER

- d: Configure FRAME-FOREGROUND + e: Configure CIRCULATE-WIDTH

- e: Configure FRAME-BACKGROUND + f: Configure CIRCULATE-HEIGHT +

+

+ g: Configure CIRCULATE-TRANSPARENCY +

+

+ h: Configure CIRCULATE-TEXT-LIMITE


- Conf-Root + Conf-Expose-Mode

- a: Configure SHOW-CURRENT-ROOT-MESSAGE + a: Configure EXPOSE-FONT-STRING

- b: Configure SHOW-CURRENT-ROOT-PLACEMENT + b: Configure EXPOSE-BACKGROUND

- c: Configure SHOW-CURRENT-ROOT-DELAY + c: Configure EXPOSE-FOREGROUND

- d: Configure HAVE-TO-SHOW-CURRENT-ROOT + d: Configure EXPOSE-FOREGROUND-LETTER

- e: Configure CREATE-FRAME-ON-ROOT + e: Configure EXPOSE-FOREGROUND-LETTER-NOK

-
-

- Conf-Corner -

- a: Configure CORNER-COMMAND-TRY-NUMBER + f: Configure EXPOSE-BACKGROUND-LETTER-MATCH +

+

+ g: Configure EXPOSE-BORDER +

+

+ h: Configure EXPOSE-VALID-ON-KEY +

+

+ i: Configure EXPOSE-SHOW-WINDOW-TITLE

- b: Configure CORNER-COMMAND-TRY-DELAY + j: Configure EXPOSE-TRANSPARENCY

- c: Configure CORNER-ERROR-MESSAGE-DELAY + k: Configure EXPOSE-DIRECT-SELECT

+
+

+ Conf-Info-Mode +

- d: Configure CORNER-ERROR-MESSAGE-COLOR + a: Configure INFO-BACKGROUND

- e: Configure CLFSWM-TERMINAL-CMD + b: Configure INFO-FOREGROUND

- f: Configure CLFSWM-TERMINAL-NAME + c: Configure INFO-BORDER

- g: Configure VIRTUAL-KEYBOARD-CMD + d: Configure INFO-LINE-CURSOR

- h: Configure CORNER-SECOND-MODE-RIGHT-BUTTON + e: Configure INFO-SELECTED-BACKGROUND

- i: Configure CORNER-SECOND-MODE-MIDDLE-BUTTON + f: Configure INFO-FONT-STRING

- j: Configure CORNER-SECOND-MODE-LEFT-BUTTON + g: Configure INFO-TRANSPARENCY

- k: Configure CORNER-MAIN-MODE-RIGHT-BUTTON + h: Configure INFO-CLICK-TO-SELECT

- l: Configure CORNER-MAIN-MODE-MIDDLE-BUTTON + i: Configure INFO-COLOR-TITLE

- m: Configure CORNER-MAIN-MODE-LEFT-BUTTON + j: Configure INFO-COLOR-UNDERLINE

- n: Configure CORNER-SIZE + k: Configure INFO-COLOR-FIRST +

+

+ l: Configure INFO-COLOR-SECOND


Conf-Menu

- a: Configure MENU-COLOR-MENU-KEY + a: Configure XDG-SECTION-LIST

- b: Configure MENU-COLOR-KEY + b: Configure MENU-COLOR-SUBMENU

c: Configure MENU-COLOR-COMMENT

- d: Configure MENU-COLOR-SUBMENU + d: Configure MENU-COLOR-KEY +

+

+ e: Configure MENU-COLOR-MENU-KEY

- e: Configure XDG-SECTION-LIST + f: Configure MENU-KEY-BOUND-COLOR


- Conf-Placement + Conf-Notify-Window

- a: Configure UNMANAGED-WINDOW-PLACEMENT + a: Configure NOTIFY-WINDOW-FONT-STRING

- b: Configure ASK-CLOSE/KILL-PLACEMENT + b: Configure NOTIFY-WINDOW-BACKGROUND

- c: Configure NOTIFY-WINDOW-PLACEMENT + c: Configure NOTIFY-WINDOW-FOREGROUND

- d: Configure EXPOSE-QUERY-PLACEMENT + d: Configure NOTIFY-WINDOW-BORDER

- e: Configure EXPOSE-MODE-PLACEMENT + e: Configure NOTIFY-WINDOW-DELAY

- f: Configure CIRCULATE-MODE-PLACEMENT + f: Configure NOTIFY-WINDOW-TRANSPARENCY +

+
+

+ Conf-Gimp-Layout +

+

+ a: Configure GIMP-LAYOUT-NOTIFY-WINDOW-DELAY

+
+

+ Conf-Power-Management +

- g: Configure QUERY-MODE-PLACEMENT + a: Configure POWER-SUSPEND-TO-RAM-CMD

- h: Configure INFO-MODE-PLACEMENT + b: Configure POWER-SUSPEND-TO-DISK-CMD

- i: Configure SECOND-MODE-PLACEMENT + c: Configure POWER-REBOOT-CMD

- j: Configure BANISH-POINTER-PLACEMENT + d: Configure POWER-HALT-CMD


- Conf-Hook + Conf-Placement

- a: Configure QUERY-BUTTON-PRESS-HOOK + a: Configure BANISH-POINTER-PLACEMENT

- b: Configure QUERY-KEY-PRESS-HOOK + b: Configure SECOND-MODE-PLACEMENT

- c: Configure DEFAULT-NW-HOOK + c: Configure INFO-MODE-PLACEMENT

- d: Configure CLOSE-HOOK + d: Configure QUERY-MODE-PLACEMENT

- e: Configure INIT-HOOK + e: Configure CIRCULATE-MODE-PLACEMENT +

+

+ f: Configure EXPOSE-MODE-PLACEMENT

- f: Configure MAIN-ENTRANCE-HOOK + g: Configure EXPOSE-QUERY-PLACEMENT

- g: Configure LOOP-HOOK + h: Configure NOTIFY-WINDOW-PLACEMENT

- h: Configure BINDING-HOOK + i: Configure ASK-CLOSE/KILL-PLACEMENT +

+

+ j: Configure UNMANAGED-WINDOW-PLACEMENT +

+

+ k: Configure TOOLBAR-WINDOW-PLACEMENT +

+

+ l: Configure VOLUME-MODE-PLACEMENT


- Conf-Main-Mode + Conf-Volume-Mode

- a: Configure COLOR-MAYBE-SELECTED + a: Configure VOLUME-FONT-STRING +

+

+ b: Configure VOLUME-BACKGROUND

- b: Configure COLOR-UNSELECTED + c: Configure VOLUME-FOREGROUND

- c: Configure COLOR-SELECTED + d: Configure VOLUME-BORDER

- d: Configure COLOR-MOVE-WINDOW + 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-Miscellaneous + Conf-Toolbar

- a: Configure DEFAULT-WINDOW-HEIGHT + a: Configure DEFAULT-TOOLBAR

- b: Configure DEFAULT-WINDOW-WIDTH + b: Configure TOOLBAR-WINDOW-FONT-STRING

- c: Configure SPATIAL-MOVE-DELAY-AFTER + c: Configure TOOLBAR-WINDOW-BACKGROUND

- d: Configure SPATIAL-MOVE-DELAY-BEFORE + d: Configure TOOLBAR-WINDOW-FOREGROUND

- e: Configure SNAP-SIZE + e: Configure TOOLBAR-WINDOW-BORDER

- f: Configure HIDE-UNMANAGED-WINDOW + f: Configure TOOLBAR-DEFAULT-BORDER-SIZE

- g: Configure NEVER-MANAGED-WINDOW-LIST + g: Configure TOOLBAR-WINDOW-TRANSPARENCY

- h: Configure DEFAULT-MODIFIERS + h: Configure TOOLBAR-DEFAULT-THICKNESS

- i: Configure SHOW-HIDE-POLICY + i: Configure TOOLBAR-DEFAULT-REFRESH-DELAY

- j: Configure DEFAULT-FOCUS-POLICY + 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

- k: Configure DEFAULT-MANAGED-TYPE + t: Configure TOOLBAR-SYSTEM-INFO-COLOR

- l: Configure DEFAULT-FRAME-DATA + u: Configure TOOLBAR-SYSTEM-INFO-LOW-COLOR

- m: Configure DEFAULT-FONT-STRING + v: Configure TOOLBAR-SYSTEM-INFO-ALERT-COLOR

- n: Configure LOOP-TIMEOUT + w: Configure TOOLBAR-SYSTEM-INFO-URGENT-COLOR

- o: Configure BORDER-SIZE + x: Configure TOOLBAR-EXPOSE-MODE-BUTTON-COLOR

- p: Configure SHOW-ROOT-FRAME-P + y: Configure MPD-TOOLBAR

- q: Configure DEFAULT-TRANSPARENCY + z: Configure MPD-TOOLBAR-CLIENT

- r: Configure TRANSPARENT-BACKGROUND + 0: Configure TOOLBAR-MPD-INFO-COLOR

- s: Configure HAVE-TO-COMPRESS-NOTIFY + 1: Configure TOOLBAR-MPD-BUTTONS-COLOR +

+

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

+
+

+ Conf-Wallpaper +

+

+ a: Configure WALLPAPER-COMMAND


@@ -4052,16 +4335,40 @@

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-html-in-file or + +This documentation was produced with the CLFSWM auto-doc functions. To reproduce it, use the produce-menu-doc-html-in-file or the produce-all-docs function from the Lisp REPL.

- Something like this:
+ +Something like this:
LISP> (in-package :clfswm)
CLFSWM> (produce-menu-doc-html-in-file "my-menu.html")
or
CLFSWM> (produce-all-docs) diff --git a/doc/menu.txt b/doc/menu.txt index 5973d90..9faea08 100644 --- a/doc/menu.txt +++ b/doc/menu.txt @@ -28,6 +28,41 @@ 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 > @@ -49,936 +84,940 @@ p: < TERMINALEMULATOR > q: < SCREENSAVER > Texteditor -a: GNU Emacs 23 - View and edit files -b: gedit - Edit text files -c: Kate -d: Snippets datafile editor -e: KWrite -f: Leafpad - Simple text editor -g: Xfwrite - A simple text editor for Xfe -h: Xournal - Take handwritten notes +a: Snippets datafile editor +b: Kate +c: KWrite +d: Xournal - Take handwritten notes +e: Leafpad - Simple text editor +f: gedit - Edit text files +g: GNU Emacs 23 - View and edit files +h: Xfwrite - A simple text editor for Xfe Filemanager -a: Open Folder with Thunar - Open the specified folders in Thunar -b: Thunar File Manager - Browse the filesystem with the file manager -c: Gentoo - Fully GUI-configurable, two-pane X file manager -d: GNOME Commander - A two paned file manager -e: Dolphin -f: Krusader -g: File Manager - Configure the Thunar file manager -h: Worker - File manager for X. -i: Xfe - A lightweight file manager for X Window +a: Krusader +b: Dolphin +c: GNOME Commander - A two paned file manager +d: File Manager - Configure the Thunar file manager +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 Webbrowser -a: Conkeror Web Browser - Browse the World Wide Web -b: Web - Browse the web -c: Web - Browse the web -d: Iceweasel - Browse the World Wide Web -e: Bookmark Editor - Bookmark Organizer and Editor -f: Konqueror -g: Links 2 -h: Web Browser -i: Midori Private Browsing - Open a new private browsing window -j: Midori - Lightweight web browser +a: Konqueror +b: Bookmark Editor - Bookmark Organizer and Editor +c: Web Browser +d: Web - Browse the web +e: Midori - Lightweight web browser +f: Iceweasel - Browse the World Wide Web +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 Audiovideo -a: Alsa Modular Synth - Modular Software Synth -b: Audacity - Record and edit audio files -c: Brasero - Create and copy CDs and DVDs -d: Cheese - Take photos and videos with your webcam, with fun graphical effects -e: Composite - Live performance sequencer -f: Decibel Audio Player - A simple audio player -g: Gnome Music Player Client - A gnome frontend for the mpd daemon -h: GNOME ALSA Mixer - ALSA sound mixer for GNOME -i: Sound Recorder - Record sound clips -j: HasciiCam - (h)ascii for the masses! -k: Dragon Player -l: JuK -m: KMix -n: KsCD -o: Music Player - Play your music files easily -p: MediathekView - View streams from public German TV stations -q: Musique - Play your music collection -r: OpenShot Video Editor - Create and edit videos and movies -s: PulseAudio Volume Control - Adjust the volume level -t: PulseAudio Volume Meter (Capture) - Monitor the input volume -u: PulseAudio Volume Meter (Playback) - Monitor the output volume -v: Petri-Foo - Sound Sampler -w: QjackCtl - QjackCtl is a JACK Audio Connection Kit Qt GUI Interface -x: Qsampler - Qsampler is a LinuxSampler Qt GUI Interface -y: QVideoob - Search for videos on many websites, and get info about them -z: Rhythmbox - Play and organize your music collection -0: Rhythmbox - Play and organize your music collection -1: Sonata - An elegant GTK+ MPD client -2: Sound Juicer - Copy music from your CDs -3: Specimen - Sound Sampler -4: Stopmotion - Program to create stop-motion animations -5: Swami Instrument Editor - Create, play and organize MIDI instruments and sounds -6: terminatorX - Scratch and mix audio -7: Movie Player - Play movies and songs -8: VLC media player - Read, capture, broadcast your multimedia streams -9: Mixer - Audio mixer for the Xfce Desktop Environment +a: Dragon Player +b: KMix +c: KsCD +d: JuK +e: Qsampler - Qsampler is a LinuxSampler Qt GUI Interface +f: Composite - Live performance sequencer +g: Swami Instrument Editor - Create, play and organize MIDI instruments and sounds +h: QjackCtl - QjackCtl is a JACK Audio Connection Kit Qt GUI Interface +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 Audio -a: Alsa Modular Synth - Modular Software Synth -b: Audacity - Record and edit audio files +a: KMix +b: Qsampler - Qsampler is a LinuxSampler Qt GUI Interface c: Composite - Live performance sequencer -d: Decibel Audio Player - A simple audio player -e: Sound Recorder - Record sound clips -f: KMix -g: Music Player - Play your music files easily -h: Musique - Play your music collection -i: PulseAudio Volume Control - Adjust the volume level -j: PulseAudio Volume Meter (Capture) - Monitor the input volume -k: PulseAudio Volume Meter (Playback) - Monitor the output volume -l: Petri-Foo - Sound Sampler -m: QjackCtl - QjackCtl is a JACK Audio Connection Kit Qt GUI Interface -n: Qsampler - Qsampler is a LinuxSampler Qt GUI Interface -o: Sound Juicer - Copy music from your CDs -p: Swami Instrument Editor - Create, play and organize MIDI instruments and sounds -q: Mixer - Audio mixer for the Xfce Desktop Environment +d: Swami Instrument Editor - Create, play and organize MIDI instruments and sounds +e: QjackCtl - QjackCtl is a JACK Audio Connection Kit Qt GUI Interface +f: Musique - Play your music collection +g: PulseAudio Volume Control - Adjust the volume level +h: Mixer - Audio mixer for the Xfce Desktop Environment +i: Alsa Modular Synth - Modular Software Synth +j: Petri-Foo - Sound Sampler +k: Sound Juicer - Copy music from your CDs +l: PulseAudio Volume Meter (Playback) - Monitor the output volume +m: Audacity - Record and edit audio files +n: Sound Recorder - Record sound clips +o: Decibel Audio Player - A simple audio player +p: PulseAudio Volume Meter (Capture) - Monitor the input volume +q: Music Player - Play your music files easily Video a: Camorama Webcam Viewer - View, alter and save images from a webcam -b: OpenShot Video Editor - Create and edit videos and movies +b: Stopmotion - Program to create stop-motion animations c: OptGeo - Interactive tool to study and simulate optic assemblies -d: Stopmotion - Program to create stop-motion animations +d: OpenShot Video Editor - Create and edit videos and movies e: Movie Player - Play movies and songs Development -a: GNU Emacs 23 - View and edit files -b: IDLE (using Python-2.6) - Integrated Development Environment for Python (using Python-2.6) -c: IDLE (using Python-2.7) - Integrated Development Environment for Python (using Python-2.7) -d: IDLE (using Python-3.2) - Integrated Development Environment for Python (using Python-3.2) -e: IDLE - Integrated Development Environment for Python -f: IDLE 3 - Integrated DeveLopment Environment for Python3 -g: Akonadi Console - Akonadi Management and Debugging Console -h: Cervisia -i: KAppTemplate -j: KCachegrind - Visualization of Performance Profiling Data -k: KImageMapEditor -l: KLinkStatus -m: Kompare -n: KUIViewer -o: Lokalize -p: Umbrello -q: Python (v2.6) - Python Interpreter (v2.6) -r: Python (v2.7) - Python Interpreter (v2.7) -s: Python (v3.2) - Python Interpreter (v3.2) -t: Scilab advanced CLI - Scientific software package for numerical computations -u: Scilab CLI - Scientific software package for numerical computations -v: Scilab - Scientific software package for numerical computations +a: KLinkStatus +b: Cervisia +c: Lokalize +d: Umbrello +e: KUIViewer +f: KImageMapEditor +g: Kompare +h: KAppTemplate +i: KCachegrind - Visualization of Performance Profiling Data +j: Akonadi Console - Akonadi Management and Debugging Console +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 Education -a: MathWar - A simple math game for kids -b: AWeather - Advanced weather reporting program -c: CaRMetal - CaRMetal interactive geometry -d: Childsplay - Suite of educational games for young children -e: Dr.Geo - Dr.Geo Math Tool -f: Euler -g: Educational suite GCompris - Educational game for ages 2 to 10 -h: GeoGebra - Create interactive mathematical constructions and applets. -i: Geomview - Interactive geometry viewing program -j: K3DSurf - tool for mathematical surfaces -k: Blinken - A memory enhancement game -l: Cantor -m: KAlgebra - Math Expression Solver and Plotter -n: Kalzium - KDE Periodic Table of Elements -o: Kanagram - KDE Letter Order Game -p: KBruch - Practice exercises with fractions -q: KGeography - A Geography Learning Program -r: KHangMan - KDE Hangman Game -s: Kig - Explore Geometric Constructions -t: Kiten - Japanese Reference and Study Tool -u: KLettres - a KDE program to learn the alphabet -v: KmPlot - Function Plotter -w: KStars - Desktop Planetarium -x: KTouch -y: KTurtle -z: KWordQuiz - A flashcard and vocabulary learning program -0: Marble -1: Parley -2: Rocs - Graph Theory Tool for Professors and Students. -3: Step - Simulate physics experiments -4: Klavaro - Yet another touch typing tutor -5: OptGeo - Interactive tool to study and simulate optic assemblies -6: Regina - Software for 3-manifold topology and normal surface theory -7: Scilab advanced CLI - Scientific software package for numerical computations -8: Scilab CLI - Scientific software package for numerical computations -9: Scilab - Scientific software package for numerical computations -A: Squeak - Programming system and content development tool -B: Tux Math - Tux Math - Learn math with Tux! -C: Tux Paint -D: Tux Typing - Educational typing tutor game starring Tux -E: wxMaxima - Perform symbolic and numeric calculations using Maxima +a: Kig - Explore Geometric Constructions +b: Rocs - Graph Theory Tool for Professors and Students. +c: KWordQuiz - A flashcard and vocabulary learning program +d: Marble +e: KHangMan - KDE Hangman Game +f: Step - Simulate physics experiments +g: Parley +h: KTurtle +i: KStars - Desktop Planetarium +j: KmPlot - Function Plotter +k: Kiten - Japanese Reference and Study Tool +l: KGeography - A Geography Learning Program +m: KLettres - a KDE program to learn the alphabet +n: Blinken - A memory enhancement game +o: KBruch - Practice exercises with fractions +p: KTouch +q: Cantor +r: Kanagram - KDE Letter Order Game +s: Kalzium - KDE Periodic Table of Elements +t: KAlgebra - Math Expression Solver and Plotter +u: Dr.Geo - Dr.Geo Math Tool +v: Tux Math - Tux Math - Learn math with Tux! +w: Euler +x: Scilab CLI - Scientific software package for numerical computations +y: MathWar - A simple math game for kids +z: GeoGebra - Create interactive mathematical constructions and applets. +0: Maxima Algebra System - An interface to the Maxima Computer Algebra System +1: Tux Paint +2: Scilab - Scientific software package for numerical computations +3: K3DSurf - tool for mathematical surfaces +4: Tux Typing - Educational typing tutor game starring Tux +5: Childsplay - Suite of educational games for young children +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: Maxima Algebra System - An interface to the Maxima Computer Algebra System +G: Squeak - Programming system and content development tool +H: Educational suite GCompris - Educational game for ages 2 to 10 Game -a: Ardentryst - Fantasy sidescroller game -b: Balder2D - 2D overhead shooter in Zero G -c: PlayOnLinux - PlayOnLinux -d: Search and rescue -e: Adanaxis - Fly your ship in a 4d environment -f: Airstrike - Dogfight an enemy plane -g: Alex the Allegator 4 - Retro platform game -h: Amoebax - Defeat your opponent by filling up their grid up with garbage. -i: Amphetamine - Fight evil monsters with your magic weapons. -j: Angband (GTK) - A roguelike dungeon exploration game based on the books of J.R.R.Tolkien -k: Angband (SDL) - A roguelike dungeon exploration game based on the books of J.R.R.Tolkien -l: Angband (X11) - A roguelike dungeon exploration game based on the books of J.R.R.Tolkien -m: Balazar - Play a 3D adventure and roleplaying game -n: B.A.L.L.Z. - Platform game with some puzzle elements -o: Beneath A Steel Sky - A science-fiction adventure game set in a bleak post-apocalyptic vision of the future -p: Between - game about consciousness and isolation -q: Billard-GL - Play Billard Game -r: Biloba - Up to four player network capable turn based strategy board game -s: Biniax-2 - Colorful Logic game with arcade and tactics modes -t: Block Attack - Rise of the Blocks - Switch blocks so they match -u: Bomberclone - Play a Bomberman like game -v: Bouncy the Hungry Rabbit - Eat the yummy veggies in the garden (game for small kids) -w: Ceferino - Save the cows! -x: Childsplay - Suite of educational games for young children -y: Chromium B.S.U. - Scrolling space shooter -z: Crack Attack - Puzzle game similar to Tetris Attack -0: Cytadela - old-school first person shooter -1: Dodgin Diamond 2 -2: DOSBox Emulator - Run old DOS applications -3: eboard - A graphical chessboard program -4: Egoboo - 3D dungeon crawling game -5: Feeding Frenzy! - multiplayer platform game with dwarfs fighting with/for food -6: Fish Fillets - Puzzle game about witty fish saving the world sokoban-style -7: Flight of the Amazon Queen - Embark on a quest to rescue a kidnapped princess and in the process, discover the true sinister intentions of a suspiciously located Lederhosen company -8: FloboPuyo -9: Foobillard - 3D billiards game using OpenGL -A: FreeCell Solitaire - Play the popular FreeCell card game -B: FreeCraft - The War begins -C: DFArc - Dink frontend - Run, edit, install, remove and package D-Mods (Dink Modules) -D: FreeDink - Humorous zelda-like isometric adventure/RPG -E: FreeDinkedit - Portable Dink Smallwood game editor -F: Freedroid - Clear a spaceship from all droids -G: Freedroid RPG - Isometric role playing game -H: FreeGish - A physics based arcade game -I: Frogatto - Young frog's adventure -J: Funny Boat - a side scrolling arcade shooter game on a steamboat -K: Educational suite GCompris - Educational game for ages 2 to 10 -L: Chess - Play the classic two-player boardgame of chess -M: Five or More - Remove colored balls from the board by forming lines -N: Four-in-a-Row - Make lines of the same color to win -O: Nibbles - Guide a worm around a maze -P: Robots - Avoid the robots and make them crash into each other -Q: Sudoku - Test your logic skills in this number grid puzzle -R: Mines - Clear hidden mines from a minefield -S: Tetravex - Complete the puzzle by matching numbered tiles -T: Klotski - Slide blocks to solve the puzzle -U: Golly - A Conway's Game of Life simulator -V: Gravitation - game about mania, melancholia, and the creative process -W: Tali - Beat the odds in a poker-style dice game -X: Gunroar - Kenta Cho's Gunroar -Y: Hedgewars -Z: Heroes - Collect powerups and avoid your opponents' trails -|: Iagno - Dominate the board in a classic version of Reversi -|: ii-esu - HIZ's ES -|: KGoldrunner - A game of action and puzzle-solving -|: AMOR -|: Blinken - A memory enhancement game -|: Bomber -|: Bovo -|: Granatier -|: Kajongg - The ancient Chinese board game for 4 players -|: Kanagram - KDE Letter Order Game -|: Kapman - Eat pills escaping ghosts -|: KAtomic -|: Naval Battle -|: KBlackBox -|: KBlocks -|: KBounce -|: KBreakOut -|: KSnake -|: KDiamond -|: KFourInLine -|: KHangMan - KDE Hangman Game -|: Kigo -|: Killbots -|: Kiriki -|: KJumpingCube -|: Klickety -|: Kolor Lines -|: KMahjongg -|: KMines -|: KNetWalk -|: Kolf -|: Kollision - A simple ball dodging game -|: Konquest -|: KPatience -|: KReversi -|: SameGame -|: Shisen-Sho -|: KsirK -|: KsirK Skin Editor -|: KSpaceDuel -|: KSquares -|: KSudoku - KSudoku, Sudoku game & more for KDE -|: KSnakeDuel -|: Potato Guy -|: Kubrick -|: LSkat -|: Palapeli -|: Kiki the nano bot -|: Kobo Deluxe - Destroy enemy bases in space +a: Kolf +b: KJumpingCube +c: Klickety +d: Bovo +e: Palapeli +f: KSnake +g: KSpaceDuel +h: KPatience +i: KMines +j: Kiriki +k: KBlackBox +l: Naval Battle +m: Bomber +n: Kubrick +o: Konquest +p: Kolor Lines +q: KSquares +r: KHangMan - KDE Hangman Game +s: KMahjongg +t: KsirK +u: KDiamond +v: KNetWalk +w: KAtomic +x: Killbots +y: KBlocks +z: KReversi +0: KBounce +1: Blinken - A memory enhancement game +2: Kigo +3: Potato Guy +4: KBreakOut +5: LSkat +6: KGoldrunner - A game of action and puzzle-solving +7: Kapman - Eat pills escaping ghosts +8: Granatier +9: AMOR +A: Kanagram - KDE Letter Order Game +B: Kollision - A simple ball dodging game +C: Shisen-Sho +D: KSudoku - KSudoku, Sudoku game & more for KDE +E: KSnakeDuel +F: KFourInLine +G: Kajongg - The ancient Chinese board game for 4 players +H: SameGame +I: KsirK Skin Editor +J: Xboard - Resume XBoard chess tourney +K: Frogatto - Young frog's adventure +L: Four-in-a-Row - Make lines of the same color to win +M: pyRacerz +N: Out Of Order - Adventure Game +O: Plee the Bear - Catch your son, he ate all the honey then ran away +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 +|: The Ur-Quan Masters - An interstellar adventure game +|: Golly - A Conway's Game of Life simulator +|: Chromium B.S.U. - Scrolling space shooter +|: Virus Killer +|: Swell Foop - Clear the screen by removing groups of colored and shaped tiles +|: Xmoto +|: LordsAWar Editor - Create or Edit LordsAWar maps +|: Primrose - Captivating tile-clearing puzzle game +|: Biniax-2 - Colorful Logic game with arcade and tactics modes +|: Galaga:Hyperspace - Play enhanced Galaga Game +|: MegaGlest - A real time strategy game. |: koules - Push your enemies away, but stay away from obstacles -|: Lights Off - Turn off all the lights -|: Liquid War - A unique multiplayer wargame +|: XBoard - Use an X Windows Chess Board +|: Xboard - Resume XBoard chess tourney +|: Bouncy the Hungry Rabbit - Eat the yummy veggies in the garden (game for small kids) +|: Battle for Wesnoth Map Editor (1.10) - A map editor for Battle for Wesnoth maps +|: DFArc - Dink frontend - Run, edit, install, remove and package D-Mods (Dink Modules) +|: ii-esu - HIZ's ES +|: Amphetamine - Fight evil monsters with your magic weapons. +|: Galaga - Play Galaga Game +|: Xboard - Resume XBoard chess tourney +|: Adanaxis - Fly your ship in a 4d environment +|: Flight of the Amazon Queen - Embark on a quest to rescue a kidnapped princess and in the process, discover the true sinister intentions of a suspiciously located Lederhosen company +|: Sudoku - Test your logic skills in this number grid puzzle +|: Monster Masher - Mash monsters and save the gnomes +|: SuperTuxKart |: LordsAWar Army Editor - Create or Edit LordsAWar armies -|: LordsAWar Editor - Create or Edit LordsAWar maps -|: LordsAWar Tile Editor - Create or Edit LordsAWar tilesets -|: LordsAWar - Play a clone of Warlords II -|: Lugaru - Third-person action game about an anthropomorphic rabbit with curiously well developed combat skills -|: Luola +|: DOSBox Emulator - Run old DOS applications +|: Childsplay - Suite of educational games for young children +|: Egoboo - 3D dungeon crawling game +|: X Slash'EM - Super Lotsa Added Stuff Hack - Extended Magic (X11) +|: Tuxfootball - 2D Football Game +|: Biloba - Up to four player network capable turn based strategy board game +|: GTK Slash'EM - Super Lotsa Added Stuff Hack - Extended Magic (GTK) +|: The Mana world - The Mana World 2D MMORPG client +|: Lights Off - Turn off all the lights +|: PIX Frogger - Help the frog cross the street +|: Robots - Avoid the robots and make them crash into each other +|: Tali - Beat the odds in a poker-style dice game +|: Trackballs +|: Raincat - 2D puzzle game featuring a fuzzy little cat +|: Tetravex - Complete the puzzle by matching numbered tiles +|: Freedroid - Clear a spaceship from all droids |: Magicor - Puzzle game in the spirit of solomon's key -|: Mahjongg - Disassemble a pile of tiles by removing matching pairs +|: Kiki the nano bot +|: FreeDink - Humorous zelda-like isometric adventure/RPG +|: Tower Toppler - A clone of the 'Nebulus' game on old 8 and 16 bit machines. +|: Klotski - Slide blocks to solve the puzzle +|: eboard - A graphical chessboard program +|: Word War vi - side-scrolling shoot'em up arcade game +|: Lugaru - Third-person action game about an anthropomorphic rabbit with curiously well developed combat skills +|: B.A.L.L.Z. - Platform game with some puzzle elements |: Mana - A 2D MMORPG client -|: MegaGlest - A real time strategy game. +|: PokerTH - Texas hold'em game +|: AisleRiot Solitaire - Play many different solitaire games +|: Dodgin Diamond 2 +|: OpenTTD +|: Alex the Allegator 4 - Retro platform game |: Meritous - action-adventure dungeon crawl game -|: Minetest - InfiniMiner/Minecraft-inspired open game world -|: Monster Masher - Mash monsters and save the gnomes +|: Amoebax - Defeat your opponent by filling up their grid up with garbage. +|: Angband (SDL) - A roguelike dungeon exploration game based on the books of J.R.R.Tolkien +|: Triplane Classic - side-scrolling dogfighting game +|: Pathological - Solve puzzles involving paths and marbles +|: Block Attack - Rise of the Blocks - Switch blocks so they match +|: Luola +|: Between - game about consciousness and isolation +|: Airstrike - Dogfight an enemy plane |: X NetHack -|: Neverball - A 3D arcade game with a ball -|: Neverputt - A 3D mini golf game -|: Numpty Physics -|: OpenArena - A fast-paced 3D first-person shooter, similar to id Software Inc.'s Quake III Arena -|: OpenTTD -|: Out Of Order - Adventure Game +|: Balazar - Play a 3D adventure and roleplaying game |: Passage - game about the passage through life -|: Pathological - Solve puzzles involving paths and marbles -|: PCSX - Sony PlayStation emulator -|: PIX Frogger - Help the frog cross the street -|: Plee the Bear - Catch your son, he ate all the honey then ran away -|: PokerTH - Texas hold'em game -|: Primrose - Captivating tile-clearing puzzle game -|: PyChess - PyChess is a fully featured, nice looking, easy to use chess client for the Gnome desktop -|: pyRacerz -|: Quadrapassel - Fit falling blocks together -|: Raincat - 2D puzzle game featuring a fuzzy little cat -|: REminiscence - A port of FlashBack game engine -|: Ri-li - a toy simulator game -|: rRootage - Destroy autocreated battleships -|: ScummVM - Interpreter for several adventure games -|: SDL-Ball -|: GTK Slash'EM - Super Lotsa Added Stuff Hack - Extended Magic (GTK) +|: Numpty Physics +|: FreeCell Solitaire - Play the popular FreeCell card game +|: Balder2D - 2D overhead shooter in Zero G |: SDL Slash'EM - Super Lotsa Added Stuff Hack - Extended Magic (SDL) -|: X Slash'EM - Super Lotsa Added Stuff Hack - Extended Magic (X11) -|: SLUDGE Engine - Play SLUDGE games +|: FloboPuyo +|: Which Way is Up - 2D platform game with a slight rotational twist +|: Crack Attack - Puzzle game similar to Tetris Attack +|: LordsAWar - Play a clone of Warlords II +|: Hedgewars +|: Five or More - Remove colored balls from the board by forming lines +|: Bomberclone - Play a Bomberman like game +|: Heroes - Collect powerups and avoid your opponents' trails |: Secret Maryo Chronicles - A 2D platform game with style similar to classic sidescroller games -|: AisleRiot Solitaire - Play many different solitaire games -|: SuperTux - A Super Mario inspired penguin platform game -|: SuperTuxKart -|: Swell Foop - Clear the screen by removing groups of colored and shaped tiles -|: Tatan - HIZ's Tatan -|: Tennix! - Play tennis against the computer or a friend -|: The Mana world - The Mana World 2D MMORPG client -|: I Have No Tomatoes - How many tomatoes can you smash in ten short minutes? -|: Tower Toppler - A clone of the 'Nebulus' game on old 8 and 16 bit machines. -|: Trackballs -|: Trigger - 3D rally racing car game -|: Triplane Classic - side-scrolling dogfighting game +|: Gunroar - Kenta Cho's Gunroar +|: 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 +|: Neverputt - A 3D mini golf game +|: ScummVM - Interpreter for several adventure games +|: Liquid War - A unique multiplayer wargame +|: Angband (X11) - A roguelike dungeon exploration game based on the books of J.R.R.Tolkien +|: Mahjongg - Disassemble a pile of tiles by removing matching pairs +|: Foobillard - 3D billiards game using OpenGL +|: rRootage - Destroy autocreated battleships +|: VoR +|: Search and rescue +|: Chess - Play the classic two-player boardgame of chess +|: Freedroid RPG - Isometric role playing game +|: Billard-GL - Play Billard Game +|: Widelands - A a real-time build-up strategy game +|: Nibbles - Guide a worm around a maze +|: Ardentryst - Fantasy sidescroller game |: Trophy - 2D car racing game with power-ups +|: Zatacka - Arcade multiplayer game for 2-6 players |: Tumiki Fighters - Kenta Cho's Tumiki Fighters -|: Tuxfootball - 2D Football Game -|: The Ur-Quan Masters - An interstellar adventure game -|: Virus Killer -|: VoR +|: Funny Boat - a side scrolling arcade shooter game on a steamboat +|: 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 -|: Battle for Wesnoth Map Editor (1.10) - A map editor for Battle for Wesnoth maps -|: Which Way is Up - 2D platform game with a slight rotational twist -|: Widelands - A a real-time build-up strategy game -|: Word War vi - side-scrolling shoot'em up arcade game -|: Xboard - Resume XBoard chess tourney -|: Xboard - Resume XBoard chess tourney -|: Xboard - Resume XBoard chess tourney -|: XBoard - Use an X Windows Chess Board -|: Galaga:Hyperspace - Play enhanced Galaga Game -|: Galaga - Play Galaga Game -|: Xmille -|: Xmoto +|: Feeding Frenzy! - multiplayer platform game with dwarfs fighting with/for food +|: Trigger - 3D rally racing car game +|: PCSX - Sony PlayStation emulator +|: Kobo Deluxe - Destroy enemy bases in space +|: Ceferino - Save the cows! +|: Fish Fillets - Puzzle game about witty fish saving the world sokoban-style |: XScavenger - X11 clone of Lode Runner -|: Zatacka - Arcade multiplayer game for 2-6 players +|: Educational suite GCompris - Educational game for ages 2 to 10 +|: Tatan - HIZ's Tatan +|: Mines - Clear hidden mines from a minefield +|: Xmille +|: Ri-li - a toy simulator game +|: SLUDGE Engine - Play SLUDGE games +|: Beneath A Steel Sky - A science-fiction adventure game set in a bleak post-apocalyptic vision of the future +|: SuperTux - A Super Mario inspired penguin platform game +|: Cytadela - old-school first person shooter +|: Iagno - Dominate the board in a classic version of Reversi Graphics -a: Hugin Batch Processor - Hugin project stitching queue manager -b: apvlv - Alf's PDF Viewer Like Vim -c: Hugin Calibrate Lens - Stitch photographs together -d: Camorama Webcam Viewer - View, alter and save images from a webcam -e: ImageMagick (display) - Display and edit image files -f: Image Viewer -g: Document Viewer - View multi-page documents -h: GNU Image Manipulation Program - Create images and edit photographs -i: Image Viewer -j: gv - View PS and/or PDF files -k: Hugin Panorama Creator - Stitch photographs together -l: Inkscape - Create and edit Scalable Vector Graphics images -m: K-3D - Free-as-in-freedom 3D modeling and animation software -n: digiKam -o: DNGConverter - A tool to batch convert RAW camera images to DNG -p: ExpoBlending - A tool to blend bracketed images -q: Gwenview - A simple image viewer -r: Kamoso - Take any picture with your web cam -s: KColorChooser -t: KIPI Plugins - KDE Image Plugins Interface -u: KolourPaint -v: KRuler -w: KSnapshot -x: Okular -y: Okular -z: Okular -0: Okular -1: Okular -2: Okular -3: Okular -4: Okular -5: Okular -6: Okular -7: Okular -8: Okular -9: Panorama - A tool to assemble images as a panorama -A: Photo Layouts Editor -B: AcquireImages - A tool to acquire images using a flat scanner -C: LibreOffice Draw -D: Mandelbulber - Visit 3D Fractal World -E: MuPDF - PDF file viewer -F: MyPaint - Painting program for digital artists -G: PDF Editor - PDF Editor -H: Shotwell Viewer -I: Shotwell - Organize your photos -J: Simple Scan - Scan Documents -K: Stopmotion - Program to create stop-motion animations -L: Xaos - Fractal Zoomer - Fractal Generator -M: xpdf - View PDF files -N: XSane Image scanning program - A program to work with scanner. Can be used as a scanning, copier, OCR, fax tools. +a: digiKam +b: Okular +c: Okular +d: Photo Layouts Editor +e: Kamoso - Take any picture with your web cam +f: ExpoBlending - A tool to blend bracketed images +g: KColorChooser +h: AcquireImages - A tool to acquire images using a flat scanner +i: Okular +j: Okular +k: Okular +l: Gwenview - A simple image viewer +m: Okular +n: Okular +o: Okular +p: Okular +q: KolourPaint +r: Okular +s: Okular +t: DNGConverter - A tool to batch convert RAW camera images to DNG +u: Okular +v: KSnapshot +w: Panorama - A tool to assemble images as a panorama +x: KRuler +y: KIPI Plugins - KDE Image Plugins Interface +z: K-3D - Free-as-in-freedom 3D modeling and animation software +0: Hugin Calibrate Lens - Stitch photographs together +1: Inkscape - Create and edit Scalable Vector Graphics images +2: MyPaint - Painting program for digital artists +3: XSane Image scanning program - A program to work with scanner. Can be used as a scanning, copier, OCR, fax tools. +4: Document Viewer - View multi-page documents +5: Camorama Webcam Viewer - View, alter and save images from a webcam +6: Hugin Panorama Creator - Stitch photographs together +7: Mandelbulber - Visit 3D Fractal World +8: LibreOffice Draw +9: Shotwell - Organize your photos +A: Stopmotion - Program to create stop-motion animations +B: ImageMagick (display) - Display and edit image files +C: PDF Editor - PDF Editor +D: Scribus - Page Layout and Publication +E: Xaos - Fractal Zoomer - Fractal Generator +F: Image Viewer +G: GNU Image Manipulation Program - Create images and edit photographs +H: apvlv - Alf's PDF Viewer Like Vim +I: Hugin Batch Processor - Hugin project stitching queue manager +J: Shotwell Viewer +K: Image Viewer +L: MuPDF - PDF file viewer +M: gv - View PS and/or PDF files +N: xpdf - View PDF files +O: Simple Scan - Scan Documents Network -a: Conkeror Web Browser - Browse the World Wide Web -b: Dillo - Lightweight browser -c: Ekiga Softphone - Talk to people over the Internet -d: Web - Browse the web -e: Web - Browse the web -f: Email Settings - Configure email accounts -g: Mail Reader -h: Web Browser -i: Google Gadgets (Qt) - Run Google Gadgets in KDE/Qt environment -j: Gnubiff - Gnubiff is a mail notification program. -k: Icedove Mail/News - Read/Write Mail/News with Icedove -l: IcedTea Java Web Start - IcedTea Java Web Start -m: Iceweasel - Browse the World Wide Web -n: KMail -o: KNode -p: KPPP -q: Akregator - A Feed Reader for KDE -r: Blogilo -s: Bookmark Editor - Bookmark Organizer and Editor -t: KGet -u: KNetAttach -v: Konqueror -w: Kopete - Instant Messenger -x: KPPPLogview -y: KRDC -z: Krfb -0: Liferea - Download and view feeds -1: Links 2 -2: Web Browser -3: Midori Private Browsing - Open a new private browsing window -4: Midori - Lightweight web browser -5: MLDonkey - Graphical frontend for MLDonkey -6: Mumble - A low-latency, high quality voice chat program for gaming -7: mutt - Simple text-based Mail User Agent -8: QBoobmsg - Send and receive messages from various websites -9: QFlatBoob - Search housings -A: QHaveDate - Optimize your probabilities to have sex on dating websites -B: QWebContentEdit - Edit website contents -C: Remmina - Connect to remote desktops -D: SSL/SSH VNC Viewer - SSVNC - access remote VNC desktops -E: Transmission - Download and share files over BitTorrent -F: Remote Desktop Viewer - Access remote desktops -G: Desktop Sharing - Choose how other users can remotely view your desktop +a: Konqueror +b: KNode +c: Akregator - A Feed Reader for KDE +d: KPPPLogview +e: KNetAttach +f: Kopete - Instant Messenger +g: Blogilo +h: KMail +i: KRDC +j: KPPP +k: Krfb +l: KGet +m: Bookmark Editor - Bookmark Organizer and Editor +n: QWebContentEdit - Edit website contents +o: Web Browser +p: Web - Browse the web +q: SSL/SSH VNC Viewer - SSVNC - access remote VNC desktops +r: Midori - Lightweight web browser +s: Remote Desktop Viewer - Access remote desktops +t: Mail Reader +u: QBoobmsg - Send and receive messages from various websites +v: Iceweasel - Browse the World Wide Web +w: Mumble - A low-latency, high quality voice chat program for gaming +x: Email Settings - Configure email accounts +y: IcedTea Java Web Start - IcedTea Java Web Start +z: Desktop Sharing - Choose how other users can remotely view your desktop +0: Midori Private Browsing - Open a new private browsing window +1: Icedove Mail/News - Read/Write Mail/News with Icedove +2: Web - Browse the web +3: Liferea - Download and view feeds +4: Conkeror Web Browser - Browse the World Wide Web +5: Wireshark - Network traffic analyzer +6: Ekiga Softphone - Talk to people over the Internet +7: Google Gadgets (Qt) - Run Google Gadgets in KDE/Qt environment +8: MLDonkey - Graphical frontend for MLDonkey +9: Remmina - Connect to remote desktops +A: QFlatBoob - Search housings +B: Transmission - Download and share files over BitTorrent +C: Web Browser +D: QHaveDate - Optimize your probabilities to have sex on dating websites +E: X11VNC Server - Share this desktop by VNC +F: mutt - Simple text-based Mail User Agent +G: Links 2 H: Wicd Network Manager -I: Wireshark - Network traffic analyzer -J: X11VNC Server - Share this desktop by VNC +I: Dillo - Lightweight browser +J: Gnubiff - Gnubiff is a mail notification program. Office -a: AbiWord -b: ePDFViewer - Lightweight PDF document viewer -c: Document Viewer - View multi-page documents -d: Evolution - Manage your email, contacts and schedule -e: FreeMind -f: Orage Globaltime - Show clocks from different countries -g: Dictionary - Check word definitions and spellings in an online dictionary -h: Gnumeric - Calculation, Analysis, and Visualization of Information -i: Kontact -j: KAddressBook -k: Kontact Administration -l: KOrganizer - Calendar and Scheduling Program -m: KTimeTracker -n: Lokalize -o: Okular -p: LibreOffice Base -q: LibreOffice Calc -r: LibreOffice Draw -s: LibreOffice Impress -t: LibreOffice Math -u: LibreOffice -v: LibreOffice Writer -w: LyX Document Processor - High level LaTeX frontend +a: Lokalize +b: KOrganizer - Calendar and Scheduling Program +c: Kontact +d: Kontact Administration +e: KAddressBook +f: Okular +g: KTimeTracker +h: LibreOffice Calc +i: LibreOffice +j: Evolution - Manage your email, contacts and schedule +k: Document Viewer - View multi-page documents +l: Dictionary - Check word definitions and spellings in an online dictionary +m: Orage Calendar - Desktop calendar +n: LibreOffice Draw +o: Orage Globaltime - Show clocks from different countries +p: LibreOffice Writer +q: LibreOffice Base +r: LyX Document Processor - High level LaTeX frontend +s: FreeMind +t: LibreOffice Impress +u: ePDFViewer - Lightweight PDF document viewer +v: AbiWord +w: LibreOffice Math x: mutt - Simple text-based Mail User Agent -y: Orage Calendar - Desktop calendar +y: Gnumeric - Calculation, Analysis, and Visualization of Information z: Zathura - A minimalistic document viewer Settings -a: Main Menu - Add or remove applications from the main menu -b: ARandR -c: Bluetooth - Configure Bluetooth settings -d: Email Settings - Configure email accounts -e: Preferred Applications -f: GCompris Administration - Administration for gcompris -g: Background - Change the background -h: Color - Color management settings -i: System Settings -j: Date and Time - Date and Time preferences panel -k: Displays - Change resolution and position of monitors and projectors -l: Details - System Information -m: Keyboard - Edit keyboard settings and application shortcuts -n: Mouse and Touchpad - Set your mouse and touchpad preferences -o: Network Tools - View information about your network +a: KDE System Settings +b: Change Password +c: System Settings +d: Menu Editor +e: Date and Time - Date and Time preferences panel +f: Background - Change the background +g: Printing - Configure printers +h: Mouse - Configure pointer device behavior and appearance +i: Power - Power management settings +j: Workspaces - Set number and names of workspaces +k: Network Tools - View information about your network +l: Users and Groups - Add or remove users and groups +m: Window Manager - Configure window behavior and shortcuts +n: Notifications - Customize how notifications appear on your screen +o: Software Center - Lets you choose from thousands of applications available for your system p: Network - Configure network devices and connections -q: Online Accounts - Manage online accounts -r: Power - Power management settings -s: Printers - Change printer settings -t: Region and Language - Change your region and language settings -u: Brightness and Lock - Screen brightness and lock settings -v: Sound - Change sound volume and sound events -w: Universal Access - Universal Access Preferences -x: User Accounts - Add or remove users -y: Personal File Sharing - Preferences for sharing of files -z: Wacom Graphics Tablet - Set your Wacom tablet preferences -0: GParted - Create, reorganize, and delete partitions -1: Software Settings - Change software update preferences and enable or disable software sources -2: Pointing devices - Set your mouse and touchpad preferences -3: Multimedia Systems Selector - Configure defaults for GStreamer applications -4: Guake Preferences - Comment -5: IcedTea Web Control Panel - Configure IcedTea Web (javaws and plugin) -6: Change Password -7: KDE System Settings -8: Menu Editor -9: System Settings -A: Preferred Applications -B: Customize Look and Feel - Customizes look and feel of your desktop and applications -C: Keyboard and Mouse - Configure keyboard, mouse, and other input devices -D: Monitor Settings - Change screen resolution and configure external monitors -E: Desktop Session Settings - Manage applications loaded in desktop session -F: Network - Configure network devices and connections -G: Network Connections - Manage and change your network connection settings -H: Openbox Configuration Manager - Configure and personalize the Openbox window manager -I: OpenJDK Java 6 Policy Tool - OpenJDK Java 6 Policy Tool -J: Panel -K: Passwords and Keys - Manage your passwords and encryption keys -L: Services - Configure which services will be run when the system starts -M: Startup Applications - Choose what applications to start when you log in -N: Shared Folders - Configure which folders are available for your network neighborhood -O: Software Sources - Configure the sources for installable software and updates -P: Synaptic Package Manager - Install, remove and upgrade software packages -Q: Printing - Configure printers -R: File Manager - Configure the Thunar file manager -S: Removable Drives and Media - Configure management of removable drives and media -T: Time and Date - Change system time, date, and timezone -U: Panel tint2 - Customize the panel settings -V: Tux Paint Config. - Configure Tux Paint -W: Software Center - Lets you choose from thousands of applications available for your system -X: Update Manager - Show and install available updates -Y: Users and Groups - Add or remove users and groups -Z: Desktop Sharing - Choose how other users can remotely view your desktop -|: Desktop - Set desktop background and menu and icon behaviour -|: Display - Configure screen settings and layout -|: Keyboard - Edit keyboard settings and application shortcuts -|: Mouse - Configure pointer device behavior and appearance -|: Session and Startup - Customize desktop startup and splash screen -|: Settings Manager - Graphical Settings Manager for Xfce 4 -|: Appearance - Customize the look of your desktop -|: Window Manager - Configure window behavior and shortcuts -|: Window Manager Tweaks - Fine-tune window behaviour and effects -|: Workspaces - Set number and names of workspaces -|: Orage preferences - Settings for the Xfce 4 Calendar Application (Orage) +q: Network - Configure network devices and connections +r: Details - System Information +s: User Accounts - Add or remove users +t: Brightness and Lock - Screen brightness and lock settings +u: Keyboard - Edit keyboard settings and application shortcuts +v: Shared Folders - Configure which folders are available for your network neighborhood +w: Preferred Applications +x: Region and Language - Change your region and language settings +y: Bluetooth - Configure Bluetooth settings +z: Color - Color management settings +0: Startup Applications - Choose what applications to start when you log in +1: Screensaver - Change screensaver properties +2: Update Manager - Show and install available updates +3: Email Settings - Configure email accounts +4: Desktop Sharing - Choose how other users can remotely view your desktop +5: Services - Configure which services will be run when the system starts +6: Universal Access - Universal Access Preferences +7: GParted - Create, reorganize, and delete partitions +8: Wacom Graphics Tablet - Set your Wacom tablet preferences +9: Displays - Change resolution and position of monitors and projectors +A: Personal File Sharing - Preferences for sharing of files +B: Appearance - Customize the look of your desktop +C: Online Accounts - Manage online accounts +D: Time and Date - Change system time, date, and timezone +E: Desktop - Set desktop background and menu and icon behaviour +F: Keyboard and Mouse - Configure keyboard, mouse, and other input devices +G: Multimedia Systems Selector - Configure defaults for GStreamer applications +H: File Manager - Configure the Thunar file manager +I: Session and Startup - Customize desktop startup and splash screen +J: Openbox Configuration Manager - Configure and personalize the Openbox window manager +K: Keyboard - Edit keyboard settings and application shortcuts +L: ARandR +M: Settings Editor - Graphical settings editor for Xfconf +N: Software Sources - Configure the sources for installable software and updates +O: GCompris Administration - Administration for gcompris +P: Monitor Settings - Change screen resolution and configure external monitors +Q: Synaptic Package Manager - Install, remove and upgrade software packages +R: Orage preferences - Settings for the Xfce 4 Calendar Application (Orage) +S: Window Manager Tweaks - Fine-tune window behaviour and effects +T: Network Connections - Manage and change your network connection settings +U: Preferred Applications +V: Sound - Change sound volume and sound events +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 +|: Main Menu - Add or remove applications from the main menu +|: Printers - Change printer settings +|: Desktop Session Settings - Manage applications loaded in desktop session +|: OpenJDK Java 6 Policy Tool - OpenJDK Java 6 Policy Tool |: Accessibility - Improve keyboard and mouse accessibility -|: Notifications - Customize how notifications appear on your screen +|: Mouse and Touchpad - Set your mouse and touchpad preferences +|: Customize Look and Feel - Customizes look and feel of your desktop and applications +|: Pointing devices - Set your mouse and touchpad preferences +|: Panel |: Power Manager - Settings for the Xfce Power Manager -|: Settings Editor - Graphical settings editor for Xfconf -|: Screensaver - Change screensaver properties +|: Removable Drives and Media - Configure management of removable drives and media +|: Display - Configure screen settings and layout System -a: Bulk Rename - Rename Multiple Files -b: Open Folder with Thunar - Open the specified folders in Thunar -c: Thunar File Manager - Browse the filesystem with the file manager -d: Disk Usage Analyzer - Check folder sizes and available disk space -e: CD/DVD Creator - Create CDs and DVDs -f: dconf Editor - Directly edit your entire configuration database -g: UXTerm - standard terminal emulator for the X window system -h: XTerm - standard terminal emulator for the X window system -i: Configuration Editor - Directly edit your entire configuration database -j: GDebi Package Installer - Install and view software packages -k: Network Tools - View information about your network -l: Panel -m: Power Statistics - Observe power management -n: Log File Viewer - View or monitor system log files -o: System Monitor -p: User Accounts - Add or remove users -q: GParted - Create, reorganize, and delete partitions -r: Add/Remove Software - Add or remove software installed on the system -s: Software Install - Install selected software on the system -t: Catalog Installer - Install a catalog of software on the system -u: Software Install - Install selected software on the system -v: Software Log Viewer - View past package management tasks -w: Service Pack Creator - Create service packs for sharing with other computers -x: Software Update - Update software installed on the system -y: Htop - Show System Processes -z: Dolphin -0: KDiskFree -1: Konqueror -2: Konqueror -3: Konqueror -4: Konqueror -5: KInfoCenter -6: File Manager - Super User Mode -7: Konsole -8: KRandRTray - A panel applet for resizing and reorientating X screens. -9: Krfb -A: Krusader - root-mode -B: System Monitor -C: KSystemLog -D: KUser -E: KWalletManager -F: KwikDisk -G: Nepomuk Backup -H: Nepomuk File Indexing Controller - System tray icon to control the behaviour of the Nepomuk file indexer -I: Terminal emulator - Terminal Emulator +a: KDiskFree +b: Konqueror +c: Nepomuk File Indexing Controller - System tray icon to control the behaviour of the Nepomuk file indexer +d: Nepomuk Backup +e: Konqueror +f: Konqueror +g: Konsole +h: System Monitor - View current processes and monitor system state +i: Dolphin +j: KwikDisk +k: Konqueror +l: KSystemLog +m: File Manager - Super User Mode +n: KWalletManager +o: Krusader - root-mode +p: Krfb +q: KUser +r: KInfoCenter +s: KRandRTray - A panel applet for resizing and reorientating X screens. +t: Software Install - Install selected software on the system +u: Synaptic Package Manager - Install, remove and upgrade software packages +v: Printing - Configure printers +w: UXTerm - standard terminal emulator for the X window system +x: Network Tools - View information about your network +y: Xosview - X based system monitor +z: Log File Viewer - View or monitor system log files +0: Users and Groups - Add or remove users and groups +1: Configuration Editor - Directly edit your entire configuration database +2: Software Log Viewer - View past package management tasks +3: Software Center - Lets you choose from thousands of applications available for your system +4: Wine Uninstaller - Uninstall Windows programs +5: Network - Configure network devices and connections +6: Bulk Rename - Rename Multiple Files +7: User Accounts - Add or remove users +8: CD/DVD Creator - Create CDs and DVDs +9: Shared Folders - Configure which folders are available for your network neighborhood +A: Power Statistics - Observe power management +B: Wine configuration - Setup the compatibility layer for Windows programs +C: Update Manager - Show and install available updates +D: Software Install - Install selected software on the system +E: Services - Configure which services will be run when the system starts +F: Disk Usage Analyzer - Check folder sizes and available disk space +G: GParted - Create, reorganize, and delete partitions +H: Panel +I: Time and Date - Change system time, date, and timezone J: Task Manager - Manage running processes -K: Network - Configure network devices and connections -L: Reportbug - Report bugs to the Debian BTS -M: Services - Configure which services will be run when the system starts -N: Shared Folders - Configure which folders are available for your network neighborhood -O: Synaptic Package Manager - Install, remove and upgrade software packages -P: Synaptic Package Manager - Install, remove and upgrade software packages -Q: Printing - Configure printers -R: Time and Date - Change system time, date, and timezone -S: Software Center - Lets you choose from thousands of applications available for your system -T: UNetbootin - Tool for creating Live USB drives -U: Wine Uninstaller - Uninstall Windows programs -V: Update Manager - Show and install available updates -W: Users and Groups - Add or remove users and groups -X: Wine configuration - Setup the compatibility layer for Windows programs -Y: Log Out -Z: Xfe - A lightweight file manager for X Window -|: Xosview - X based system monitor +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 +|: Service Pack Creator - Create service packs for sharing with other computers Utility -a: Bulk Rename - Rename Multiple Files -b: Open Folder with Thunar - Open the specified folders in Thunar -c: Thunar File Manager - Browse the filesystem with the file manager -d: Main Menu - Add or remove applications from the main menu -e: Battery Charge Graph - Battery Charge Graph -f: Bluetooth Transfer - Send files via Bluetooth -g: Bluetooth Device Setup - Setup Bluetooth devices -h: Curtain - Show and move a curtain on the desktop -i: GNU Emacs 23 - View and edit files -j: File Manager - Configure the Thunar file manager -k: Terminal Emulator -l: Archive Manager - Create and modify an archive -m: Galculator - Perform simple and scientific calculations -n: Calculator - Perform arithmetic, scientific or financial calculations -o: gedit - Edit text files -p: Gentoo - Fully GUI-configurable, two-pane X file manager -q: Root Terminal - Opens a terminal as the root user, using gksu to ask for the password -r: Orage Globaltime - Show clocks from different countries -s: GNOME Commander - A two paned file manager -t: Contacts -u: Screenshot - Save images of your desktop or individual windows -v: Search for Files... - Locate documents and folders on this computer by name or content -w: GNOME Shell Extension Preferences - Configure GNOME Shell Extensions -x: GNOME Shell - Window management and application launching -y: Terminal - Use the command line -z: On-Screen Keyboard - Navigate applications and type using alternative input devices -0: Image Viewer -1: Guake Terminal - Use the command line in a Quake-like terminal -2: Character Map - Insert special characters into documents -3: Time Tracking Overview - The overview window of hamster time tracker -4: Time Tracker - Project Hamster - track your time -5: Time Tracker - Project Hamster - track your time -6: Help - Get help with GNOME -7: Home -8: KCharSelect -9: KJots -A: Akonaditray -B: Ark -C: Filelight - View disk usage information -D: KDE Groupware Wizard -E: Jovie - KDE Text To Speech Service -F: KAlarm -G: Kate -H: KCalc -I: KFileReplace -J: Find Files/Folders -K: KFontView -L: KGpg - A GnuPG frontend -M: Kleopatra -N: Kleopatra -O: Klipper -P: KMag -Q: KMouseTool - Clicks the mouse for you, reducing the effects of RSI -R: KMouth -S: KNotes -T: KonsoleKalendar -U: Krusader -V: KTeaTime -W: Snippets datafile editor -X: KTimer -Y: KTimeTracker -Z: KWrite -|: Okteta -|: SuperKaramba - An engine for cool desktop eyecandy. -|: Sweeper -|: Kupfer - Convenient command and access tool for applications and documents -|: Leafpad - Simple text editor -|: Live Magic - Create Debian Live systems (LiveCDs, etc.) -|: Terminal emulator - Terminal Emulator -|: LXTerminal - Use the command line -|: Files - Access and organize files -|: Disk Utility - Manage Drives and Media -|: File Manager - Configure the Thunar file manager -|: Spotlighter - Show and move a spotlight on the desktop -|: Tux Commander - A two panel file manager +a: KJots +b: KTimer +c: Okteta +d: Krusader +e: Ark +f: Snippets datafile editor +g: KNotes +h: Akonaditray +i: KonsoleKalendar +j: Home +k: KDE Groupware Wizard +l: Help +m: Kate +n: Klipper +o: Kleopatra +p: KMouth +q: Kleopatra +r: SuperKaramba - An engine for cool desktop eyecandy. +s: KGpg - A GnuPG frontend +t: KAlarm +u: KFileReplace +v: KWrite +w: KTeaTime +x: KFontView +y: KCalc +z: Jovie - KDE Text To Speech Service +0: Sweeper +1: KMag +2: KTimeTracker +3: KMouseTool - Clicks the mouse for you, reducing the effects of RSI +4: Find Files/Folders +5: Filelight - View disk usage information +6: KCharSelect +7: Shutter - Capture, edit and share screenshots +8: Time Tracker - Project Hamster - track your time +9: Run Program... +A: Guake Terminal - Use the command line in a Quake-like terminal +B: Help +C: Xfimage - A simple image viewer for Xfe +D: Add New Program - Adds Zero Install programs to your Applications menu +E: Xournal - Take handwritten notes +F: Leafpad - Simple text editor +G: Terminal - Use the command line +H: File Manager - Configure the Thunar file manager +I: Calculator - Perform arithmetic, scientific or financial calculations +J: Kupfer - Convenient command and access tool for applications and documents +K: Xfview - A simple text viewer for Xfe +L: Galculator - Perform simple and scientific calculations +M: Character Map - Insert special characters into documents +N: Time Tracker - Project Hamster - track your time +O: Bulk Rename - Rename Multiple Files +P: Search for Files... - Locate documents and folders on this computer by name or content +Q: Live Magic - Create Debian Live systems (LiveCDs, etc.) +R: Xfpack - A simple package manager for Xfe +S: Manage Programs - Update or Remove Zero Install programs on your Applications menu +T: Tux Commander - A two panel file manager +U: About Xfce +V: gedit - Edit text files +W: Curtain - Show and move a curtain on the desktop +X: Orage Globaltime - Show clocks from different countries +Y: Screenshot - Save images of your desktop or individual windows +Z: Bluetooth Device Setup - Setup Bluetooth devices |: VirtualBox - Run several virtual systems on a single host computer -|: Weboob backends configuration - Configure Weboob backends -|: Worker - File manager for X. +|: Help +|: GNOME Commander - A two paned file manager +|: Time Tracking Overview - The overview window of hamster time tracker +|: GNOME Shell Extension Preferences - Configure GNOME Shell Extensions +|: Spotlighter - Show and move a spotlight on the desktop +|: File Manager - Configure the Thunar file manager |: Xarchiver - A GTK+2 only archive manager -|: About Xfce +|: Take Vector Screenshot - Save vector images of application windows +|: Battery Charge Graph - Battery Charge Graph |: Application Finder - Find and launch applications installed on your system -|: Help - Get help with GNOME -|: Xfimage - A simple image viewer for Xfe -|: Xfpack - A simple package manager for Xfe -|: Run Program... -|: Xfview - A simple text viewer for Xfe +|: Open Folder with Thunar - Open the specified folders in Thunar +|: Worker - File manager for X. +|: Archive Manager - Create and modify an archive +|: Weboob backends configuration - Configure Weboob backends +|: GNOME Shell - Window management and application launching +|: Files - Access and organize files +|: LXTerminal - Use the command line +|: On-Screen Keyboard - Navigate applications and type using alternative input devices +|: Terminal emulator - Terminal Emulator +|: GNU Emacs 23 - View and edit files +|: Thunar File Manager - Browse the filesystem with the file manager |: Xfwrite - A simple text editor for Xfe -|: Xournal - Take handwritten notes -|: Help - Get help with GNOME -|: Add New Program - Adds Zero Install programs to your Applications menu -|: Manage Programs - Update or Remove Zero Install programs on your Applications menu +|: Gentoo - Fully GUI-configurable, two-pane X file manager +|: Disk Utility - Manage Drives and Media +|: Terminal Emulator +|: Root Terminal - Opens a terminal as the root user, using gksu to ask for the password +|: Bluetooth Transfer - Send files via Bluetooth +|: Main Menu - Add or remove applications from the main menu +|: Image Viewer +|: Contacts Terminalemulator -a: UXTerm - standard terminal emulator for the X window system -b: XTerm - standard terminal emulator for the X window system -c: Root Terminal - Opens a terminal as the root user, using gksu to ask for the password +a: Konsole +b: Guake Terminal - Use the command line in a Quake-like terminal +c: UXTerm - standard terminal emulator for the X window system d: Terminal - Use the command line -e: Guake Terminal - Use the command line in a Quake-like terminal -f: Konsole +e: XTerm - standard terminal emulator for the X window system +f: LXTerminal - Use the command line g: Terminal emulator - Terminal Emulator -h: LXTerminal - Use the command line +h: Root Terminal - Opens a terminal as the root user, using gksu to ask for the password Screensaver -a: Abstractile - Generates mosaic patterns of interlocking tiles. Written by Steve Sundstrom. -b: Anemone - Wiggling tentacles. Written by Gabriel Finch. -c: Anemotaxis - Anemotaxis demonstrates a search algorithm designed for locating a source of odor in turbulent atmosphere. The searcher is able to sense the odor and determine local instantaneous wind direction. The goal is to find the source in the shortest mean time. http://en.wikipedia.org/wiki/Anemotaxis Written by Eugene Balkovsky. -d: AntInspect - Draws a trio of ants moving their spheres around a circle. Written by Blair Tennessy. -e: AntMaze - Draws a few views of a few ants walking around in a simple maze. Written by Blair Tennessy. -f: AntSpotlight - Draws an ant (with a headlight) who walks on top of an image of your desktop or other image. Written by Blair Tennessy. -g: Apollonian - Draws an Apollonian gasket: a fractal packing of circles with smaller circles, demonstrating Descartes's theorem. http://en.wikipedia.org/wiki/Apollonian_gasket http://en.wikipedia.org/wiki/Descartes%27_theorem Written by Allan R. Wilks and David Bagley. -h: Apple2 - Simulates an original Apple ][ Plus computer in all its 1979 glory. It also reproduces the appearance of display on a color television set of the period. In "Basic Programming Mode", a simulated user types in a BASIC program and runs it. In "Text Mode", it displays the output of a program, or the contents of a file or URL. In "Slideshow Mode", it chooses random images and displays them within the limitations of the Apple ][ display hardware. (Six available colors in hi-res mode!) On X11 systems, This program is also a fully-functional VT100 emulator. http://en.wikipedia.org/wiki/Apple_II_series Written by Trevor Blackwell. -i: Atlantis - A 3D animation of a number of sharks, dolphins, and whales. Written by Mark Kilgard. -j: Attraction - Uses a simple simple motion model to generate many different display modes. The control points attract each other up to a certain distance, and then begin to repel each other. The attraction/repulsion is proportional to the distance between any two particles, similar to the strong and weak nuclear forces. Written by Jamie Zawinski and John Pezaris. -k: Atunnel - Draws an animation of a textured tunnel in GL. Written by Eric Lassauge and Roman Podobedov. -l: Barcode - Draws a random sequence of colorful barcodes scrolling across your screen. CONSUME! The barcodes follow the UPC-A, UPC-E, EAN-8 or EAN-13 standards. http://en.wikipedia.org/wiki/Universal_Product_Code http://en.wikipedia.org/wiki/European_Article_Number Written by Dan Bornstein. -m: Blaster - Draws a simulation of flying space-combat robots (cleverly disguised as colored circles) doing battle in front of a moving star field. Written by Jonathan Lin. -n: BlinkBox - Shows a ball contained inside of a bounding box. Colored blocks blink in when the ball hits the sides. Written by Jeremy English. -o: BlitSpin - Repeatedly rotates a bitmap by 90 degrees by using logical operations: the bitmap is divided into quadrants, and the quadrants are shifted clockwise. Then the same thing is done again with progressively smaller quadrants, except that all sub-quadrants of a given size are rotated in parallel. As you watch it, the image appears to dissolve into static and then reconstitute itself, but rotated. Written by Jamie Zawinski. -p: BlockTube - Draws a swirling, falling tunnel of reflective slabs. They fade from hue to hue. Written by Lars R. Damerow. -q: Boing - This bouncing ball is a clone of the first graphics demo for the Amiga 1000, which was written by Dale Luck and RJ Mical during a break at the 1984 Consumer Electronics Show (or so the legend goes.) This looks like the original Amiga demo if you turn off "smoothing" and "lighting" and turn on "scanlines", and is somewhat more modern otherwise. http://en.wikipedia.org/wiki/Amiga#Boing_Ball Written by Jamie Zawinski. -r: Bouboule - This draws what looks like a spinning, deforming balloon with varying-sized spots painted on its invisible surface. Written by Jeremie Petit. -s: BouncingCow - A Cow. A Trampoline. Together, they fight crime. Written by Jamie Zawinski. -t: Boxed - Draws a box full of 3D bouncing balls that explode. Written by Sander van Grieken. -u: BoxFit - Packs the screen with growing squares or circles, colored according to a horizontal or vertical gradient, or according to the colors of the desktop or a loaded image file. The objects grow until they touch, then stop. When the screen is full, they shrink away and the process restarts. Written by Jamie Zawinski. -v: Braid - Draws random color-cycling inter-braided concentric circles. Written by John Neil. -w: BSOD - BSOD stands for "Blue Screen of Death". The finest in personal computer emulation, BSOD simulates popular screen savers from a number of less robust operating systems. Written by Jamie Zawinski. -x: Bubble3D - Draws a stream of rising, undulating 3D bubbles, rising toward the top of the screen, with transparency and specular reflections. Written by Richard Jones. -y: Bumps - A spotlight roams across an embossed version of your desktop or other picture. Written by Shane Smit. -z: Cage - This draws Escher's "Impossible Cage", a 3d analog of a moebius strip, and rotates it in three dimensions. http://en.wikipedia.org/wiki/Maurits_Cornelis_Escher Written by Marcelo Vianna. -0: Carousel - Loads several random images, and displays them flying in a circular formation. The formation changes speed and direction randomly, and images periodically drop out to be replaced by new ones. Written by Jamie Zawinski. -1: CCurve - Generates self-similar linear fractals, including the classic "C Curve". http://en.wikipedia.org/wiki/Levy_C_curve Written by Rick Campbell. -2: Celtic - Repeatedly draws random Celtic cross-stitch patterns. http://en.wikipedia.org/wiki/Celtic_knot Written by Max Froumentin. -3: Circuit - Animates a number of 3D electronic components. Written by Ben Buxton. -4: CloudLife - Generates cloud-like formations based on a variant of Conway's Life. The difference is that cells have a maximum age, after which they count as 3 for populating the next generation. This makes long-lived formations explode instead of just sitting there. http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Written by Don Marti. -5: CompanionCube - The symptoms most commonly produced by Enrichment Center testing are superstition, perceiving inanimate objects as alive, and hallucinations. The Enrichment Center reminds you that the weighted companion cube will never threaten to stab you and, in fact, cannot speak. In the event that the Weighted Companion Cube does speak, the Enrichment Center urges you to disregard its advice. http://en.wikipedia.org/wiki/Portal_%28video_game%29 Written by Jamie Zawinski. -6: Compass - This draws a compass, with all elements spinning about randomly, for that "lost and nauseous" feeling. Written by Jamie Zawinski. -7: Coral - Simulates coral growth, albeit somewhat slowly. Written by Frederick Roeber. -8: Crackberg - Flies through height maps, optionally animating the creation and destruction of generated tiles; tiles `grow' into place. Written by Matus Telgarsky. -9: Crystal - Moving polygons, similar to a kaleidoscope. See also the "Kaleidescope" and "GLeidescope" screen savers. http://en.wikipedia.org/wiki/Kaleidoscope Written by Jouk Jansen. -A: Cube21 - Animates a Rubik-like puzzle known as Cube 21 or Square-1. The rotations are chosen randomly. See also the "Rubik" and "GLSnake" screen savers. http://en.wikipedia.org/wiki/Square_One_%28puzzle%29 Written by Vasek Potocek. -B: Cubenetic - Draws a pulsating set of overlapping boxes with ever-chaning blobby patterns undulating across their surfaces. It's sort of a cubist Lavalite. Written by Jamie Zawinski. -C: CubeStorm - Draws a series of rotating 3D boxes that intersect each other and eventually fill space. Written by Jamie Zawinski. -D: CubicGrid - Draws the view of an observer located inside a rotating 3D lattice of colored points. Written by Vasek Potocek. -E: CWaves - This generates a languidly-scrolling vertical field of sinusoidal colors. Written by Jamie Zawinski. -F: Cynosure - Random dropshadowed rectangles pop onto the screen in lockstep. Written by Ozymandias G. Desiderata, Jamie Zawinski, and Stephen Linhart. -G: DangerBall - Draws a ball that periodically extrudes many random spikes. Ouch! Written by Jamie Zawinski. -H: DecayScreen - This takes an image and makes it melt. You've no doubt seen this effect before, but no screensaver would really be complete without it. It works best if there's something colorful visible. Warning, if the effect continues after the screen saver is off, seek medical attention. Written by David Wald, Vivek Khera, Jamie Zawinski, and Vince Levey. -I: Deco - Subdivides and colors rectangles randomly. It looks kind of like Brady-Bunch-era rec-room wall paneling. http://en.wikipedia.org/wiki/Piet_Mondrian#Paris_1919.E2.80.931938 Written by Jamie Zawinski and Michael Bayne. -J: Deluxe - Draws a pulsing sequence of transparent stars, circles, and lines. Written by Jamie Zawinski. -K: Demon - A cellular automaton that starts with a random field, and organizes it into stripes and spirals. http://en.wikipedia.org/wiki/Maxwell%27s_demon Written by David Bagley. -L: Discrete - More "discrete map" systems, including new variants of Hopalong and Julia, and a few others. Written by Tim Auckland. -M: Distort - Grabs an image of the screen, and then lets a transparent lens wander around the screen, magnifying whatever is underneath. Written by Jonas Munsin. -N: Drift - Drifting recursive fractal cosmic flames. Written by Scott Draves. -O: Endgame - Black slips out of three mating nets, but the fourth one holds him tight! A brilliant composition! See also the "Queens" screen saver. http://en.wikipedia.org/wiki/Chess_endgame Written by Blair Tennessy. -P: Engine - Draws a simple model of an engine that floats around the screen. http://en.wikipedia.org/wiki/Internal_combustion_engine#Operation Written by Ben Buxton and Ed Beroset. -Q: Epicycle - This draws the path traced out by a point on the edge of a circle. That circle rotates around a point on the rim of another circle, and so on, several times. These were the basis for the pre-heliocentric model of planetary motion. http://en.wikipedia.org/wiki/Deferent_and_epicycle Written by James Youngman. -R: Eruption - Exploding fireworks. See also the "Fireworkx", "XFlame" and "Pyro" screen savers. Written by W.P. van Paassen. -S: Euler2D - Simulates two dimensional incompressible inviscid fluid flow. http://en.wikipedia.org/wiki/Euler_equations_%28fluid_dynamics%29 http://en.wikipedia.org/wiki/Inviscid_flow Written by Stephen Montgomery-Smith. -T: Extrusion - Draws various rotating extruded shapes that twist around, lengthen, and turn inside out. Written by Linas Vepstas, David Konerding, and Jamie Zawinski. -U: FadePlot - Draws what looks like a waving ribbon following a sinusoidal path. Written by Bas van Gaalen and Charles Vidal. -V: Fiberlamp - Draws a groovy rotating fiber optic lamp. Written by Tim Auckland. -W: Fireworkx - Exploding fireworks. See also the "Eruption", "XFlame" and "Pyro" screen savers. Written by Rony B Chandran. -X: Flame - Iterative fractals. Written by Scott Draves. -Y: FlipFlop - Draws a grid of 3D colored tiles that change positions with each other. Written by Kevin Ogden and Sergio Gutierrez. -Z: FlipScreen3D - Grabs an image of the desktop, turns it into a GL texture map, and spins it around and deforms it in various ways. Written by Ben Buxton and Jamie Zawinski. -|: FlipText - Draws successive pages of text. The lines flip in and out in a soothing 3D pattern. Written by Jamie Zawinski. -|: Flow - Strange attractors formed of flows in a 3D differential equation phase space. Features the popular attractors described by Lorentz, Roessler, Birkhoff and Duffing, and can discover entirely new attractors by itself. http://en.wikipedia.org/wiki/Attractor#Strange_attractor Written by Tim Auckland. -|: FluidBalls - Models the physics of bouncing balls, or of particles in a gas or fluid, depending on the settings. If "Shake Box" is selected, then every now and then, the box will be rotated, changing which direction is down (in order to keep the settled balls in motion.) Written by Peter Birtles and Jamie Zawinski. -|: Flurry - This X11 port of the OSX screensaver of the same name draws a colourful star(fish)like flurry of particles. Original Mac version: http://homepage.mac.com/calumr Written by Calum Robinson and Tobias Sargeant. -|: FlyingToasters - A fleet of 3d space-age jet-powered flying toasters (and toast!) Inspired by the ancient Berkeley Systems After Dark flying toasters. http://en.wikipedia.org/wiki/After_Dark_%28software%29#Flying_Toasters Written by Jamie Zawinski and Devon Dossett. -|: FontGlide - Puts text on the screen using large characters that glide in from the edges, assemble, then disperse. Alternately, it can simply scroll whole sentences from right to left. Written by Jamie Zawinski. -|: FuzzyFlakes - Falling colored snowflake/flower shapes. Written by Barry Dmytro. -|: Galaxy - This draws spinning galaxies, which then collide and scatter their stars to the, uh, four winds or something. Written by Uli Siegmund, Harald Backert, and Hubert Feyrer. -|: Gears - This draws sets of turning, interlocking gears, rotating in three dimensions. See also the "Pinion" and "MoebiusGears" screen savers. http://en.wikipedia.org/wiki/Involute_gear http://en.wikipedia.org/wiki/Epicyclic_gearing Written by Jamie Zawinski. -|: GFlux - Draws a rippling waves on a rotating wireframe grid. Written by Josiah Pease. -|: GLBlur - This draws a box and a few line segments, and generates a radial blur outward from it. This creates flowing field effects. This is done by rendering the scene into a small texture, then repeatedly rendering increasingly-enlarged and increasingly-transparent versions of that texture onto the frame buffer. As such, it's quite GPU-intensive: if you don't have a very good graphics card, it will hurt your machine bad. Written by Jamie Zawinski. -|: GLCells - Cells growing, dividing and dying on your screen. Written by Matthias Toussaint. -|: Gleidescope - A kaleidoscope that operates on your desktop image, or on image files loaded from disk. http://en.wikipedia.org/wiki/Kaleidoscope Written by Andrew Dean. -|: GLHanoi - Solves the Towers of Hanoi puzzle. Move N disks from one pole to another, one disk at a time, with no disk ever resting on a disk smaller than itself. http://en.wikipedia.org/wiki/Tower_of_Hanoi Written by Dave Atkinson; 2005. -|: GLKnots - Generates some twisting 3d knot patterns. Spins 'em around. http://en.wikipedia.org/wiki/Knot_theory Written by Jamie Zawinski. -|: GLMatrix - Draws 3D dropping characters similar to what is seen in the title sequence of "The Matrix". See also "xmatrix" for a 2D rendering of the similar effect that appeared on the computer monitors actually *in* the movie. Written by Jamie Zawinski. -|: GLPlanet - Draws a planet bouncing around in space. The built-in image is a map of the earth (extracted from `xearth'), but you can wrap any texture around the sphere, e.g., the planetary textures that come with `ssystem'. Written by David Konerding. -|: GLSchool - Uses Craig Reynolds' Boids algorithm to simulate a school of fish. http://en.wikipedia.org/wiki/Boids Written by David C. Lambert. -|: GLSlideshow - Loads a random sequence of images and smoothly scans and zooms around in each, fading from pan to pan. Written by Jamie Zawinski and Mike Oliphant. -|: GLSnake - Draws a simulation of the Rubik's Snake puzzle. See also the "Rubik" and "Cube21" screen savers. http://en.wikipedia.org/wiki/Rubik%27s_Snake Written by Jamie Wilkinson, Andrew Bennetts, and Peter Aylett. -|: GLText - Displays a few lines of text spinning around in a solid 3D font. The text can use strftime() escape codes to display the current date and time. Written by Jamie Zawinski. -|: Goop - This draws set of animating, transparent, amoeba-like blobs. The blobs change shape as they wander around the screen, and they are translucent, so you can see the lower blobs through the higher ones, and when one passes over another, their colors merge. I got the idea for this from a mouse pad I had once, which achieved the same kind of effect in real life by having several layers of plastic with colored oil between them. Written by Jamie Zawinski. -|: Grav - This draws a simple orbital simulation. With trails enabled, it looks kind of like a cloud-chamber photograph. Written by Greg Bowering. -|: Greynetic - Draws random colored, stippled and transparent rectangles. Written by Jamie Zawinski. -|: Halftone - Draws the gravity force in each point on the screen seen through a halftone dot pattern. The gravity force is calculated from a set of moving mass points. View it from a distance for best effect. http://en.wikipedia.org/wiki/Halftone Written by Peter Jaric. -|: Halo - Draws trippy psychedelic circular patterns that hurt to look at. http://en.wikipedia.org/wiki/Moire_pattern Written by Jamie Zawinski. -|: Helix - Spirally string-art-ish patterns. Written by Jamie Zawinski. -|: Hilbert - This draws the recursive Hilbert space-filling curve, in both 2D and 3D variants. It incrementally animates the growth and recursion to the maximum depth, then unwinds it back. The Hilbert path is a single contiguous line that can fill a volume without crossing itself. As a data structure, Hilbert paths are useful because ordering along the curve preserves locality: points that close together along the curve are also close together in space. The converse is often, but not always, true. The coloration reflects this. http://en.wikipedia.org/wiki/Hilbert_curve Written by Jamie Zawinski. +a: LCDscrub - This screen saver is not meant to look pretty, but rather, to repair burn-in on LCD monitors. Believe it or not, screen burn is not a thing of the past. It can happen to LCD screens pretty easily, even in this modern age. However, leaving the screen on and displaying high contrast images can often repair the damage. That's what this screen saver does. See also: http://docs.info.apple.com/article.html?artnum +b: Kumppa - Spiraling, spinning, and very, very fast splashes of color rush toward the screen. Written by Teemu Suutari. +c: CloudLife - Generates cloud-like formations based on a variant of Conway's Life. The difference is that cells have a maximum age, after which they count as 3 for populating the next generation. This makes long-lived formations explode instead of just sitting there. http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Written by Don Marti. +d: m6502 - This emulates a 6502 microprocessor. The family of 6502 chips were used throughout the 70's and 80's in machines such as the Atari 2600, Commodore PET, VIC20 and C64, Apple ][, and the NES. Some example programs are included, and it can also read in an assembly file as input. Original JavaScript Version by Stian Soreng: http://www.6502asm.com/. Ported to XScreenSaver by Jeremy English. Written by Stian Soreng and Jeremy English. +e: Galaxy - This draws spinning galaxies, which then collide and scatter their stars to the, uh, four winds or something. Written by Uli Siegmund, Harald Backert, and Hubert Feyrer. +f: IFS - This one draws spinning, colliding iterated-function-system images. Note that the "Detail" parameter is exponential. Number of points drawn is functions^detail. http://en.wikipedia.org/wiki/Iterated_function_system Written by Chris Le Sueur and Robby Griffin. +g: Swirl - Flowing, swirly patterns. Written by M. Dobie and R. Taylor. +h: StonerView - Chains of colorful squares dance around each other in complex spiral patterns. Inspired by David Tristram's `electropaint' screen saver, originally written for SGI computers in the late 1980s or early 1990s. Written by Andrew Plotkin. +i: Slip - This throws some random bits on the screen, then sucks them through a jet engine and spews them out the other side. To avoid turning the image completely to mush, every now and then it will it interject some splashes of color into the scene, or go into a spin cycle, or stretch the image like taffy. Written by Scott Draves and Jamie Zawinski. +j: GFlux - Draws a rippling waves on a rotating wireframe grid. Written by Josiah Pease. +k: Munch - DATAI 2 ADDB 1,2 ROTC 2,-22 XOR 1,2 JRST .-4 As reported by HAKMEM, in 1962, Jackson Wright wrote the above PDP-1 code. That code still lives on here, some 46 years later. The number of lines of enclosing code has increased substantially, however. http://en.wikipedia.org/wiki/HAKMEM http://en.wikipedia.org/wiki/Munching_square Written by Jackson Wright and Tim Showalter. +l: Apple2 - Simulates an original Apple ][ Plus computer in all its 1979 glory. It also reproduces the appearance of display on a color television set of the period. In "Basic Programming Mode", a simulated user types in a BASIC program and runs it. In "Text Mode", it displays the output of a program, or the contents of a file or URL. In "Slideshow Mode", it chooses random images and displays them within the limitations of the Apple ][ display hardware. (Six available colors in hi-res mode!) On X11 systems, This program is also a fully-functional VT100 emulator. http://en.wikipedia.org/wiki/Apple_II_series Written by Trevor Blackwell. +m: Hypertorus - This shows a rotating Clifford Torus: a torus lying on the "surface" of a 4D hypersphere. Inspired by Thomas Banchoff's book "Beyond the Third Dimension: Geometry, Computer Graphics, and Higher Dimensions", Scientific American Library, 1990. http://en.wikipedia.org/wiki/N-sphere http://en.wikipedia.org/wiki/Clifford_torus http://en.wikipedia.org/wiki/Regular_polytope Written by Carsten Steger. +n: Jigsaw - This grabs a screen image, carves it up into a jigsaw puzzle, shuffles it, and then solves the puzzle. This works especially well when you feed it an external video signal instead of letting it grab the screen image (actually, I guess this is generally true...) When it is grabbing a video image, it is sometimes pretty hard to guess what the image is going to look like once the puzzle is solved. Written by Jamie Zawinski. +o: Rorschach - This generates random inkblot patterns via a reflected random walk. Any deep-seated neurotic tendencies which this program reveals are your own problem. http://en.wikipedia.org/wiki/Rorschach_inkblot_test http://en.wikipedia.org/wiki/Random_walk Written by Jamie Zawinski. +p: GLHanoi - Solves the Towers of Hanoi puzzle. Move N disks from one pole to another, one disk at a time, with no disk ever resting on a disk smaller than itself. http://en.wikipedia.org/wiki/Tower_of_Hanoi Written by Dave Atkinson; 2005. +q: Circuit - Animates a number of 3D electronic components. Written by Ben Buxton. +r: Starfish - This generates a sequence of undulating, throbbing, star-like patterns which pulsate, rotate, and turn inside out. Another display mode uses these shapes to lay down a field of colors, which are then cycled. The motion is very organic. Written by Jamie Zawinski. +s: Julia - Animates the Julia set (a close relative of the Mandelbrot set). The small moving dot indicates the control point from which the rest of the image was generated. See also the "Discrete" screen saver. http://en.wikipedia.org/wiki/Julia_set Written by Sean McCullough. +t: Maze - This generates random mazes (with various different algorithms), and then solves them. Backtracking and look-ahead paths are displayed in different colors. Written by Jim Randell and many others. +u: VidWhacker - This is a shell script that grabs a frame of video from the system's video input, and then uses some PBM filters (chosen at random) to manipulate and recombine the video frame in various ways (edge detection, subtracting the image from a rotated version of itself, etc.) Then it displays that image for a few seconds, and does it again. This works really well if you just feed broadcast television into it. Written by Jamie Zawinski. +v: Pipes - A growing plumbing system, with bolts and valves. Written by Marcelo Vianna. +w: SBalls - Draws an animation of textured balls spinning like crazy. Written by Eric Lassauge. +x: MirrorBlob - Draws a wobbly blob that distorts the image behind it. Written by Jon Dowdall. +y: Polyominoes - Repeatedly attempts to completely fill a rectangle with irregularly-shaped puzzle pieces. http://en.wikipedia.org/wiki/Polyomino Written by Stephen Montgomery-Smith. +z: Flame - Iterative fractals. Written by Scott Draves. +0: AntSpotlight - Draws an ant (with a headlight) who walks on top of an image of your desktop or other image. Written by Blair Tennessy. +1: XLyap - This generates pretty fractal pictures via the Lyapunov exponent. http://en.wikipedia.org/wiki/Lyapunov_exponent Written by Ron Record. +2: FontGlide - Puts text on the screen using large characters that glide in from the edges, assemble, then disperse. Alternately, it can simply scroll whole sentences from right to left. Written by Jamie Zawinski. +3: Spotlight - Draws a spotlight scanning across a black screen, illuminating the underlying desktop (or a picture) when it passes. Written by Rick Schultz and Jamie Zawinski. +4: SkyTentacles - There is a tentacled abomination in the sky. From above you it devours. Written by Jamie Zawinski. +5: Surfaces - This draws a visualization of several interesting parametric surfaces. http://mathworld.wolfram.com/DinisSurface.html http://en.wikipedia.org/wiki/Enneper_surface http://mathworld.wolfram.com/EnnepersMinimalSurface.html http://mathworld.wolfram.com/KuenSurface.html http://en.wikipedia.org/wiki/Moebius_strip http://mathworld.wolfram.com/Seashell.html http://mathworld.wolfram.com/SwallowtailCatastrophe.html http://mathworld.wolfram.com/BohemianDome.html http://en.wikipedia.org/wiki/Whitney_umbrella http://mathworld.wolfram.com/PlueckersConoid.html http://mathworld.wolfram.com/HennebergsMinimalSurface.html http://mathworld.wolfram.com/CatalansSurface.html http://mathworld.wolfram.com/CorkscrewSurface.html Written by Andrey Mirtchovski and Carsten Steger. +6: GLPlanet - Draws a planet bouncing around in space. The built-in image is a map of the earth (extracted from `xearth'), but you can wrap any texture around the sphere, e.g., the planetary textures that come with `ssystem'. Written by David Konerding. +7: Intermomentary - A surface is filled with a hundred medium to small sized circles. Each circle has a different size and direction, but moves at the same slow rate. Displays the instantaneous intersections of the circles as well as the aggregate intersections of the circles. The circles begin with a radius of 1 pixel and slowly increase to some arbitrary size. Circles are drawn with small moving points along the perimeter. The intersections are rendered as glowing orbs. Glowing orbs are rendered only when a perimeter point moves past the intersection point. Written by Casey Reas, William Ngan, Robert Hodgin, and Jamie Zawinski. +8: Cynosure - Random dropshadowed rectangles pop onto the screen in lockstep. Written by Ozymandias G. Desiderata, Jamie Zawinski, and Stephen Linhart. +9: WhirlWindWarp - Floating stars are acted upon by a mixture of simple 2D forcefields. The strength of each forcefield changes continuously, and it is also switched on and off at random. Written by Paul 'Joey' Clark. +A: SpeedMine - Simulates speeding down a rocky mineshaft, or a funky dancing worm. Written by Conrad Parker. +B: Flow - Strange attractors formed of flows in a 3D differential equation phase space. Features the popular attractors described by Lorentz, Roessler, Birkhoff and Duffing, and can discover entirely new attractors by itself. http://en.wikipedia.org/wiki/Attractor#Strange_attractor Written by Tim Auckland. +C: Bouboule - This draws what looks like a spinning, deforming balloon with varying-sized spots painted on its invisible surface. Written by Jeremie Petit. +D: Barcode - Draws a random sequence of colorful barcodes scrolling across your screen. CONSUME! The barcodes follow the UPC-A, UPC-E, EAN-8 or EAN-13 standards. http://en.wikipedia.org/wiki/Universal_Product_Code http://en.wikipedia.org/wiki/European_Article_Number Written by Dan Bornstein. +E: Moire2 - Generates fields of concentric circles or ovals, and combines the planes with various operations. The planes are moving independently of one another, causing the interference lines to spray. http://en.wikipedia.org/wiki/Moire_pattern Written by Jamie Zawinski. +F: BouncingCow - A Cow. A Trampoline. Together, they fight crime. Written by Jamie Zawinski. +G: Grav - This draws a simple orbital simulation. With trails enabled, it looks kind of like a cloud-chamber photograph. Written by Greg Bowering. +H: Greynetic - Draws random colored, stippled and transparent rectangles. Written by Jamie Zawinski. +I: Atunnel - Draws an animation of a textured tunnel in GL. Written by Eric Lassauge and Roman Podobedov. +J: Sproingies - Slinky-like creatures walk down an infinite staircase and occasionally explode! http://en.wikipedia.org/wiki/Slinky http://en.wikipedia.org/wiki/Q%2Abert http://en.wikipedia.org/wiki/Marble_Madness Written by Ed Mackey. +K: Hilbert - This draws the recursive Hilbert space-filling curve, in both 2D and 3D variants. It incrementally animates the growth and recursion to the maximum depth, then unwinds it back. The Hilbert path is a single contiguous line that can fill a volume without crossing itself. As a data structure, Hilbert paths are useful because ordering along the curve preserves locality: points that close together along the curve are also close together in space. The converse is often, but not always, true. The coloration reflects this. http://en.wikipedia.org/wiki/Hilbert_curve Written by Jamie Zawinski. +L: Mountain - Generates random 3D plots that look vaguely mountainous. Written by Pascal Pensa. +M: Polytopes - This shows one of the six regular 4D polytopes rotating in 4D. Inspired by H.S.M Coxeter's book "Regular Polytopes", 3rd Edition, Dover Publications, Inc., 1973, and Thomas Banchoff's book "Beyond the Third Dimension: Geometry, Computer Graphics, and Higher Dimensions", Scientific American Library, 1990. http://en.wikipedia.org/wiki/Hypercube http://en.wikipedia.org/wiki/Regular_polytope Written by Carsten Steger. +N: Morph3D - Platonic solids that turn inside out and get spikey. http://en.wikipedia.org/wiki/Platonic_solid Written by Marcelo Vianna. +O: GLMatrix - Draws 3D dropping characters similar to what is seen in the title sequence of "The Matrix". See also "xmatrix" for a 2D rendering of the similar effect that appeared on the computer monitors actually *in* the movie. Written by Jamie Zawinski. +P: FluidBalls - Models the physics of bouncing balls, or of particles in a gas or fluid, depending on the settings. If "Shake Box" is selected, then every now and then, the box will be rotated, changing which direction is down (in order to keep the settled balls in motion.) Written by Peter Birtles and Jamie Zawinski. +Q: Qix - Bounces a series of line segments around the screen, and uses variations on this basic motion pattern to produce all sorts of different presentations: line segments, filled polygons, and overlapping translucent areas. http://en.wikipedia.org/wiki/Qix Written by Jamie Zawinski. +R: CubicGrid - Draws the view of an observer located inside a rotating 3D lattice of colored points. Written by Vasek Potocek. +S: Boing - This bouncing ball is a clone of the first graphics demo for the Amiga 1000, which was written by Dale Luck and RJ Mical during a break at the 1984 Consumer Electronics Show (or so the legend goes.) This looks like the original Amiga demo if you turn off "smoothing" and "lighting" and turn on "scanlines", and is somewhat more modern otherwise. http://en.wikipedia.org/wiki/Amiga#Boing_Ball Written by Jamie Zawinski. +T: GLKnots - Generates some twisting 3d knot patterns. Spins 'em around. http://en.wikipedia.org/wiki/Knot_theory Written by Jamie Zawinski. +U: RubikBlocks - Animates the Rubik's Mirror Blocks puzzle. See also the "Rubik", "Cube21", and "GLSnake" screen savers. http://en.wikipedia.org/wiki/Combination_puzzles#Irregular_Cuboids Written by Vasek Potocek. +V: BSOD - BSOD stands for "Blue Screen of Death". The finest in personal computer emulation, BSOD simulates popular screen savers from a number of less robust operating systems. Written by Jamie Zawinski. +W: Celtic - Repeatedly draws random Celtic cross-stitch patterns. http://en.wikipedia.org/wiki/Celtic_knot Written by Max Froumentin. +X: TimeTunnel - Draws an animation similar to the opening and closing effects on the Dr. Who TV show. Written by Sean P. Brennan. +Y: Rocks - This draws an animation of flight through an asteroid field, with changes in rotation and direction. Written by Jamie Zawinski. +Z: Kaleidescope - A simple kaleidoscope. See also "GLeidescope". http://en.wikipedia.org/wiki/Kaleidoscope Written by Ron Tapia. +|: Deluxe - Draws a pulsing sequence of transparent stars, circles, and lines. Written by Jamie Zawinski. +|: Pinion - Draws an interconnected set of gears moving across the screen. See also the "Gears" and "MoebiusGears" screen savers. http://en.wikipedia.org/wiki/Involute_gear Written by Jamie Zawinski. |: Hopalong - This draws lacy fractal patterns based on iteration in the imaginary plane, from a 1986 Scientific American article. See also the "Discrete" screen saver. Written by Patrick Naughton. -|: Hypertorus - This shows a rotating Clifford Torus: a torus lying on the "surface" of a 4D hypersphere. Inspired by Thomas Banchoff's book "Beyond the Third Dimension: Geometry, Computer Graphics, and Higher Dimensions", Scientific American Library, 1990. http://en.wikipedia.org/wiki/N-sphere http://en.wikipedia.org/wiki/Clifford_torus http://en.wikipedia.org/wiki/Regular_polytope Written by Carsten Steger. -|: Hypnowheel - Draws a series of overlapping, translucent spiral patterns. The tightness of their spirals fluctuates in and out. http://en.wikipedia.org/wiki/Moire_pattern Written by Jamie Zawinski. -|: IFS - This one draws spinning, colliding iterated-function-system images. Note that the "Detail" parameter is exponential. Number of points drawn is functions^detail. http://en.wikipedia.org/wiki/Iterated_function_system Written by Chris Le Sueur and Robby Griffin. -|: IMSMap - This generates random cloud-like patterns. The idea is to take four points on the edge of the image, and assign each a random "elevation". Then find the point between them, and give it a value which is the average of the other four, plus some small random offset. Coloration is done based on elevation. Written by Juergen Nickelsen and Jamie Zawinski. +|: Atlantis - A 3D animation of a number of sharks, dolphins, and whales. Written by Mark Kilgard. +|: Goop - This draws set of animating, transparent, amoeba-like blobs. The blobs change shape as they wander around the screen, and they are translucent, so you can see the lower blobs through the higher ones, and when one passes over another, their colors merge. I got the idea for this from a mouse pad I had once, which achieved the same kind of effect in real life by having several layers of plastic with colored oil between them. Written by Jamie Zawinski. +|: Noof - Draws some rotatey patterns, using OpenGL. Written by Bill Torzewski. +|: Pong - This simulates the 1971 Pong home video game, as well as various artifacts from displaying it on a color TV set. In clock mode, the score keeps track of the current time. http://en.wikipedia.org/wiki/Pong Written by Jeremy English and Trevor Blackwell. |: Interaggregate - A surface is filled with a hundred medium to small sized circles. Each circle has a different size and direction, but moves at the same slow rate. Displays the instantaneous intersections of the circles as well as the aggregate intersections of the circles. Though actually it doesn't look like circles at all! Written by Casey Reas, William Ngan, Robert Hodgin, and Jamie Zawinski. -|: Interference - Color field based on computing decaying sinusoidal waves. Written by Hannu Mallat. -|: Intermomentary - A surface is filled with a hundred medium to small sized circles. Each circle has a different size and direction, but moves at the same slow rate. Displays the instantaneous intersections of the circles as well as the aggregate intersections of the circles. The circles begin with a radius of 1 pixel and slowly increase to some arbitrary size. Circles are drawn with small moving points along the perimeter. The intersections are rendered as glowing orbs. Glowing orbs are rendered only when a perimeter point moves past the intersection point. Written by Casey Reas, William Ngan, Robert Hodgin, and Jamie Zawinski. -|: JigglyPuff - This does bad things with quasi-spherical objects. You have a tetrahedron with tesselated faces. The vertices on these faces have forces on them: one proportional to the distance from the surface of a sphere; and one proportional to the distance from the neighbors. They also have inertia. The resulting effect can range from a shape that does nothing, to a frenetic polygon storm. Somewhere in between there it usually manifests as a blob that jiggles in a kind of disturbing manner. Written by Keith Macleod. -|: Jigsaw - This grabs a screen image, carves it up into a jigsaw puzzle, shuffles it, and then solves the puzzle. This works especially well when you feed it an external video signal instead of letting it grab the screen image (actually, I guess this is generally true...) When it is grabbing a video image, it is sometimes pretty hard to guess what the image is going to look like once the puzzle is solved. Written by Jamie Zawinski. -|: Juggler3D - 3D simulation of a juggler performing with balls, clubs and rings. http://en.wikipedia.org/wiki/Siteswap Written by Brian Apps. -|: Julia - Animates the Julia set (a close relative of the Mandelbrot set). The small moving dot indicates the control point from which the rest of the image was generated. See also the "Discrete" screen saver. http://en.wikipedia.org/wiki/Julia_set Written by Sean McCullough. -|: Kaleidescope - A simple kaleidoscope. See also "GLeidescope". http://en.wikipedia.org/wiki/Kaleidoscope Written by Ron Tapia. -|: Klein - This draws a visualization of a Klein bottle or some other interesting parametric surfaces. http://en.wikipedia.org/wiki/Klein_bottle Written by Andrey Mirtchovski. -|: Kumppa - Spiraling, spinning, and very, very fast splashes of color rush toward the screen. Written by Teemu Suutari. -|: Lament - Animates a simulation of Lemarchand's Box, the Lament Configuration, repeatedly solving itself. Warning: occasionally opens doors. http://en.wikipedia.org/wiki/Lemarchand%27s_box Written by Jamie Zawinski. +|: Petri - This simulates colonies of mold growing in a petri dish. Growing colored circles overlap and leave spiral interference in their wake. Written by Dan Bornstein. +|: Fiberlamp - Draws a groovy rotating fiber optic lamp. Written by Tim Auckland. +|: Pyro - Exploding fireworks. See also the "Fireworkx", "Eruption", and "XFlame" screen savers. Written by Jamie Zawinski. +|: Wormhole - Flying through a colored wormhole in space. Written by Jon Rafkind. +|: Spheremonics - These closed objects are commonly called spherical harmonics, although they are only remotely related to the mathematical definition found in the solution to certain wave functions, most notably the eigenfunctions of angular momentum operators. http://en.wikipedia.org/wiki/Spherical_harmonics#Visualization_of_the_spherical_harmonics Written by Paul Bourke and Jamie Zawinski. +|: Substrate - Crystalline lines grow on a computational substrate. A simple perpendicular growth rule creates intricate city-like structures. Written by J. Tarbell and Mike Kershaw. +|: AntMaze - Draws a few views of a few ants walking around in a simple maze. Written by Blair Tennessy. +|: Crackberg - Flies through height maps, optionally animating the creation and destruction of generated tiles; tiles `grow' into place. Written by Matus Telgarsky. +|: DecayScreen - This takes an image and makes it melt. You've no doubt seen this effect before, but no screensaver would really be complete without it. It works best if there's something colorful visible. Warning, if the effect continues after the screen saver is off, seek medical attention. Written by David Wald, Vivek Khera, Jamie Zawinski, and Vince Levey. +|: Tangram - Solves tangram puzzles. http://en.wikipedia.org/wiki/Tangram Written by Jeremy English. |: Lavalite - Draws a 3D Simulation a Lava Lite(r). Odd-shaped blobs of a mysterious substance are heated, slowly rise to the top of the bottle, and then drop back down as they cool. This simulation requires a fairly fast machine (both CPU and 3D performance.) "LAVA LITE(r) and the configuration of the LAVA(r) brand motion lamp are registered trademarks of Haggerty Enterprises, Inc. The configuration of the globe and base of the motion lamp are registered trademarks of Haggerty Enterprises, Inc. in the U.S.A. and in other countries around the world." http://en.wikipedia.org/wiki/Lava_lamp http://en.wikipedia.org/wiki/Metaballs Written by Jamie Zawinski. -|: LCDscrub - This screen saver is not meant to look pretty, but rather, to repair burn-in on LCD monitors. Believe it or not, screen burn is not a thing of the past. It can happen to LCD screens pretty easily, even in this modern age. However, leaving the screen on and displaying high contrast images can often repair the damage. That's what this screen saver does. See also: http://docs.info.apple.com/article.html?artnum +|: Pulsar - Draws some intersecting planes, making use of alpha blending, fog, textures, and mipmaps. Written by David Konerding. +|: RotZoomer - Creates a collage of rotated and scaled portions of the screen. Written by Claudio Matsuoka. +|: Engine - Draws a simple model of an engine that floats around the screen. http://en.wikipedia.org/wiki/Internal_combustion_engine#Operation Written by Ben Buxton and Ed Beroset. +|: Phosphor - Draws a simulation of an old terminal, with large pixels and long-sustain phosphor. On X11 systems, This program is also a fully-functional VT100 emulator! Written by Jamie Zawinski. +|: Rubik - Draws a Rubik's Cube that rotates in three dimensions and repeatedly shuffles and solves itself. See also the "GLSnake" and "Cube21" screen savers. http://en.wikipedia.org/wiki/Rubik%27s_Cube Written by Marcelo Vianna. +|: Zoom - Zooms in on a part of the screen and then moves around. With the "Lenses" option, the result is like looking through many overlapping lenses rather than just a simple zoom. Written by James Macnicol. +|: Polyhedra - Displays different 3D solids and some information about each. A new solid is chosen every few seconds. There are 75 uniform polyhedra, plus 5 infinite sets of prisms and antiprisms; including their duals brings the total to 160. http://en.wikipedia.org/wiki/Uniform_polyhedra Written by Dr. Zvi Har'El and Jamie Zawinski. |: Lockward - A translucent spinning, blinking thing. Sort of a cross between the wards in an old combination lock and those old backlit information displays that animated and changed color via polarized light. Written by Leo L. Schwab. +|: Stairs - Escher's infinite staircase. http://en.wikipedia.org/wiki/Maurits_Cornelis_Escher Written by Marcelo Vianna. |: Loop - Generates loop-shaped colonies that spawn, age, and eventually die. http://en.wikipedia.org/wiki/Langton%27s_loops Written by David Bagley. -|: m6502 - This emulates a 6502 microprocessor. The family of 6502 chips were used throughout the 70's and 80's in machines such as the Atari 2600, Commodore PET, VIC20 and C64, Apple ][, and the NES. Some example programs are included, and it can also read in an assembly file as input. Original JavaScript Version by Stian Soreng: http://www.6502asm.com/. Ported to XScreenSaver by Jeremy English. Written by Stian Soreng and Jeremy English. -|: Maze - This generates random mazes (with various different algorithms), and then solves them. Backtracking and look-ahead paths are displayed in different colors. Written by Jim Randell and many others. -|: MemScroller - This draws a dump of its own process memory scrolling across the screen in three windows at three different rates. Written by Jamie Zawinski. -|: Menger - This draws the three-dimensional variant of the recursive Menger Gasket, a cube-based fractal object analagous to the Sierpinski Tetrahedron. http://en.wikipedia.org/wiki/Menger_sponge http://en.wikipedia.org/wiki/Sierpinski_carpet Written by Jamie Zawinski. -|: MetaBalls - Draws two dimensional metaballs: overlapping and merging balls with fuzzy edges. http://en.wikipedia.org/wiki/Metaballs Written by W.P. van Paassen. -|: MirrorBlob - Draws a wobbly blob that distorts the image behind it. Written by Jon Dowdall. -|: Moebius - This animates a 3D rendition M.C. Escher's "Moebius Strip II", an image of ants walking along the surface of a moebius strip. http://en.wikipedia.org/wiki/Moebius_strip http://en.wikipedia.org/wiki/Maurits_Cornelis_Escher Written by Marcelo F. Vianna. +|: Bubble3D - Draws a stream of rising, undulating 3D bubbles, rising toward the top of the screen, with transparency and specular reflections. Written by Richard Jones. +|: CompanionCube - The symptoms most commonly produced by Enrichment Center testing are superstition, perceiving inanimate objects as alive, and hallucinations. The Enrichment Center reminds you that the weighted companion cube will never threaten to stab you and, in fact, cannot speak. In the event that the Weighted Companion Cube does speak, the Enrichment Center urges you to disregard its advice. http://en.wikipedia.org/wiki/Portal_%28video_game%29 Written by Jamie Zawinski. +|: Juggler3D - 3D simulation of a juggler performing with balls, clubs and rings. http://en.wikipedia.org/wiki/Siteswap Written by Brian Apps. +|: Anemone - Wiggling tentacles. Written by Gabriel Finch. |: MoebiusGears - Draws a closed, interlinked chain of rotating gears. The layout of the gears follows the path of a moebius strip. See also the "Pinion" and "Gears" screen savers. http://en.wikipedia.org/wiki/Involute_gear http://en.wikipedia.org/wiki/Moebius_strip Written by Jamie Zawinski. -|: Moire - When the lines on the screen Make more lines in between, That's a moire'! http://en.wikipedia.org/wiki/Moire_pattern Written by Jamie Zawinski and Michael Bayne. -|: Moire2 - Generates fields of concentric circles or ovals, and combines the planes with various operations. The planes are moving independently of one another, causing the interference lines to spray. http://en.wikipedia.org/wiki/Moire_pattern Written by Jamie Zawinski. -|: Molecule - Draws several different representations of molecules. Some common molecules are built in, and it can also read PDB (Protein Data Bank) files as input. http://en.wikipedia.org/wiki/Protein_Data_Bank_%28file_format%29 Written by Jamie Zawinski. -|: Morph3D - Platonic solids that turn inside out and get spikey. http://en.wikipedia.org/wiki/Platonic_solid Written by Marcelo Vianna. -|: Mountain - Generates random 3D plots that look vaguely mountainous. Written by Pascal Pensa. -|: Munch - DATAI 2 ADDB 1,2 ROTC 2,-22 XOR 1,2 JRST .-4 As reported by HAKMEM, in 1962, Jackson Wright wrote the above PDP-1 code. That code still lives on here, some 46 years later. The number of lines of enclosing code has increased substantially, however. http://en.wikipedia.org/wiki/HAKMEM http://en.wikipedia.org/wiki/Munching_square Written by Jackson Wright and Tim Showalter. -|: NerveRot - Draws different shapes composed of nervously vibrating squiggles, as if seen through a camera operated by a monkey on crack. Written by Dan Bornstein. -|: Noof - Draws some rotatey patterns, using OpenGL. Written by Bill Torzewski. -|: NoseGuy - A little man with a big nose wanders around your screen saying things. Written by Dan Heller and Jamie Zawinski. -|: Pacman - Simulates a game of Pac-Man on a randomly-created level. http://en.wikipedia.org/wiki/Pac-Man Written by Edwin de Jong. -|: Pedal - This is sort of a combination spirograph/string-art. It generates a large, complex polygon, and renders it by filling using an even/odd winding rule. Written by Dale Moore. +|: Hypnowheel - Draws a series of overlapping, translucent spiral patterns. The tightness of their spirals fluctuates in and out. http://en.wikipedia.org/wiki/Moire_pattern Written by Jamie Zawinski. +|: Sierpinski - This draws the two-dimensional variant of the recursive Sierpinski triangle fractal. See also the "Sierpinski3D" screen saver. http://en.wikipedia.org/wiki/Sierpinski_triangle Written by Desmond Daignault. +|: Sierpinski3D - This draws the Sierpinski tetrahedron fractal, the three-dimensional variant of the recursive Sierpinski triangle. http://en.wikipedia.org/wiki/Sierpinski_triangle#Analogs_in_higher_dimension Written by Tim Robinson and Jamie Zawinski. +|: GLText - Displays a few lines of text spinning around in a solid 3D font. The text can use strftime() escape codes to display the current date and time. Written by Jamie Zawinski. +|: Euler2D - Simulates two dimensional incompressible inviscid fluid flow. http://en.wikipedia.org/wiki/Euler_equations_%28fluid_dynamics%29 http://en.wikipedia.org/wiki/Inviscid_flow Written by Stephen Montgomery-Smith. +|: Boxed - Draws a box full of 3D bouncing balls that explode. Written by Sander van Grieken. +|: Superquadrics - Morphing 3D shapes. Written by Ed Mackey. +|: Fireworkx - Exploding fireworks. See also the "Eruption", "XFlame" and "Pyro" screen savers. Written by Rony B Chandran. +|: FlipFlop - Draws a grid of 3D colored tiles that change positions with each other. Written by Kevin Ogden and Sergio Gutierrez. +|: XMatrix - Draws dropping characters similar to what is seen on the computer monitors in "The Matrix". See also "GLMatrix" for a 3D rendering of the similar effect that appeared in the movie's title sequence. Written by Jamie Zawinski. +|: Distort - Grabs an image of the screen, and then lets a transparent lens wander around the screen, magnifying whatever is underneath. Written by Jonas Munsin. +|: XJack - This behaves schizophrenically and makes a lot of typos. Written by Jamie Zawinski. +|: Extrusion - Draws various rotating extruded shapes that twist around, lengthen, and turn inside out. Written by Linas Vepstas, David Konerding, and Jamie Zawinski. +|: MemScroller - This draws a dump of its own process memory scrolling across the screen in three windows at three different rates. Written by Jamie Zawinski. +|: FlyingToasters - A fleet of 3d space-age jet-powered flying toasters (and toast!) Inspired by the ancient Berkeley Systems After Dark flying toasters. http://en.wikipedia.org/wiki/After_Dark_%28software%29#Flying_Toasters Written by Jamie Zawinski and Devon Dossett. +|: Bumps - A spotlight roams across an embossed version of your desktop or other picture. Written by Shane Smit. +|: XAnalogTV - XAnalogTV shows a detailed simulation of an old TV set showing various test patterns, with various picture artifacts like snow, bloom, distortion, ghosting, and hash noise. It also simulates the TV warming up. It will cycle through 12 channels, some with images you give it, and some with color bars or nothing but static. Written by Trevor Blackwell. |: Penetrate - Simulates (something like) the classic arcade game Missile Command. http://en.wikipedia.org/wiki/Missile_Command Written by Adam Miller. +|: Apollonian - Draws an Apollonian gasket: a fractal packing of circles with smaller circles, demonstrating Descartes's theorem. http://en.wikipedia.org/wiki/Apollonian_gasket http://en.wikipedia.org/wiki/Descartes%27_theorem Written by Allan R. Wilks and David Bagley. +|: Endgame - Black slips out of three mating nets, but the fourth one holds him tight! A brilliant composition! See also the "Queens" screen saver. http://en.wikipedia.org/wiki/Chess_endgame Written by Blair Tennessy. +|: Ripples - This draws rippling interference patterns like splashing water. With the -water option, it manipulates your desktop image to look like something is dripping into it. Written by Tom Hammersley. +|: Menger - This draws the three-dimensional variant of the recursive Menger Gasket, a cube-based fractal object analagous to the Sierpinski Tetrahedron. http://en.wikipedia.org/wiki/Menger_sponge http://en.wikipedia.org/wiki/Sierpinski_carpet Written by Jamie Zawinski. +|: Cage - This draws Escher's "Impossible Cage", a 3d analog of a moebius strip, and rotates it in three dimensions. http://en.wikipedia.org/wiki/Maurits_Cornelis_Escher Written by Marcelo Vianna. +|: Triangle - Generates random mountain ranges using iterative subdivision of triangles. Written by Tobias Gloth. +|: Gears - This draws sets of turning, interlocking gears, rotating in three dimensions. See also the "Pinion" and "MoebiusGears" screen savers. http://en.wikipedia.org/wiki/Involute_gear http://en.wikipedia.org/wiki/Epicyclic_gearing Written by Jamie Zawinski. +|: JigglyPuff - This does bad things with quasi-spherical objects. You have a tetrahedron with tesselated faces. The vertices on these faces have forces on them: one proportional to the distance from the surface of a sphere; and one proportional to the distance from the neighbors. They also have inertia. The resulting effect can range from a shape that does nothing, to a frenetic polygon storm. Somewhere in between there it usually manifests as a blob that jiggles in a kind of disturbing manner. Written by Keith Macleod. +|: Wander - Draws a colorful random-walk, in various forms. http://en.wikipedia.org/wiki/Random_walk Written by Rick Campbell. +|: Cube21 - Animates a Rubik-like puzzle known as Cube 21 or Square-1. The rotations are chosen randomly. See also the "Rubik" and "GLSnake" screen savers. http://en.wikipedia.org/wiki/Square_One_%28puzzle%29 Written by Vasek Potocek. +|: FlipText - Draws successive pages of text. The lines flip in and out in a soothing 3D pattern. Written by Jamie Zawinski. +|: Providence - "A pyramid unfinished. In the zenith an eye in a triangle, surrounded by a glory, proper." http://en.wikipedia.org/wiki/Eye_of_Providence Written by Blair Tennessy. |: Penrose - Draws quasiperiodic tilings; think of the implications on modern formica technology. In April 1997, Sir Roger Penrose, a British math professor who has worked with Stephen Hawking on such topics as relativity, black holes, and whether time has a beginning, filed a copyright-infringement lawsuit against the Kimberly-Clark Corporation, which Penrose said copied a pattern he created (a pattern demonstrating that "a nonrepeating pattern could exist in nature") for its Kleenex quilted toilet paper. Penrose said he doesn't like litigation but, "When it comes to the population of Great Britain being invited by a multinational to wipe their bottoms on what appears to be the work of a Knight of the Realm, then a last stand must be taken." As reported by News of the Weird #491, 4-Jul-1997. http://en.wikipedia.org/wiki/Penrose_tiling Written by Timo Korvola. -|: Petri - This simulates colonies of mold growing in a petri dish. Growing colored circles overlap and leave spiral interference in their wake. Written by Dan Bornstein. -|: Phosphor - Draws a simulation of an old terminal, with large pixels and long-sustain phosphor. On X11 systems, This program is also a fully-functional VT100 emulator! Written by Jamie Zawinski. +|: FadePlot - Draws what looks like a waving ribbon following a sinusoidal path. Written by Bas van Gaalen and Charles Vidal. +|: XFlame - Draws a simulation of pulsing fire. It can also take an arbitrary image and set it on fire too. Written by Carsten Haitzler and many others. |: Photopile - Loads several random images, and displays them as if lying in a random pile. The pile is periodically reshuffled, with new images coming in and old ones being thrown out. Written by Jens Kilian. -|: Piecewise - This draws a bunch of moving circles which switch from visibility to invisibility at intersection points. Written by Geoffrey Irving. -|: Pinion - Draws an interconnected set of gears moving across the screen. See also the "Gears" and "MoebiusGears" screen savers. http://en.wikipedia.org/wiki/Involute_gear Written by Jamie Zawinski. -|: Pipes - A growing plumbing system, with bolts and valves. Written by Marcelo Vianna. -|: Polyhedra - Displays different 3D solids and some information about each. A new solid is chosen every few seconds. There are 75 uniform polyhedra, plus 5 infinite sets of prisms and antiprisms; including their duals brings the total to 160. http://en.wikipedia.org/wiki/Uniform_polyhedra Written by Dr. Zvi Har'El and Jamie Zawinski. -|: Polyominoes - Repeatedly attempts to completely fill a rectangle with irregularly-shaped puzzle pieces. http://en.wikipedia.org/wiki/Polyomino Written by Stephen Montgomery-Smith. -|: Polytopes - This shows one of the six regular 4D polytopes rotating in 4D. Inspired by H.S.M Coxeter's book "Regular Polytopes", 3rd Edition, Dover Publications, Inc., 1973, and Thomas Banchoff's book "Beyond the Third Dimension: Geometry, Computer Graphics, and Higher Dimensions", Scientific American Library, 1990. http://en.wikipedia.org/wiki/Hypercube http://en.wikipedia.org/wiki/Regular_polytope Written by Carsten Steger. -|: Pong - This simulates the 1971 Pong home video game, as well as various artifacts from displaying it on a color TV set. In clock mode, the score keeps track of the current time. http://en.wikipedia.org/wiki/Pong Written by Jeremy English and Trevor Blackwell. -|: Providence - "A pyramid unfinished. In the zenith an eye in a triangle, surrounded by a glory, proper." http://en.wikipedia.org/wiki/Eye_of_Providence Written by Blair Tennessy. -|: Pulsar - Draws some intersecting planes, making use of alpha blending, fog, textures, and mipmaps. Written by David Konerding. -|: Pyro - Exploding fireworks. See also the "Fireworkx", "Eruption", and "XFlame" screen savers. Written by Jamie Zawinski. -|: Qix - Bounces a series of line segments around the screen, and uses variations on this basic motion pattern to produce all sorts of different presentations: line segments, filled polygons, and overlapping translucent areas. http://en.wikipedia.org/wiki/Qix Written by Jamie Zawinski. -|: Queens - Solves the N-Queens problem (where N is between 5 and 10 queens). The problem is: how may one place N queens on an NxN chessboard such that no queen can attack a sister? See also the "Endgame" screen saver. http://en.wikipedia.org/wiki/Eight_queens_puzzle Written by Blair Tennessy. -|: RDbomb - Draws a grid of growing square-like shapes that, once they overtake each other, react in unpredictable ways. "RD" stands for reaction-diffusion. Written by Scott Draves. -|: Ripples - This draws rippling interference patterns like splashing water. With the -water option, it manipulates your desktop image to look like something is dripping into it. Written by Tom Hammersley. -|: Rocks - This draws an animation of flight through an asteroid field, with changes in rotation and direction. Written by Jamie Zawinski. -|: Rorschach - This generates random inkblot patterns via a reflected random walk. Any deep-seated neurotic tendencies which this program reveals are your own problem. http://en.wikipedia.org/wiki/Rorschach_inkblot_test http://en.wikipedia.org/wiki/Random_walk Written by Jamie Zawinski. -|: RotZoomer - Creates a collage of rotated and scaled portions of the screen. Written by Claudio Matsuoka. -|: Rubik - Draws a Rubik's Cube that rotates in three dimensions and repeatedly shuffles and solves itself. See also the "GLSnake" and "Cube21" screen savers. http://en.wikipedia.org/wiki/Rubik%27s_Cube Written by Marcelo Vianna. -|: RubikBlocks - Animates the Rubik's Mirror Blocks puzzle. See also the "Rubik", "Cube21", and "GLSnake" screen savers. http://en.wikipedia.org/wiki/Combination_puzzles#Irregular_Cuboids Written by Vasek Potocek. -|: SBalls - Draws an animation of textured balls spinning like crazy. Written by Eric Lassauge. -|: ShadeBobs - This draws smoothly-shaded oscillating oval patterns that look something like vapor trails or neon tubes. Written by Shane Smit. -|: Sierpinski - This draws the two-dimensional variant of the recursive Sierpinski triangle fractal. See also the "Sierpinski3D" screen saver. http://en.wikipedia.org/wiki/Sierpinski_triangle Written by Desmond Daignault. -|: Sierpinski3D - This draws the Sierpinski tetrahedron fractal, the three-dimensional variant of the recursive Sierpinski triangle. http://en.wikipedia.org/wiki/Sierpinski_triangle#Analogs_in_higher_dimension Written by Tim Robinson and Jamie Zawinski. -|: SkyTentacles - There is a tentacled abomination in the sky. From above you it devours. Written by Jamie Zawinski. -|: SlideScreen - This takes an image, divides it into a grid, and then randomly shuffles the squares around as if it was one of those "fifteen-puzzle" games where there is a grid of squares, one of which is missing. http://en.wikipedia.org/wiki/Fifteen_puzzle Written by Jamie Zawinski. -|: Slip - This throws some random bits on the screen, then sucks them through a jet engine and spews them out the other side. To avoid turning the image completely to mush, every now and then it will it interject some splashes of color into the scene, or go into a spin cycle, or stretch the image like taffy. Written by Scott Draves and Jamie Zawinski. -|: Sonar - This draws a sonar screen that pings (get it?) the hosts on your local network, and plots their distance (response time) from you. The three rings represent ping times of approximately 2.5, 70 and 2,000 milliseconds respectively. Alternately, it can run a simulation that doesn't involve hosts. (If pinging doesn't work, you may need to make the executable be setuid.) http://en.wikipedia.org/wiki/Ping#History Written by Stephen Martin and Jamie Zawinski. -|: SpeedMine - Simulates speeding down a rocky mineshaft, or a funky dancing worm. Written by Conrad Parker. -|: Spheremonics - These closed objects are commonly called spherical harmonics, although they are only remotely related to the mathematical definition found in the solution to certain wave functions, most notably the eigenfunctions of angular momentum operators. http://en.wikipedia.org/wiki/Spherical_harmonics#Visualization_of_the_spherical_harmonics Written by Paul Bourke and Jamie Zawinski. -|: Spotlight - Draws a spotlight scanning across a black screen, illuminating the underlying desktop (or a picture) when it passes. Written by Rick Schultz and Jamie Zawinski. -|: Sproingies - Slinky-like creatures walk down an infinite staircase and occasionally explode! http://en.wikipedia.org/wiki/Slinky http://en.wikipedia.org/wiki/Q%2Abert http://en.wikipedia.org/wiki/Marble_Madness Written by Ed Mackey. -|: Squiral - Draws a set of interacting, square-spiral-producing automata. The spirals grow outward until they hit something, then they go around it. Written by Jeff Epler. -|: Stairs - Escher's infinite staircase. http://en.wikipedia.org/wiki/Maurits_Cornelis_Escher Written by Marcelo Vianna. -|: Starfish - This generates a sequence of undulating, throbbing, star-like patterns which pulsate, rotate, and turn inside out. Another display mode uses these shapes to lay down a field of colors, which are then cycled. The motion is very organic. Written by Jamie Zawinski. +|: GLBlur - This draws a box and a few line segments, and generates a radial blur outward from it. This creates flowing field effects. This is done by rendering the scene into a small texture, then repeatedly rendering increasingly-enlarged and increasingly-transparent versions of that texture onto the frame buffer. As such, it's quite GPU-intensive: if you don't have a very good graphics card, it will hurt your machine bad. Written by Jamie Zawinski. +|: Crystal - Moving polygons, similar to a kaleidoscope. See also the "Kaleidescope" and "GLeidescope" screen savers. http://en.wikipedia.org/wiki/Kaleidoscope Written by Jouk Jansen. +|: Interference - Color field based on computing decaying sinusoidal waves. Written by Hannu Mallat. +|: Carousel - Loads several random images, and displays them flying in a circular formation. The formation changes speed and direction randomly, and images periodically drop out to be replaced by new ones. Written by Jamie Zawinski. +|: Epicycle - This draws the path traced out by a point on the edge of a circle. That circle rotates around a point on the rim of another circle, and so on, several times. These were the basis for the pre-heliocentric model of planetary motion. http://en.wikipedia.org/wiki/Deferent_and_epicycle Written by James Youngman. |: StarWars - Draws a stream of text slowly scrolling into the distance at an angle, over a star field, like at the beginning of the movie of the same name. http://en.wikipedia.org/wiki/Star_Wars_opening_crawl Written by Jamie Zawinski and Claudio Matauoka. -|: StonerView - Chains of colorful squares dance around each other in complex spiral patterns. Inspired by David Tristram's `electropaint' screen saver, originally written for SGI computers in the late 1980s or early 1990s. Written by Andrew Plotkin. +|: Vermiculate - Draws squiggly worm-like paths. Written by Tyler Pierce. +|: Blaster - Draws a simulation of flying space-combat robots (cleverly disguised as colored circles) doing battle in front of a moving star field. Written by Jonathan Lin. +|: Discrete - More "discrete map" systems, including new variants of Hopalong and Julia, and a few others. Written by Tim Auckland. +|: NerveRot - Draws different shapes composed of nervously vibrating squiggles, as if seen through a camera operated by a monkey on crack. Written by Dan Bornstein. +|: Abstractile - Generates mosaic patterns of interlocking tiles. Written by Steve Sundstrom. +|: Demon - A cellular automaton that starts with a random field, and organizes it into stripes and spirals. http://en.wikipedia.org/wiki/Maxwell%27s_demon Written by David Bagley. +|: TronBit - Draws an animation of the character "Bit" from the film, "Tron". The "yes" state is a tetrahedron; the "no" state is the second stellation of an icosahedron; and the idle state oscillates between a small triambic icosahedron and the compound of an icosahedron and a dodecahedron. http://en.wikipedia.org/wiki/List_of_Tron_characters#Bit http://en.wikipedia.org/wiki/Uniform_polyhedra http://en.wikipedia.org/wiki/Stellation Written by Jamie Zawinski. +|: AntInspect - Draws a trio of ants moving their spheres around a circle. Written by Blair Tennessy. +|: Truchet - This draws line- and arc-based truchet patterns that tile the screen. http://en.wikipedia.org/wiki/Tessellation Written by Adrian Likins. +|: Pedal - This is sort of a combination spirograph/string-art. It generates a large, complex polygon, and renders it by filling using an even/odd winding rule. Written by Dale Moore. +|: BlockTube - Draws a swirling, falling tunnel of reflective slabs. They fade from hue to hue. Written by Lars R. Damerow. +|: Moire - When the lines on the screen Make more lines in between, That's a moire'! http://en.wikipedia.org/wiki/Moire_pattern Written by Jamie Zawinski and Michael Bayne. +|: Drift - Drifting recursive fractal cosmic flames. Written by Scott Draves. +|: NoseGuy - A little man with a big nose wanders around your screen saying things. Written by Dan Heller and Jamie Zawinski. +|: FlipScreen3D - Grabs an image of the desktop, turns it into a GL texture map, and spins it around and deforms it in various ways. Written by Ben Buxton and Jamie Zawinski. |: Strange - This draws iterations to strange attractors: it's a colorful, unpredictably-animating swarm of dots that swoops and twists around. http://en.wikipedia.org/wiki/Attractor#Strange_attractor Written by Massimino Pascal. -|: Substrate - Crystalline lines grow on a computational substrate. A simple perpendicular growth rule creates intricate city-like structures. Written by J. Tarbell and Mike Kershaw. -|: Superquadrics - Morphing 3D shapes. Written by Ed Mackey. -|: Surfaces - This draws a visualization of several interesting parametric surfaces. http://mathworld.wolfram.com/DinisSurface.html http://en.wikipedia.org/wiki/Enneper_surface http://mathworld.wolfram.com/EnnepersMinimalSurface.html http://mathworld.wolfram.com/KuenSurface.html http://en.wikipedia.org/wiki/Moebius_strip http://mathworld.wolfram.com/Seashell.html http://mathworld.wolfram.com/SwallowtailCatastrophe.html http://mathworld.wolfram.com/BohemianDome.html http://en.wikipedia.org/wiki/Whitney_umbrella http://mathworld.wolfram.com/PlueckersConoid.html http://mathworld.wolfram.com/HennebergsMinimalSurface.html http://mathworld.wolfram.com/CatalansSurface.html http://mathworld.wolfram.com/CorkscrewSurface.html Written by Andrey Mirtchovski and Carsten Steger. -|: Swirl - Flowing, swirly patterns. Written by M. Dobie and R. Taylor. -|: Tangram - Solves tangram puzzles. http://en.wikipedia.org/wiki/Tangram Written by Jeremy English. +|: CWaves - This generates a languidly-scrolling vertical field of sinusoidal colors. Written by Jamie Zawinski. +|: IMSMap - This generates random cloud-like patterns. The idea is to take four points on the edge of the image, and assign each a random "elevation". Then find the point between them, and give it a value which is the average of the other four, plus some small random offset. Coloration is done based on elevation. Written by Juergen Nickelsen and Jamie Zawinski. +|: GLSlideshow - Loads a random sequence of images and smoothly scans and zooms around in each, fading from pan to pan. Written by Jamie Zawinski and Mike Oliphant. +|: ShadeBobs - This draws smoothly-shaded oscillating oval patterns that look something like vapor trails or neon tubes. Written by Shane Smit. +|: Eruption - Exploding fireworks. See also the "Fireworkx", "XFlame" and "Pyro" screen savers. Written by W.P. van Paassen. |: Thornbird - Displays a view of the "Bird in a Thornbush" fractal. Written by Tim Auckland. -|: TimeTunnel - Draws an animation similar to the opening and closing effects on the Dr. Who TV show. Written by Sean P. Brennan. +|: Halo - Draws trippy psychedelic circular patterns that hurt to look at. http://en.wikipedia.org/wiki/Moire_pattern Written by Jamie Zawinski. +|: XRaySwarm - Draws a few swarms of critters flying around the screen, with faded color trails behind them. Written by Chris Leger. +|: Anemotaxis - Anemotaxis demonstrates a search algorithm designed for locating a source of odor in turbulent atmosphere. The searcher is able to sense the odor and determine local instantaneous wind direction. The goal is to find the source in the shortest mean time. http://en.wikipedia.org/wiki/Anemotaxis Written by Eugene Balkovsky. +|: Queens - Solves the N-Queens problem (where N is between 5 and 10 queens). The problem is: how may one place N queens on an NxN chessboard such that no queen can attack a sister? See also the "Endgame" screen saver. http://en.wikipedia.org/wiki/Eight_queens_puzzle Written by Blair Tennessy. +|: Halftone - Draws the gravity force in each point on the screen seen through a halftone dot pattern. The gravity force is calculated from a set of moving mass points. View it from a distance for best effect. http://en.wikipedia.org/wiki/Halftone Written by Peter Jaric. +|: Moebius - This animates a 3D rendition M.C. Escher's "Moebius Strip II", an image of ants walking along the surface of a moebius strip. http://en.wikipedia.org/wiki/Moebius_strip http://en.wikipedia.org/wiki/Maurits_Cornelis_Escher Written by Marcelo F. Vianna. +|: Helix - Spirally string-art-ish patterns. Written by Jamie Zawinski. +|: Flurry - This X11 port of the OSX screensaver of the same name draws a colourful star(fish)like flurry of particles. Original Mac version: http://homepage.mac.com/calumr Written by Calum Robinson and Tobias Sargeant. +|: CCurve - Generates self-similar linear fractals, including the classic "C Curve". http://en.wikipedia.org/wiki/Levy_C_curve Written by Rick Campbell. +|: Cubenetic - Draws a pulsating set of overlapping boxes with ever-chaning blobby patterns undulating across their surfaces. It's sort of a cubist Lavalite. Written by Jamie Zawinski. +|: GLSchool - Uses Craig Reynolds' Boids algorithm to simulate a school of fish. http://en.wikipedia.org/wiki/Boids Written by David C. Lambert. +|: Pacman - Simulates a game of Pac-Man on a randomly-created level. http://en.wikipedia.org/wiki/Pac-Man Written by Edwin de Jong. +|: Voronoi - Draws a randomly-colored Voronoi tessellation, and periodically zooms in and adds new points. The existing points also wander around. There are a set of control points on the plane, each at the center of a colored cell. Every pixel within that cell is closer to that cell's control point than to any other control point. That is what determines the cell's shapes. http://en.wikipedia.org/wiki/Voronoi_diagram Written by Jamie Zawinski. +|: BoxFit - Packs the screen with growing squares or circles, colored according to a horizontal or vertical gradient, or according to the colors of the desktop or a loaded image file. The objects grow until they touch, then stop. When the screen is full, they shrink away and the process restarts. Written by Jamie Zawinski. +|: Coral - Simulates coral growth, albeit somewhat slowly. Written by Frederick Roeber. |: TopBlock - Creates a 3D world with dropping blocks that build up and up. Written by rednuht. -|: Triangle - Generates random mountain ranges using iterative subdivision of triangles. Written by Tobias Gloth. -|: TronBit - Draws an animation of the character "Bit" from the film, "Tron". The "yes" state is a tetrahedron; the "no" state is the second stellation of an icosahedron; and the idle state oscillates between a small triambic icosahedron and the compound of an icosahedron and a dodecahedron. http://en.wikipedia.org/wiki/List_of_Tron_characters#Bit http://en.wikipedia.org/wiki/Uniform_polyhedra http://en.wikipedia.org/wiki/Stellation Written by Jamie Zawinski. -|: Truchet - This draws line- and arc-based truchet patterns that tile the screen. http://en.wikipedia.org/wiki/Tessellation Written by Adrian Likins. +|: Lament - Animates a simulation of Lemarchand's Box, the Lament Configuration, repeatedly solving itself. Warning: occasionally opens doors. http://en.wikipedia.org/wiki/Lemarchand%27s_box Written by Jamie Zawinski. +|: Attraction - Uses a simple simple motion model to generate many different display modes. The control points attract each other up to a certain distance, and then begin to repel each other. The attraction/repulsion is proportional to the distance between any two particles, similar to the strong and weak nuclear forces. Written by Jamie Zawinski and John Pezaris. +|: Gleidescope - A kaleidoscope that operates on your desktop image, or on image files loaded from disk. http://en.wikipedia.org/wiki/Kaleidoscope Written by Andrew Dean. +|: CubeStorm - Draws a series of rotating 3D boxes that intersect each other and eventually fill space. Written by Jamie Zawinski. +|: Compass - This draws a compass, with all elements spinning about randomly, for that "lost and nauseous" feeling. Written by Jamie Zawinski. |: Twang - Divides the screen into a grid, and plucks them. Written by Dan Bornstein. -|: Vermiculate - Draws squiggly worm-like paths. Written by Tyler Pierce. -|: VidWhacker - This is a shell script that grabs a frame of video from the system's video input, and then uses some PBM filters (chosen at random) to manipulate and recombine the video frame in various ways (edge detection, subtracting the image from a rotated version of itself, etc.) Then it displays that image for a few seconds, and does it again. This works really well if you just feed broadcast television into it. Written by Jamie Zawinski. -|: Voronoi - Draws a randomly-colored Voronoi tessellation, and periodically zooms in and adds new points. The existing points also wander around. There are a set of control points on the plane, each at the center of a colored cell. Every pixel within that cell is closer to that cell's control point than to any other control point. That is what determines the cell's shapes. http://en.wikipedia.org/wiki/Voronoi_diagram Written by Jamie Zawinski. -|: Wander - Draws a colorful random-walk, in various forms. http://en.wikipedia.org/wiki/Random_walk Written by Rick Campbell. -|: WhirlWindWarp - Floating stars are acted upon by a mixture of simple 2D forcefields. The strength of each forcefield changes continuously, and it is also switched on and off at random. Written by Paul 'Joey' Clark. -|: Wormhole - Flying through a colored wormhole in space. Written by Jon Rafkind. -|: XAnalogTV - XAnalogTV shows a detailed simulation of an old TV set showing various test patterns, with various picture artifacts like snow, bloom, distortion, ghosting, and hash noise. It also simulates the TV warming up. It will cycle through 12 channels, some with images you give it, and some with color bars or nothing but static. Written by Trevor Blackwell. -|: XFlame - Draws a simulation of pulsing fire. It can also take an arbitrary image and set it on fire too. Written by Carsten Haitzler and many others. -|: XJack - This behaves schizophrenically and makes a lot of typos. Written by Jamie Zawinski. -|: XLyap - This generates pretty fractal pictures via the Lyapunov exponent. http://en.wikipedia.org/wiki/Lyapunov_exponent Written by Ron Record. -|: XMatrix - Draws dropping characters similar to what is seen on the computer monitors in "The Matrix". See also "GLMatrix" for a 3D rendering of the similar effect that appeared in the movie's title sequence. Written by Jamie Zawinski. -|: XRaySwarm - Draws a few swarms of critters flying around the screen, with faded color trails behind them. Written by Chris Leger. +|: BlitSpin - Repeatedly rotates a bitmap by 90 degrees by using logical operations: the bitmap is divided into quadrants, and the quadrants are shifted clockwise. Then the same thing is done again with progressively smaller quadrants, except that all sub-quadrants of a given size are rotated in parallel. As you watch it, the image appears to dissolve into static and then reconstitute itself, but rotated. Written by Jamie Zawinski. |: XSpirograph - Simulates that pen-in-nested-plastic-gears toy from your childhood. http://en.wikipedia.org/wiki/Spirograph Written by Rohit Singh. -|: Zoom - Zooms in on a part of the screen and then moves around. With the "Lenses" option, the result is like looking through many overlapping lenses rather than just a simple zoom. Written by James Macnicol. +|: SlideScreen - This takes an image, divides it into a grid, and then randomly shuffles the squares around as if it was one of those "fifteen-puzzle" games where there is a grid of squares, one of which is missing. http://en.wikipedia.org/wiki/Fifteen_puzzle Written by Jamie Zawinski. +|: Piecewise - This draws a bunch of moving circles which switch from visibility to invisibility at intersection points. Written by Geoffrey Irving. +|: Deco - Subdivides and colors rectangles randomly. It looks kind of like Brady-Bunch-era rec-room wall paneling. http://en.wikipedia.org/wiki/Piet_Mondrian#Paris_1919.E2.80.931938 Written by Jamie Zawinski and Michael Bayne. +|: GLSnake - Draws a simulation of the Rubik's Snake puzzle. See also the "Rubik" and "Cube21" screen savers. http://en.wikipedia.org/wiki/Rubik%27s_Snake Written by Jamie Wilkinson, Andrew Bennetts, and Peter Aylett. +|: RDbomb - Draws a grid of growing square-like shapes that, once they overtake each other, react in unpredictable ways. "RD" stands for reaction-diffusion. Written by Scott Draves. +|: FuzzyFlakes - Falling colored snowflake/flower shapes. Written by Barry Dmytro. +|: Braid - Draws random color-cycling inter-braided concentric circles. Written by John Neil. +|: MetaBalls - Draws two dimensional metaballs: overlapping and merging balls with fuzzy edges. http://en.wikipedia.org/wiki/Metaballs Written by W.P. van Paassen. +|: DangerBall - Draws a ball that periodically extrudes many random spikes. Ouch! Written by Jamie Zawinski. +|: Molecule - Draws several different representations of molecules. Some common molecules are built in, and it can also read PDB (Protein Data Bank) files as input. http://en.wikipedia.org/wiki/Protein_Data_Bank_%28file_format%29 Written by Jamie Zawinski. +|: BlinkBox - Shows a ball contained inside of a bounding box. Colored blocks blink in when the ball hits the sides. Written by Jeremy English. +|: Sonar - This draws a sonar screen that pings (get it?) the hosts on your local network, and plots their distance (response time) from you. The three rings represent ping times of approximately 2.5, 70 and 2,000 milliseconds respectively. Alternately, it can run a simulation that doesn't involve hosts. (If pinging doesn't work, you may need to make the executable be setuid.) http://en.wikipedia.org/wiki/Ping#History Written by Stephen Martin and Jamie Zawinski. +|: GLCells - Cells growing, dividing and dying on your screen. Written by Matthias Toussaint. +|: Squiral - Draws a set of interacting, square-spiral-producing automata. The spirals grow outward until they hit something, then they go around it. Written by Jeff Epler. +|: Klein - This draws a visualization of a Klein bottle or some other interesting parametric surfaces. http://en.wikipedia.org/wiki/Klein_bottle Written by Andrey Mirtchovski. Child-Menu r: Rename the current child @@ -1084,38 +1123,39 @@ 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 > f: < Frame fill menu > r: < Frame resize menu > c: Center the current frame -Right: Select the next brother frame -Left: Select the previous brother frame -Up: Select the next level -Down: Select the previous levelframe -Tab: Select the next child +R: Select the next brother frame +L: Select the previous brother frame +U: Select the next level +D: Select the previous levelframe +T: Select the next child Frame-Pack-Menu -Up: Pack the current frame up -Down: Pack the current frame down -Left: Pack the current frame left -Right: Pack the current frame right +u: Pack the current frame up +d: Pack the current frame down +l: Pack the current frame left +r: Pack the current frame right Frame-Fill-Menu -Up: Fill the current frame up -Down: Fill the current frame down -Left: Fill the current frame left -Right: Fill the current frame right +u: Fill the current frame up +d: Fill the current frame down +l: Fill the current frame left +r: Fill the current frame right a: Fill the current frame in all directions v: Fill the current frame vertically h: Fill the current frame horizontally Frame-Resize-Menu -Up: Resize the current frame up to its half height -Down: Resize the current frame down to its half height -Left: Resize the current frame left to its half width -Right: Resize the current frame right to its half width +u: Resize the current frame up to its half height +d: Resize the current frame down to its half height +l: Resize the current frame left to its half width +r: Resize the current frame right to its half width a: Resize down the current frame m: Resize down the current frame to its minimal size @@ -1203,192 +1243,259 @@ l: Run LXDE p: Prompt for an other window manager Configuration-Menu -a: < Gimp Layout Group > -b: < Notify Window Group > -c: < Expose Mode Group > -d: < Circulate Mode Group > -e: < Info Mode Group > -f: < Query String Group > -g: < Identify Key Group > -h: < Second Mode Group > -i: < Frame Colors Group > -j: < Root Group > -k: < Corner Group > -l: < Menu Group > -m: < Placement Group > -n: < Hook Group > -o: < Main Mode Group > -p: < Miscellaneous Group > +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 > F2: Save all configuration variables in clfswmrc F3: Reset all configuration variables to their default values -Conf-Gimp-Layout -a: Configure GIMP-LAYOUT-NOTIFY-WINDOW-DELAY +Conf-Corner +a: Configure CORNER-SIZE +b: Configure CORNER-MAIN-MODE-LEFT-BUTTON +c: Configure CORNER-MAIN-MODE-MIDDLE-BUTTON +d: Configure CORNER-MAIN-MODE-RIGHT-BUTTON +e: Configure CORNER-SECOND-MODE-LEFT-BUTTON +f: Configure CORNER-SECOND-MODE-MIDDLE-BUTTON +g: Configure CORNER-SECOND-MODE-RIGHT-BUTTON +h: Configure VIRTUAL-KEYBOARD-CMD +i: Configure CLFSWM-TERMINAL-NAME +j: Configure CLFSWM-TERMINAL-CMD +k: Configure CORNER-ERROR-MESSAGE-COLOR +l: Configure CORNER-ERROR-MESSAGE-DELAY +m: Configure CORNER-COMMAND-TRY-DELAY +n: Configure CORNER-COMMAND-TRY-NUMBER -Conf-Notify-Window -a: Configure NOTIFY-WINDOW-TRANSPARENCY -b: Configure NOTIFY-WINDOW-DELAY -c: Configure NOTIFY-WINDOW-BORDER -d: Configure NOTIFY-WINDOW-FOREGROUND -e: Configure NOTIFY-WINDOW-BACKGROUND -f: Configure NOTIFY-WINDOW-FONT-STRING +Conf-Hook +a: Configure BINDING-HOOK +b: Configure LOOP-HOOK +c: Configure MAIN-ENTRANCE-HOOK +d: Configure ROOT-SIZE-CHANGE +e: Configure INIT-HOOK +f: Configure CLOSE-HOOK +g: Configure DEFAULT-NW-HOOK +h: Configure QUERY-KEY-PRESS-HOOK +i: Configure QUERY-BUTTON-PRESS-HOOK -Conf-Expose-Mode -a: Configure EXPOSE-DIRECT-SELECT -b: Configure EXPOSE-TRANSPARENCY -c: Configure EXPOSE-SHOW-WINDOW-TITLE -d: Configure EXPOSE-VALID-ON-KEY -e: Configure EXPOSE-BORDER -f: Configure EXPOSE-BACKGROUND-LETTER-MATCH -g: Configure EXPOSE-FOREGROUND-LETTER-NOK -h: Configure EXPOSE-FOREGROUND-LETTER -i: Configure EXPOSE-FOREGROUND -j: Configure EXPOSE-BACKGROUND -k: Configure EXPOSE-FONT-STRING +Conf-Root +a: Configure CREATE-FRAME-ON-ROOT +b: Configure HAVE-TO-SHOW-CURRENT-ROOT +c: Configure SHOW-CURRENT-ROOT-DELAY +d: Configure SHOW-CURRENT-ROOT-PLACEMENT +e: Configure SHOW-CURRENT-ROOT-MESSAGE -Conf-Circulate-Mode -a: Configure CIRCULATE-TEXT-LIMITE -b: Configure CIRCULATE-TRANSPARENCY -c: Configure CIRCULATE-HEIGHT -d: Configure CIRCULATE-WIDTH -e: Configure CIRCULATE-BORDER -f: Configure CIRCULATE-FOREGROUND -g: Configure CIRCULATE-BACKGROUND -h: Configure CIRCULATE-FONT-STRING +Conf-Main-Mode +a: Configure COLOR-MOVE-WINDOW +b: Configure COLOR-SELECTED +c: Configure COLOR-UNSELECTED +d: Configure COLOR-MAYBE-SELECTED -Conf-Info-Mode -a: Configure INFO-COLOR-SECOND -b: Configure INFO-COLOR-FIRST -c: Configure INFO-COLOR-UNDERLINE -d: Configure INFO-COLOR-TITLE -e: Configure INFO-CLICK-TO-SELECT -f: Configure INFO-TRANSPARENCY -g: Configure INFO-FONT-STRING -h: Configure INFO-SELECTED-BACKGROUND -i: Configure INFO-LINE-CURSOR -j: Configure INFO-BORDER -k: Configure INFO-FOREGROUND -l: Configure INFO-BACKGROUND +Conf-Frame-Colors +a: Configure FRAME-BACKGROUND +b: Configure FRAME-FOREGROUND +c: Configure FRAME-FOREGROUND-ROOT +d: Configure FRAME-FOREGROUND-HIDDEN +e: Configure FRAME-TRANSPARENCY -Conf-Query-String -a: Configure QUERY-MIN-COMPLET-CHAR -b: Configure QUERY-MAX-COMPLET-LENGTH -c: Configure QUERY-TRANSPARENCY -d: Configure QUERY-BORDER -e: Configure QUERY-PARENT-ERROR-COLOR -f: Configure QUERY-PARENT-COLOR -g: Configure QUERY-CURSOR-COLOR -h: Configure QUERY-FOREGROUND -i: Configure QUERY-MESSAGE-COLOR -j: Configure QUERY-BACKGROUND -k: Configure QUERY-FONT-STRING +Conf-Miscellaneous +a: Configure HAVE-TO-COMPRESS-NOTIFY +b: Configure TRANSPARENT-BACKGROUND +c: Configure DEFAULT-TRANSPARENCY +d: Configure SHOW-ROOT-FRAME-P +e: Configure BORDER-SIZE +f: Configure LOOP-TIMEOUT +g: Configure DEFAULT-FONT-STRING +h: Configure DEFAULT-FRAME-DATA +i: Configure DEFAULT-MANAGED-TYPE +j: Configure DEFAULT-FOCUS-POLICY +k: Configure SHOW-HIDE-POLICY +l: Configure DEFAULT-MODIFIERS +m: Configure NEVER-MANAGED-WINDOW-LIST +n: Configure HIDE-UNMANAGED-WINDOW +o: Configure SNAP-SIZE +p: Configure SPATIAL-MOVE-DELAY-BEFORE +q: Configure SPATIAL-MOVE-DELAY-AFTER +r: Configure DEFAULT-WINDOW-WIDTH +s: Configure DEFAULT-WINDOW-HEIGHT + +Conf-Second-Mode +a: Configure SM-BORDER-COLOR +b: Configure SM-BACKGROUND-COLOR +c: Configure SM-FOREGROUND-COLOR +d: Configure SM-FONT-STRING +e: Configure SM-WIDTH +f: Configure SM-HEIGHT +g: Configure SM-TRANSPARENCY Conf-Identify-Key -a: Configure IDENTIFY-TRANSPARENCY -b: Configure IDENTIFY-BORDER +a: Configure IDENTIFY-FONT-STRING +b: Configure IDENTIFY-BACKGROUND c: Configure IDENTIFY-FOREGROUND -d: Configure IDENTIFY-BACKGROUND -e: Configure IDENTIFY-FONT-STRING +d: Configure IDENTIFY-BORDER +e: Configure IDENTIFY-TRANSPARENCY -Conf-Second-Mode -a: Configure SM-TRANSPARENCY -b: Configure SM-HEIGHT -c: Configure SM-WIDTH -d: Configure SM-FONT-STRING -e: Configure SM-FOREGROUND-COLOR -f: Configure SM-BACKGROUND-COLOR -g: Configure SM-BORDER-COLOR +Conf-Query-String +a: Configure QUERY-FONT-STRING +b: Configure QUERY-BACKGROUND +c: Configure QUERY-MESSAGE-COLOR +d: Configure QUERY-FOREGROUND +e: Configure QUERY-CURSOR-COLOR +f: Configure QUERY-PARENT-COLOR +g: Configure QUERY-PARENT-ERROR-COLOR +h: Configure QUERY-BORDER +i: Configure QUERY-TRANSPARENCY +j: Configure QUERY-MAX-COMPLET-LENGTH +k: Configure QUERY-MIN-COMPLET-CHAR -Conf-Frame-Colors -a: Configure FRAME-TRANSPARENCY -b: Configure FRAME-FOREGROUND-HIDDEN -c: Configure FRAME-FOREGROUND-ROOT -d: Configure FRAME-FOREGROUND -e: Configure FRAME-BACKGROUND +Conf-Circulate-Mode +a: Configure CIRCULATE-FONT-STRING +b: Configure CIRCULATE-BACKGROUND +c: Configure CIRCULATE-FOREGROUND +d: Configure CIRCULATE-BORDER +e: Configure CIRCULATE-WIDTH +f: Configure CIRCULATE-HEIGHT +g: Configure CIRCULATE-TRANSPARENCY +h: Configure CIRCULATE-TEXT-LIMITE -Conf-Root -a: Configure SHOW-CURRENT-ROOT-MESSAGE -b: Configure SHOW-CURRENT-ROOT-PLACEMENT -c: Configure SHOW-CURRENT-ROOT-DELAY -d: Configure HAVE-TO-SHOW-CURRENT-ROOT -e: Configure CREATE-FRAME-ON-ROOT +Conf-Expose-Mode +a: Configure EXPOSE-FONT-STRING +b: Configure EXPOSE-BACKGROUND +c: Configure EXPOSE-FOREGROUND +d: Configure EXPOSE-FOREGROUND-LETTER +e: Configure EXPOSE-FOREGROUND-LETTER-NOK +f: Configure EXPOSE-BACKGROUND-LETTER-MATCH +g: Configure EXPOSE-BORDER +h: Configure EXPOSE-VALID-ON-KEY +i: Configure EXPOSE-SHOW-WINDOW-TITLE +j: Configure EXPOSE-TRANSPARENCY +k: Configure EXPOSE-DIRECT-SELECT -Conf-Corner -a: Configure CORNER-COMMAND-TRY-NUMBER -b: Configure CORNER-COMMAND-TRY-DELAY -c: Configure CORNER-ERROR-MESSAGE-DELAY -d: Configure CORNER-ERROR-MESSAGE-COLOR -e: Configure CLFSWM-TERMINAL-CMD -f: Configure CLFSWM-TERMINAL-NAME -g: Configure VIRTUAL-KEYBOARD-CMD -h: Configure CORNER-SECOND-MODE-RIGHT-BUTTON -i: Configure CORNER-SECOND-MODE-MIDDLE-BUTTON -j: Configure CORNER-SECOND-MODE-LEFT-BUTTON -k: Configure CORNER-MAIN-MODE-RIGHT-BUTTON -l: Configure CORNER-MAIN-MODE-MIDDLE-BUTTON -m: Configure CORNER-MAIN-MODE-LEFT-BUTTON -n: Configure CORNER-SIZE +Conf-Info-Mode +a: Configure INFO-BACKGROUND +b: Configure INFO-FOREGROUND +c: Configure INFO-BORDER +d: Configure INFO-LINE-CURSOR +e: Configure INFO-SELECTED-BACKGROUND +f: Configure INFO-FONT-STRING +g: Configure INFO-TRANSPARENCY +h: Configure INFO-CLICK-TO-SELECT +i: Configure INFO-COLOR-TITLE +j: Configure INFO-COLOR-UNDERLINE +k: Configure INFO-COLOR-FIRST +l: Configure INFO-COLOR-SECOND Conf-Menu -a: Configure MENU-COLOR-MENU-KEY -b: Configure MENU-COLOR-KEY +a: Configure XDG-SECTION-LIST +b: Configure MENU-COLOR-SUBMENU c: Configure MENU-COLOR-COMMENT -d: Configure MENU-COLOR-SUBMENU -e: Configure XDG-SECTION-LIST +d: Configure MENU-COLOR-KEY +e: Configure MENU-COLOR-MENU-KEY +f: Configure MENU-KEY-BOUND-COLOR -Conf-Placement -a: Configure UNMANAGED-WINDOW-PLACEMENT -b: Configure ASK-CLOSE/KILL-PLACEMENT -c: Configure NOTIFY-WINDOW-PLACEMENT -d: Configure EXPOSE-QUERY-PLACEMENT -e: Configure EXPOSE-MODE-PLACEMENT -f: Configure CIRCULATE-MODE-PLACEMENT -g: Configure QUERY-MODE-PLACEMENT -h: Configure INFO-MODE-PLACEMENT -i: Configure SECOND-MODE-PLACEMENT -j: Configure BANISH-POINTER-PLACEMENT +Conf-Notify-Window +a: Configure NOTIFY-WINDOW-FONT-STRING +b: Configure NOTIFY-WINDOW-BACKGROUND +c: Configure NOTIFY-WINDOW-FOREGROUND +d: Configure NOTIFY-WINDOW-BORDER +e: Configure NOTIFY-WINDOW-DELAY +f: Configure NOTIFY-WINDOW-TRANSPARENCY -Conf-Hook -a: Configure QUERY-BUTTON-PRESS-HOOK -b: Configure QUERY-KEY-PRESS-HOOK -c: Configure DEFAULT-NW-HOOK -d: Configure CLOSE-HOOK -e: Configure INIT-HOOK -f: Configure MAIN-ENTRANCE-HOOK -g: Configure LOOP-HOOK -h: Configure BINDING-HOOK +Conf-Gimp-Layout +a: Configure GIMP-LAYOUT-NOTIFY-WINDOW-DELAY -Conf-Main-Mode -a: Configure COLOR-MAYBE-SELECTED -b: Configure COLOR-UNSELECTED -c: Configure COLOR-SELECTED -d: Configure COLOR-MOVE-WINDOW +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-Miscellaneous -a: Configure DEFAULT-WINDOW-HEIGHT -b: Configure DEFAULT-WINDOW-WIDTH -c: Configure SPATIAL-MOVE-DELAY-AFTER -d: Configure SPATIAL-MOVE-DELAY-BEFORE -e: Configure SNAP-SIZE -f: Configure HIDE-UNMANAGED-WINDOW -g: Configure NEVER-MANAGED-WINDOW-LIST -h: Configure DEFAULT-MODIFIERS -i: Configure SHOW-HIDE-POLICY -j: Configure DEFAULT-FOCUS-POLICY -k: Configure DEFAULT-MANAGED-TYPE -l: Configure DEFAULT-FRAME-DATA -m: Configure DEFAULT-FONT-STRING -n: Configure LOOP-TIMEOUT -o: Configure BORDER-SIZE -p: Configure SHOW-ROOT-FRAME-P -q: Configure DEFAULT-TRANSPARENCY -r: Configure TRANSPARENT-BACKGROUND -s: Configure HAVE-TO-COMPRESS-NOTIFY +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 b26f3ed..223131f 100644 --- a/doc/variables.html +++ b/doc/variables.html @@ -85,6 +85,11 @@

  • + + Power Management Group + +
  • +
  • Query String Group @@ -99,6 +104,21 @@ Second Mode Group
  • +
  • + + Toolbar Group + +
  • +
  • + + Volume Mode Group + +
  • +
  • + + Wallpaper Group + +
  • @@ -106,68 +126,76 @@

    -    *circulate-font-string* +    *circulate-text-limite* - = "fixed"
    + = 30
    -         Circulate string window font string
    + +        Maximum text limite in the circulate window
    -    *circulate-background* +    *circulate-transparency* - = "black"
    + = 0.8
    -         Circulate string window background color
    + +        Circulate window background transparency
    -    *circulate-foreground* +    *circulate-height* - = "green"
    + = 15
    -         Circulate string window foreground color
    + +        Circulate mode window height
    -    *circulate-border* +    *circulate-width* - = "red"
    + = 400
    -         Circulate string window border color
    + +        Circulate mode window width
    -    *circulate-width* +    *circulate-border* - = 400
    + = "red"
    -         Circulate mode window width
    + +        Circulate string window border color
    -    *circulate-height* +    *circulate-foreground* - = 15
    + = "green"
    -         Circulate mode window height
    + +        Circulate string window foreground color
    -    *circulate-transparency* +    *circulate-background* - = 0.8
    + = "black"
    -         Circulate window background transparency
    + +        Circulate string window background color
    -    *circulate-text-limite* +    *circulate-font-string* - = 30
    + = "fixed"
    -         Maximum text limite in the circulate window
    + +        Circulate string window font string

    @@ -175,90 +203,64 @@

    -    *corner-size* - - - = 3
    -
    -         The size of the corner square
    - - -    *corner-main-mode-left-button* +    *corner-command-try-number* - = ((:TOP-LEFT OPEN-MENU)
    + = 10
    -         (:TOP-RIGHT PRESENT-VIRTUAL-KEYBOARD)
    - -         (:BOTTOM-RIGHT EXPOSE-WINDOWS-MODE)
    - -         (:BOTTOM-LEFT NIL))
    - -         Actions on corners in the main mode with the left mouse button
    + +        Number of try to wait the window in query tree
    -    *corner-main-mode-middle-button* +    *corner-command-try-delay* - = ((:TOP-LEFT HELP-ON-CLFSWM)
    + = 0.2
    -         (: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
    + +        Time to wait before checking window in query tree
    -    *corner-main-mode-right-button* +    *corner-error-message-delay* - = ((:TOP-LEFT PRESENT-CLFSWM-TERMINAL)
    + = 5
    -         (:TOP-RIGHT ASK-CLOSE/KILL-CURRENT-WINDOW)
    - -         (:BOTTOM-RIGHT EXPOSE-ALL-WINDOWS-MODE)
    - -         (:BOTTOM-LEFT NIL))
    - -         Actions on corners in the main mode with the right mouse button
    + +        Time to display the error message on commad error
    -    *corner-second-mode-left-button* +    *corner-error-message-color* - = ((:TOP-LEFT NIL) (:TOP-RIGHT NIL)
    + = "red"
    -         (:BOTTOM-RIGHT EXPOSE-WINDOWS-MODE)
    - -         (:BOTTOM-LEFT NIL))
    - -         Actions on corners in the second mode with the left mouse button
    + +        Error message color
    -    *corner-second-mode-middle-button* +    *clfswm-terminal-cmd* - = ((:TOP-LEFT HELP-ON-CLFSWM)
    + = "xterm -T clfswm-terminal"
    -         (:TOP-RIGHT NIL) (:BOTTOM-RIGHT NIL)
    + +       
    -         (:BOTTOM-LEFT NIL))
    + +        The clfswm terminal command.
    -         Actions on corners in the second mode with the middle mouse button
    + +        This command must set the window title to *clfswm-terminal-name*
    -    *corner-second-mode-right-button* +    *clfswm-terminal-name* - = ((:TOP-LEFT NIL) (:TOP-RIGHT NIL)
    + = "clfswm-terminal"
    -         (:BOTTOM-RIGHT EXPOSE-ALL-WINDOWS-MODE)
    - -         (:BOTTOM-LEFT NIL))
    - -         Actions on corners in the second mode with the right mouse button
    + +        The clfswm terminal name
       *virtual-keyboard-cmd* @@ -266,71 +268,101 @@ = "xvkbd"
    -         The command to display the virtual keybaord
    + +       
    -         Here is an ~/.Xresources example for xvkbd:
    + +        The command to display the virtual keybaord
    -         xvkbd.windowGeometry: 300x100-0-0
    + +        Here is an ~/.Xresources example for xvkbd:
    -         xvkbd*Font: 6x12
    + +        xvkbd.windowGeometry: 300x100-0-0
    -         xvkbd.modalKeytop: true
    + +        xvkbd*Font: 6x12
    -         xvkbd.customization: -french
    + +        xvkbd.modalKeytop: true
    -         xvkbd.keypad: false
    + +        xvkbd.customization: -french
    -         And make it always on top
    + +        xvkbd.keypad: false
    + + +        And make it always on top
    -    *clfswm-terminal-name* +    *corner-second-mode-right-button* - = "clfswm-terminal"
    + = ((:TOP-LEFT NIL) (:TOP-RIGHT NIL) (:BOTTOM-RIGHT EXPOSE-ALL-WINDOWS-MODE) (:BOTTOM-LEFT NIL))
    -         The clfswm terminal name
    + +        Actions on corners in the second mode with the right mouse button
    -    *clfswm-terminal-cmd* +    *corner-second-mode-middle-button* - = "xterm -T clfswm-terminal"
    + = ((:TOP-LEFT HELP-ON-CLFSWM) (:TOP-RIGHT NIL) (:BOTTOM-RIGHT NIL) (:BOTTOM-LEFT NIL))
    -         The clfswm terminal command.
    + +        Actions on corners in the second mode with the middle mouse button
    -         This command must set the window title to *clfswm-terminal-name*
    + +    *corner-second-mode-left-button* + + + = ((:TOP-LEFT NIL) (:TOP-RIGHT NIL) (:BOTTOM-RIGHT EXPOSE-WINDOWS-MODE) (:BOTTOM-LEFT NIL))
    +
    + +        Actions on corners in the second mode with the left mouse button
    -    *corner-error-message-color* +    *corner-main-mode-right-button* - = "red"
    + =
    -         Error message color
    + +        ((: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
    -    *corner-error-message-delay* +    *corner-main-mode-middle-button* - = 5
    + = ((:TOP-LEFT HELP-ON-CLFSWM) (:TOP-RIGHT ASK-CLOSE/KILL-CURRENT-WINDOW) (:BOTTOM-RIGHT NIL) (:BOTTOM-LEFT NIL))
    -         Time to display the error message on commad error
    + +        Actions on corners in the main mode with the middle mouse button
    -    *corner-command-try-delay* +    *corner-main-mode-left-button* - = 0.2
    + = ((:TOP-LEFT OPEN-MENU) (:TOP-RIGHT PRESENT-VIRTUAL-KEYBOARD) (:BOTTOM-RIGHT EXPOSE-WINDOWS-MODE) (:BOTTOM-LEFT NIL))
    -         Time to wait before checking window in query tree
    + +        Actions on corners in the main mode with the left mouse button
    -    *corner-command-try-number* +    *corner-size* - = 10
    + = 3
    -         Number of try to wait the window in query tree
    + +        The size of the corner square

    @@ -338,44 +370,49 @@

    -    *expose-font-string* +    *expose-direct-select* - = "fixed"
    + = T
    -         Expose string window font string
    + +        Immediately select child if they can be directly accessed
    -    *expose-background* +    *expose-transparency* - = "grey10"
    + = 0.9
    -         Expose string window background color
    + +        Expose string window background transparency
    -    *expose-foreground* +    *expose-show-window-title* - = "grey50"
    + = T
    -         Expose string window foreground color
    + +        Show the window title on accel window
    -    *expose-foreground-letter* +    *expose-valid-on-key* - = "red"
    + = T
    -         Expose string window foreground color for letters
    + +        Valid expose mode when an accel key is pressed
    -    *expose-foreground-letter-nok* +    *expose-border* - = "grey30"
    + = "grey20"
    -         Expose string window foreground color for letter not selected
    + +        Expose string window border color
       *expose-background-letter-match* @@ -383,47 +420,53 @@ = "green"
    -         Expose string window background color for matching letters
    + +        Expose string window background color for matching letters
    -    *expose-border* +    *expose-foreground-letter-nok* - = "grey20"
    + = "grey30"
    -         Expose string window border color
    + +        Expose string window foreground color for letter not selected
    -    *expose-valid-on-key* +    *expose-foreground-letter* - = T
    + = "red"
    -         Valid expose mode when an accel key is pressed
    + +        Expose string window foreground color for letters
    -    *expose-show-window-title* +    *expose-foreground* - = T
    + = "grey50"
    -         Show the window title on accel window
    + +        Expose string window foreground color
    -    *expose-transparency* +    *expose-background* - = 0.9
    + = "grey10"
    -         Expose string window background transparency
    + +        Expose string window background color
    -    *expose-direct-select* +    *expose-font-string* - = T
    + = "fixed"
    -         Immediately select child if they can be directly accessed
    + +        Expose string window font string

    @@ -431,20 +474,22 @@

    -    *frame-background* +    *frame-transparency* - = "Black"
    + = 0.6
    -         Frame background
    + +        Frame background transparency
    -    *frame-foreground* +    *frame-foreground-hidden* - = "Green"
    + = "Darkgreen"
    -         Frame foreground
    + +        Frame foreground for hidden windows
       *frame-foreground-root* @@ -452,23 +497,26 @@ = "Red"
    -         Frame foreground when the frame is the root frame
    + +        Frame foreground when the frame is the root frame
    -    *frame-foreground-hidden* +    *frame-foreground* - = "Darkgreen"
    + = "Green"
    -         Frame foreground for hidden windows
    + +        Frame foreground
    -    *frame-transparency* +    *frame-background* - = 0.6
    + = "Black"
    -         Frame background transparency
    + +        Frame background

    @@ -481,7 +529,8 @@ = 30
    -         Time to display the GIMP layout notify window help
    + +        Time to display the GIMP layout notify window help

    @@ -489,100 +538,103 @@

    -    *binding-hook* +    *query-button-press-hook* - = (SET-DEFAULT-CIRCULATE-KEYS INIT-*QUERY-KEYS*
    + = NIL
    -         SET-DEFAULT-QUERY-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)
    - -         Hook executed when keys/buttons are bounds
    + +        Query hook. Hook called on each button press event in query loop
    -    *loop-hook* +    *query-key-press-hook* - = NIL
    + = (QUERY-MODE-COMPLETE-SUGGEST-RESET)
    -         Hook executed on each event loop
    + +        Query hook. Hook called on each key press event in query loop
    -    *main-entrance-hook* +    *default-nw-hook* - = NIL
    + = DEFAULT-FRAME-NW-HOOK
    -         Hook executed on the main function entrance after
    + +        Default action to do on newly created windows
    -         loading configuration file and before opening the display.
    + +    *close-hook* + + + = (CLOSE-NOTIFY-WINDOW CLOSE-CLFSWM-TERMINAL CLOSE-VIRTUAL-KEYBOARD CLOSE-ALL-TOOLBARS)
    +
    + +        Close hook. This hook is run just before closing the display
       *init-hook* - = (DEFAULT-INIT-HOOK PLACE-FRAMES-FROM-XINERAMA-INFOS
    + = (DEFAULT-INIT-HOOK DISPLAY-HELLO-WINDOW OPEN-ALL-TOOLBARS MY-INIT-HOOK MY-WALLPAPER)
    -         DISPLAY-HELLO-WINDOW)
    - -         Init hook. This hook is run just after the first root frame is created
    + +        Init hook. This hook is run just after the first root frame is created
    -    *close-hook* +    *root-size-change* - = (CLOSE-NOTIFY-WINDOW CLOSE-CLFSWM-TERMINAL
    + = (MY-WALLPAPER)
    -         CLOSE-VIRTUAL-KEYBOARD)
    - -         Close hook. This hook is run just before closing the display
    + +        Hook executed when the root size has changed for example when adding/removing a monitor
    -    *default-nw-hook* +    *main-entrance-hook* - = DEFAULT-FRAME-NW-HOOK
    + = NIL
    -         Default action to do on newly created windows
    + +       
    + + +        Hook executed on the main function entrance after
    + + +        loading configuration file and before opening the display.
    -    *query-key-press-hook* +    *loop-hook* = NIL
    -         Query hook. Hook called on each key press event in query loop
    + +        Hook executed on each event loop
    -    *query-button-press-hook* +    *binding-hook* - = NIL
    + =
    -         Query hook. Hook called on each button press event in query loop
    + +        (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)
    + + +        Hook executed when keys/buttons are bounds

    @@ -590,20 +642,22 @@

    -    *identify-font-string* +    *identify-transparency* - = "fixed"
    + = 0.8
    -         Identify window font string
    + +        Identify window background transparency
    -    *identify-background* +    *identify-border* - = "black"
    + = "red"
    -         Identify window background color
    + +        Identify window border color
       *identify-foreground* @@ -611,23 +665,26 @@ = "green"
    -         Identify window foreground color
    + +        Identify window foreground color
    -    *identify-border* +    *identify-background* - = "red"
    + = "black"
    -         Identify window border color
    + +        Identify window background color
    -    *identify-transparency* +    *identify-font-string* - = 0.8
    + = "fixed"
    -         Identify window background transparency
    + +        Identify window font string

    @@ -635,100 +692,112 @@

    -    *info-background* +    *info-color-second* - = "black"
    + = "lightblue"
    -         Info window background color
    + +        Colored info second color
    -    *info-foreground* +    *info-color-first* - = "green"
    + = "Cyan"
    -         Info window foreground color
    + +        Colored info first color
    -    *info-border* +    *info-color-underline* - = "red"
    + = "Yellow"
    -         Info window border color
    + +        Colored info underline color
    -    *info-line-cursor* +    *info-color-title* - = "white"
    + = "Magenta"
    -         Info window line cursor color color
    + +        Colored info title color
    -    *info-selected-background* +    *info-click-to-select* - = "blue"
    + = T
    -         Info selected item background color
    + +        If true, click on info window select item. Otherwise, click to drag the menu
    -    *info-font-string* +    *info-transparency* - = "fixed"
    + = 0.8
    -         Info window font string
    + +        Info window background transparency
    -    *info-transparency* +    *info-font-string* - = 0.8
    + = "fixed"
    -         Info window background transparency
    + +        Info window font string
    -    *info-click-to-select* +    *info-selected-background* - = T
    + = "blue"
    -         If true, click on info window select item. Otherwise, click to drag the menu
    + +        Info selected item background color
    -    *info-color-title* +    *info-line-cursor* - = "Magenta"
    + = "white"
    -         Colored info title color
    + +        Info window line cursor color color
    -    *info-color-underline* +    *info-border* - = "Yellow"
    + = "red"
    -         Colored info underline color
    + +        Info window border color
    -    *info-color-first* +    *info-foreground* - = "Cyan"
    + = "green"
    -         Colored info first color
    + +        Info window foreground color
    -    *info-color-second* +    *info-background* - = "lightblue"
    + = "black"
    -         Colored info second color
    + +        Info window background color

    @@ -736,36 +805,40 @@

    -    *color-move-window* +    *color-maybe-selected* - = "DeepPink"
    + = "Yellow"
    -         Color when moving or resizing a windows
    + +        Color of maybe selected windows
    -    *color-selected* +    *color-unselected* - = "Red"
    + = "Blue"
    -         Color of selected window
    + +        Color of unselected color
    -    *color-unselected* +    *color-selected* - = "Blue"
    + = "Red"
    -         Color of unselected color
    + +        Color of selected window
    -    *color-maybe-selected* +    *color-move-window* - = "Yellow"
    + = "DeepPink"
    -         Color of maybe selected windows
    + +        Color when moving or resizing a windows

    @@ -773,26 +846,31 @@

    -    *xdg-section-list* +    *menu-key-bound-color* - = (TEXTEDITOR FILEMANAGER WEBBROWSER AUDIOVIDEO AUDIO
    + = "gray50"
    -         VIDEO DEVELOPMENT EDUCATION GAME GRAPHICS NETWORK
    + +        Key bound min menu color
    -         OFFICE SETTINGS SYSTEM UTILITY TERMINALEMULATOR
    - -         SCREENSAVER)
    - -         Standard menu sections
    + +    *menu-color-menu-key* + + + = #
    +
    + +        Menu key color in menu
    -    *menu-color-submenu* +    *menu-color-key* - = "Cyan"
    + = "Magenta"
    -         Submenu color in menu
    + +        Key color in menu
       *menu-color-comment* @@ -800,23 +878,32 @@ = "Yellow"
    -         Comment color in menu
    + +        Comment color in menu
    -    *menu-color-key* +    *menu-color-submenu* - = "Magenta"
    + = "Cyan"
    -         Key color in menu
    + +        Submenu color in menu
    -    *menu-color-menu-key* +    *xdg-section-list* - = #
    + =
    -         Menu key color in menu
    + +        (TEXTEDITOR FILEMANAGER WEBBROWSER AUDIOVIDEO AUDIO VIDEO DEVELOPMENT EDUCATION GAME GRAPHICS NETWORK OFFICE SETTINGS
    + + +        SYSTEM UTILITY TERMINALEMULATOR SCREENSAVER)
    + + +        Standard menu sections

    @@ -824,181 +911,213 @@

    -    *have-to-compress-notify* +    *default-window-height* - = T
    + = 300
    -         Compress event notify?
    - -         This variable may be useful to speed up some slow version of CLX.
    - -         It is particulary useful with CLISP/MIT-CLX.
    + +        Default window height
    -    *transparent-background* +    *default-window-width* - = T
    + = 400
    -         Enable transparent background: one of nil, :pseudo, t (xcompmgr must be started)
    + +        Default window width
    -    *default-transparency* +    *spatial-move-delay-after* - = 0.8
    + = 0.5
    -         Default transparency for all windows when in xcompmgr transparency mode
    + +        Delay to display the new child after doing a spatial move
    -    *show-root-frame-p* +    *spatial-move-delay-before* - = NIL
    + = 0.2
    -         Show the root frame information or not
    + +        Delay to display the current child before doing a spatial move
    -    *border-size* +    *snap-size* - = 1
    + = 5
    -         Windows and frames border size
    + +        Snap size (in % of parent size) when move or resize frame is constrained
    -    *loop-timeout* +    *hide-unmanaged-window* - = 1
    + = T
    -         Maximum time (in seconds) to wait before calling *loop-hook*
    + +        Hide or not unmanaged windows when a child is deselected.
    -    *default-font-string* +    *never-managed-window-list* - = "fixed"
    + =
    -         The default font used in clfswm
    + +        ((IS-NOTIFY-WINDOW-P RAISE-WINDOW) (EQUAL-WM-CLASS-ROX-PINBOARD NIL) (EQUAL-WM-CLASS-XVKBD RAISE-WINDOW)
    + + +        (EQUAL-CLFSWM-TERMINAL RAISE-AND-FOCUS-WINDOW))
    + + +       
    + + +        CLFSWM will never manage windows of this type.
    + + +        A list of (list match-function handle-function)
    -    *default-frame-data* +    *default-modifiers* - = ((:TILE-SIZE 0.8) (:TILE-SPACE-SIZE 0.1)
    + = NIL
    -         (:FAST-LAYOUT (TILE-LEFT-LAYOUT TILE-LAYOUT))
    + +       
    -         (:MAIN-LAYOUT-WINDOWS NIL))
    + +        Default modifiers list to append to explicit modifiers
    -         Default slots set in frame date
    + +        Example: :mod-2 for num_lock, :lock for Caps_lock...
    -    *default-managed-type* +    *show-hide-policy* - = (:NORMAL)
    + = #
    -         Default managed window types
    + +       
    + +        'NIL': always display all children (better with transparency support).
    + + +        '<': Hide only children less than children above.
    + +

    + + '<=': Hide children less or equal to children above (better for performance on slow machine). + +

       *default-focus-policy* = :CLICK
    -         Default mouse focus policy. One of :click, :sloppy, :sloppy-strict or :sloppy-select.
    + +        Default mouse focus policy. One of :click, :sloppy, :sloppy-strict or :sloppy-select.
    -    *show-hide-policy* +    *default-managed-type* - = #
    + = (:NORMAL)
    -         'NIL': always display all children (better with transparency support).
    + +        Default managed window types
    -         '<': Hide only children less than children above.
    - -

    - - '<=': Hide children less or equal to children above (better for performance on slow machine). - -

    -    *default-modifiers* +    *default-frame-data* - = NIL
    + = ((:TILE-SIZE 0.8) (:TILE-SPACE-SIZE 0.1) (:MAIN-LAYOUT-WINDOWS NIL) (:FAST-LAYOUT (TILE-SPACE-LAYOUT NO-LAYOUT)))
    -         Default modifiers list to append to explicit modifiers
    - -         Example: :mod-2 for num_lock, :lock for Caps_lock...
    + +        Default slots set in frame date
    -    *never-managed-window-list* +    *default-font-string* - = ((IS-NOTIFY-WINDOW-P RAISE-WINDOW)
    + = "fixed"
    -         (EQUAL-WM-CLASS-ROX-PINBOARD NIL)
    - -         (EQUAL-WM-CLASS-XVKBD RAISE-WINDOW)
    - -         (EQUAL-CLFSWM-TERMINAL RAISE-AND-FOCUS-WINDOW))
    - -         CLFSWM will never manage windows of this type.
    - -         A list of (list match-function handle-function)
    + +        The default font used in clfswm
    -    *hide-unmanaged-window* +    *loop-timeout* - = T
    + = 1
    -         Hide or not unmanaged windows when a child is deselected.
    + +        Maximum time (in seconds) to wait before calling *loop-hook*
    -    *snap-size* +    *border-size* - = 5
    + = 1
    -         Snap size (in % of parent size) when move or resize frame is constrained
    + +        Windows and frames border size
    -    *spatial-move-delay-before* +    *show-root-frame-p* - = 0.2
    + = NIL
    -         Delay to display the current child before doing a spatial move
    + +        Show the root frame information or not
    -    *spatial-move-delay-after* +    *default-transparency* - = 0.5
    + = 0.8
    -         Delay to display the new child after doing a spatial move
    + +        Default transparency for all windows when in xcompmgr transparency mode
    -    *default-window-width* +    *transparent-background* - = 400
    + = T
    -         Default window width
    + +        Enable transparent background: one of nil, :pseudo, t (xcompmgr must be started)
    -    *default-window-height* +    *have-to-compress-notify* - = 300
    + = T
    -         Default window height
    + +       
    + + +        Compress event notify?
    + + +        This variable may be useful to speed up some slow version of CLX.
    + + +        It is particulary useful with CLISP/MIT-CLX.

    @@ -1006,52 +1125,58 @@

    -    *notify-window-font-string* +    *notify-window-transparency* - = "fixed"
    + = 0.8
    -         Notify window font string
    + +        Notify window background transparency
    -    *notify-window-background* +    *notify-window-delay* - = "black"
    + = 10
    -         Notify Window background color
    + +        Notify Window display delay
    -    *notify-window-foreground* +    *notify-window-border* - = "green"
    + = "red"
    -         Notify Window foreground color
    + +        Notify Window border color
    -    *notify-window-border* +    *notify-window-foreground* - = "red"
    + = "green"
    -         Notify Window border color
    + +        Notify Window foreground color
    -    *notify-window-delay* +    *notify-window-background* - = 10
    + = "black"
    -         Notify Window display delay
    + +        Notify Window background color
    -    *notify-window-transparency* +    *notify-window-font-string* - = 0.8
    + = "fixed"
    -         Notify window background transparency
    + +        Notify window font string

    @@ -1059,44 +1184,58 @@

    -    *banish-pointer-placement* +    *volume-mode-placement* - = BOTTOM-RIGHT-ROOT-PLACEMENT
    + = BOTTOM-MIDDLE-ROOT-PLACEMENT
    -         Pointer banishment placement
    + +        Volume mode window placement
    -    *second-mode-placement* +    *toolbar-window-placement* - = TOP-MIDDLE-ROOT-PLACEMENT
    + = TOP-LEFT-PLACEMENT
    -         Second mode window placement
    + +        Toolbar window placement
    -    *info-mode-placement* +    *unmanaged-window-placement* - = TOP-LEFT-ROOT-PLACEMENT
    + = MIDDLE-MIDDLE-ROOT-PLACEMENT
    -         Info mode window placement
    + +        Unmanager window placement
    -    *query-mode-placement* +    *ask-close/kill-placement* - = TOP-LEFT-ROOT-PLACEMENT
    + = TOP-RIGHT-ROOT-PLACEMENT
    -         Query mode window placement
    + +        Ask close/kill window placement
    -    *circulate-mode-placement* +    *notify-window-placement* - = BOTTOM-MIDDLE-ROOT-PLACEMENT
    + = BOTTOM-RIGHT-ROOT-PLACEMENT
    +
    + +        Notify window placement
    + + +    *expose-query-placement* + + + = BOTTOM-LEFT-ROOT-PLACEMENT
    -         Circulate mode window placement
    + +        Expose mode query window placement
       *expose-mode-placement* @@ -1104,100 +1243,126 @@ = TOP-LEFT-CHILD-PLACEMENT
    -         Expose mode window placement (Selection keys position)
    + +        Expose mode window placement (Selection keys position)
    -    *expose-query-placement* +    *circulate-mode-placement* - = BOTTOM-LEFT-ROOT-PLACEMENT
    + = BOTTOM-MIDDLE-ROOT-PLACEMENT
    -         Expose mode query window placement
    + +        Circulate mode window placement
    -    *notify-window-placement* +    *query-mode-placement* - = BOTTOM-RIGHT-ROOT-PLACEMENT
    + = TOP-LEFT-ROOT-PLACEMENT
    -         Notify window placement
    + +        Query mode window placement
    -    *ask-close/kill-placement* +    *info-mode-placement* - = TOP-RIGHT-ROOT-PLACEMENT
    + = TOP-LEFT-ROOT-PLACEMENT
    -         Ask close/kill window placement
    + +        Info mode window placement
    -    *unmanaged-window-placement* +    *second-mode-placement* - = MIDDLE-MIDDLE-ROOT-PLACEMENT
    + = TOP-MIDDLE-ROOT-PLACEMENT
    +
    + +        Second mode window placement
    + + +    *banish-pointer-placement* + + + = MIDDLE-RIGHT-ROOT-PLACEMENT
    -         Unmanager window placement
    + +        Pointer banishment placement

    - - <= Query String Group => + + <= Power Management Group =>

    -    *query-font-string* +    *power-halt-cmd* - = "fixed"
    + = "sudo /sbin/halt"
    -         Query string window font string
    + +        Halt command
    -    *query-background* +    *power-reboot-cmd* - = "black"
    + = "sudo /sbin/reboot"
    -         Query string window background color
    + +        Reboot command
    -    *query-message-color* +    *power-suspend-to-disk-cmd* - = "yellow"
    + = "sudo pm-hibernate"
    -         Query string window message color
    + +        Suspend to disk command
    -    *query-foreground* +    *power-suspend-to-ram-cmd* - = "green"
    + = "sudo pm-suspend"
    -         Query string window foreground color
    + +        Suspend to ram command
    +

    + + <= Query String Group => + +

    -    *query-cursor-color* +    *query-min-complet-char* - = "white"
    + = 2
    -         Query string window foreground cursor color
    + +        Query minimum input length for completion
    -    *query-parent-color* +    *query-max-complet-length* - = "blue"
    + = 100
    -         Query string window parenthesis color
    + +        Query maximum length of completion list
    -    *query-parent-error-color* +    *query-transparency* - = "red"
    + = 0.8
    -         Query string window parenthesis color when no match
    + +        Query string window background transparency
       *query-border* @@ -1205,31 +1370,71 @@ = "red"
    -         Query string window border color
    + +        Query string window border color
    -    *query-transparency* +    *query-parent-error-color* - = 0.8
    + = "red"
    -         Query string window background transparency
    + +        Query string window parenthesis color when no match
    -    *query-max-complet-length* +    *query-parent-color* - = 100
    + = "blue"
    -         Query maximum length of completion list
    + +        Query string window parenthesis color
    -    *query-min-complet-char* +    *query-cursor-color* - = 2
    + = "white"
    +
    + +        Query string window foreground cursor color
    + + +    *query-foreground* + + + = "green"
    -         Query minimum input length for completion
    + +        Query string window foreground color
    + + +    *query-message-color* + + + = "yellow"
    +
    + +        Query string window message color
    + + +    *query-background* + + + = "black"
    +
    + +        Query string window background color
    + + +    *query-font-string* + + + = "fixed"
    +
    + +        Query string window font string

    @@ -1237,24 +1442,22 @@

    -    *create-frame-on-root* +    *show-current-root-message* - = NIL
    + = "Current root"
    -         Create frame on root.
    - -         Set this variable to true if you want to allow to create a new frame
    - -         on the root window in the main mode with the mouse
    + +        Current root notify window message
    -    *have-to-show-current-root* +    *show-current-root-placement* - = T
    + = MIDDLE-MIDDLE-ROOT-PLACEMENT
    -         Show the current root if true
    + +        Current root notify window placement
       *show-current-root-delay* @@ -1262,23 +1465,35 @@ = 1
    -         Delay to show the current root
    + +        Delay to show the current root
    -    *show-current-root-placement* +    *have-to-show-current-root* - = MIDDLE-MIDDLE-ROOT-PLACEMENT
    + = T
    -         Current root notify window placement
    + +        Show the current root if true
    -    *show-current-root-message* +    *create-frame-on-root* - = "Current root"
    + = NIL
    -         Current root notify window message
    + +       
    + + +        Create frame on root.
    + + +        Set this variable to true if you want to allow to create a new frame
    + + +        on the root window in the main mode with the mouse

    @@ -1286,12 +1501,49 @@

    -    *sm-border-color* +    *sm-transparency* - = "Green"
    + = 0.8
    +
    + +        Second mode background transparency
    + + +    *sm-height* + + + = 25
    +
    + +        Second mode window height
    + + +    *sm-width* + + + = 300
    +
    + +        Second mode window width
    + + +    *sm-font-string* + + + = "fixed"
    -         Second mode window border color
    + +        Second mode window font string
    + + +    *sm-foreground-color* + + + = "Red"
    +
    + +        Second mode window foreground color
       *sm-background-color* @@ -1299,57 +1551,395 @@ = "Black"
    -         Second mode window background color
    + +        Second mode window background color
    -    *sm-foreground-color* +    *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"
    -         Second mode window foreground color
    + +        System information colors (CPU+Mem+Battery)
    -    *sm-font-string* +    *toolbar-system-info-alert-color* - = "fixed"
    + = "Magenta"
    -         Second mode window font string
    + +        System information colors (CPU+Mem+Battery)
    -    *sm-width* +    *toolbar-system-info-low-color* - = 300
    + = "Yellow"
    -         Second mode window width
    + +        System information colors (CPU+Mem+Battery)
    -    *sm-height* +    *toolbar-system-info-color* - = 25
    + = "green"
    -         Second mode window height
    + +        System information colors (CPU+Mem+Battery)
    -    *sm-transparency* +    *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
    -         Second mode background transparency
    + +        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 + +This documentation was produced with the CLFSWM auto-doc functions. To reproduce it, use the produce-conf-var-doc-html-in-file or the produce-all-docs function from the Lisp REPL.

    - Something like this:
    + +Something like this:
    LISP> (in-package :clfswm)
    CLFSWM> (produce-conf-var-doc-html-in-file "my-variables.html")
    or
    CLFSWM> (produce-all-docs) diff --git a/doc/variables.txt b/doc/variables.txt index c048d47..09cf97e 100644 --- a/doc/variables.txt +++ b/doc/variables.txt @@ -3,57 +3,43 @@ <= Circulate Mode Group => - *CIRCULATE-FONT-STRING* = "fixed" - Circulate string window font string - *CIRCULATE-BACKGROUND* = "black" - Circulate string window background color - *CIRCULATE-FOREGROUND* = "green" - Circulate string window foreground color - *CIRCULATE-BORDER* = "red" - Circulate string window border color - *CIRCULATE-WIDTH* = 400 - Circulate mode window width - *CIRCULATE-HEIGHT* = 15 - Circulate mode window height - *CIRCULATE-TRANSPARENCY* = 0.8 - Circulate window background transparency *CIRCULATE-TEXT-LIMITE* = 30 Maximum text limite in the circulate window + *CIRCULATE-TRANSPARENCY* = 0.8 + Circulate window background transparency + *CIRCULATE-HEIGHT* = 15 + Circulate mode window height + *CIRCULATE-WIDTH* = 400 + Circulate mode window width + *CIRCULATE-BORDER* = "red" + Circulate string window border color + *CIRCULATE-FOREGROUND* = "green" + Circulate string window foreground color + *CIRCULATE-BACKGROUND* = "black" + Circulate string window background color + *CIRCULATE-FONT-STRING* = "fixed" + Circulate string window font string <= Corner Group => - *CORNER-SIZE* = 3 - The size of the corner square - *CORNER-MAIN-MODE-LEFT-BUTTON* = ((:TOP-LEFT OPEN-MENU) - (:TOP-RIGHT PRESENT-VIRTUAL-KEYBOARD) - (:BOTTOM-RIGHT EXPOSE-WINDOWS-MODE) - (:BOTTOM-LEFT NIL)) - Actions on corners in the main mode with the left 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-RIGHT-BUTTON* = ((:TOP-LEFT PRESENT-CLFSWM-TERMINAL) - (:TOP-RIGHT ASK-CLOSE/KILL-CURRENT-WINDOW) - (:BOTTOM-RIGHT EXPOSE-ALL-WINDOWS-MODE) - (:BOTTOM-LEFT NIL)) - Actions on corners in the main mode with the right mouse button - *CORNER-SECOND-MODE-LEFT-BUTTON* = ((:TOP-LEFT NIL) (:TOP-RIGHT NIL) - (:BOTTOM-RIGHT EXPOSE-WINDOWS-MODE) - (:BOTTOM-LEFT NIL)) - Actions on corners in the second mode with the left mouse button - *CORNER-SECOND-MODE-MIDDLE-BUTTON* = ((:TOP-LEFT HELP-ON-CLFSWM) - (:TOP-RIGHT NIL) (:BOTTOM-RIGHT NIL) - (:BOTTOM-LEFT NIL)) - Actions on corners in the second mode with the middle mouse button - *CORNER-SECOND-MODE-RIGHT-BUTTON* = ((:TOP-LEFT NIL) (:TOP-RIGHT NIL) - (:BOTTOM-RIGHT EXPOSE-ALL-WINDOWS-MODE) - (:BOTTOM-LEFT NIL)) - Actions on corners in the second mode with the right mouse button + *CORNER-COMMAND-TRY-NUMBER* = 10 + Number of try to wait the window in query tree + *CORNER-COMMAND-TRY-DELAY* = 0.2 + Time to wait before checking window in query tree + *CORNER-ERROR-MESSAGE-DELAY* = 5 + Time to display the error message on commad error + *CORNER-ERROR-MESSAGE-COLOR* = "red" + Error message color + *CLFSWM-TERMINAL-CMD* = "xterm -T clfswm-terminal" + +The clfswm terminal command. +This command must set the window title to *clfswm-terminal-name* + *CLFSWM-TERMINAL-NAME* = "clfswm-terminal" + The clfswm terminal name *VIRTUAL-KEYBOARD-CMD* = "xvkbd" - The command to display the virtual keybaord + +The command to display the virtual keybaord Here is an ~/.Xresources example for xvkbd: xvkbd.windowGeometry: 300x100-0-0 xvkbd*Font: 6x12 @@ -61,59 +47,62 @@ xvkbd.customization: -french xvkbd.keypad: false And make it always on top - *CLFSWM-TERMINAL-NAME* = "clfswm-terminal" - The clfswm terminal name - *CLFSWM-TERMINAL-CMD* = "xterm -T clfswm-terminal" - The clfswm terminal command. -This command must set the window title to *clfswm-terminal-name* - *CORNER-ERROR-MESSAGE-COLOR* = "red" - Error message color - *CORNER-ERROR-MESSAGE-DELAY* = 5 - Time to display the error message on commad error - *CORNER-COMMAND-TRY-DELAY* = 0.2 - Time to wait before checking window in query tree - *CORNER-COMMAND-TRY-NUMBER* = 10 - Number of try to wait the window in query tree + *CORNER-SECOND-MODE-RIGHT-BUTTON* = ((:TOP-LEFT NIL) (:TOP-RIGHT NIL) (:BOTTOM-RIGHT EXPOSE-ALL-WINDOWS-MODE) (:BOTTOM-LEFT NIL)) + Actions on corners in the second mode with the right mouse button + *CORNER-SECOND-MODE-MIDDLE-BUTTON* = ((:TOP-LEFT HELP-ON-CLFSWM) (:TOP-RIGHT NIL) (:BOTTOM-RIGHT NIL) (:BOTTOM-LEFT NIL)) + Actions on corners in the second mode with the middle mouse button + *CORNER-SECOND-MODE-LEFT-BUTTON* = ((:TOP-LEFT NIL) (:TOP-RIGHT NIL) (:BOTTOM-RIGHT EXPOSE-WINDOWS-MODE) (:BOTTOM-LEFT NIL)) + 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 + *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)) + Actions on corners in the main mode with the left mouse button + *CORNER-SIZE* = 3 + The size of the corner square <= Expose Mode Group => - *EXPOSE-FONT-STRING* = "fixed" - Expose string window font string - *EXPOSE-BACKGROUND* = "grey10" - Expose string window background color - *EXPOSE-FOREGROUND* = "grey50" - Expose string window foreground color - *EXPOSE-FOREGROUND-LETTER* = "red" - Expose string window foreground color for letters - *EXPOSE-FOREGROUND-LETTER-NOK* = "grey30" - Expose string window foreground color for letter not selected - *EXPOSE-BACKGROUND-LETTER-MATCH* = "green" - Expose string window background color for matching letters - *EXPOSE-BORDER* = "grey20" - Expose string window border color - *EXPOSE-VALID-ON-KEY* = T - Valid expose mode when an accel key is pressed - *EXPOSE-SHOW-WINDOW-TITLE* = T - Show the window title on accel window - *EXPOSE-TRANSPARENCY* = 0.9 - Expose string window background transparency *EXPOSE-DIRECT-SELECT* = T Immediately select child if they can be directly accessed + *EXPOSE-TRANSPARENCY* = 0.9 + Expose string window background transparency + *EXPOSE-SHOW-WINDOW-TITLE* = T + Show the window title on accel window + *EXPOSE-VALID-ON-KEY* = T + Valid expose mode when an accel key is pressed + *EXPOSE-BORDER* = "grey20" + Expose string window border color + *EXPOSE-BACKGROUND-LETTER-MATCH* = "green" + Expose string window background color for matching letters + *EXPOSE-FOREGROUND-LETTER-NOK* = "grey30" + Expose string window foreground color for letter not selected + *EXPOSE-FOREGROUND-LETTER* = "red" + Expose string window foreground color for letters + *EXPOSE-FOREGROUND* = "grey50" + Expose string window foreground color + *EXPOSE-BACKGROUND* = "grey10" + Expose string window background color + *EXPOSE-FONT-STRING* = "fixed" + Expose string window font string <= Frame Colors Group => - *FRAME-BACKGROUND* = "Black" - Frame background - *FRAME-FOREGROUND* = "Green" - Frame foreground - *FRAME-FOREGROUND-ROOT* = "Red" - Frame foreground when the frame is the root frame - *FRAME-FOREGROUND-HIDDEN* = "Darkgreen" - Frame foreground for hidden windows *FRAME-TRANSPARENCY* = 0.6 Frame background transparency + *FRAME-FOREGROUND-HIDDEN* = "Darkgreen" + Frame foreground for hidden windows + *FRAME-FOREGROUND-ROOT* = "Red" + Frame foreground when the frame is the root frame + *FRAME-FOREGROUND* = "Green" + Frame foreground + *FRAME-BACKGROUND* = "Black" + Frame background <= Gimp Layout Group => @@ -124,262 +113,363 @@ This command must set the window title to *clfswm-terminal-name* <= Hook Group => - *BINDING-HOOK* = (SET-DEFAULT-CIRCULATE-KEYS INIT-*QUERY-KEYS* - SET-DEFAULT-QUERY-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) - Hook executed when keys/buttons are bounds - *LOOP-HOOK* = NIL - Hook executed on each event loop - *MAIN-ENTRANCE-HOOK* = NIL - Hook executed on the main function entrance after -loading configuration file and before opening the display. - *INIT-HOOK* = (DEFAULT-INIT-HOOK PLACE-FRAMES-FROM-XINERAMA-INFOS - DISPLAY-HELLO-WINDOW) - Init hook. This hook is run just after the first root frame is created - *CLOSE-HOOK* = (CLOSE-NOTIFY-WINDOW CLOSE-CLFSWM-TERMINAL - CLOSE-VIRTUAL-KEYBOARD) - Close hook. This hook is run just before closing the display - *DEFAULT-NW-HOOK* = DEFAULT-FRAME-NW-HOOK - Default action to do on newly created windows - *QUERY-KEY-PRESS-HOOK* = NIL - Query hook. Hook called on each key press event in query loop *QUERY-BUTTON-PRESS-HOOK* = NIL Query hook. Hook called on each button press event in query loop + *QUERY-KEY-PRESS-HOOK* = (QUERY-MODE-COMPLETE-SUGGEST-RESET) + 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. 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. This hook is run just after the first root frame is created + *ROOT-SIZE-CHANGE* = (MY-WALLPAPER) + Hook executed when the root size has changed for example when adding/removing a monitor + *MAIN-ENTRANCE-HOOK* = NIL + +Hook executed on the main function entrance after +loading configuration file and before opening the display. + *LOOP-HOOK* = NIL + Hook executed on each event loop + *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) + Hook executed when keys/buttons are bounds <= Identify Key Group => - *IDENTIFY-FONT-STRING* = "fixed" - Identify window font string - *IDENTIFY-BACKGROUND* = "black" - Identify window background color - *IDENTIFY-FOREGROUND* = "green" - Identify window foreground color - *IDENTIFY-BORDER* = "red" - Identify window border color *IDENTIFY-TRANSPARENCY* = 0.8 Identify window background transparency + *IDENTIFY-BORDER* = "red" + Identify window border color + *IDENTIFY-FOREGROUND* = "green" + Identify window foreground color + *IDENTIFY-BACKGROUND* = "black" + Identify window background color + *IDENTIFY-FONT-STRING* = "fixed" + Identify window font string <= Info Mode Group => - *INFO-BACKGROUND* = "black" - Info window background color - *INFO-FOREGROUND* = "green" - Info window foreground color - *INFO-BORDER* = "red" - Info window border color - *INFO-LINE-CURSOR* = "white" - Info window line cursor color color - *INFO-SELECTED-BACKGROUND* = "blue" - Info selected item background color - *INFO-FONT-STRING* = "fixed" - Info window font string - *INFO-TRANSPARENCY* = 0.8 - Info window background transparency - *INFO-CLICK-TO-SELECT* = T - If true, click on info window select item. Otherwise, click to drag the menu - *INFO-COLOR-TITLE* = "Magenta" - Colored info title color - *INFO-COLOR-UNDERLINE* = "Yellow" - Colored info underline color - *INFO-COLOR-FIRST* = "Cyan" - Colored info first color *INFO-COLOR-SECOND* = "lightblue" Colored info second color + *INFO-COLOR-FIRST* = "Cyan" + Colored info first color + *INFO-COLOR-UNDERLINE* = "Yellow" + Colored info underline color + *INFO-COLOR-TITLE* = "Magenta" + Colored info title color + *INFO-CLICK-TO-SELECT* = T + If true, click on info window select item. Otherwise, click to drag the menu + *INFO-TRANSPARENCY* = 0.8 + Info window background transparency + *INFO-FONT-STRING* = "fixed" + Info window font string + *INFO-SELECTED-BACKGROUND* = "blue" + Info selected item background color + *INFO-LINE-CURSOR* = "white" + Info window line cursor color color + *INFO-BORDER* = "red" + Info window border color + *INFO-FOREGROUND* = "green" + Info window foreground color + *INFO-BACKGROUND* = "black" + Info window background color <= Main Mode Group => - *COLOR-MOVE-WINDOW* = "DeepPink" - Color when moving or resizing a windows - *COLOR-SELECTED* = "Red" - Color of selected window - *COLOR-UNSELECTED* = "Blue" - Color of unselected color *COLOR-MAYBE-SELECTED* = "Yellow" Color of maybe selected windows + *COLOR-UNSELECTED* = "Blue" + Color of unselected color + *COLOR-SELECTED* = "Red" + Color of selected window + *COLOR-MOVE-WINDOW* = "DeepPink" + Color when moving or resizing a windows <= Menu Group => - *XDG-SECTION-LIST* = (TEXTEDITOR FILEMANAGER WEBBROWSER AUDIOVIDEO AUDIO - VIDEO DEVELOPMENT EDUCATION GAME GRAPHICS NETWORK - OFFICE SETTINGS SYSTEM UTILITY TERMINALEMULATOR - SCREENSAVER) - Standard menu sections - *MENU-COLOR-SUBMENU* = "Cyan" - Submenu color in menu - *MENU-COLOR-COMMENT* = "Yellow" - Comment color in menu - *MENU-COLOR-KEY* = "Magenta" - Key color in menu + *MENU-KEY-BOUND-COLOR* = "gray50" + Key bound min menu color *MENU-COLOR-MENU-KEY* = # Menu key color in menu + *MENU-COLOR-KEY* = "Magenta" + Key color in menu + *MENU-COLOR-COMMENT* = "Yellow" + Comment color in menu + *MENU-COLOR-SUBMENU* = "Cyan" + Submenu color in menu + *XDG-SECTION-LIST* = +(TEXTEDITOR FILEMANAGER WEBBROWSER AUDIOVIDEO AUDIO VIDEO DEVELOPMENT EDUCATION GAME GRAPHICS NETWORK OFFICE SETTINGS + SYSTEM UTILITY TERMINALEMULATOR SCREENSAVER) + Standard menu sections <= Miscellaneous Group => + *DEFAULT-WINDOW-HEIGHT* = 300 + Default window height + *DEFAULT-WINDOW-WIDTH* = 400 + Default window width + *SPATIAL-MOVE-DELAY-AFTER* = 0.5 + Delay to display the new child after doing a spatial move + *SPATIAL-MOVE-DELAY-BEFORE* = 0.2 + Delay to display the current child before doing a spatial move + *SNAP-SIZE* = 5 + Snap size (in % of parent size) when move or resize frame is constrained + *HIDE-UNMANAGED-WINDOW* = T + Hide or not unmanaged windows when a child is deselected. + *NEVER-MANAGED-WINDOW-LIST* = +((IS-NOTIFY-WINDOW-P RAISE-WINDOW) (EQUAL-WM-CLASS-ROX-PINBOARD NIL) (EQUAL-WM-CLASS-XVKBD RAISE-WINDOW) + (EQUAL-CLFSWM-TERMINAL RAISE-AND-FOCUS-WINDOW)) + +CLFSWM will never manage windows of this type. +A list of (list match-function handle-function) + *DEFAULT-MODIFIERS* = NIL + +Default modifiers list to append to explicit modifiers +Example: :mod-2 for num_lock, :lock for Caps_lock... + *SHOW-HIDE-POLICY* = # + +'NIL': always display all children (better with transparency support). +'<': Hide only children less than children above. +'<=': Hide children less or equal to children above (better for performance on slow machine). + *DEFAULT-FOCUS-POLICY* = :CLICK + 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 slots set in frame date + *DEFAULT-FONT-STRING* = "fixed" + The default font used in clfswm + *LOOP-TIMEOUT* = 1 + Maximum time (in seconds) to wait before calling *loop-hook* + *BORDER-SIZE* = 1 + Windows and frames border size + *SHOW-ROOT-FRAME-P* = NIL + Show the root frame information or not + *DEFAULT-TRANSPARENCY* = 0.8 + Default transparency for all windows when in xcompmgr transparency mode + *TRANSPARENT-BACKGROUND* = T + Enable transparent background: one of nil, :pseudo, t (xcompmgr must be started) *HAVE-TO-COMPRESS-NOTIFY* = T - Compress event notify? + +Compress event notify? This variable may be useful to speed up some slow version of CLX. It is particulary useful with CLISP/MIT-CLX. - *TRANSPARENT-BACKGROUND* = T - Enable transparent background: one of nil, :pseudo, t (xcompmgr must be started) - *DEFAULT-TRANSPARENCY* = 0.8 - Default transparency for all windows when in xcompmgr transparency mode - *SHOW-ROOT-FRAME-P* = NIL - Show the root frame information or not - *BORDER-SIZE* = 1 - Windows and frames border size - *LOOP-TIMEOUT* = 1 - Maximum time (in seconds) to wait before calling *loop-hook* - *DEFAULT-FONT-STRING* = "fixed" - The default font used in clfswm - *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-MANAGED-TYPE* = (:NORMAL) - Default managed window types - *DEFAULT-FOCUS-POLICY* = :CLICK - Default mouse focus policy. One of :click, :sloppy, :sloppy-strict or :sloppy-select. - *SHOW-HIDE-POLICY* = # - 'NIL': always display all children (better with transparency support). -'<': Hide only children less than children above. -'<=': Hide children less or equal to children above (better for performance on slow machine). - *DEFAULT-MODIFIERS* = NIL - Default modifiers list to append to explicit modifiers -Example: :mod-2 for num_lock, :lock for Caps_lock... - *NEVER-MANAGED-WINDOW-LIST* = ((IS-NOTIFY-WINDOW-P RAISE-WINDOW) - (EQUAL-WM-CLASS-ROX-PINBOARD NIL) - (EQUAL-WM-CLASS-XVKBD RAISE-WINDOW) - (EQUAL-CLFSWM-TERMINAL RAISE-AND-FOCUS-WINDOW)) - CLFSWM will never manage windows of this type. -A list of (list match-function handle-function) - *HIDE-UNMANAGED-WINDOW* = T - Hide or not unmanaged windows when a child is deselected. - *SNAP-SIZE* = 5 - Snap size (in % of parent size) when move or resize frame is constrained - *SPATIAL-MOVE-DELAY-BEFORE* = 0.2 - Delay to display the current child before doing a spatial move - *SPATIAL-MOVE-DELAY-AFTER* = 0.5 - Delay to display the new child after doing a spatial move - *DEFAULT-WINDOW-WIDTH* = 400 - Default window width - *DEFAULT-WINDOW-HEIGHT* = 300 - Default window height <= Notify Window Group => - *NOTIFY-WINDOW-FONT-STRING* = "fixed" - Notify window font string - *NOTIFY-WINDOW-BACKGROUND* = "black" - Notify Window background color - *NOTIFY-WINDOW-FOREGROUND* = "green" - Notify Window foreground color - *NOTIFY-WINDOW-BORDER* = "red" - Notify Window border color - *NOTIFY-WINDOW-DELAY* = 10 - Notify Window display delay *NOTIFY-WINDOW-TRANSPARENCY* = 0.8 Notify window background transparency + *NOTIFY-WINDOW-DELAY* = 10 + Notify Window display delay + *NOTIFY-WINDOW-BORDER* = "red" + Notify Window border color + *NOTIFY-WINDOW-FOREGROUND* = "green" + Notify Window foreground color + *NOTIFY-WINDOW-BACKGROUND* = "black" + Notify Window background color + *NOTIFY-WINDOW-FONT-STRING* = "fixed" + Notify window font string <= Placement Group => - *BANISH-POINTER-PLACEMENT* = BOTTOM-RIGHT-ROOT-PLACEMENT - Pointer banishment placement - *SECOND-MODE-PLACEMENT* = TOP-MIDDLE-ROOT-PLACEMENT - Second mode window placement - *INFO-MODE-PLACEMENT* = TOP-LEFT-ROOT-PLACEMENT - Info mode window placement - *QUERY-MODE-PLACEMENT* = TOP-LEFT-ROOT-PLACEMENT - Query mode window placement - *CIRCULATE-MODE-PLACEMENT* = BOTTOM-MIDDLE-ROOT-PLACEMENT - Circulate mode window placement - *EXPOSE-MODE-PLACEMENT* = TOP-LEFT-CHILD-PLACEMENT - Expose mode window placement (Selection keys position) - *EXPOSE-QUERY-PLACEMENT* = BOTTOM-LEFT-ROOT-PLACEMENT - Expose mode query window placement - *NOTIFY-WINDOW-PLACEMENT* = BOTTOM-RIGHT-ROOT-PLACEMENT - Notify window placement - *ASK-CLOSE/KILL-PLACEMENT* = TOP-RIGHT-ROOT-PLACEMENT - Ask close/kill window placement + *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 + Ask close/kill window placement + *NOTIFY-WINDOW-PLACEMENT* = BOTTOM-RIGHT-ROOT-PLACEMENT + Notify window placement + *EXPOSE-QUERY-PLACEMENT* = BOTTOM-LEFT-ROOT-PLACEMENT + Expose mode query window placement + *EXPOSE-MODE-PLACEMENT* = TOP-LEFT-CHILD-PLACEMENT + Expose mode window placement (Selection keys position) + *CIRCULATE-MODE-PLACEMENT* = BOTTOM-MIDDLE-ROOT-PLACEMENT + Circulate mode window placement + *QUERY-MODE-PLACEMENT* = TOP-LEFT-ROOT-PLACEMENT + Query mode window placement + *INFO-MODE-PLACEMENT* = TOP-LEFT-ROOT-PLACEMENT + Info mode window placement + *SECOND-MODE-PLACEMENT* = TOP-MIDDLE-ROOT-PLACEMENT + Second mode window placement + *BANISH-POINTER-PLACEMENT* = MIDDLE-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-FONT-STRING* = "fixed" - Query string window font string - *QUERY-BACKGROUND* = "black" - Query string window background color - *QUERY-MESSAGE-COLOR* = "yellow" - Query string window message color - *QUERY-FOREGROUND* = "green" - Query string window foreground color - *QUERY-CURSOR-COLOR* = "white" - Query string window foreground cursor color - *QUERY-PARENT-COLOR* = "blue" - Query string window parenthesis color - *QUERY-PARENT-ERROR-COLOR* = "red" - Query string window parenthesis color when no match - *QUERY-BORDER* = "red" - Query string window border color - *QUERY-TRANSPARENCY* = 0.8 - Query string window background transparency - *QUERY-MAX-COMPLET-LENGTH* = 100 - Query maximum length of completion list *QUERY-MIN-COMPLET-CHAR* = 2 Query minimum input length for completion + *QUERY-MAX-COMPLET-LENGTH* = 100 + Query maximum length of completion list + *QUERY-TRANSPARENCY* = 0.8 + Query string window background transparency + *QUERY-BORDER* = "red" + Query string window border color + *QUERY-PARENT-ERROR-COLOR* = "red" + Query string window parenthesis color when no match + *QUERY-PARENT-COLOR* = "blue" + Query string window parenthesis color + *QUERY-CURSOR-COLOR* = "white" + Query string window foreground cursor color + *QUERY-FOREGROUND* = "green" + Query string window foreground color + *QUERY-MESSAGE-COLOR* = "yellow" + Query string window message color + *QUERY-BACKGROUND* = "black" + Query string window background color + *QUERY-FONT-STRING* = "fixed" + Query string window font string <= Root Group => + *SHOW-CURRENT-ROOT-MESSAGE* = "Current root" + Current root notify window message + *SHOW-CURRENT-ROOT-PLACEMENT* = MIDDLE-MIDDLE-ROOT-PLACEMENT + Current root notify window placement + *SHOW-CURRENT-ROOT-DELAY* = 1 + Delay to show the current root + *HAVE-TO-SHOW-CURRENT-ROOT* = T + Show the current root if true *CREATE-FRAME-ON-ROOT* = NIL - Create frame on root. + +Create frame on root. Set this variable to true if you want to allow to create a new frame on the root window in the main mode with the mouse - *HAVE-TO-SHOW-CURRENT-ROOT* = T - Show the current root if true - *SHOW-CURRENT-ROOT-DELAY* = 1 - Delay to show the current root - *SHOW-CURRENT-ROOT-PLACEMENT* = MIDDLE-MIDDLE-ROOT-PLACEMENT - Current root notify window placement - *SHOW-CURRENT-ROOT-MESSAGE* = "Current root" - Current root notify window message <= Second Mode Group => - *SM-BORDER-COLOR* = "Green" - Second mode window border color - *SM-BACKGROUND-COLOR* = "Black" - Second mode window background color - *SM-FOREGROUND-COLOR* = "Red" - Second mode window foreground color - *SM-FONT-STRING* = "fixed" - Second mode window font string - *SM-WIDTH* = 300 - Second mode window width - *SM-HEIGHT* = 25 - Second mode window height *SM-TRANSPARENCY* = 0.8 Second mode background transparency + *SM-HEIGHT* = 25 + Second mode window height + *SM-WIDTH* = 300 + Second mode window width + *SM-FONT-STRING* = "fixed" + Second mode window font string + *SM-FOREGROUND-COLOR* = "Red" + Second mode window foreground color + *SM-BACKGROUND-COLOR* = "Black" + Second mode window background color + *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 ca9d1d0..2ab8436 100644 --- a/load.lisp +++ b/load.lisp @@ -26,10 +26,11 @@ ;;;------------------ ;;; Customization part ;;;------------------ -(pushnew :clfswm-build *features*) -(pushnew :clfswm-dump *features*) -(pushnew :clfswm-start *features*) -(pushnew :clfswm-install *features*) +(pushnew :clfswm-compile *features*) +(pushnew :clfswm-run *features*) +(pushnew :clfswm-build-image *features*) + +;;(pushnew :clfswm-install *features*) ;;;;;; Uncomment lines above to build the default documentation. ;;(pushnew :clfswm-build-doc *features*) @@ -41,40 +42,44 @@ ;;(pushnew :event-debug *features*) -(defparameter *base-dir* (directory-namestring *load-truename*)) -(export '*base-dir*) +(defparameter *binary-name* "clfswm") + +(defparameter *install-prefix* "/tmp/usr/local") + +(defun with-prefix (&rest place) + (apply #'concatenate 'string *install-prefix* place)) + +(defparameter *install-bin* (with-prefix "/bin/")) +(defparameter *install-contrib* (with-prefix "/lib/clfswm/")) +(defparameter *install-doc* (with-prefix "/share/doc/clfswm/")) +(defparameter *install-man* (with-prefix "/share/man/man1/")) + + +#+:CMU (setf ext:*gc-verbose* nil) + +;;;------------------ +;;; XLib part 1 +;;;------------------ +#+(or :CMU :ECL) +(require :clx) -#+:CMU -(setf ext:*gc-verbose* nil) ;;;------------------ ;;; ASDF part ;;;------------------ ;;;; Loading ASDF -#+(or :SBCL :ECL) +#+(or :SBCL :CMUCL :CCL :ECL) (require :asdf) - #-:ASDF -(load (make-pathname :host (pathname-host *base-dir*) - :device (pathname-device *base-dir*) - :directory (append (pathname-directory *base-dir*) (list "contrib")) - :name "asdf" :type "lisp")) - -(push *base-dir* asdf:*central-registry*) - -;;(setf asdf:*verbose-out* t) +(load "contrib/asdf.lisp") ;;;------------------ -;;; XLib part +;;; XLib part 2 ;;;------------------ -#+(or :CMU :ECL) -(require :clx) - - -;;; This part needs clisp >= 2.50 +;;; Loading clisp dynamic module. This part needs clisp >= 2.50 ;;#+(AND CLISP (not CLX)) ;;(when (fboundp 'require) ;; (require "clx.lisp")) @@ -82,19 +87,19 @@ ;;;------------------ ;;; CLFSWM loading ;;;------------------ -#+:clfswm-build +#+:clfswm-compile (asdf:oos 'asdf:load-op :clfswm) ;;;------------------------- ;;; Starting clfswm ;;;------------------------- +#+(or :clfswm-run :clfswm-build-doc :clfswm-build-image) (in-package :clfswm) -#+:clfswm-start +#+:clfswm-run (ignore-errors - (main :read-conf-file-p #-:clfswm-build-doc t #+:clfswm-build-doc nil)) - + (main :read-conf-file-p t)) ;;;------------------------- @@ -106,6 +111,48 @@ ;;;----------------------- ;;; Building image part ;;;----------------------- -#+:clfswm-build +#+:clfswm-build-image (build-lisp-image "clfswm") +;;;----------------------- +;;; Installation part +;;;----------------------- +#+:clfswm-install +(in-package :cl-user) + +#+:SBCL +(require :sb-posix) + +#+:clfswm-install +(load (compile-file "src/tools.lisp")) + +#+:clfswm-install +(defun check-directory (dir) + (format t "Checking ~A~%" dir) + (ensure-directories-exist dir :verbose t)) + + +#+:clfswm-install +(defun move-file (file where) + (format t "cp -R ~A ~A~%" file where) + (tools:fdo-shell "cp -R ~A ~A" file where)) + + + +#+:clfswm-install +(progn + (check-directory *install-prefix*) + (check-directory *install-bin*) + (check-directory *install-contrib*) + (check-directory *install-doc*) + (check-directory *install-man*) + (move-file *binary-name* *install-bin*) + (move-file "contrib/*" *install-contrib*) + (move-file "doc/*" *install-doc*) + (move-file "clfswm.1" *install-man*) + (format t "Please, adjust *contrib-dir* variable to ~A in your configuration file.~%" *install-contrib*) + (format t "Something like: (setf *contrib-dir* ~S)~%" *install-contrib*) + (sleep 0.5) + (tools:fdo-shell "rm -f ~A/clfswm.1.gz && gzip ~A/clfswm.1" *install-man* *install-man*) + (tools:uquit)) + diff --git a/src/clfswm-util.lisp b/src/clfswm-util.lisp index 9e0b396..aa530f8 100644 --- a/src/clfswm-util.lisp +++ b/src/clfswm-util.lisp @@ -52,8 +52,9 @@ "Load a file in the contrib directory" (let ((truename (merge-pathnames file *contrib-dir*))) (format t "Loading contribution file: ~A~%" truename) - (when (probe-file truename) - (load truename :verbose nil)))) + (if (probe-file truename) + (load truename :verbose nil) + (format t " File not found!~%")))) (defun reload-clfswm () @@ -67,9 +68,15 @@ ;;;---------------------------- ;;; Lisp image part ;;;---------------------------- +#+:ECL (require :cmp) + (defun build-lisp-image (dump-name) - #+CLISP (ext:saveinitmem dump-name :init-function (lambda () (clfswm:main) (ext:quit)) :executable t :norc t) - #+SBCL (sb-ext:save-lisp-and-die dump-name :toplevel 'clfswm:main :executable t)) + #+:CLISP (ext:saveinitmem dump-name :init-function (lambda () (clfswm:main) (ext:quit)) :executable t) + #+:SBCL (sb-ext:save-lisp-and-die dump-name :toplevel 'clfswm:main :executable t) + #+:CMU (ext:save-lisp dump-name :init-function (lambda () (clfswm:main) (ext:quit)) :executable t) + #+:CCL (ccl:save-application dump-name :toplevel-function (lambda () (clfswm:main) (ccl:quit)) :prepend-kernel t) + #+:ECL (c:build-program dump-name :epilogue-code '(clfswm:main))) + @@ -1500,7 +1507,7 @@ For window: set current child to window or its parent according to window-parent (let (name exec categories comment) (when (probe-file desktop) (with-open-file (stream desktop :direction :input) - (loop for line = (read-line stream nil nil) + (loop for line = (ignore-errors (read-line stream nil nil)) while line do (cond ((first-position "Name=" line) (setf name (um-extract-value line))) diff --git a/src/clfswm.lisp b/src/clfswm.lisp index 7ae2f35..59150ba 100644 --- a/src/clfswm.lisp +++ b/src/clfswm.lisp @@ -283,10 +283,8 @@ (defun main-unprotected (&key (display (or (getenv "DISPLAY") ":0")) protocol - (base-dir (asdf:system-source-directory :clfswm)) (read-conf-file-p t) (alternate-conf nil) error-msg) - (setf *contrib-dir* (merge-pathnames "contrib/" base-dir)) (conf-file-name alternate-conf) (when read-conf-file-p (read-conf-file)) @@ -326,7 +324,6 @@ (defun main (&key (display (or (getenv "DISPLAY") ":0")) protocol - (base-dir (asdf:system-source-directory :clfswm)) (read-conf-file-p t) (alternate-conf nil)) (let (error-msg) @@ -335,7 +332,7 @@ (handler-case (if *other-window-manager* (run-other-window-manager) - (main-unprotected :display display :protocol protocol :base-dir base-dir + (main-unprotected :display display :protocol protocol :read-conf-file-p read-conf-file-p :alternate-conf alternate-conf :error-msg error-msg)) diff --git a/src/package.lisp b/src/package.lisp index 9540c3c..5ac92db 100644 --- a/src/package.lisp +++ b/src/package.lisp @@ -86,7 +86,7 @@ It is particulary useful with CLISP/MIT-CLX.") (defparameter *pixmap-buffer* nil) -(defparameter *contrib-dir* "") +(defparameter *contrib-dir* "contrib/") (defparameter *default-font* nil) ;;(defparameter *default-font-string* "9x15") diff --git a/src/tools.lisp b/src/tools.lisp index 04b0dc7..85252b8 100644 --- a/src/tools.lisp +++ b/src/tools.lisp @@ -779,7 +779,7 @@ of the program to return. (defun uquit () #+(or clisp cmu) (ext:quit) - #+sbcl (sb-ext:quit) + #+sbcl (sb-ext:exit) #+ecl (si:quit) #+gcl (lisp:quit) #+lispworks (lw:quit) ----------------------------------------------------------------------- Summary of changes: README | 7 +- doc/corner.html | 8 +- doc/corner.txt | 2 +- doc/keys.html | 1519 +++++++++++++++++++------------ doc/keys.txt | 417 +++++---- doc/menu.html | 2447 ++++++++++++++++++++++++++++---------------------- doc/menu.txt | 2161 +++++++++++++++++++++++--------------------- doc/variables.html | 1540 ++++++++++++++++++++++---------- doc/variables.txt | 644 ++++++++------ load.lisp | 105 ++- src/clfswm-util.lisp | 17 +- src/clfswm.lisp | 5 +- src/package.lisp | 2 +- src/tools.lisp | 2 +- 14 files changed, 5217 insertions(+), 3659 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sun Oct 21 11:44:47 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 21 Oct 2012 04:44:47 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-145-gb317f0f 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 b317f0fde0d41f049d76ecbc0fb3fb4c7aaff299 (commit) from 3ebdf875abd221d51de859405d4c848890b3dfc3 (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 b317f0fde0d41f049d76ecbc0fb3fb4c7aaff299 Author: Philippe Brochard Date: Sun Oct 21 13:44:41 2012 +0200 Do not update root geometry when a fullscreened window change root size diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp index 7e404ab..f2ca58c 100644 --- a/src/clfswm-internal.lisp +++ b/src/clfswm-internal.lisp @@ -489,6 +489,16 @@ + +(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 diff --git a/src/clfswm.lisp b/src/clfswm.lisp index 59150ba..c458d10 100644 --- a/src/clfswm.lisp +++ b/src/clfswm.lisp @@ -150,12 +150,14 @@ (awhen (find-frame-window window) (display-frame-info it))) + (define-handler main-mode :configure-notify (window) (when (child-equal-p window *root*) - (place-frames-from-xinerama-infos) - (finish-configuring-root) - (show-all-children) - (call-hook *root-size-change*))) + (unless (null-size-window-in-frame *root-frame*) + (place-frames-from-xinerama-infos) + (finish-configuring-root) + (show-all-children) + (call-hook *root-size-change*)))) (defun error-handler (display error-key &rest key-vals &key asynchronous &allow-other-keys) ----------------------------------------------------------------------- Summary of changes: src/clfswm-internal.lisp | 10 ++++++++++ src/clfswm.lisp | 10 ++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sun Oct 21 19:47:20 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 21 Oct 2012 12:47:20 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-146-gbbeaf00 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 bbeaf00f5535328546f506995e429bb791050542 (commit) from b317f0fde0d41f049d76ecbc0fb3fb4c7aaff299 (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 bbeaf00f5535328546f506995e429bb791050542 Author: Philippe Brochard Date: Sun Oct 21 21:46:54 2012 +0200 load.lisp can download ASDF and CLX if needed diff --git a/contrib/wallpaper.lisp b/contrib/wallpaper.lisp index cccb982..8ffa75f 100644 --- a/contrib/wallpaper.lisp +++ b/contrib/wallpaper.lisp @@ -67,10 +67,8 @@ (setf ind (if (< ind len) (1+ ind) 0)))) (format str "~A" filename)))) (format t "~A~%" command) - (let ((output (do-shell command nil t))) - (loop for line = (read-line output nil nil) - while line - do (format t "~A~%" line))))) + (do-shell-output command))) + (defun create-wallpaper (filename &rest images) (format t "Creating wallpaper ~A from ~{~A ~}~%" filename images) diff --git a/load.lisp b/load.lisp index 2ab8436..916f8c2 100644 --- a/load.lisp +++ b/load.lisp @@ -22,26 +22,33 @@ ;;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ;;; ;;; -------------------------------------------------------------------------- +;;; +;;; Edit this file (or its copy) and load it with your lisp implementation. +;;; If you want, it can download ASDF and CLX for you. You'll need wget and +;;; git program. +;;; +;;; Here are command line reference: +;;; +;;; clisp -E iso-8859-1 load.lisp +;;; sbcl --load load.lisp +;;; cmucl -load load.lisp +;;; ccl -l load.lisp +;;; ecl -load load.lisp +;;; +;;; -------------------------------------------------------------------------- ;;;------------------ ;;; Customization part ;;;------------------ +(defparameter *interactive* t) + +;;; 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*) - -;;;;;; Uncomment lines above to build the default documentation. ;;(pushnew :clfswm-build-doc *features*) -;;;;; Uncomment the line below if you want to see all ignored X errors -;;(pushnew :xlib-debug *features*) - -;;;;; Uncomment the line below if you want to see all event debug messages -;;(pushnew :event-debug *features*) - - (defparameter *binary-name* "clfswm") (defparameter *install-prefix* "/tmp/usr/local") @@ -55,9 +62,29 @@ (defparameter *install-man* (with-prefix "/share/man/man1/")) +;;;;; Uncomment the line below if you want to see all ignored X errors +;;(pushnew :xlib-debug *features*) + +;;;;; Uncomment the line below if you want to see all event debug messages +;;(pushnew :event-debug *features*) + + #+:CMU (setf ext:*gc-verbose* nil) +#+:SBCL +(require :sb-posix) + +(load (compile-file "src/tools.lisp")) + +(defun load-info (formatter &rest args) + (format t "~& ==> ~A~%" (apply #'format nil formatter args)) + (force-output)) + +(defun interactive-ask (formatter &rest args) + (when *interactive* + (y-or-n-p (apply #'format nil formatter args)))) + ;;;------------------ ;;; XLib part 1 ;;;------------------ @@ -69,26 +96,54 @@ ;;; ASDF part ;;;------------------ ;;;; Loading ASDF +(load-info "Requiring ASDF") + #+(or :SBCL :CMUCL :CCL :ECL) (require :asdf) +#-ASDF +(when (probe-file "asdf.lisp") + (load "asdf.lisp")) + #-:ASDF -(load "contrib/asdf.lisp") +(let ((asdf-url "http://common-lisp.net/project/asdf/asdf.lisp")) + (when (interactive-ask "ASDF not found. Do you want to download it from ~A ?" asdf-url) + (tools:do-shell-output "wget ~A" asdf-url) + (load "asdf.lisp"))) +(format t "ASDF version: ~A~%" (asdf:asdf-version)) ;;;------------------ ;;; XLib part 2 ;;;------------------ +(load-info "Requiring CLX") + ;;; Loading clisp dynamic module. This part needs clisp >= 2.50 ;;#+(AND CLISP (not CLX)) ;;(when (fboundp 'require) ;; (require "clx.lisp")) +#-CLX +(progn + (when (probe-file "clx/clx.asd") + (load "clx/clx.asd") + (asdf:oos 'asdf:load-op :clx))) + +#-CLX +(progn + (let ((clx-url "git://github.com/sharplispers/clx.git")) + (when (interactive-ask "CLX not found. Do you want to download it from ~A ?" clx-url) + (unless (probe-file "clx/clx.asd") + (tools:do-shell-output "git clone ~A" clx-url)) + (load "clx/clx.asd") + (asdf:oos 'asdf:load-op :clx)))) ;;;------------------ ;;; CLFSWM loading ;;;------------------ #+:clfswm-compile -(asdf:oos 'asdf:load-op :clfswm) +(progn + (load-info "Compiling CLFSWM") + (asdf:oos 'asdf:load-op :clfswm)) ;;;------------------------- @@ -98,21 +153,27 @@ (in-package :clfswm) #+:clfswm-run -(ignore-errors - (main :read-conf-file-p t)) +(progn + (cl-user::load-info "Running CLFSWM") + (ignore-errors + (main :read-conf-file-p t))) ;;;------------------------- ;;; Building documentation ;;;------------------------- #+:clfswm-build-doc -(produce-all-docs) +(progn + (cl-user::load-info "Building documentation") + (produce-all-docs)) ;;;----------------------- ;;; Building image part ;;;----------------------- #+:clfswm-build-image -(build-lisp-image "clfswm") +(progn + (cl-user::load-info "Building CLFSWM executable image") + (build-lisp-image "clfswm")) ;;;----------------------- ;;; Installation part @@ -120,12 +181,6 @@ #+:clfswm-install (in-package :cl-user) -#+:SBCL -(require :sb-posix) - -#+:clfswm-install -(load (compile-file "src/tools.lisp")) - #+:clfswm-install (defun check-directory (dir) (format t "Checking ~A~%" dir) @@ -134,13 +189,14 @@ #+:clfswm-install (defun move-file (file where) - (format t "cp -R ~A ~A~%" file where) - (tools:fdo-shell "cp -R ~A ~A" file where)) + (format t "cp -Rf ~A ~A~%" file where) + (tools:do-shell-output "cp -Rf ~A ~A" file where)) #+:clfswm-install (progn + (load-info "Installing CLFSWM") (check-directory *install-prefix*) (check-directory *install-bin*) (check-directory *install-contrib*) @@ -152,7 +208,6 @@ (move-file "clfswm.1" *install-man*) (format t "Please, adjust *contrib-dir* variable to ~A in your configuration file.~%" *install-contrib*) (format t "Something like: (setf *contrib-dir* ~S)~%" *install-contrib*) - (sleep 0.5) - (tools:fdo-shell "rm -f ~A/clfswm.1.gz && gzip ~A/clfswm.1" *install-man* *install-man*) + (tools:do-shell-output "rm -f ~A/clfswm.1.gz && gzip ~A/clfswm.1" *install-man* *install-man*) (tools:uquit)) diff --git a/src/tools.lisp b/src/tools.lisp index 85252b8..f3920f7 100644 --- a/src/tools.lisp +++ b/src/tools.lisp @@ -95,7 +95,7 @@ :date-string :write-backtrace :do-execute - :do-shell :fdo-shell + :do-shell :fdo-shell :do-shell-output :getenv :uquit :urun-prog @@ -730,7 +730,11 @@ of the program to return. (defun fdo-shell (formatter &rest args) (do-shell (apply #'format nil formatter args))) - +(defun do-shell-output (formatter &rest args) + (let ((output (do-shell (apply #'format nil formatter args) nil t))) + (loop for line = (read-line output nil nil) + while line + collect line))) ----------------------------------------------------------------------- Summary of changes: contrib/wallpaper.lisp | 6 +-- load.lisp | 107 ++++++++++++++++++++++++++++++++++++------------ src/tools.lisp | 8 +++- 3 files changed, 89 insertions(+), 32 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sun Oct 21 20:51:42 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 21 Oct 2012 13:51:42 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-147-gc826cda 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 c826cda8acfb28836124042f45072da6af5b5252 (commit) from bbeaf00f5535328546f506995e429bb791050542 (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 c826cda8acfb28836124042f45072da6af5b5252 Author: Philippe Brochard Date: Sun Oct 21 22:51:36 2012 +0200 Load.lisp do not run clfswm by default diff --git a/load.lisp b/load.lisp index 916f8c2..900601f 100644 --- a/load.lisp +++ b/load.lisp @@ -44,14 +44,14 @@ ;;; Comment or uncomment the lines above to fit your needs. (pushnew :clfswm-compile *features*) -(pushnew :clfswm-run *features*) +;;(pushnew :clfswm-run *features*) (pushnew :clfswm-build-image *features*) ;;(pushnew :clfswm-install *features*) ;;(pushnew :clfswm-build-doc *features*) (defparameter *binary-name* "clfswm") -(defparameter *install-prefix* "/tmp/usr/local") +(defparameter *install-prefix* "/usr/local") (defun with-prefix (&rest place) (apply #'concatenate 'string *install-prefix* place)) ----------------------------------------------------------------------- Summary of changes: load.lisp | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager