Strumenti Utente

Strumenti Sito


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:

  1. a name
  2. a scheme that describes when it happens (one time? hourly? every 93 days?)
  3. 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

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).


Gueic is totally GPLv3.


  • 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.


In decreasing order of priority:

  1. verify if acpi wakeup is fine with jet lag
  2. save settings to disk every time they are changed (not just when program is nicely - or almost nicely - closed)
  3. use dbus, not “gueic.lock” file, to ascertain if an instance is already running
  4. 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)
  5. internationalization and translation to English (before 20 Feb 2008)
  6. tune default values for schemes
  7. 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
  8. “open in a terminal” option to “command” action
  9. “do not show popup message” option
  10. solve the problem of non-translatable schemes and actions' names
  11. enable “active”-“inactive” switch on main view
  12. add error message if no scheme is chosen in the “properties” window
  13. remove/translate remaining Italian comments
  14. create an applet: when “events” window is closed, the applet (by default) keeps the program alive
  15. 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)
  16. 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)
  17. create the dbus communication between client(s) and daemon
  18. bind keys (i.e. “ESC” in properties window)
  19. enable “pattern” schema type (it's basically a GUI problem)
  20. “Info” and “Preferences” windows
  21. create new actions, in particular actions using dbus (i.e: rhythmbox, sleep, halt, reboot)
  22. enable the possibility to have two events ringing at the same time (at the moment, one would be randomly choosed)
  23. make the tip on the deskbar icon say “next event:…”
  24. test/fix all power management actions
  25. add optional volume setting to rhythmbox action
  26. make “action” column show something more explicative
  27. establish an authentication procedure between gueic and gueicd, based on a file written in ~/.gueic/ and containing a random string
  28. add a “travel mode” (or just “safe”), in which acpi events are disabled
  29. create a window to browse, configure and create (by “specializing” already existing ones) actions
  30. create a Debian package
  31. enable “on minutes/hours/days from file” scheme
  32. create tutorials on how to create schemes/actions (in particular dbus actions)
  33. 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)
  34. create a logo
  35. complete glade migration
  36. complete gconf migration
  37. if an event is disabled, greyish it
  38. evaluate the possibility to enable a different order (chronologic, without regard to active/inactive)
  39. give anacron vs. cron choice (actually it's only cron: if one repetition of an event is skipped, it's lost)
  40. enable automatic completion for events titles and actions arguments
  41. enable “ring and then disappear” events
  42. enable “skip the first” and “repeat only n times” in lapse scheme


  • 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 mailing list members. In particular, I must thank them for suggesting me not to use threads.
gueic.txt · Ultima modifica: 2011/04/21 07:13 da toobaz