2010-12-07  Michele Noberasco  <michele.noberasco@tiscali.it>

	Made qingy work with PAM consolekit.
	Set version as 1.0 (finally).

2009-05-11  Michele Noberasco  <michele.noberasco@tiscali.it>

	* configure.in,
	* src/libraries/session.c (Graph_Login):
	Reverted change in stdin management that interfered with DBus.

2008-11-27  Michele Noberasco  <michele.noberasco@tiscali.it>

	* TODO:
	Finally removed something from TODO list!

	* media/qingy-mode.el,
	* src/DirectFB/directfb_mode.c,
	* src/libraries/parse_settings.y,
	* src/libraries/scan_settings.l,
	* src/libraries/load_settings.c (initialize_variables),
	* src/libraries/load_settings.h,
	* media/default/theme:
	Made several message timeouts user configurable in theme file.

2008-11-27  Michele Noberasco  <michele.noberasco@tiscali.it>

	* media/qingy-mode.el,
	* src/DirectFB/directfb_mode.c,
	* media/default/theme,
	* src/libraries/parse_settings.y,
	* src/libraries/scan_settings.l,
	* src/libraries/load_settings.h,
	* src/libraries/load_settings.c:
	Made GUI messages user definable in theme file.

2008-11-26  Michele Noberasco  <michele.noberasco@tiscali.it>

	* media/qingy-mode.el,
	* src/DirectFB/directfb_mode.c,
	* src/libraries/parse_settings.y,
	* src/libraries/scan_settings.l,
	* src/libraries/load_settings.h,
	* src/libraries/load_settings.c:
	Working on making GUI messages user definable in theme file.

	* src/libraries/load_settings.h,
	* src/libraries/load_settings.c:
	Prevent qingy from crashing in case of error when parsing
	settings files: revert to text mode instead.

	* media/qingy-mode.el:
	Added a bunch of new stuff to emacs qingy mode.

2008-11-25  Michele Noberasco  <noberasco@zirak.it>

	* src/libraries/scan_settings.l,
	* src/libraries/parse_settings.y,
	* media/Makefile.am,
	* src/main.c,
	* src/libraries/misc.c,
	* src/libraries/misc.h,
	* src/libraries/load_settings.h,
	* src/libraries/load_settings.c:
	Added feature, disabled by default, to check current runlevel
	to prevent qingy from showing its GUI or starting a session
	during a system shutdown or restart.

	* src/main.c,
	* src/libraries/session.c:
	Improved qingy main process and GUI communication. Now login times
	in case of correct authentication are reduced...
	Patch proposed by Florent Bondoux <florent.bondoux@resel.fr>

	* src/libraries/memmgmt.h:
	Fixed some warnings on x86-64.
	Patch proposed by Florent Bondoux <florent.bondoux@resel.fr>

	* src/libraries/load_settings.c,
	* src/libraries/load_settings.h, 
	* src/libraries/scan_settings.l,
	* src/libraries/parse_settings.y, 
	* media/Makefile.am:
	Removed need of password to autologin feature.
	Patch proposed by Florent Bondoux <florent.bondoux@resel.fr>

	* src/libraries/logger.c (log_stderr),
	* src/libraries/vt.h,
	* src/libraries/vt.c:
	Cleaned up file descriptor management.
	Patch proposed by Florent Bondoux <florent.bondoux@resel.fr>

2008-11-24  Michele Noberasco  <noberasco@zirak.it>

	* src/DirectFB/directfb_mode.c,
	* src/DirectFB/objects/combobox.h,
	* src/DirectFB/objects/combobox.c:
	Fixed bug, found by 'Tom', that made qingy sometimes improperly
	set focus to both session and username (or password) fields.

2008-07-08  Michele Noberasco  <noberasco@zirak.it>

	* losta_files:
	No longer try to create /etc/X11/Sessions if it was not found

2007-10-15  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/load_settings.c (load_settings),
	* src/DirectFB/directfb_mode.c (handle_keyboard_event):
	Fixed a couple of bugs that trigger if user chooses not to compile
	screensavers support.

2007-06-29  Michele Noberasco  <michele.noberasco@tiscali.it>

	* media/Makefile.am (settings):
	Added -br to default X args...

2007-04-26  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/session.c (add_escapes):
	Added quoting for file names with tabs in them (unlikely).

2007-03-21  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/tty_guardian.c,
	* src/libraries/tty_guardian.h,
	* src/libraries/session.c (Graph_Login),
	* media/qingy-mode.el,
	* src/libraries/parse_settings.y,
	* src/libraries/load_settings.c (initialize_variables),
	* src/libraries/load_settings.h,
	* src/libraries/scan_settings.l, 
	* media/Makefile.am (settings):
	Added support for selecting whether to start the X server in the same
	tty qingy is running in (default for qingy), or in an unused one (default for startx).

2007-03-09  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/session.c:
	Added debug information for program invocation in text sessions.
	Added proper escaping for session names, removed quoting around them.

2007-03-08  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/session.c (shell_base_name):
	Fixed bug that made shells other that zsh be invoked with a double '-';
	that is --bash instead of -bash, which is the correct form for login
	shell invocation.

2007-03-06  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/main.c:
	Modified so that it no longer calls an external utility to reset the console,
	calling instead the reset_console() function and telling it to do its stuff
	in a separate process, so that it does not bork the terminal status of the
	main process. Also, wiped out all code that (tried to) kill the GUI when it
	thought it had hanged.

	* src/libraries/vt.h,
	* src/libraries/vt.c (reset_console):
	Modified this function so that it calculates internally its destination tty,
	added a parameter to decide whether it should fork() before resetting the terminal.

2007-02-13  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/main.c (start_up),
	* src/DirectFB/directfb_mode.c (close_framebuffer_mode):
	Little fixes...

	* src/main.c (start_up):
	Increased qingy GUI status polling time. Also, we now make our best
	attempts to let our GUI shut itself down cleanly before killing it.

	* src/libraries/session.c:
	Detached qingy from its controlling tty when starting sessions.

2007-01-17  Michele Noberasco  <michele.noberasco@tiscali.it>

	* configure.in,
	Tagged version as 0.9.6.

	* media/screensavers/Makefile.am (SUBDIRS),
	* media/screensavers/matrix:
	Wiped out matrix screensaver as it used a font with licensing issues.

	* src/main.c (start_up),
	* src/libraries/vt.c,
	* src/libraries/vt.h:
	Commented out keyboard status stuff to make a release.

	* src/libraries/logger.c (file_logger_process):
	Made stderr logger process shut itself down when its father dies...

2007-01-16  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/main.c (start_up),
	* src/libraries/vt.h,
	* src/libraries/vt.c (get_keyboard_status):
	Added some code to get keyboard status (numlock, capslock, ...)
	before entering DirectFB mode (which resets the status to its
	own liking). Later I'll implement restoring this status
	when DirectFB mode shuts down.

	* src/libraries/session.c (Text_Login, Graph_Login):
	Changed again the way qingy fires up the shell: now it
	is started as a login shell regardless of the session type, 
	text or graphic, pure shell of program...

2007-01-15  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/logger.c: 
	Made stderr logger have its own process instead of a thread...

	* src/libraries/vt.c (get_active_tty):
	dinamically calloc a previously statically-callocated variable so that
	hardened systems do not complain about unitialized memory...

2007-01-12  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c: 
	* src/libraries/logger.c:
	redirecting stderr to our logging facilities breaks DirectFB, disabled
	it while I search for a solution...

2007-01-02  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/session.c (get_sessions):
	Made qingy not shot hidden entries when picking up stuff from session dirs...

	* media/screensavers/photos/photos.c:
	Made photos screensaver keep a list of recently displayed
	photos so that it is less likely for it to show the same photos
	twice...

2006-12-22  Michele Noberasco  <michele.noberasco@tiscali.it>

	* media/default/theme:
	Fixed mouse cursors hotspots.

	* src/DirectFB/objects/textbox.c:
	Made timing better for text cursor repositioning change below.

	* configure.in:
	Tagged version as 0.9.5.

	* src/DirectFB/objects/textbox.c:
	Made textbox mouse clicks position the text cursor according
	to where in the text the user clicked.

