Skip to content
ChangeLog 87.9 KiB
Newer Older
2012-10-08 Michael Raitza <spacefrogg-clfswm@meterriblecrew.net>

	* src/tools.lisp (n-rotate-list): Implementation ehancements (1/2 GC,
	2x speed).

2012-10-07  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/wallpaper.lisp (wallpaper): Handle no xinerama support
	case.

	* src/clfswm-internal.lisp (place-frames-from-xinerama-infos):
	Handle better no xinerama support case.
2012-10-04  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/wallpaper.lisp (generate-wallpaper): Force waiting the
	end of convert.
	(wallpaper): Open a notify window to wait wallpaper creation.
	* 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.

	* src/clfswm-internal.lisp (place-frames-from-xinerama-infos):
	Handle root screen resize on the fly when adding or removing a
	monitor.

	* src/clfswm-menu.lisp (open-menu): Show key bindings also for
	menu entry.

2012-10-03  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-menu.lisp (open-menu): Show key bindings
	correspondence in menu for main and second mode.

	* src/clfswm.lisp (main-loop): Reset X error count only once for
	all loops.

2012-10-02  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/xlib-util.lisp (handle-event): Ignore synchronous xlib
	window-error and drawable-error in event handler.

	* contrib/clfswm: Dump different image from different installation
	path.

2012-09-30  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm.lisp (configure-request handler): Send a
	configuration notify event in a more precise way.

2012-09-29  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/xlib-util.lisp (with-xlib-protect): Limit X errors ignored
	to prevent freezes and add a backtrace system.

2012-09-23  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm.lisp (configure-request handler): To be ICCCM
	compliant, send a fake configuration notify event only when the
	window has moved and not when it has been resized.

Philippe Brochard's avatar
Philippe Brochard committed
2012-09-21  Philippe Brochard  <pbrochard@common-lisp.net>

	* Relase 1209

2012-09-09  Philippe Brochard  <pbrochard@common-lisp.net>

