==== What is Gueic? ====
If you know what is cron, think of it as a graphical (Gtk+) cron.
If you don't, think of it as a powerful Gnome alarm clock, in which you can set a list of events, each one with:
- a name
- a //scheme// that describes when it happens (one time? hourly? every 93 days?)
- an //action// that describes what is done (it can be "nothing", or "run this command", or "play music", and more).
Gueic is not considered a finished project, but I do use it already successfully to wake me up in the morning, so you can try it: get a copy from Launchpad with Bazaar:
bzr checkout https://launchpad.net/~toobaz/gueic/trunk
Gueic is also able to wake your computer from sleep state if the ACPI ability is enabled.
However, when you play with wake from sleep, pay attention to events you set: your pc could wake during the night or, worse, while it is in its bag (with the risk of overheating)...
Contributions (and any kind of feedback too) are very welcome: me [at] pietrobattiston [dot] it.
Also feature requests are usually welcome; I cannot grant I will accomplish them (at least not in reasonable time), but for example I will probably enable in gueic actions that users request (and are sufficiently simple to implement).
==== License ====
Gueic is totally **GPLv3**.
==== (N)FAQ ====
* **What does the name mean?**
The "g" stays for "GNU", "Gnome", "gtk" and all those wonderful things.
"ueic" is how my little sister would spell "wake"
* **Why create a new project?**
Because I didn't find a graphical alarm manager for Linux that used acpi wakeup capability, and I need it to wake up in the morning. If you know one, please write me.
* **Why a new program and not just a plugin for xyz program?**
Because I wanted it to do anything.
==== TODO LIST ====
In decreasing order of priority:
- verify if acpi wakeup is fine with jet lag
- save settings to disk every time they are changed (not just when program is nicely - or almost nicely - closed)
- use dbus, not "gueic.lock" file, to ascertain if an instance is already running
- fix acpi call bug (currently, if a call is made for the same time in the day as the one currently set, some computers won't set it)
- internationalization and translation to English (before 20 Feb 2008)
- tune default values for schemes
- modify "ring" messagedialog so that it gets a part of the message from the action, a part from the description of the event and eventually a part the scheme: libwait must handle it, not libaction
- "open in a terminal" option to "command" action
- "do not show popup message" option
- solve the problem of non-translatable schemes and actions' names
- enable "active"-"inactive" switch on main view
- add error message if no scheme is chosen in the "properties" window
- remove/translate remaining Italian comments
- create an applet: when "events" window is closed, the applet (by default) keeps the program alive
- fix acpi calls bug (actually, if event A rings in one minute and event B in hour with acpi, by putting PC at sleep I loose both)
- create a daemon which runs as root and manages acpi (so that you don't need to chmod /proc/acpi/alarm and also several users can set wakeups)
- create the dbus communication between client(s) and daemon
- bind keys (i.e. "ESC" in properties window)
- enable "pattern" schema type (it's basically a GUI problem)
- "Info" and "Preferences" windows
- create new actions, in particular actions using dbus (i.e: rhythmbox, sleep, halt, reboot)
- enable the possibility to have two events ringing at the same time (at the moment, one would be randomly choosed)
- make the tip on the deskbar icon say "next event:..."
- test/fix all power management actions
- add optional volume setting to rhythmbox action
- make "action" column show something more explicative
- establish an authentication procedure between gueic and gueicd, based on a file written in ~/.gueic/ and containing a random string
- add a "travel mode" (or just "safe"), in which acpi events are disabled
- create a window to browse, configure and create (by "specializing" already existing ones) actions
- create a Debian package
- enable "on minutes/hours/days from file" scheme
- create tutorials on how to create schemes/actions (in particular dbus actions)
- do validity checks on values inserted in schemes (i.e: do not accept day 31 if month is 4, do not accept a lapse of 0 minutes)
- create a logo
- complete glade migration
- complete gconf migration
- if an event is disabled, greyish it
- evaluate the possibility to enable a different order (chronologic, without regard to active/inactive)
- give anacron vs. cron choice (actually it's only cron: if one repetition of an event is skipped, it's lost)
- enable automatic completion for events titles and actions arguments
- enable "ring and then disappear" events
- enable "skip the first" and "repeat only n times" in lapse scheme
==== Credits ====
* I adapted some gtk code from pygtk demos by (as far as I know) Maik Hertha
* I adapted some config files handling code from fontypython by Don Ingle
* I got a lot of help from python@lists.python.it mailing list members. In particular, I must thank them for suggesting me not to use threads.