2006-12-21  Michele Noberasco  <michele.noberasco@tiscali.it>

	* media/default/*: 
	Changed default theme to provide a variety of cursors.

2006-12-15  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/session.c:
	Rationalized when to start a shell as a login shell or not.
	
	* src/libraries/session.c (Graph_Login):
	Fixed an issue with dbus and gnome 2.6.16.

	* losta_files: 
	Made custom cursor work for all kinds of window except labels.

2006-11-21  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c,
	* src/DirectFB/objects/button.c, 
	* src/libraries/load_settings.h,
	* src/libraries/load_settings.c,
	* src/libraries/parse_settings.y,
	* src/libraries/scan_settings.l,
	* src/DirectFB/objects/button.h: 
	Made qingy load and display correctly the global theme
	cursor. Window-specific cursors information is parsed
	correctly but not applied yet.

	Improved and rationalized qingy image loading capabilities.

2006-11-20  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c,
	* src/libraries/load_settings.h,
	* src/libraries/load_settings.c (initialize_variables),
	* src/libraries/parse_settings.y,
	* src/libraries/scan_settings.l:
	Adding support for mouse cursor setup in themes...
	right now you can choose whether to display the
	cursor by putting mouse_cursor = yes/no in main
	section of config file. Default is to show
	the cursor...

2006-11-16  Michele Noberasco  <michele.noberasco@tiscali.it>

	* media/pam/gentoo/qingy:
	Updated qingy PAM file for Gentoo.

2006-11-10  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/session.c:
	Fixed zsh not being invocated as a login shell.
	
	* configure.in: 
	Tagged version as 0.9.4.

2006-10-24  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/crypto_openssl.c:
	Fixed qingy compilation in case user chooses openssl encryption.

	* media/sessions/Makefile.am:
	Made emacs session script to be installed only if emacs
	stuff is enabled in ./configure

2006-10-12  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/logger.c,
	* src/DirectFB/directfb_mode.c,
	* src/Makefile.am,
	* src/reset-console.c,
	* src/libraries/load_settings.c,
	* src/libraries/load_settings.h, 
	* src/main.c:
	It works. I put it into an external util and now call
	it everytime DirectFB mode should be shut down.
	Didn't experience a single hang so far.

	Fixed bug that made qingy GUI crash if console was
	not chosen as a logging capability.

2006-10-05  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/main.c (start_up):
	My code to reset console does not always work reliably. Moving
	it to an external utility and calling it in a different way
	seems to help. It it keeps working I'll commit this...

2006-10-03  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/session.c (get_sessions):
	Added some code to get available X sessions for those
	distros that do not save them...

2006-09-20  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c,
	* src/main.c,
	* src/libraries/vt.c:
	DirectFB mode still hangs from time to time... Now I'm trying to kill
	qingy-DirectFB inconditionally after getting the action...

2006-09-20  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/main.c: 
	* src/libraries/vt.h (reset_console): 
	* src/libraries/vt.c (reset_console): 
	* configure.in: 
	Since shutting DirectFB mode down sometimes fail, due to the fact that
	DirectFB itself may hang somewhere in its bowels when closing graphic mode,
	I wrote some code that performs a low-level reset of the console,
	thus effectively restoring it into an usable state. Now, when qingy shuts down
	the DirectFB interface, if it fails to close graphic mode after a certain
	timeout (5 seconds for now), it will kill the GUI, reset the console, and
	go on as if nothing had happened :-)

2006-09-15  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/load_settings.c,
	* src/libraries/load_settings.h,
	* src/libraries/session.c:
	Made last session files in user home dirs owned by the
	respective users, and no longer by root...
	
2006-09-14  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/session.c (restore_tty_ownership),
	* src/libraries/misc.c,
	* src/libraries/misc.h:
	Added some code to properly retrieve the gid of a given group.

2006-09-12  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/pm.c:
	Small code clean ups.

	* configure.in:
	Made qingy depend on DirectFB >= 0.9.24...

	* src/DirectFB/directfb_mode.c:
	Fixed caps lock status display when returning from screensaver.

2006-09-08  Michele Noberasco  <michele.noberasco@tiscali.it>

	* ChangeLog,
	* src/DirectFB/pm.h,
	* src/DirectFB/directfb_mode.c,
	* src/DirectFB/objects/screen_saver.h,
	* src/DirectFB/Makefile.am,
	* src/DirectFB/directfb_mode.h,
	* src/DirectFB/pm.c,
	* src/libraries/parse_settings.y:
	Moved screen saver stuff to a dedicated thread.

	* src/DirectFB/directfb_mode.c,
	* src/DirectFB/pm.h,
	* src/DirectFB/pm.c:
	Beginning work to move screen saver related code to a dedicated thread.

	* src/libraries/parse_settings.y:
	Small clean-up.

	* src/DirectFB/directfb_mode.c (close_framebuffer_mode):
	Hehe, trying to shut down DirectFB mode without de-initializing
	it at all. It appears to be working ;-)

	* media/screensavers/matrix/matr.ttf:
	Fixed corrupt font file.

	* src/DirectFB/directfb_mode.c,
	* src/DirectFB/pm.h,
	* src/DirectFB/pm.c:
	Completed support for screen power management.

2006-09-07  Michele Noberasco  <michele.noberasco@tiscali.it>

	* media/qingy-mode.el,
	* src/libraries/scan_settings.l,
	* src/libraries/load_settings.h,
	* src/libraries/load_settings.c (initialize_variables): 
	Working on screen power management support.

	* src/libraries/misc.c (ClearScreen):
	Fixed an obscure bug that happens when the TERM env variable
	is not set (might happen). In this case I set it temporarily
	to 'linux' and unset it afterwards.

	* src/main.c (start_up):
	Fixed error that made qingy respawn indefinitely if its GUI
	failed horribly, instead of reverting to text mode.

2006-09-06  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/parse_settings.y:
	Fixed typo.

	* src/DirectFB/objects/screen_saver.c (activate_screen_saver):
	Made screen savers pass correctly their name to the logger facilities.

	* src/DirectFB/directfb_mode.c (main),
	* src/libraries/parse_settings.y,
	* src/libraries/scan_settings.l,
	* src/libraries/load_settings.c (ParseCMDLine),
	* src/libraries/misc.c (PrintUsage),
	* media/Makefile.am (settings),
	* media/qingy-mode.el:
	Removed --screensaver command line arg, moved it
	to settings file. Fixed a bug that made screen saver
	pop up immediately when user chose to disable it by
	setting a timeout of 0. Allowed config file parser
	to recognize negative numbers.

2006-09-04  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/main.c:
	Clean ups.

	* src/libraries/load_settings.c (ParseCMDLine),
	* src/main.c (main),
	* src/libraries/logger.c (log_file):
	Always save program name, and use it in logger facilities
	to distinguish between qingy and its GUI.

	* src/libraries/load_settings.h,
	* src/libraries/load_settings.c (initialize_variables),
	* src/libraries/parse_settings.y,
	* src/libraries/scan_settings.l,
	* media/Makefile.am (settings):
	Removed 'retries' entry from settings file.

2006-08-31  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/objects/button.c,
	* src/DirectFB/objects/textbox.c,
	* src/DirectFB/objects/combobox.c,
	* src/DirectFB/objects/label.c:
	Small changes to make these compile without warnings with gcc 4.

	* media/qingy-mode.el:
	Fixed typo that made some variables not to be highlighted correctly.

	* src/DirectFB/directfb_mode.c (handle_keyboard_event):
	Fixed shift-tabbing from username to session...

	* media/qingy-mode.el:
	Fixed typo.

2006-08-29  Michele Noberasco  <michele.noberasco@tiscali.it>

	* configure.in:
	Tagged version as 0.9.2...

	* src/main.c (start_up),
	* src/DirectFB/directfb_mode.c (close_framebuffer_mode): 
	Another try at solving the shutdown hang issue.

2006-08-24  Michele Noberasco  <michele.noberasco@tiscali.it>

	* media/default/*:
	Argh, all graphics in default there were currupt!
	This probably was caused by the switch to svn...
	Fixed it by recovering the files from an older
	qingy tarball.

2006-08-22  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c (close_framebuffer_mode),
	* src/DirectFB/objects/label.c,
	* src/DirectFB/objects/textbox.c,
	* src/DirectFB/objects/combobox.c,
	* src/DirectFB/objects/button.c:
	Fixed (again) the shutdown hang issue. It still
	presents itself from time to time, but I suspent that it
	has much to do with DirectFB and little with qingy :-/
	Will have to add some more debug info to test.

2006-08-21  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/objects/label.c,
	* src/DirectFB/objects/textbox.c,
	* src/DirectFB/objects/combobox.c,
	* src/DirectFB/objects/button.c:
	Fixed button thread cancellation...

	* src/DirectFB/directfb_mode.c:
	Qingy still sometimes hang on exit :-(

2006-08-04  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c:
	Fixed a bug that sometimes made qingy GUI hang on exit.

	* src/DirectFB/directfb_mode.h [removed],
	* src/libraries/load_settings.c,
	* src/qingy_constants.h,
	* media/Makefile.am,
	* src/Makefile.am,
	* src/main.c,
	* configure.in:
	Made DirectFB support optional. This means that you can compile and run
	qingy on systems that do not have DirectFB installed. You will not get
	a graphic login, but will be presented a choice of sessions and will
	have access to qingy advanced features like session locking or timeout.

	* configure.in:
	Tagged version as 0.9.1...

2006-08-03  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/misc.c (text_mode):
	Made text mode login remember latest session just like graphic login.

2006-08-02  Michele Noberasco  <michele.noberasco@tiscali.it>

	* configure.in,
	* src/libraries/misc.c,
	* src/libraries/session.c (get_sessions):
	Made ./configure option 'enable-x-support' actually work. Thus disabling
	it will make qingy actually compile and work without X installed.
	It will also make X sessions unavailable (even if X is installed)...

	* src/libraries/parse_settings.y:
	Fixed log facilities parsing in case of mixed global / per tty settings.

	* configure.in: 
	Tagged version as 0.9.0...

	* src/libraries/misc.c (text_mode):
	Added support for selecting desired session during text mode login.

2006-07-31  Michele Noberasco  <michele.noberasco@tiscali.it>

	* lotsa_files_have_been_changed:
	Completed logging infrastructure. Also, now every debug and error message
	is now routed through the logging facility. All is left to do in add
	some more diagnostics in sentitive code areas.

2006-07-27  Michele Noberasco  <michele.noberasco@tiscali.it>

	* lotsa_files_have_been_changed:
	Removed '--verbose' command line argument as it is now superseded by
	the new logging capabilities. Logging now works, still have to write
	to logs DirectFB stderr output.

	* src/libraries/scan_settings.l:
	Fixed bug in recognition of colors in the form of [ RRGGBBAA ] with
	whitespace inside the square brackets.

2006-07-17  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/misc.h,
	* src/libraries/misc.c (to_upper),
	* src/DirectFB/objects/combobox.c (combobox_thread): 
	Allow user to select a session by typing the first char of its name.
	Code courteously provided by Brian Carter <spakov@users.sourceforge.net>

2006-06-16  Michele Noberasco  <michele.noberasco@tiscali.it>

	* configure.in:
	Tagged version as 0.8.1...

	* media/qingy-mode.el,
	* src/libraries/load_settings.c,
	* src/libraries/parse_settings.y,
	* src/libraries/scan_settings.l,
	* src/libraries/logger.c,
	* src/libraries/logger.h, 
	* src/libraries/Makefile.am: 
	Adding support for a logging infrastructure more powerful
	than the previous stderr output.

2006-05-12  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/objects/textbox.c:
	Small clean-ups.

2006-05-08  Michele Noberasco  <michele.noberasco@tiscali.it>

	* dont_remember_all_the_files:
	Finished adding thread shutdown code.
	
	* src/DirectFB/directfb_mode.c,
	* src/main.c: 
	Fixed bug that made main qingy process hang if its gui terminated abnormally, when
	DirectFB is shutting down and gets an invalid address somewhere inside its bowels.

2006-05-05  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/objects/textbox.c,
	* src/DirectFB/objects/textbox.h,
	* src/DirectFB/objects/combobox.c, 
	* src/DirectFB/objects/combobox.h,
	* src/DirectFB/objects/button.c,
	* src/DirectFB/objects/button.h,	
	* src/DirectFB/objects/label.c,
	* src/DirectFB/objects/label.h,
	* src/DirectFB/directfb_mode.c:
	Added thread shutdown code for graphic objects. This should
	help to prevent qingy crashes on GUI shutdown...

2006-04-21  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c:
	Code clean ups due to previuos work. Hehe, this file
	got significantly smaller in size, as well as being
	of a cleaner design now ;-)
	
	* src/DirectFB/objects/textbox.c,
	* src/DirectFB/objects/textbox.h,
	* src/DirectFB/directfb_mode.c:
	Gave text boxes support for a callback function when they get clicked.
	This way I removed textbox clicks logic from event loop in main qingy thread.

	* src/DirectFB/objects/label.c,
	* src/DirectFB/objects/label.h: 
	Just gave labels a second thread that runs a callback function when
	they get clicked. This way I removed label clicks logic from event loop
	in main qingy thread.

2006-04-20  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/objects/combobox.c (selectItem):
	Fixed mouseover status detection when choosing sessions
	using UP and DOWN arrows...
	
	* src/DirectFB/directfb_mode.c (create_windows),
	* src/DirectFB/objects/combobox.c,
	* src/DirectFB/objects/combobox.h, 
	* src/libraries/session.c,
	* src/libraries/session.h:
	Just made combobox accept an arbitrary sort function, so that it
	is no longer tied to session management.

	* src/libraries/misc.c:
	Manually define HOST_NAME_MAX (to 64) if it is not defined externally.
	Issue submitted by yerp...

2006-04-12  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c (handle_keyboard_event),
	* src/DirectFB/directfb_mode.h (EXIT_RESPAWN),
	* src/main.c (start_up):
	Fixed "kill qingy" keybinding behaviour. Now it actually
	quits qingy, instead of locking up your machine ;-).

2006-04-11  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c,
	* src/DirectFB/objects/textbox.h,
	* src/DirectFB/objects/textbox.c:
	Text boxes got their own thread, too. Well, two threads each,
	actually: one for input events and one dedicated to updating the
	flashing cursor...

	* src/DirectFB/directfb_mode.c,:
	* src/DirectFB/objects/screen_saver.h (activate_screen_saver),
	* src/DirectFB/objects/screen_saver.c (activate_screen_saver):
	Fixed thread syncronization for buttons. Now qingy GUI should behave
	exactly like before going multithread.

2006-04-10  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c,
	* src/DirectFB/objects/button.c,
	* src/DirectFB/objects/button.h:
	Gave buttons their own governing thread.
	Added locks throughout the code so that actions
	cannot be berformed by button threads and main
	thread at the same time...

2006-04-05  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c,
	* src/DirectFB/objects/label.c,
	* src/DirectFB/objects/label.h:
	Just began making qingy-DirectFB multithreaded. Now each
	label that is supposed to update itself after a given time
	gets its own governing thread.

2006-04-03  Michele Noberasco  <michele.noberasco@tiscali.it>

	* media/screensavers/photos/photos.c:
	Fixed screen saver so that it also adds a wildchar entry that
	expands to a file instead of a directory.

2006-03-30  Michele Noberasco  <michele.noberasco@tiscali.it>

	* configure.in (debian),
	* media/pam/Makefile.am (EXTRA_DIST),
	* media/pam/debian/qingy:
	Added PAM file for debian, provided by Riccardo Stagni <unriccio@email.it>

2006-03-23  Michele Noberasco  <michele.noberasco@tiscali.it>

	* configure.in: Taggged version as 0.7.4.

2006-03-21  Michele Noberasco  <michele.noberasco@tiscali.it>

	* media/screensavers/photos/Makefile.am,
	* media/screensavers/photos/wildcards.c,
	* media/screensavers/photos/wildcards.h,
	* media/screensavers/photos/photos.c: 
	Implemented wildcards in photo screen saver.

2006-03-17  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c (close_framebuffer_mode):
	Re-allow for some cleaning before shutting DirectFB mode down.
	Bug signalled and fixed by Masse Nicolas <masse_nicolas@yahoo.fr>

	* media/screensavers/photos/photos.c,
	* media/screensavers/photos/Makefile.am: 
	Altered photos screen saver so that it expands wildcards in paths
	it is passed. Now implementing the relevant function.

	* Makefile.am:
	Changed SUBDIRS order so that src will be compiled before media, as photos
	screensaver now needs libqingy.la

2006-03-15  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/tty_guardian.c (watch_over_session):
	Fixed session timeout, in case of 'logout' action. Using this feature
	no longer exposes users to possible machine lock-ups. Thus, the whole
	session timeout feature can now be considered production ready, no longer
	experimental.

	* configure.in:
	Fixed detection of X11 headers and libraries, it should now work
	on those distros that put them under /usr/X11R6.

2006-03-13  Michele Noberasco  <michele.noberasco@tiscali.it>

	* configure.in,
	* src/libraries/Makefile.am,
	* src/Makefile.am:
	Since libgcrypt now works correctly, removed all traces of gpgme
	support (which was still in development and didn't work).

2006-03-11  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/crypto_libgcrypt.c,
	* src/libgcrypt-keygen.c:
	Code cleaned up.

2006-03-10  Michele Noberasco  <michele.noberasco@tiscali.it>

	* configure.in:
	Tagged version as 0.7.3

	* src/libraries/crypto_libgcrypt.c (decrypt_item):
	Fixed libgcrypt encryption/decryption issues! Now it just needs
	some code cleaning...

2006-03-09  Michele Noberasco  <michele.noberasco@tiscali.it>

	* media/Makefile.am (settings):
	Updated default settings file with session locking explanation

2006-02-24  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/tty_guardian.c:
	Fixed bug where session locking did not work if there was more than
	one running session that required it.

2006-02-23  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/session.c (dolastlog):
	Fixed last login time for 64 bit machines, thanks to Kevin Jamieson.

	* src/libraries/Makefile.am (libqingy_la_LIBADD),
	* src/libraries/tty_guardian.h,
	* src/libraries/tty_guardian.c,
	* src/libraries/misc.h,
	* src/libraries/misc.c,
	* configure.in:
	Added session timeout support for X sessions. We query the running
	X server for idle time, so we get is for both keystrokes and mouse
	movements. Still to see whether it is possible not to lock/close
	session when programs like mplayer are running...

	* src/libraries/session.c (shell_base_name, Text_Login, Graph_Login):
	Added support for zsh shell.

2006-02-13  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/tty_guardian.h,
	* src/libraries/tty_guardian.c,
	* src/libraries/session.c,
	Working on session timeout... now it works for keystrokes.
	It does not handle mouse movements or running programs
	-such as mplayer- yet.

2006-02-10  Michele Noberasco  <michele.noberasco@tiscali.it>

	* media/qingy-mode.el,
	* src/libraries/parse_settings.y,
	* src/libraries/load_settings.c,
	* src/libraries/load_settings.h,
	* src/libraries/scan_settings.l:
	Adding support for session timeouts, action taken
	will be one of none, lock, logout...

2006-02-09  Michele Noberasco  <michele.noberasco@tiscali.it>

	* media/qingy-mode.el,
	* src/libraries/load_settings.c,
	* src/libraries/parse_settings.y,
	* src/libraries/load_settings.h,
	* src/libraries/scan_settings.l, 
	* media/Makefile.am (settings):
	Added new values for last_user_policy and last_session_policy
	settings: 'none'. Setting it this way means that qingy will not
	attempt to fetch (and set) latest user and/or session in any way.

2006-02-08  Michele Noberasco  <michele.noberasco@tiscali.it>

	* configure.in:
	Allow optimizations for gcc 4. Enable pentium4m optimizations for gcc4.

	* configure.in:
	Give some message if user wants GPM locking support but his distro
	is not supported.

2006-02-07  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/DirectFB/objects/screen_saver.c (activate_screen_saver):
	Be more verbose in verbose mode...

	* configure.in:
	Bumped version to 0.7.2.

	* media/screensavers/running_time/running_time.c (screen_saver_entry):
	Made running time screen saver less CPU hungry.

2006-02-06  Michele Noberasco  <michele.noberasco@tiscali.it>

	* configure.in:
	Limit pentium4m optimizations to gcc 3.4.x

	* configure.in,
	* media/gpm-lock/Makefile.am,
	* media/gpm-lock/slackware/pre_GUI.sh,
	* media/gpm-lock/slackware/post_GUI.sh:
	Added GPM start/stop scripts for Slackware.

	* configure.in:
	Added Slackware specific temp file dir.

	* configure.in:
	Fixed support for non-pam authentication.

	* configure.in,
	* media/Makefile.am:
	Made temp files dir depend on distro.

2006-02-02  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/main.c (start_up):
	Added 'no-hardware' to the args I pass to DirectFB.

	* configure.in: 
	Tagged version as 0.7.1.

2006-01-31  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/misc.c (text_mode):
	Clear password from memory after checking it.

	* configure.in:
	Changed package version to 0.7.0.

	* src/libraries/scan_settings.l:
	Make sure theme file gets closed after parsing.

2006-01-30  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/session.c (Graph_Login):
	Added some code to prepare standard input, output, error
	for fellow X session. This is needed by latest Gnome.

2006-01-27  Michele Noberasco  <michele.noberasco@tiscali.it>

	* configure.in (fedora),
	* media/gpm-lock/Makefile.am,
	* media/gpm-lock/fedora/pre_GUI.sh,
	* media/gpm-lock/fedora/post_GUI.sh:
	Added GPM start/stop scripts for Fedora.

	* src/libraries/crypto_libgcrypt.c (int_generate_keys):
	Fixed public and private key files permissions.

2006-01-26  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libgcrypt-keygen.c:
	Prettified a bit the key generator. Made it output key files
	in /${sysconfdir}/qingy/
	Ready for release?

	* src/libraries/crypto_libgcrypt.c:
	Make sure main qingy will not attempt to generate e key pair,
	as our helper program will handle that.

	* src/main.c (main):
	Moving key generation to a new program, qingy-keygen, that will
	be installed alongside qingy. If key pair is not generated, qingy
	will default to text mode...

	* src/libraries/Makefile.am,
	* src/Makefile.am,
	* configure.in:
	Commented out gpgme stuff, it is incomplete and I want to release
	a new qingy version *very* soon.

2006-01-25  Michele Noberasco  <michele.noberasco@tiscali.it>

	* media/Makefile.am (settings),
	* src/libraries/session.c (which_X_server),
	* src/libraries/load_settings.c (initialize_variables),
	* src/libraries/load_settings.h,
	* src/libraries/scan_settings.l,
	* src/libraries/parse_settings.y: 
	Added new settings file variable, x_server_offset.
	This is the offset used to search for an available X server number.
	This number will affect the DISPLAY env variable. 
	Default is 1, setting it to 0 will make buggy OpenGL implementations
	(like the ATI one) work with qingy, but it will also make impossible
	to start an X server from console using startx without passing it
	extra parameters.

2006-01-24  Michele Noberasco  <michele.noberasco@tiscali.it>

	* media/gpm-lock/gentoo/pre_GUI.sh,
	* media/gpm-lock/gentoo/post_GUI.sh,
	* src/DirectFB/directfb_mode.c,
	* src/libraries/misc.c,
	* src/libraries/misc.h:
	Removed GPM locking support from qingy code, moved it to
	external scripts.

2006-01-23  Michele Noberasco  <michele.noberasco@tiscali.it>

	* media/Makefile.am,
	* media/gpm-lock/gentoo/pre_GUI.sh,
	* media/gpm-lock/gentoo/post_GUI.sh,
	* configure.in,
	* media/gpm-lock/Makefile.am: 
	Moving GPM locking support to distro-dependent pre/post GUI scripts
	instead of having it hardcoded.

2006-01-20  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/main.c,
	* src/libraries/misc.c (execute_script),
	* src/libraries/misc.h: 
	Done adding support for calling scripts

2006-01-19  Michele Noberasco  <michele.noberasco@tiscali.it>

	* media/qingy-mode.el,
	* src/libraries/scan_settings.l,
	* src/libraries/parse_settings.y,
	* src/libraries/load_settings.h,
	* src/libraries/load_settings.c (initialize_variables): 
	Adding support for calling a script just before qingy GUI is fired up,
	and one after it is shut down. Useful if DirectFB is picky about your
	machine and you need to do something before/after switching DirectFB
	mode on/off.

	* configure.in,
	* src/libraries/Makefile.am (libqingy_la_LIBADD),
	* src/libraries/misc.c (ClearScreen),
	* src/libraries/session.c:
	Added proper support for screen clearing using ncurses instead of
	system("clear") which was ugly.

2006-01-16  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/session.c (get_sessions):
	Clean ups in Fedora specific code.

2006-01-13  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/session.c (get_sessions),
	* configure.in:
	Added support for Fedora Core Linux. This means that I added some magic
	to detect wether Gnome or Kde (or both of course) are installed, so that
	qingy can display them in the sessions list...

	* src/libraries/load_settings.h,
	* src/libraries/load_settings.c,
	* src/main.c,
	* src/libraries/misc.c (PrintUsage): 
	Added '-t' command line argument that tells qingy to
	perform a text mode login (no graphics).
	
	* src/libraries/misc.c (text_mode):
	Manage text mode logins internally, without calling 'login'.

2006-01-12  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/tty_guardian.c (read_password):
	Restore tty echoing after reading password.

2005-12-22  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/misc.c (parse_etc_issue, text_mode):
	Adding support for parsing /etc/issue when displaying
	a text mode login.

2005-12-20  Michele Noberasco  <michele.noberasco@tiscali.it>

	* media/screensavers/photos/photos.c (screen_saver_entry):
	Utterly and completely fixed photo screen saver screen ratio
	and crashes (due to invalid permissions) issues.

	* configure.in,
	* src/libraries/crypto_gpgme.c,
	* src/libraries/Makefile.am:
	Adding support for gpgme, as libgcrypt is a crippled beast.
	I was never, ever, able to generate a key pair that decrypted
	all the items it got fed.

2005-12-12  Michele Noberasco  <michele.noberasco@tiscali.it>

	* configure.in:
	Added check for all libgcrypt function calls.

2005-12-07  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/main.c (authenticate_user),
	* src/libraries/session.c (gui_check_password),
	* src/DirectFB/directfb_mode.c (start_login_sequence),
	* src/libraries/crypto_libgcrypt.c:
	Support for GNU libgcrypt is almost done. Still to check
	why on some rare occasions it fails to decrypt an item.

2005-12-01  Michele Noberasco  <michele.noberasco@tiscali.it>

	* src/libraries/session.c,
	* src/libraries/Makefile.am,
	* configure.in,
	* src/libraries/crypto_libgcrypt.c:
	Adding support for GNU libgcrypt. Still does not work, though...

2005-11-22  Michele Noberasco  <michele.noberasco@tiscali.it>

	* configure.in:
	Made headers and library checks actually abort ./configure
	if needed dependancies are not found.

2005-11-07  Michele Noberasco  <michele.noberasco@tiscali.it>

	* configure.in:
	Added auto-detection of Mobile Pentium 4 processors...

2005-11-04  Michele Noberasco  <michele.noberasco@tiscali.it>

	* ALL_FILES:
	Changed my e-mail address to michele.noberasco@tiscali.it

2005-09-19  Noberasco Michele  <michele.noberasco@tiscali.it>

	* LOTS_OF_FILES:
	Done sanitizing variable names.

2005-09-09  Noberasco Michele  <michele.noberasco@tiscali.it>

	* LOTS_OF_FILES:
	Sanitizing some variable names...

	* src/libraries/load_settings.c (load_settings):
	Fixed a bug where the temp_files_dir variable
	in settings file wasn't always honoured.

	Made qingy complain (and fail) if its temp files dir
	does not exist (or is not accessible for whatever reasons).

	Adding some more (and more useful) error messages.

2005-09-08  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/vt.c (lock_tty_switching):
	Fixed another of these 'forgot to close an open file' bugs.

2005-09-07  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/tty_guardian.c:
	Rewamped the tty guardian to reflect the fact that X servers
	are now started in the same tty as the main qingy process.

	* src/libraries/session.c (Graph_Login, Text_Login):
	Added '-login' to the args I pass to the shell...

	* src/DirectFB/directfb_mode.c (main),
	* src/libraries/vt.h,
	* src/libraries/vt.c (stderr_enable, stderr_disable): 
	Change stderr_disable to actually close the stderr stream
	instead of reopening it to /dev/null. Changed stderr_enable
	to accept an argument that specifies what tty should be
	opened for the stderr output. If NULL is passed, then
	the currently active one will be used.
	Strange as it may be, these changes are necessary for
	the screen_savers (expecially the photos one) to perform
	well (i.e.: don't crash with an invalid permissions error).

2005-08-31  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/tty_guardian.c (ttyWatchDog, WatchDog_Sniff),
	* src/libraries/tty_guardian.h (ttyWatchDog),
	* src/libraries/session.c (Text_Login, Graph_Login):
	Made X start up in the same tty we logged in instead of switching
	to a new one.

2005-08-30  Noberasco Michele  <michele.noberasco@tiscali.it>

	* media/qingy-mode.el,
	* src/libraries/load_settings.c,
	* src/libraries/load_settings.h, 
	* src/libraries/parse_settings.y,
	* src/libraries/scan_settings.l,
	* media/Makefile.am (settings): 
	Added support to select wether qingy should calculate last user
	on a global or a per-tty basis. Default will be current functionality,
	i.e. global.

	* src/main.c:
	Made qingy GUI communicate auth data to its main process using
	a fifo instead of an actual file (increases security).

	* src/libraries/session.c,
	* src/libraries/session.h,
	* src/DirectFB/directfb_mode.c,
	* src/main.c,
	* configure.in:
	Made qingy to authenticate user only once (in the main process).
	When the GUI needs to authenticate a user, it will ask the main
	process to do so on its behalf, and is passed the result. When
	the main process has to start the user session, authentication
	is already done.

2005-08-24  Noberasco Michele  <michele.noberasco@tiscali.it>

	* media/screensavers/photos/photos.c (is_image):
	Made file extensions checks to ignore case.
	(screen_saver_entry):
	Made photo screen-saver honour the aspect ratio of
	images, so that it no longer distorts them.

2005-07-12  Noberasco Michele  <michele.noberasco@tiscali.it>

	* configure.in,
	* media/pam/gentoo/qingy,
	* media/pam/Makefile.am: 
	Re-added a Gentoo-specific PAM module that makes use of pam_stack.so

2005-06-17  Noberasco Michele  <michele.noberasco@tiscali.it>

	* media/Makefile.am (settings):
	Updated sample config file with last session policy.

	* media/qingy-mode.el:
	Updated mayor mode with last session policy.

	* src/DirectFB/directfb_mode.c (set_user_session),
	* src/libraries/load_settings.c (get_last_session):
	Completed support for per-tty last session selection.

2005-06-16  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/misc.c,
	* src/libraries/misc.h:
	Removed no longer used get_line() function.

	* src/libraries/session.c,
	* src/libraries/load_settings.c (set_last_session):
	Save last session fired up on a per-user AND per-tty basis...

2005-06-15  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/parse_settings.y,
	* src/libraries/scan_settings.l,
	* src/libraries/load_settings.c (initialize_variables),
	* src/libraries/load_settings.h: 
	Adding support to select wether qingy should calculate last session
	on a per-user or a per-tty basis. Default will be current functionality,
	i.e. per-user.

2005-06-13  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/session.c:
	Print error message (from errno) to stderr in case
	execve fails...

2005-05-30  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/objects/combobox.c:
	Completed drop-down menu for combo boxes...

2005-05-26  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/tty_guardian.c (has_controlling_process)
	(is_getty):
	Made tty_guardian recognize qingy-spawned shells.

2005-05-19  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/tty_guardian.c:
	Fixed some issues in session locking regarding
	moving user to the appropriate tty when an X
	session is active.

2005-05-18  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/tty_guardian.c (ttyWatchDog):
	Fixed small bug in session locking where user password
	is asked when you exit an X session...

2005-05-16  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c (handle_mouse_event):
	Implemented mouse wheel actions for combo boxes...

	* media/Makefile.am (settings):
	Corrected small glitch in commented-out section in
	default settings file...

	* src/DirectFB/objects/combobox.c (ComboBox_Click):
	Implemented clicking on non-upper-lower-triangle areas
	of the scrollbar. I should also implement dragging, but
	do not intend to, at least right now. What I should
	implement is mouse wheel actions...

2005-05-12  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/objects/combobox.c:
	Now we correctly plot the lateral scrollbar, still
	have to handle its input events...
	...now clicking on the top and bottom triangles work...

2005-04-19  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/objects/combobox.c:
	Paving the ground for lateral scrollbar...

2005-04-15  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c,
	* src/DirectFB/objects/combobox.c:
	Added support for changing (and select) highlighted item
	in combo boxes using arrow keys, even when the combo box
	is unfolded.

	Now all I need to implement is a side scrolling bar, then
	my combo box will be complete.

2005-04-14  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/objects/combobox.c,
	* src/DirectFB/objects/combobox.h,
	* src/DirectFB/directfb_mode.c:
	Changed structure of combobox items from
	a double-linked list to an array of pointers:
	Faster, uses less memory, and simpler to
	manage...
	Order session list alphabetically, and divide
	Text from X sessions...
	Made qingy check mouse-over condition on
	comboboxes first, because they might overlap
	with other graphic elements, otherwise they
	took the precedence, making mouseover effect on
	an unfolded combobox look jerky...

2005-04-12  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/objects/combobox.c:
	Code clean ups, both in form and functionality...
	Made drop-down menu appear downwards or upwards according
	to screen position.

2005-04-11  Noberasco Michele  <michele.noberasco@tiscali.it>

	* directfb_mode.c (handle_buttons):
	Made buttons un-mouseover-able and unclickable
	when a combobox is unfolded...

	* src/DirectFB/objects/combobox.c:
	I have difficulties believing this myself, but
	we do have a working drop down menu!
	It is still rather crude, but it works :-)

	* src/libraries/tty_guardian.c:
	Reverted latest changes as they introduced quirks, will
	rework them from scratch...

2005-04-08  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c,
	* src/DirectFB/objects/combobox.c,
	* src/DirectFB/Makefile.am (qingy_DirectFB_SOURCES):
	Removed listbox.c and listbox.h as they are not
	necessary, after all...

2005-04-07  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/objects/combobox.c,
	* src/DirectFB/directfb_mode.c (handle_mouse_event):
	Continuing work on drop-down menu...

2005-04-01  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c (close_framebuffer_mode):
	Stop shutting down DirectFB gracefully *again*, it is
	faster this way, and it also feels more stable...

2005-03-31  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/session.c (Graph_Login, Text_Login):
	Overwrite memory areas containing sensitive user info
	before quitting...

2005-03-30  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/main.c (start_up):
	Overwrite memory areas containing sensitive user info
	before quitting...

	* src/libraries/session.c (check_password):
	Small code clean up...

	* src/DirectFB/directfb_mode.c:
	Overwrite memory areas containing sensitive user info
	before quitting...

	* src/DirectFB/directfb_mode.c (handle_keyboard_event):
	Small code optimization...

	* src/main.c (start_up):
	Made GUI exit status detection a little smarter.

	* src/libraries/tty_guardian.c (ttyWatchDog):
	Indentation clean ups.

2005-03-19  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/tty_guardian.c:
	Brought tty guardian to a usable state: now it
	checks the tty you came from; if you were logged in as root
	or as same user on the destination tty, it lets you pass,
	otherwise it will ask you to enter either destination user
	or root password. If authentication fails, it will send you
	back to the tty you came from. It also remembers the last
	user who successfully authenticated, so that he will not
	have to authenticate again every time he switches to the
	guarded tty (but if you switch to a tty owned by a third
	user and go back, authentication will be asked again). The
	only drawback is that if you come from an X session in which
	you are logged in as root, it will ask you to authenticate,
	because that situation can not (yet) be distinguished from
	when you come from an unused tty (which is owned by root
	as well)...

2005-03-18  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/session.c:
	Updated handling of utmp/wtmp logging so that
	chrootkit no longer finds deletions in the latter
	when user logs out.

2005-03-17  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/objects/combobox.c,
	* src/DirectFB/objects/listbox.h,
	* src/DirectFB/objects/listbox.c,
	* src/DirectFB/Makefile.am:
	I need a new object, a listbox, to handle mouse clicks
	on comboboxes... beginning to implement that...

2005-03-16  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/crypto.c:
	Fixed bug that prevented the public/privte keys to stay in
	memory during the duration of the program...

	* src/main.c (start_up):
	Fixed small bug that prevented qingy to pass DirectFB related
	cmd line args to its GUI...

	* src/Makefile.am,
	* src/DirectFB/Makefile.am,
	* src/libraries/Makefile.am,
	* src/libraries/crypto.c,
	* src/libraries/crypto.h,
	* src/DirectFB/directfb_mode.c,
	* src/main.c:
	Moved crypto stuff to separate files.
	Code clean ups...

2005-03-15  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/memmgmt.h,
	* src/libraries/memmgmt.c,
	* configure.in,
	* src/main.c,
	* src/DirectFB/directfb_mode.c,
	* src/DirectFB/Makefile.am:
	Implemented support for encrypting communications
	to a usable state...

2005-03-14  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/main.c,
	* src/libraries/Makefile.am, 
	* configure.in:
	Adding support for encrypting communications between qingy
	and its user interface, trigered by new ./configure option:
	--enable-crypto, enabled by default.

2005-03-11  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/main.c (start_up):
	Pass user authentication data between main qingy and its gui
	trough a securely created temp file instead of a pipe...

2005-03-10  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/objects/combobox.c,
	* src/DirectFB/objects/combobox.h, 
	* src/DirectFB/directfb_mode.c: 
	More work on drop-down menus for combo boxes.

2005-03-09  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/main.c (start_up):
	Added 'no-vt-switching' to the args we pass to DirectFB to
	prevent it from allowing a user to press ALT-F<num> to change
	vts, as we handle that stuff ourselves...

	* src/DirectFB/directfb_mode.c,
	* src/DirectFB/objects/combobox.h,
	* src/DirectFB/objects/combobox.c:
	Started work on adding a drop-down menu to combo boxes...

2005-03-08  Noberasco Michele  <michele.noberasco@tiscali.it>

	* configure.in:
	Because of theme file modifications, tagged
	version as 0.6.0

	* media/default/theme:
	Updated default theme with the new 
	'default_resolution' stuff

	* src/DirectFB/directfb_mode.c,
	* src/libraries/load_settings.h,
	* media/qingy-mode.el,
	* src/libraries/parse_settings.y,
	* src/libraries/scan_settings.l:
	Added two new font sizes:
	'smaller' and 'tiny'

	* src/DirectFB/objects/button.c,
	* src/DirectFB/objects/button.h,
	* src/DirectFB/directfb_mode.c:
	Now all graphic elements scale correctly...

	* src/DirectFB/directfb_mode.c (set_font_sizes):
	Ur... font sizes were already OK, no need to
	correct them.

	* src/DirectFB/objects/button.c (Button_Create),
	* src/DirectFB/directfb_mode.c:
	Began work on scaling all graphic elements so that
	they appear the same on all screen resolutions...
	Right now, background image and font sizes have
	been corrected. The correct ratio will be calculated
	by comparing the current screen resolution and
	the one the theme was designed for...

2005-03-07  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c,
	* media/Makefile.am (settings):
	Added keybindings configuration to default
	settings file.

	* src/DirectFB/objects/button.h,
	* src/DirectFB/directfb_mode.c:
	Clean up stuff so that even buttons use
	actions defined in keybindings.h instead
	of defining their own data structures...

2005-03-05  Noberasco Michele  <michele.noberasco@tiscali.it>

	* configure.in,
	* src/DirectFB/directfb_mode.c:
	Removed old powerkeys support, as it has been
	replaced by our new customizable keybindings
	support.

	* src/DirectFB/directfb_mode.c:
	Completed keybindings support.

2005-03-04  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/objects/utils.c (modifier_is_pressed),
	* src/DirectFB/objects/utils.h,
	* src/DirectFB/directfb_mode.c,
	* src/libraries/keybindings.h:
	Started work on assigning actual actions
	to these key bindings.

	* src/libraries/parse_settings.y,
	* src/libraries/scan_settings.l,
	* media/qingy-mode.el,
	* src/libraries/keybindings.c,
	* src/libraries/keybindings.h:
	Added new keybinding action: revert to text mode...

2005-03-03  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/load_settings.c,
	* src/DirectFB/directfb_mode.c,
	* src/libraries/Makefile.am,
	* src/libraries/misc.c,
	* src/libraries/misc.h, 
	* src/libraries/parse_settings.y,
	* src/libraries/scan_settings.l,
	* configure.in,
	* src/libraries/keybindings.c,
	* src/libraries/keybindings.h:
	Adding support for customizable key bindings...
	now they are correctly parsed, still have to write
	the code that actually makes qingy take these
	actions...

2005-02-04  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/main.c (start_up):
	Fix a rather obscure bug in which login could fail even if username
	and password were correct...

	* media/qingy-mode.el,
	* src/libraries/load_settings.h,
	* src/libraries/load_settings.c (initialize_variables),
	* src/libraries/parse_settings.y,
	* src/libraries/scan_settings.l,
	* media/default/theme: 
	Began support for specifying a theme native resolution.
	This is the native resolution of the theme, i.e. the resolution the theme
	was designed for. If qingy detects a running resolution different than this
	one, it will (try to) scale things so that they will look the same across
	all resolutions. If this is omitted, qingy will default to 800x600 to
	maintain compatibility with older themes...
	Usage: in theme file, specify something like
	native_resolution = 800x600

2004-12-24  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/misc.c (PrintUsage):
	Changed help message slightly.

2004-12-21  Noberasco Michele  <michele.noberasco@tiscali.it>

	* media/Makefile.am (settings),
	* media/qingy-mode.el,
	* src/main.c (start_up),
	* src/DirectFB/directfb_mode.c (begin_shutdown_sequence),
	(handle_mouse_event),
	* src/libraries/load_settings.c (initialize_variables),
	* src/libraries/load_settings.h,
	* src/libraries/scan_settings.l,
	* src/libraries/parse_settings.y:
	Added sleep support...

2004-11-29  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/main.c (start_up):
	Fall back to text mode if login fails, instead of defaulting
	to the 'brains went pop' option ;-)
	Sigh, this means that my brains HAVE gone pop!

2004-11-28  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/main.c (check_autologin),
	* src/libraries/parse_settings.y,
	* src/libraries/scan_settings.l,
	* media/qingy-mode.el:
	Added support of automatically choose last session
	when auto-logging a user...

	* media/Makefile.am (settings),
	* src/libraries/scan_settings.l,
	* media/qingy-mode.el:
	Now the directory where qingy puts its temporary
	files is user-selectable...

	* media/qingy-mode.el:
	Fixed emacs major mode as it didn't always parse the
	settings file correctly.

	* src/libraries/load_settings.c (initialize_variables),
	* src/libraries/load_settings.h (AUTO_RELOGIN),
	* src/main.c (start_up, main, check_autologin),
	* src/libraries/misc.h (get_system_uptime),
	* src/libraries/misc.c (get_system_uptime): 
	Completed autologin support...

2004-11-27  Noberasco Michele  <michele.noberasco@tiscali.it>

	* media/Makefile.am (settings),
	* src/main.c (start_up, main),
	* src/libraries/load_settings.c (initialize_variables),
	* src/libraries/load_settings.h,
	* src/libraries/parse_settings.y,
	* src/libraries/scan_settings.l:
	Begin work on autologin feature...

2004-11-25  Noberasco Michele  <michele.noberasco@tiscali.it>

	* media/Makefile.am (settings):
	Duh, forgot to update the default settings file
	with standard X servers arguments...

2004-11-20  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/main.c (start_up):
	Wait for 1 second before attempting to restart
	qingy interface if previous attemt failed

2004-11-16  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/session.c:
	Unset the DISPLAY env variable when logging in with a text session...

2004-11-12  Noberasco Michele  <michele.noberasco@tiscali.it>

	* media/settings (x_args),
	* media/qingy-mode.el (qingy-font-lock-keywords-1),
	* src/libraries/parse_settings.y,
	* src/libraries/scan_settings.l,
	* src/libraries/load_settings.c (initialize_variables),
	* src/libraries/load_settings.h (X_ARGS),
	* src/libraries/session.c (Graph_Login):
	Added support for passing user-defined arguments to the X server.
	To enhance security, as a default we now pass '-nolisten tcp'...

2004-10-06  Noberasco Michele  <michele.noberasco@tiscali.it>

	* media/pam/Makefile.am (EXTRA_DIST):
	Fix typo.

2004-10-05  Noberasco Michele  <michele.noberasco@tiscali.it>

	* media/pam/Makefile.am,
	* media/pam/debian (removed),
	* media/pam/default/qingy
	* configure.in (debian):
	Added a new PAM module that apparently works for every distro
	(tested on Debian, fedora core, red hat, slackware), removed old modules...

2004-10-01  Noberasco Michele  <michele.noberasco@tiscali.it>

	* configure.in:
	Added support for AMD Athlon64 processors optimization.
	Fixed support for shadow password authentication...

2004-09-18  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/session.c (Graph_Login),
	(Text_Login):
	Allow for session files containing spaces.

	* src/Makefile.am,
	* src/libraries/Makefile.am:
	Fix stuff so that qingy links correctly against the PAM library
	when compiled as a static binary.

2004-09-10  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c,
	* src/main.c (start_up),
	* src/qingy_constants.h (QINGY_FAILURE): 
	Fix obscure bug: EXIT_FAILURE = 1
	but 1 is also a tty we may want to switch to...
	Thus I introduced QINGY_FAILURE, with value -1
	qingy interface now returns this value
	in case of failure...

	* media/Makefile.am (settings): 
	Add an example of 'retries' to settings file.

2004-09-09  Noberasco Michele  <michele.noberasco@tiscali.it>

	* media/pam/Makefile.am (EXTRA_DIST):
	Fix debian pam file location...

	* src/main.c (start_up),
	* src/DirectFB/directfb_mode.c (main),
	* src/libraries/load_settings.h,
	* src/libraries/load_settings.c (initialize_variables),
	* src/libraries/scan_settings.l,
	* src/libraries/parse_settings.y: 
	Added support for 'retries' setting in config file
	which allows user to specify how many times qingy
	should try to bring its gui up before reverting
	to text mode...

2004-08-20  Noberasco Michele  <michele.noberasco@tiscali.it>

	* media/pam/debian/qingy,
	* media/pam/default/qingy,
	* configure.in,
	* media/pam/Makefile.am:
	Differentiate qingy PAM module in a per-distribution way.
	Now we have a debian specific one and a generic one
	to be installed if distro is not debian

	* src/libraries/Makefile.am (libqingy_la_LDFLAGS):
	Add version number to qingy libraries...

	* src/libraries/load_settings.c (ParseCMDLine):
	Remove limitation of passing '-h' as first
	cmd line argument...

2004-08-19  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/misc.c:
	Fix typo...
	
	* src/libraries/load_settings.c (ParseCMDLine),
	* src/libraries/misc.c (PrintUsage),
	* src/libraries/misc.h:
	Add '-h' command line arg to display usage info.

	* configure.in:
	Fix the fix, or brown paper bag release!
	Correct bug I just introduced not allowing to run qingy any more
	due to incorrect cmd line arguments handling...

2004-08-18  Noberasco Michele  <michele.noberasco@tiscali.it>

	* lotsa_files_have_been_changed:
	Change way of handling of ParseCMDLine() dualism as previous
	way was seriously borked. Move most functions away from main.c
	as they are now needed by ParseCMDLine()...
	Version number now 0.5.1.

	* configure.in:
	Fix X11 sessions search path for Gentoo linux...

	* src/main.c,
	* src/libraries/load_settings.c,
	* src/libraries/load_settings.h,
	* src/DirectFB/directfb_mode.c:
	Move ParseCMDLine() from main.c to load_settings.c so that
	it can be called from both main.c and directfb_mode.c
	Differentiate the function a little when it gets called
	from one or the other source file.
	This fixes a bug that prevented command line arguments
	to be honoured by qingy-interface...

2004-08-17  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c (main):
	Fixed bug that prevented tty specific options in config file to work.

2004-08-16  Noberasco Michele  <michele.noberasco@tiscali.it>

	* media/qingy-mode.el:
	Update qingy emacs major mode with the newest items...

	* most_files_have_been_changed:
	Tonight I got really pissed for the 'DirectFB crash on shutdown issue',
	so I thought that if I cannot prevent it, maybe I can circumvent it,
	so an evil evil idea came to my mind (satanic cackling with mad laughter follows):
	I split qingy into two executables, one with the interface
	and one that does the actual login. This way it does not matter anymore
	how the interface dies, because it communicates username, password
	and session to start to the other via a pipe.
	As a result of this I have successfully logged in with qingy using
	gentoo-dev-sources-2.6.8 and vanilla-sources-2.6.8. As a side result,
	the qingy instance that logs you in will use about 2.5M of RAM against
	the 40M of the old solution (this because DirectFB leaves a lot of used RAM
	even after shutting down its graphic mode, but that gets cleaned when
	the qingy-interface dies).
	This looks like a big improvement to me, worth a new major release of qingy.
	Also, it paves the way for support of other graphic toolkits in qingy
	(bare framebuffer, SVGAlib, maybe others): each interface will have
	its own executable, and the main qingy will just have to launch it
	depending on user preferences...

	* lotsa_files_have_been_changed:
	Remove support for the '--black-screen-workaround'
	cmd line arg, as it is no longer needed.

2004-08-10  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/session.c (check_password):
	Change PAM authentication code to feed it the full
	tty name if using the short one fails...

2004-07-28  Noberasco Michele  <michele.noberasco@tiscali.it>

	* README (Options):
	Update README

	* src/DirectFB/directfb_mode.c,
	* src/DirectFB/objects/textbox.c:
	Implemented new key bindings:
	ctrl-h: delete one character
	ctrl-u: delete all characters
	ctrl-j: new line (enter)
	Patch contributed by Konstantin Korikov <lostclus@ukr.net>

	* src/DirectFB/objects/textbox.h:
	Add 'modifier' parameter to the KeyEvent call prototype.

	* src/DirectFB/objects/utils.c (modifier_is_pressed):
	Make use of the NONE modifier

	* src/DirectFB/objects/utils.h:
	Add the NONE modifier.

2004-07-02  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/load_settings.c (load_settings):
	moved last user file from /etc/qingy/ to /var/lib/misc/
	to comply to the File System Hierarchy Standard.
	Thanks to Jason Andryuk <the_deuce@yahoo.com>
	for poinint this out.

2004-06-17  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/objects/button.c (load_image_int),
	(load_image, Button_Create):
	Added proper support for transparent pixmaps, now qingy
	will honour the transparency instead of faking it by
	making the black pixels transparent...
	Code still in need of some cleaning up, but it works...

2004-06-14  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/objects/button.h (enum),
	* src/DirectFB/directfb_mode.c (create_windows),
	(handle_mouse_event),
	* src/libraries/load_settings.c (check_windows_sanity),
	* src/libraries/parse_settings.y,
	* src/libraries/scan_settings.l:
	Allow for buttons with no action associated to them.

2004-04-26  Noberasco Michele  <michele.noberasco@tiscali.it>

	* most_files_have_been_changed,
	* qingy.spec.in added:
	Accepted huge patch from Konstantin Korikov <lostclus@ukr.net>:
	"I send to you two patches: first fixes building
	and configuration process, second fixes bug in opening
	session using PAM.

	Description of first patch (qingy-CVS20040417-lc.patch):

	- Now configuration info passed to source through config.h.
	  I made this by two reasons:
	  1. The command lines can exceed the length limits of some
	     systems.
	  2. During compilation process, the long command lines
             complicate to review of error and warning messages,
             produced by compiler.
	- Added option, that disables automatic determination 
	  of optimization flags during configuration stage
	  (--{enable,disable}-optimizations). This useful for
	  building RPM packages for different architectures.
	- Added options, that specifies directory locations
	  (--with-pamdir, --with-screen-savers-dir, --with-themes-dir)
	- Added option, that disables compilation of code, that
	  stopping GPM (--{enable,disable}-gpm-lock).
	- Now settings configuration file creates by make.
	- Added qingy.spec.in file, that is template for qingy.spec.
	  Last needed for building RPM packages.
	- libdirectfb renamed to libqingyui for avoid confusion with
	  libdirectfb from DirectFB.

	NOTE: Now configuration stage is more flexible and portable.
	      As more other packages, qingy by default have 
	      installation prefix /usr/local. For installing it to
	      habitual place, we need to invoke configure script
	      with additional options:
              $ ./configure --prefix=/usr --sysconfdir=/etc

	Description of second patch (qingy-CVS20040417-ttyname.patch):

	This patch changes only one file, src/libraries/session.c.
	If PAM receives tty name in /dev/tty1 form, then pam_console.so
	module refuse to work.

2004-03-28  Noberasco Michele  <michele.noberasco@tiscali.it>

	* configure.in,
	* src/libraries/session.c (Graph_Login),
	* src/libraries/load_settings.c (initialize_variables),
	* src/libraries/load_settings.h,
	* src/libraries/scan_settings.l,
	* src/libraries/parse_settings.y:
	Added support for choosing an X server in settings file

	* src/main.c (get_resolution, ParseCMDLine, start_up)
	(PrintUsage): 
	New command line argument: '--resolution <xres>x<yres>'.
	Use this if qingy fails to properly detect your framebuffer
	resolution.

2004-03-24  Noberasco Michele  <michele.noberasco@tiscali.it>

	* configure.in:
	Changed version to 0.4.1

	* src/libraries/scan_settings.l,
	* src/libraries/parse_settings.y,
	* src/libraries/load_settings.h,
	* src/libraries/load_settings.c:
	Fixed theme loading code, now it won't crash any more...
	Also, I removed some code, now if theme loading
	fails qingy will go directly to text mode instead of
	trying to load default theme: this way users will be
	more encouraged to fix settings file ;-P

	* src/libraries/session.c (get_sessions):
	Some fixes...

2004-03-23  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/main.c (start_up),
	* src/DirectFB/directfb_mode.c (directfb_mode):
	Made sure that if qingy dies horribly during initialization,
	it does it with tty switching enabled so that user is not
	stuck in front of a 'respawning too fast' message...

2004-03-18  Noberasco Michele  <michele.noberasco@tiscali.it>

	* doc/qingy.texi (Installing from the tarball):
	Revamped installation instructions...

2004-03-09  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/load_settings.c:
	various code clean-ups
	
	* configure.in,
	* src/libraries/load_settings.c,
	* src/DirectFB/directfb_mode.c,
	* src/DirectFB/objects/screen_saver.c,
	* media/screensavers/pixel/Makefile.am,
	* media/screensavers/photos/Makefile.am,
	* media/screensavers/running_time/Makefile.am,
	* media/screensavers/matrix/Makefile.am:
	Screen saver support is now optional (enabled by default).

	* src/libraries/session.c (get_sessions),
	* configure.in:
	Be nicer to Slackware: X sessions path is /etc/X11/xinit/
	and X session names in there match pattern "xinitrc.*"

	* src/libraries/session.c (setEnvironment):
	Also set PATH env variable: not doing this sometimes leads
	to the impossibility to fire up an X session because the X
	server cannot be found (true for Slackware, maybe others).

2004-02-29  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/session.c:
	code cleanups.

2004-02-27  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/tty_guardian.c:
	fixed some tty_guardian problems;
	Remaining issues (that I know of ;-P):
	- if you log in into a text console and later fire
	  up an X server manually, the tty the X server is running in is
	  not guarded.

2004-02-26  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/main.c (main, ParseCMDLine):
	Add some more sanity checks...	

2004-02-25  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/libraries/session.c (PAM_conv):
	some cleanups, remove unnecessary code.

	* src/libraries/load_settings.c (various_functions):
	general overhaul, remove some unnecessary code.

	* many_files:
	re-add some libraries into 'qingy' binary, as their stuff
	is needed almost constantly. Added ./configure option
	to enable installation of emacs major mode (now disabled
	by default).

2004-02-24  Noberasco Michele  <michele.noberasco@tiscali.it>

	* media/qingy-mode.el:
	updated to reflect new stuff in config and theme files;
	now highlights correctly:
	- variables 'screensavers_dir', 'themes_dir', 'clear_background',
	            'lock_sessions'
	- constants 'yes', 'no'
	- builtins  'tty'
	Paolino: I believe I got it right, but of course
	         I don't understand a gnat about lisp ;-P

2004-02-19  Noberasco Michele  <michele.noberasco@tiscali.it>

	* most_files_have_been_changed,
	* various_files_moved_or_added:
	Support for dynamic libraries works better, now.
	Added ./configure option to compile qingy statically.
	Changed some source files to allow for this dual
	mode of compilation.
	Moved most files in src/ to src/libraries/
	Now I'll take a rest and watch some pr0n ;-P

2004-02-16  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/load_settings.c (get_random_theme): 
	simplify method to get value for srand()

	* lost_track_of_all_of_them: 
	begin work on creating shared libraries and linking to them
	instead of creating a huge binary

2004-02-12  Noberasco Michele  <michele.noberasco@tiscali.it>

	* media/default/Makefile.am,
	* configure.in,
	* src/scan_settings.l,
	* src/parse_settings.y,
	* src/DirectFB/objects/screen_saver.c,
	* src/load_settings.c,
	* src/load_settings.h,
	* media/screensavers/matrix/matrix.c,
	* media/screensavers/matrix/Makefile.am,
	* media/screensavers/pixel/Makefile.am,
	* media/screensavers/photos/Makefile.am,
	* media/screensavers/running_time/Makefile.am:
	conform to file system hierarchy standards: screen savers
	go to /usr/lib/qingy/screensavers, themes to
	/usr/share/qingy/themes

	* src/tty_guardian.c,
	* src/chvt.h,
	* src/chvt.c,
	* src/misc.h,
	* src/misc.c:
	completed session locking: it should work well
	under all conditions, now. Again, this is what
	it does (and it really does it, now):
	if you enable this, when you try to switch to a qingy-controlled tty
	whose owner is not your current user, you will be asked
	for the password of that user before being allowed to continue.
	If you are root, of course, you can switch to any tty you chose to.
	Default setting is 'no'.
	Only issue is that you log in into a text console and later fire
	up an X server manually, the tty the X server is running in is
	not guarded.

2004-02-11  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/tty_guardian.c:
	More work, works a bit better...

	* src/parse_settings.y: 
	make tty guardian setting aware of global /
	tty specific configuration.

	* media/screensavers/running_time/Makefile.am (INCLUDES),
	* media/screensavers/pixel/Makefile.am (INCLUDES),
	* media/screensavers/photos/Makefile.am (INCLUDES),
	* media/screensavers/matrix/Makefile.am (INCLUDES):
	added new path to includes, otherwise compilation fails
	if screensaver_module.h is not found in /etc/qingy/screensavers/

2004-02-09  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/tty_guardian.c: more work on session locking;
	now it works except that if you come from an unused
	tty, which is owned by root, you get granted access
	to any guarded tty. I have to devise a way to know
	wether a tty is in use or not. Also, if an user starts
	an X server from inside a text session, that X server
	is not guarded...

2004-02-06  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/chvt.c (get_tty_owner),
	* src/chvt.h (get_tty_owner): 
	added this function (needed in tty_guardian.c) that checks
	who owns a certain /dev/tty<n> file.

	* src/tty_guardian.c,
	* src/tty_guardian.h:
	Added these which contain all the necessary stuff to handle session
	locking. NOTE that this isn't quite functional, yet. More work needs
	to be done.

	* src/main.c (ParseCMDLine): make use of getopt_long()
	instead of parsing command line arguments 'by hand'.
	Various small fixes and clean ups.

2004-02-04  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/scan_settings.l,
	* src/parse_settings.y,
	* src/load_settings.h,
	* src/load_settings.c (initialize_variables),
	(load_settings):
	Added session locking support; if you enable this, when you try to
	switch to a qingy-controlled tty whose owner is not your current
	user, you will be asked for the password of that user before being
	allowed to continue. If you are root, of course, you can switch
	to any tty you chose to. Default setting is 'no'.
	NOTE: this is not functional yet!

	* src/parse_settings.y,
	* src/load_settings.h,
	* src/load_settings.c:
	Added erase_options() that removes all screensaver options.
	If a screensaver get selected in config files more than once,
	made sure options of previous ones get erased.

	* media/screensavers/matrix/matrix.c,
	* media/screensavers/running_time/running_time.c:
	fix compiler warnings about unnused variables

	* media/default/theme: 
	Changed default theme background image format to jpg. This saves
	a lot of disk space without any noticeable loss of quality.

	* src/chvt.c (set_active_tty): This didn't always return a value.
	(unlock_tty_switching): This didn't always return a value.
	(open_a_console): fix a retval check.
	(get_available_tty): fix retval checks.
	(tty_redraw): more retval checks.
	(disallocate_tty): conform to the coding style of the other functions.
	(get_fb_resolution): add some checks.

2004-02-03  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/chvt.c (get_active_tty):
	I really would like to know the guy who had
	this smart idea of removing the close(fd), leading *again*
	to the bloody 'too many open files' crash

	* media/Makefile.am,
	* media/screensavers/matrix/Makefile.am:
	some needed files didn't get included in the source distribution...

	* src/main.c (main),
	* src/load_settings.h,
	* src/scan_settings.l,
	* src/parse_settings.y,
	* src/load_settings.c (add_window_to_list),
	* configure.in:
	Added support for tty specific options. In settings file
	use something like this:
	tty = 3
	{
	  theme = "fireplace"
	  screensaver "pixel"
	}
	These settings will take effect only if qingy is started from tty3

2004-02-01  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/parse_settings.y,
	* src/scan_settings.l,
	* src/load_settings.h,
	* src/load_settings.c,
	* src/DirectFB/directfb_mode.c,
	* configure.in,
	* media/default/theme:
	Add 'clear_background' statement support in theme
	and settings files to tell qingy wether we should
	clear the background image during messages like
	'logging in xxyy...'. If set in settings file it
	defines the default policy (we use that setting
	if the theme file do not set it itself)...

2004-01-30  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c: cosmetic fixes,
	some stuff to make it sompliant to GNU coding style

	* src/session.c (add_utmp_wtmp_entry),
	(add_utmp_wtmp_entry):
	added functions to manage writing to /var/log/wtmp;
	this is necessary for tools like 'who', 'w' and finger
	to 'see' users logged in with qingy. Modified
	Text_Login() and Graph_Login() to use them

	* src/chvt.c (get_fb_resolution): Added this function,
	it gets the current console framebuffer resolution
	(tty_redraw): de-uglified some code ;-P

	* src/chvt.h (get_fb_resolution): prototype for the above...

	* src/main.c (start_up): make use of get_fb_resolution();
	now setting a directfbrc.qingy is no longer necessary

	* configure.in: removed search for 'fbset' executable position.
	Update VERSION to 0.4.0CVS

	* media/Makefile.am: removed stuff that created directfbrc.qingy

	* media/screensavers/: included the screensavers in autoconf...
	now they get properly installed
	
2004-01-26  Paolo Gianrossi  <paolino.gnu@disi.unige.it>

	* media/screensavers/Makefile.am: added, completing Make-tree

2004-01-24  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/directfb_mode.c (begin_shutdown_sequence):
	minor clean ups

	* src/scan_settings.l: removed some tokens

	* src/parse_settings.y: use the 'silent' variable;
	removed some screensaver tokens no longer necessary,
	some little clean up

	* src/DirectFB/objects/screen_saver.c (activate_screen_saver):
	made it pass the 'silent' env variable, too.

	* media/screensavers/photos/photos_screensvr.c: made it work with new
	modular screensaver stuff...

2004-01-22  Paolo Gianrossi  <paolino.gnu@disi.unige.it>

	* doc/qingy.texi (Rolling your own screensavers): updated with
	make, install and distribution instructions. Spell-checked the
	whole file.

	* media/screensavers/*/Makefile: rewrote Makefiles in a general
	way.

	* src/load_settings.c (get_welcome_msg): added option to have file
	.qingy_welcome in user home and display first line of it as
	welcome message. Retained global welcomes file option as well as
	default.