Philippe Brochard's avatar
Philippe Brochard committed
	* src/clfswm-internal.lisp
	(delete-child-and-children-in-all-frames): Remove all children in
	frames and only close windows.

	* src/*.lisp: Remove uneeded with-xlib-protect.

2012-09-06  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/wallpaper.lisp (wallpaper): create/use-background
	simplification function.

2012-09-05  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/wallpaper.lisp: New functionality to handle backgrounds
	on differents screen heads.

	* contrib/toolbar.lisp (toolbar-adjust-root-size): Takes care of
	multiple toolbar on the same root edge.

2012-09-04  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp (show-all-children): Hide only children
	hidden by normal windows or frames (but not :dialog,
	:transient...).
	(process-new-window): Remove borders for maxsize windows.
	(show-all-children): Let the choice to always display children or
	to optimize by hidding children not seen . The first option is
	better with transparency support (frames behind orther frames are
	seen). The second one is faster with many children in the same
	frame (not seen children are not displayed).
2012-08-31  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/xlib-util.lisp (with-xlib-protect): Handle all Xlib errors
	for better code protection.

2012-08-28  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-expose-mode.lisp (expose-query-key-press-hook): Add
	an option to immediately select child if they can be directly
	accessed.

2012-08-25  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/volume-mode.lisp: Add mouse buttons actions in volume
	mode. Add a volume button toolbar module.

2012-08-24  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/mpd.lisp: New toolbar modules (available only if
	toolbar.lisp is loaded).
	Add a small parameter for toolbar modules useful with vertical
	toolbars.
2012-08-21  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/reboot-halt.lisp: Add configuration command for system
	actions.

	* contrib/toolbar.lisp (toggle-toolbar-hide-state): New function.

2012-08-20  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp (add-in-never-managed-window-list): New
	function.

2012-08-20  Philipp Kroos  <philipp.kroos@t-online.de>

	* src/clfswm-placement.lisp (here-placement): Evaluates to current
	position of pointer.

2012-08-20  Philipp Kroos  <philipp.kroos@t-online.de>

	* contrib/toolbar.lisp: Add an expose-mode-button-module.

2012-08-19  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/toolbar.lisp (remove-toolbar): New function.

2012-08-18  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/toolbar.lisp: Add configurable colors in toolbar
	modules.

2012-08-16  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/tools.lisp: Factorize system usage information collection.
	(start-system-poll): Use a lock file instead of a local variable.
	* contrib/toolbar.lisp: Add memory, cpu and battery usage module
	with a poll methode. More responsive but up to date every 10s by
	default.

2012-08-15  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/toolbar.lisp: Add a clickable label module for toolbar.
	Add a clickable entry to open the CLFSWM main menu.
	Add memory, cpu and battery usage module.

	* src/clfswm-menu.lisp (open-menu): Prevent to reopen an opened
	menu. Fixe a but with negative selected-item.

2012-08-14  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-util.lisp (eval-from-query-string): Show a notify
	window when updating symobls list for REPL completion.
	(show-current-root): New function and configuration menu to
	display a message on the current root.
	* contrib/toolbar.lisp: Add arguments in toolbar modules.

	* src/xlib-util.lisp (event-hook-name): Intern hook name symbol
2012-08-13  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/toolbar.lisp (toolbar-module-text): Print a formatted
	text at module position centered in toolbar.

	* src/xlib-util.lisp (optimize-event-hook): Remove unused event
	hooks.

2012-08-12  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/toolbar.lisp: End of toolbar framework.
	(list-toolbar-modules): Add a list toolbar modules function.
2012-08-03  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp (show-child): Show unmanaged windows
	on (maybe) current child in all roots.

	* src/clfswm-util.lisp (find-child-under-mouse-in-child-tree):
	Handle children from all roots instead of from  *root-frame*.

2012-07-23  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-expose-mode.lisp: New expose mode based on standard
	query input.

2012-06-27  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-util.lisp (eval-from-query-string): Add completion
	for eval for query string.

2012-06-26  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-query.lisp: Add completion for shell commands.

2012-06-18  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-placement.lisp: Each child can have its own border
	size. New binding to change the child border size on the fly.

2012-06-08  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/tools.lisp (process-timers): Call get-internal-real-time
	only once for all times.

2012-06-07  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/toolbar.lisp (define-toolbar-hooks): Add auto-hide
	clickable toolbar.
	(define-toolbar-hooks): Add auto-hide toolbar (show/hide on mouse
	motion event).
2012-06-06  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/xlib-util.lisp (handle-event): Add an additional hook event
	system to handle events in contrib code.

2012-06-03  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-placement.lisp: Add an optional border size in all
	placement functions.

2012-05-30  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/toolbar.lisp (clock): Add a clock module.

2012-05-28  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/toolbar.lisp: begining of toolbar support.

2012-05-24  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp (rotate-root-geometry): Do not use
	rotatef but a simpler algorithm.

2012-05-19  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-placement.lisp: Adjust width and height in child and
	root placement to prevent too big child size.

2012-05-18  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-placement.lisp: New root placement possibility.

	* src/clfswm-util.lisp (change-current-root-geometry): New
	function.

2012-05-17  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-util.lisp (exchange-root-geometry-with-mouse): New
	function and menu.

2012-05-16  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/menu-def.lisp: New root menu.

2012-05-15  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-circulate-mode.lisp (rotate-root-geometry-next)
	(rotate-root-geometry-previous): New second mode binding to change
	root geometry.

2012-05-13  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp: Remove the *current-child* variable
	and use a setfable function (current-child) instead.
	(current-child-setter): Store root current child before apllying
	current child change.
2012-05-09  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp: Use xdpyinfo/xinerama informations
	instead of xrandr informations.

2012-05-06  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp : Use only one list for root
	management.
	(*root*): Root management API simplification.
2012-04-30  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp: Big change to replace *current-root*
	variable to support multiple root.

2012-04-18  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/tools.lisp (add-new-hook, add-hook): New macro. Do not
	duplicate hooks by default. Use add-new-hook if you want to
	duplicate them.

2012-04-16  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-corner.lisp (wait-window-in-query-tree): Add a limit
	of try to wait the command window.

2012-02-25  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-util.lisp (place-frames-from-xrandr)
	(swap-frame-geometry, rotate-frame-geometry): New helper functions
	for multiple physical screen.
	(jump-to-slot, add-frame-in-parent-frame): Change *current-root*
	only when needed.
2012-01-18  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/*.lisp: Use create-symbol and create-symbol-in-package
	instead of the shorter symb. (Thanks Aad Versteden).

	* src/bindings-second-mode.lisp (set-default-second-keys): New
	key binding to set window and frame transparency.

	* src/bindings.lisp (set-default-main-mouse): New mouse binding to
	set window and frame transparency.

	* src/clfswm-keys.lisp (define-keys): New macro to ease multiple
	keys definitions. (Thanks Valentin Plechinger for the request).

	* src/*.lisp: Add full transparency support with xcompmgr.

2012-01-14  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/*.lisp: Add transparency support.

2012-01-09  Ales Guzik <ales.guzik@gmail.com>

	* src/clfswm-layout.lisp (tile-layout-mix): New layout to
	automatically choose between vertival and horizontal tile layout.
	(tile-space-layout): Fix to have space between screen border and
	frame the same as between frames.

2012-01-04  Philippe Brochard  <pbrochard@common-lisp.net>

	* load.lisp: Support clisp 2.49+ module system to load CLX.

2012-01-04  Ales Guzik <ales.guzik@gmail.com>

	* src/clfswm-layout.lisp (update-layout-managed-children-keep-position):
	Fix an inattention error.

2012-01-04  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/xlib-util.lisp (with-xlib-protect): Protect from
	xlib:lookup-error. This prevent an error in clisp/new-clx when
	sometimes an xlib:colormap is expected instead of an xlib:window.

2012-01-03  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/xlib-util.lisp (handle-event): Fix a clisp/new-clx error
	when sometimes window slot of event-slots is a pixmap instead of a
	window.

2011-12-26  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-query.lisp: Fill the history list with a non-nil
	value.

2011-12-25  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/package.lisp (make-x-drawable): Drawable wrapper to prevent
	type error in some CLX versions.
	Replace xlib:drawable-* functions with x-drawable-* equivalents

2011-12-14  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-util.lisp (um-create-xdg-section-list): Add at least
	the 'Utility menu entry.

	* src/config.lisp (*xdg-section-list*): moved to config.lisp.

	* src/clfswm-util.lisp (update-menus): Set a default value for
	searching .desktop files when XDG_DATA_DIRS is not set.

2011-10-15  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp (place-window-from-hints): Use
	with-placement macro to place unmanaged windows in an arbitrary
	place.

2011-06-16  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp (clean-windows-in-all-frames): Prevent
	current root and current child being equal to child.

2011-06-13  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/keysyms.lisp: Repeat Page_Down/Up keysym definitions at the
	end of the file to change keysyms priority.

Sylvain HENRY's avatar
Sylvain HENRY committed
2011-06-13  Sylvain HENRY <hsyl20@gmail.com>

	*  *.*: Minor spelling fix.

2011-06-12  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm.lisp (:unmap-notify, :destroy-notify): Show all
	children just after the xlib tree cleanup -> reduce the
	flickering when a window is deleted or destroyed.

	* src/clfswm-internal.lisp (process-existing-windows): Do not
	process the notify window.

2011-06-08  Philippe Brochard  <pbrochard@common-lisp.net>

	* *: **** Release 1106 ****

Philippe Brochard's avatar
Philippe Brochard committed
2011-06-08  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp (clean-windows-in-all-frames): New
	function to prevent xlib error when a window is deleted.
Philippe Brochard's avatar
Philippe Brochard committed

2011-06-08  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp
	(delete-child-and-children-in-all-frames): Delete or destroy
	children before displaying all children.

2011-06-05  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-util.lisp (add-frame-in-parent-frame): New function
	and binding.

2011-06-04  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm.lisp (main-unprotected): Destroy all frames windows
	before closing the display (not really needed).

2011-06-02  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-layout.lisp (inc-tile-layout-size)
	(dec-tile-layout-size, inc-slow-tile-layout-size)
	(dec-slow-tile-layout-size): New functions and bindings.

2011-06-01  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-expose-mode.lisp (define-expose-letter-keys): Add
	0..1 and A..Z keys to select a child in expos mode.

	* src/clfswm-internal.lisp (display-frame-info): Remove hidden
	infos in frames windows.

	* src/clfswm-util.lisp (ask-close/kill-current-window): Menu
	update.

2011-05-30  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp (get-parent-layout): Minor fullscreen
	size tweaking.

2011-05-29  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp
	(delete-child-and-children-in-all-frames): Show all children
	before deleting/destroying a windows, so prevent a flickering.
	(get-parent-layout): Return the fullscreen size when the current
	root is a window.
2011-05-28  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp (get-parent-layout): Handle correctly
	unmanaged windows.

	* src/clfswm-util.lisp (delete-focus-window-generic): Do not hide
	child before removing, so prevent a flickering.

	* src/clfswm-internal.lisp (show-all-children): Rectangular
	optimization to display only needed children.
	(show-all-children): Remove flickering on
	select-next/previous-brother.
2011-05-17  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-util.lisp (copy-focus-window, cut-focus-window): New
	functions and ask-close/kill-current-window menu and bindings
	entry.

2011-05-16  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-util.lisp (ask-close/kill-current-window): Add an
	*ask-close/kill-placement* placement window variable.

2011-05-09  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/osd.lisp (funcall-button-from-code): Display osd
	documention for buttons and fix some redefining warnings.

2011-05-07  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-nw-hooks.lisp (make-permanent-nw-hook-frame): New
	function. Prevent to add or delete a new window hook for this
	frame.

	* src/clfswm-layout.lisp (update-layout-managed-children-position):
	New function.

2011-05-06  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/bindings-second-mode.lisp (set-default-second-keys):
	select-brother-spatial-move-* binding update.

	* src/clfswm-layout.lisp (tile-left|right|top|bottom-layout): Ask
	to keep children positions or not.

	* src/clfswm-internal.lisp (fixe-real-size): Takes care of border
	size.

	* src/clfswm-layout.lisp (update-layout-managed-children): Fix a
	bug by using the parent frame instead of the current child.

	* src/clfswm-circulate-mode.lisp
	(select-brother-generic-spatial-move+right/left/up/down): New
	function to select a brother from another in a spatial move.

2011-04-19  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-pack.lisp (move-frame-constrained)
	(resize-frame-constrained): Use pixels instead of floating
	measure.

2011-04-18  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-pack.lisp (resize-frame-constrained): Takes care of
	border size.
	(implode-frame, implode-current-frame): New functions. Absorb all
	frames subchildren in frame. Explode frame opposite.
2011-04-17  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-pack.lisp (move-frame-constrained)
	(resize-frame-constrained): New function. Move and resize frame
	with the mouse constrained by other frame brothers.

	* src/clfswm-util.lisp (with-movement-select-next-brother)
	(with-movement-select-previous-brother)
	(with-movement-select-next-child): Use a simple method (do not
	enter in the circulate mode) to allow to circulate in all children
	or brothers.

	* src/clfswm-menu.lisp (open-menu): Save info hash table keys
	instead of deleting newly created keys.

2011-03-21  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp (x-px->fl, y-px->fl): Takes care of
	border size.

2011-03-20  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-info.lisp (show-config-variable): call
	produce-conf-var-doc.

2011-03-18  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-autodoc.lisp (produce-conf-var-doc-html): Produce a
	documentation for all configurable variables in CLFSWM -
	HTML version.

	* src/clfswm-internal.lisp (leave-frame): Hide all children except
	the current window.

	* src/clfswm-autodoc.lisp (produce-all-docs): Produce a
	documentation for all configurable variables in CLFSWM.

	* src/clfswm-layout.lisp (set-gimp-layout): Display a notify
	window with the help on the GIMP layout.

2011-03-12  Philippe Brochard  <pbrochard@common-lisp.net>

Philippe Brochard's avatar
Philippe Brochard committed
	* src/menu-def.lisp: Menu update to prevent cursor keys clash.

	* clfswm.asd: Change compilation order to prevent undefined
	variables.

	* src/clfswm-internal.lisp (show-child(frame)): Handle properly
	the show-root-frame-p parameter.

2011-03-11  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-util.lisp (move-frame, resize-frame): Do not move or
	resize a frame when it's the current root.

2011-03-10  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp (show-all-children): Handle properly
	duplicated child in multipe frames.

2011-03-09  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/volume-mode.lisp (set-default-volume-keys): Add more
	keybindings (up/down, right/left) to raise/lower the volume.

	* src/clfswm-layout.lisp: Add a variable border size for frames
	and windows.

2011-03-08  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-util.lisp (cut-current-child, remove-current-child)
	(delete-current-child): Hide the current child before doing the
	action.

	* src/clfswm-internal.lisp (show-all-children): Hide windows not
	in the current root before displaying those in current root.
	Remove all hide-all unnecessary calls.

	* src/clfswm-configuration.lisp (save-variables-in-conf-file):
Sylvain HENRY's avatar
Sylvain HENRY committed
	Save only variables with a different value than their original
2011-03-07  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-info.lisp (show-config-variable): Use the new
	defconfig method.

	* src/clfswm-autodoc.lisp (produce-configuration-variables): Use
	the new defconfig method.

	* src/clfswm-configuration.lisp (create-configuration-menu):
	Change the config system with a more lispy one and a less string
	based one: (defconfig name value group doc).


2011-03-06  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp (show-all-children): Simplify the
	selection method.
	(show-child): Display an unmanaged window whe  it's the current
	child.
	(show-all-children): add the ability to display all child from
	*root-frame* and hide all those who are not in *current-root*.
	-> remove hide-all-children when needed.
	* src/xlib-util.lisp (move-window,resize-window): Add a
	*color-move-window* border when moving or resizing a window.

2011-03-04  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp (show-all-children): Perform only one
	recusion on the clfswm tree: calculate geometry and place child in
	one pass.

2011-03-03  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp (show-all-children): Rethink of display
	child order to prevent very annoying flickering.

2011-02-27  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-util.lisp (query-yes-or-no): New function.

	* src/clfswm-configuration.lisp (reset-all-config-variables): New
	function and menu entry.
	(query-conf-value): Add the ability to leave the field blank to
	reset the variable to its default value.
2011-02-26  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-configuration.lisp
	(add-all-configuration-default-value): Add a default value to
	configurable variables.

2011-02-23  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm.lisp (main-unprotected): Create the configuration
	menu only once at startup.

2011-02-22  Desmond O. Chang <dochang@gmail.com>

	* contrib/amixer.lisp: Add a volume mode inspired by the emms
	volume package. Alsa mixer interface.

	* contrib/volume-mode.lisp: Add a volume mode inspired by the emms
	volume package.

2011-02-22 Desmond O. Chang <dochang@gmail.com>

	* src/clfswm.lisp (main): Use ASDF:SYSTEM-SOURCE-DIRECTORY instead
	of *LOAD-TRUENAME*. *LOAD-TRUENAME* is only bound during a call to
	LOAD. If one eval CLFSWM:MAIN in repl, BASE-DIR will be an empty
	string. Use ASDF:SYSTEM-SOURCE-DIRECTORY to fix it.

2011-02-16  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm.lisp (main-unprotected): Add a close hook. And close
	the notify window, the virtual keyboard and the clfswm terminal by
	default.

2011-02-15  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm.lisp (main-unprotected): Destroy the notify window
	before closing the display. This fix a bug when resetting/reloading
	clfswm.

2011-02-12  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/xlib-util.lisp (equal-wm-class-fun, equal-wm-name-fun)
	(raise-window-fun, raise-and-focus-window-fun): New functions.

	* src/config.lisp (*clfswm-terminal-cmd*): Switch from xterm to
	urxvt.
	(*never-managed-window-list*): Structure change to be more
	flexible. Let the choice to focus, raise and do nothing on never
	managed windows.

2011-02-09  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-util.lisp (mouse-focus-move/resize-generic): Take
	care of never managed windows to move or resize them if the raise
	parameter is true.

	* src/clfswm-internal.lisp (in-frame, in-window, in-child): New
	functions.

2011-02-08  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm.lisp (main-mode): Raise or not unmanaged windows
	following request in *never-managed-window-list*.

2011-02-05  Philippe Brochard  <pbrochard@common-lisp.net>

	* *: **** Release 1102 ****

2011-02-05  Desmond O. Chang <dochang@gmail.com>

	* src/keysyms.lisp: Add extended keysyms from stumpwm.

2011-02-01  Desmond O. Chang <dochang@gmail.com>

	* src/clfswm-util.lisp (run-or-raise): New function (thanks to
	Desmond O. Chang).

	* src/clfswm-internal.lisp (with-all-*): add a nil block.

2011-01-28  Desmond O. Chang <dochang@gmail.com>

	* src/clfswm-util.lisp (xdg-config-home): XDG_CONFIG_HOME should
	be $HOME/.config by default.

2010-12-29  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/osd.lisp (display-doc): Add another method where a
	CLFSWM native window is used to display the key documentation.

2010-12-27  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/xlib-util.lisp (with-xlib-protect): Force to revert to the
	main mode state.

2010-12-25  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-second-mode.lisp (second-key-mode): Call the second
	mode leave function only when the generic mode was ended.

2010-12-08  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-second-mode.lisp (sm-leave-function): Do not use
	*second-mode-program* anymore.

2010-12-07  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-second-mode.lisp (*second-mode-leave-function*): New
	variable bound to a function executed (when not null) on second
	mode leaving.

2010-11-14  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-util.lisp (find-child-under-mouse): Do not find
	hidden windows.

2010-11-13  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-expose-mode.lisp (expose-mode-display-accel-windows):
	Do not display the accel window for unmanaged windows.

2010-11-11  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp (set-current-root): Handle
	window-parent in set-current-root.

	* src/clfswm-util.lisp (mouse-click-to-focus-generic): Do not
	focus the parent child when the current root is a window.

2010-11-09  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-expose-mode.lisp (expose-windows-current-child-mode):
	New function an bindings.

	* src/clfswm-layout.lisp (tile-layout, set-tile-layout): Fill
	blanks if needed.

2010-11-07  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-layout.lisp (tile-layout-ask-keep-position): New
	function to let the user choose to keep child position with
	tile layout.

	* src/clfswm-internal.lisp (remove-frame-data-slot): New
	function.

2010-11-05  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp (frame-select-next-child)
	(frame-select-previous-child): New functions and bindings. Select
	the next/previous child in the current frame.

2010-10-31  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-query.lisp (query-mode-complet): New function: Handle
	completion in query-mode.

2010-10-30  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-query.lisp (query-print-string): Handle long lines
	correctly.

2010-10-27  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-expose-mode.lisp (expose-create-window): Ensure that
	all characters are printable.

2010-10-25  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/server/server.lisp: Load clfswm client code in the main
	program and let the user start it with a --client command line
	option.

	* src/package.lisp (*main-entrance-hook*): New hook executed after
	loading configuration file and before opening the display.

2010-10-23  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/xlib-util.lisp: Remove unnecessary xlib:display-finish-output.

	* src/clfswm-internal.lisp (show-child): Show window only if not
	hidden.

	* src/clfswm-keys.lisp (binding-substitute-modifier): Utility to
	change modifiers after binding definition.

2010-10-21  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/osd.lisp: New file: OSD (On Screen Display) for
	presentations.

	* src/clfswm-menu.lisp (open-menu): Modularise function.

2010-10-13  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-info.lisp (show-first-aid-kit): Display the essential
	key binding in main and second mode.

2010-10-10  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-util.lisp (open-notify-window): Convert hello-window
	functions to a more generic Notify-window system.

	* src/tools.lisp (add-timer): Add an id to identify the timer.

2010-10-09  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/tools.lisp (erase-timer): New function.

	* src/clfswm-util.lisp (display-hello-window): Add a timer to hide
	the hello window. Add Configuration variables.

2010-10-08  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-util.lisp (): Add an Hello window at startup.

	* src/tools.lisp (process-timers): Add a timer system.

2010-10-07  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-query.lisp (add-in-query-string): Handle correctly
	the mod-5 modifier.

2010-10-06  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-query.lisp (query-print-string): Change cursor color
	and show parenthesis matching with colors (on match and on
	errors).

2010-10-05  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-internal.lisp (show-all-children): Do not raise a
	child when its parent is hidden.

2010-10-02  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-circulate-mode.lisp (select-next-subchild): Add the
	possibility to circulate over subchild of the current child.

	* src/clfswm-expose-mode.lisp (expose-all-windows-mode)
	(expose-windows-generic): Add an escape-body function to return to
	the original state on escape key.

	* src/clfswm-util.lisp (bind-on-slot): Add an optional parameter
	to bind the current child from the configuration file.

2010-10-01  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-nw-hooks.lisp (absorb-window-nw-hook): Absorb new
	window hook: the frame absorb all new windows that match
	nw-absorb-test frame data slot.

2010-09-30  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-expose-mode.lisp (expose-create-window): Show window
	title in accel window.

2010-09-29  Philippe Brochard  <pbrochard@common-lisp.net>

	* configure: Use the Xavier Maillard clfswm script in contrib to
	build an executable in the standard way.

2010-09-26  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-expose-mode.lisp (expose-mode-display-accel-windows):
	New functions. Add a window on each child in the expose mode to
	quickly select them.

	* src/clfswm-internal.lisp (child-x, child-y, child-width)
	(child-height): New methods to get real child coordinates.

2010-09-25  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-layout.lisp (*-layout): Use child-position.

	* src/clfswm-internal.lisp (child-position): New function.

	* src/clfswm-expose-mode.lisp (expose-windows-mode)
	(expose-all-windows-mode): Use a generic mode.

	* src/xlib-util.lisp (with-handle-event-symbol): Use a filled list
	with handle-event-fun symbols instead of inspecting clfswm
	internals symbols on each mode change.

	* src/clfswm-expose-mode.lisp: Move and rename present*-windows in
	a separate clfswm-expose-mode.lisp file.

	* src/clfswm-util.lisp (speed-mouse-right, speed-mouse-down): Use
	screen size instead of hardcoded test coordinates.

2010-09-24  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-util.lisp (speed-mouse-reset, speed-mouse-left)
	(speed-mouse-right, speed-mouse-up, speed-mouse-down)
	(speed-mouse-undo, speed-mouse-first-history): New functions to
	quickly move the mouse. Implemented for the second mode.

2010-09-16  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/clfswm: Move clfswm sources to $tmp_dir if there is no
	write permission on $clfswm_asd_path. So anybody can start clfswm
	even if there is no write permission on the source directory.

2010-09-12  Philippe Brochard  <pbrochard@common-lisp.net>

	* contrib/clfswm: Add support to cmucl, ccl and ecl.

2010-09-11  Philippe Brochard  <pbrochard@common-lisp.net>

	* src/clfswm-util.lisp (set-hide-unmanaged-window)
	(set-show-unmanaged-window, set-default-hide-unmanaged-window):
	New functions and menu entry.
	(set-globally-hide-unmanaged-window)
	(set-globally-show-unmanaged-window): New functions and menu
	entry.

	* src/clfswm-internal.lisp (hide-unmanager-window-p): New
	function.
	(show-child): Add a data slot on frame to hide or not unmanaged
	windows.

	* src/clfswm-corner.lisp (present-clfswm-terminal)