Qingy, by Michele Noberasco

Menu


My other projects

lin-seti
wmpower

SourceForge

Project
Download



SourceForge Logo

Valid XHTML 1.0!
News
More recent News
December 24, 2004

Just a note to tell you that the project is far from dead. Unfortunately I'm suffering from an acute form of lack of time, which is a terrible disease ;-)
Nonetheless, I will probably release a new version soon. As a teaser, here is what I have in CVS:

- Finally the code behind the 'sleep' button has been implemented: just set up the 'sleep' variable in config file to the command you would like to execute for sleep mode, and press the button in qingy...
- Now the directory qingy uses to store its temporary files can be customized
- Added support for automatically logging in a user when the machine powers up
- Correctly unset the DISPLAY env variable when starting a text mode session, in case PAM provided one to us anyway.
- Added support for passing user-defined arguments to the X server. To enhance security, as a default we now pass -nolisten tcp...
- Added support for AMD Athlon64 processors optimization.
- Fixed support for shadow password authentication...
- Fix stuff so that qingy links correctly against the PAM library when compiled as a static binary.
- Session files containing spaces are now supported
- Reworked qingy PAM module to make it work with more distros (tested on Fedora, Debian, Gentoo)
- 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...

Ah, I forgot to mention that some of the logos are courtesy of xlyz!
December 23, 2004

We have a new site design! All the praise (or shame ;-) goes to Daniele Florio... Thank you, Daniele, I really like the new layout!
Not all pages have been ported to the new format yet, but I just had to put it online now ;-)
August 19, 2004

Once, Linus had 2.3.99 or something like that, and thought it was good, so released it as 2.4.0. Shortly after, 2.4.1 came out, tagged the 'Brown paper bag release'. It is that time of the year again, I released 0.5.1 to fix some problems, and broke the toy completely! So I'm releasing (yet another) new version, 0.5.2, that fixes the fix. I'm really sorry guys, but this one should work for real this time...
August 18, 2004

Just released version 0.5.1, which fixes a number of small bugs introduced by 0.5.0... sorry for the inconvenience, but 0.5.0 contained a lot of internal changes and had to have some bugs ;-)

- Fixed a bug that prevented qingy from honouring tty specific options in config file.
- Fixed a bug that prevented qingy from honouring some command line arguments...
- Fix X11 sessions search path for Gentoo linux.
August 17, 2004

A new major release!

- This new major version finally is able to work-around all issues between DirectFB and 2.6 kernels. But make sure to use a kernel >= 2.6.8 and never, ever attempt a 2.6.7 one as it is likely to lock up your machine completely. You have been warned ;-)
- High memory usage issues are now solved, now qingy should use ~2.5 MB of RAM when user is logged in (instead of ~40MB!)...
- Removed support for the --black-screen-workaround cmd line arg, as it is no longer needed.
July 28, 2004

I got tired of adding new stuff only for myself (and a few adventurous guys), so I released version 0.4.1... Mostly bug fixes, a few enhancements as well:

- Added proper support for transparent pixmaps.
qingy will now honour the transparency instead of faking it by making the black pixels transparent...
- New command line argument: --resolution <xres>x<yres>
Use it if qingy fails to properly detect your framebuffer resolution.
- Added support for choosing your favourite X server in settings file
- Fixed theme loading code, now qingy should not crash any more...
- Hopefully 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...
- Allow for buttons with no action associated to them, just use action = NULL, thanks to a suggestion from Dark Liquid.
- Moved last user file from /etc/qingy/ to /var/lib/misc/ to comply to the File System Hierarchy Standard. Thanks to Jason Andryuk for poinint this out.
- Accepted a patch from Konstantin Korikov that adds new keybindings in text boxes:
ctrl-h: delete one character
ctrl-u: delete all characters
ctrl-j: go to next textbox (same as ENTER)

From now on I will no longer provide Ebuilds here. I am an official Gentoo developer now, so I'm going to add them directly to the Portage Tree! In fact, the ebuild for this version is just waiting for you nect emerge sync ;-P
June 16, 2004

A donation?!?

I would never have expected this, but it happened.
Many thanks to Dark Liquid for supporting this project!
March 18, 2004

Just released version 0.4.0!