2004-01-22  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/parse_settings.y: Fixed a bug where a pointer got displayed
	instead of the value it pointed to...

2004-01-21  Paolo Gianrossi  <paolino.gnu@disi.unige.it>

	* src/scan_settings.l (set_theme): bug fixed. Now it looks like
	working

2004-01-20  Paolo Gianrossi  <paolino.gnu@disi.unige.it>

	* src/load_settings.c, src/load_settings.h, src/scan_settings.l
	(set_theme): moved here, changed to fix bug due to bison
	buffering.

	* doc/qingy.texi (Windows): bugfix: inconsistency "polltime" ->
	"time". Thanks to Carl N for pointing that out.
	
	* src/DirectFB/directfb_mode.c (handle_keyboard_event): Added
	powerkeys option

2004-01-17  Noberasco Michele  <michele.noberasco@tiscali.it>

	* src/DirectFB/objects/screensaver_module.h: see below...

	* src/DirectFB/objects/screen_saver.c: removed screen_width and
	screen_height variables in favour of screenEnv.screen_width and
	screenEnv.screen_height. Updated copyrights

	* src/parse_settings.y: changed add_to_paths calls to add_to_options

	* src/load_settings.h: renamed image_paths to screensaver_options,
	renamed add_to_paths prototype to add_to_options

	* src/load_settings.c: renamed add_to_paths to add_to_options;
	changed stuff to conform...

	* src/DirectFB/objects/screen_saver.: changed image_paths
	structure to screensaver_options. Changed stuff to conform...

