Parse command line to see if it is run as a popup
authorEnrico Zini <enrico@enricozini.org>
Mon, 2 Nov 2009 20:08:53 +0000 (21:08 +0100)
committerEnrico Zini <enrico@enricozini.org>
Mon, 2 Nov 2009 20:08:53 +0000 (21:08 +0100)
README
src/zavai-calendar.vala

diff --git a/README b/README
index d1889b9d413e16d4ac34b8c79a3dca6c812ea532..1c3cbb08aeea3d5c6af4be5e700585b430b6d3b6 100644 (file)
--- a/README
+++ b/README
@@ -153,6 +153,7 @@ TODO list / wish list
 
  * Features to add:
  - zavai-calendar to use as a calendar popup for lxde
+    - option to choose toplevel or popup (and where to show the popup)
  - zavai calendar: show month notes
  - zavai calendar: show global notes
  - contacts: show as a fancy focus+context list (see prefuse)
index ed857c7129b6982bc6f8f71d0a44b8d6c97453a1..47aa551d0c024d539ba1ffa5dd1892ac7d710e01 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * zavai - simple interface to the OpenMoko (or to the FSO stack)
+ * zavai-calendar - simple calendar tool
  *
  * Copyright (C) 2009  Enrico Zini <enrico@enricozini.org>
  *
@@ -23,7 +23,19 @@ using GLib;
 //string VERSION = "0.1";
 
 static int main (string[] args) {
-       Gtk.init (ref args);
+       string opt_popup = null;
+       GLib.OptionEntry[] entries = new GLib.OptionEntry[] {
+               OptionEntry() {
+                       long_name = "popup",
+                       short_name = 'p',
+                       flags = 0,
+                       arg = OptionArg.STRING,
+                       arg_data = &opt_popup,
+                       description = "run as a popup at the specified location on screen",
+                       arg_description = "X,Y" },
+               OptionEntry()
+       };
+        Gtk.init_with_args(ref args, "", entries, null);
 
        // parser = Parser(usage="usage: %prog [options]",
        //                 version="%prog "+ VERSION,
@@ -41,13 +53,21 @@ static int main (string[] args) {
 
        // Set up zavai
 
-    // Core infrastructure
+       // Core infrastructure
        zavai.config = new zavai.Config();
 
        // User interface
        var calendar = new zavai.widgets.Calendar();
 
-       var win = new Gtk.Window(Gtk.WindowType.POPUP);
+       Gtk.WindowType wtype;
+       if (opt_popup == null)
+               wtype = Gtk.WindowType.TOPLEVEL;
+       else
+       {
+               wtype = Gtk.WindowType.POPUP;
+       }
+
+       var win = new Gtk.Window(wtype);
        win.title = "Zavai calendar";
        win.destroy += Gtk.main_quit;
        win.add(calendar);
@@ -61,12 +81,6 @@ static int main (string[] args) {
        // signal.signal(signal.SIGINT, on_kill)
        // signal.signal(signal.SIGTERM, on_kill)
 
-       // zavai.info("Starting")
-       // app = registry.resource("app")
-       // app.connect("destroy", gtk.main_quit)
-       // app.run()
-
-       //zavai.app.run();
        Gtk.main();
 
        // zavai.info("Shutting down")