- Properly detect framebuffer resolution on qingy startup, instead of using directfbrc.qingy, which is no longer necessary: you can safely remove it from your system. This also means that you no longer need to have the 'fbset' utility to compile qingy.
- Now screensavers are modular; this means that:
- only the screensaver you chose gets loaded at run time; this makes qingy use a little less memory
- you can roll your own screensaver, without need to recompile qingy
- you must be careful about the screensaver you install, this is effectively an entry point to arbitrary code that would run with root privileges (don't say you haven't been warned ;-P )
- Pa0lino added an utility, 'themer', to convert qingy 0.2 series theme files to qingy 0.3 theme structure...
- Fixed some bugs in config files parser...
- Added support for writing to /var/log/wtmp; this allows tools like 'who', 'w', 'finger' to be able to 'see' users logged in with qingy.
- Added option in both setting and theme file to select wether you want or not to clear the background image in dialogs like "logging in user...".
- Added support for tty specific options. See the new settings file for an example on how this works.
- Added a file, /etc/qingy/welcomes, where you can put personalized welcome messages (like the 'Greetings, Master...' when you log in as root).
- 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 an EXPERIMENTAL feature, so you are warned. That said, it appears to work well, only issue that I know of is that 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.
- Made qingy install its stuff in a way that conforms to the file system hierarchy standards (themes are now installed to /usr/share/qingy/themes, screen savers to /usr/lib/qingy/screensavers).
- Now qingy by default creates a bunch of shared libraries and loads its stuff only when it is needed. This saves a lot of memory, expecially for those qingy processes that are waiting for someone to switch to the tty they are running in. This option can be disabled with by passing the --enable-static-build argument to ./configure
- Be nicer to Slackware (and maybe other distros as well ;-)
This means:
- qingy now sets also the PATH env variable (otherwise qingy is not able to start an X session because xinit is not able to find the location of the X server; this is true for Slackware).
- Slackware puts its X session scripts in /etc/X11/xinit/ now we honour that, too, following their name pattern "xinitrc.*"
- Screen saver support is now optional (but enabled by default), for those security paranoids ;-P

Ebuild is here.
January 9, 2004

Finally, version 0.3.0 is out!

- New memory allocation/deallocation management.
- Unlock vt switching before dying (yes, this was annoying).
- Solved a bug that made qingy crash when you switched to its tty after it had been sitting there for some time. Basically it opened a file descriptor every second and did not close it...
- Now qingy reverts to text mode instead of dying when it encounters non-fatal errors in command line parameters or settings / theme file...
- Various previously unchecked memory allocations got leashed
- Added photo screen saver (it displays a slide show of photos).
- Now qingy parses /etc/inittab to decide what to do when user presses ctrl-alt-del (up to now it did nothing). Supported stuff: poweroff, halt, reboot, shutdown (with -h or -r), as well as just displaying a message (echo "your message here").
- Added --disable-lastuser option to tell qingy not do display last user name. This way it will always ask for user name.
- Added support for user's own .xsession file (just create a .xsession file in your home dir, put there the stuff you want to load, and choose "Your .xsession" as session).
- Now background image stays there when attempting to log in, during timeouts... It goes away only during screen saver
- Added ./configure option to disable PAM support (--disable-pam)
- Added support in config file to specify a shutdown policy:
shutdown_policy = everyone to allow everyone to shutdown
shutdown_policy = root to be asked for root password
shutdown_policy = noone to forbid shutdown completely.
If this option is not used, qingy defaults to everyone
- Rewrote load_settings.c (and added others ;-P). Now parsing of setting and theme files is done via regular expressions. I undestand little (but I will ;-P) of that stuff, so all the praise goes to Pa0lino...
- Radically changed configuration files structure... too hard to explain it all here: see updated documentation for all details. In short: all stuff you see on screen can be added, removed, moved, changed... you got the point :-)
- Added user-oriented welcome messages. See documentation. Thanks, again, to Pa0lino
- Added support for user-provided CFLAGS: just use ./configure MY_CFLAGS=<your_cflags_here> Please note that qingy already tries to set the best optimization for your arch in CFLAGS; using the above feature overrides those settings... I added this feature primarily to use with Gentoo GNU Linux portage system.
- Added info documentation for qingy, thanks (again) to Pa0lino... just issue a 'info qingy'!
- Many fixes and clean ups.

Ebuild is here.
Older News