2004-01-12  Paolo Gianrossi  <paolino.gnu@disi.unige.it>
	
	* media/qingy-mode.el: added, with filename bug fixed.

2004-01-13  Paolo Gianrossi  <paolino.gnu@disi.unige.it>

	* media/screensavers/pixel, media/screensavers/pixel: added two
	screensaver modules that can be automagically loaded at demand

2004-01-13  Paolo Gianrossi  <paolino.gnu@disi.unige.it>
		
	* src/DirectFB/screen_saver.c, src/DirectFB/screen_saver.h
	* src/DirectFB/screensaver_module.c:
	added dynamic loading of screensavers as modules.

2004-01-10  Paolo Gianrossi  <paolino.gnu@disi.unige.it>

	* media/themer: added. Perl script to translate old themes to new
	ones.

2004-01-07  Paolo Gianrossi  <paolino.gnu@disi.unige.it>

	* src/DirectFB/directfb_mode.c (start_login_sequence): added
	user-oriented welcome messages. See documentation.

2003-12-10  Paolo Gianrossi  <paolino.gnu@disi.unige.it>

	* src/parse_settings.y, src/scan_settings.l, src/load_settings.c,
	src/load_settings.h: added dynamic window support to config files.

2003-12-06  Paolo Gianrossi  <paolino.gnu@disi.unige.it>

	* src/load_settings.h: added window structure and enum of types-
	hope to parse it all in very small time :) 
	

 /********************************************************************\
 *** 								    ***
 *** PLEASE NOTE: Due to restructuring of the project structure,    ***
 ***        	  this ChangeLog is effective since Qingy v. 0.30   ***
 ***	 							    ***
 \********************************************************************/	
 
	
