gnome-main-menu r533 - in trunk: . main-menu/etc main-menu/src
- From: sreeves svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-main-menu r533 - in trunk: . main-menu/etc main-menu/src
- Date: Mon, 29 Dec 2008 23:58:18 +0000 (UTC)
Author: sreeves
Date: Mon Dec 29 23:58:18 2008
New Revision: 533
URL: http://svn.gnome.org/viewvc/gnome-main-menu?rev=533&view=rev
Log:
launcher for panel dialog
Added:
trunk/main-menu/etc/trigger-panel-run-dialog.desktop
trunk/main-menu/src/trigger-panel-run-dialog.c
Modified:
trunk/ChangeLog
trunk/main-menu/etc/Makefile.am
trunk/main-menu/src/ (props changed)
trunk/main-menu/src/Makefile.am
Modified: trunk/main-menu/etc/Makefile.am
==============================================================================
--- trunk/main-menu/etc/Makefile.am (original)
+++ trunk/main-menu/etc/Makefile.am Mon Dec 29 23:58:18 2008
@@ -10,7 +10,7 @@
ui_DATA = GNOME_MainMenu_ContextMenu.xml
desktopdir = $(datadir)/applications
-desktop_DATA = gnome-screensaver-lock.desktop gnome-session-kill.desktop
+desktop_DATA = gnome-screensaver-lock.desktop gnome-session-kill.desktop trigger-panel-run-dialog.desktop
@INTLTOOL_DESKTOP_RULE@
bookmarkdir = $(datadir)/gnome-main-menu
Added: trunk/main-menu/etc/trigger-panel-run-dialog.desktop
==============================================================================
--- (empty file)
+++ trunk/main-menu/etc/trigger-panel-run-dialog.desktop Mon Dec 29 23:58:18 2008
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=Run Application
+Comment=Show the "Run Application" panel app
+Exec=trigger-panel-run-dialog
+Terminal=false
+Type=Application
+Icon=system-run
+Hidden=true
+Categories=System;SystemSetup;
+OnlyShowIn=GNOME;
+StartupNotify=true
Modified: trunk/main-menu/src/Makefile.am
==============================================================================
--- trunk/main-menu/src/Makefile.am (original)
+++ trunk/main-menu/src/Makefile.am Mon Dec 29 23:58:18 2008
@@ -8,6 +8,8 @@
libexec_PROGRAMS = main-menu
+bin_PROGRAMS = trigger-panel-run-dialog
+
AM_CPPFLAGS = \
$(GLADE_CFLAGS) \
-DDATADIR=\""$(datadir)"\" \
@@ -30,4 +32,10 @@
$(GLADE_LIBS) \
$(top_builddir)/libslab/libslab.la
+trigger_panel_run_dialog_SOURCES = \
+ trigger-panel-run-dialog.c
+
+trigger_panel_run_dialog_LDADD = \
+ $(MAIN_MENU_LIBS)
+
EXTRA_DIST = $(glade_DATA)
Added: trunk/main-menu/src/trigger-panel-run-dialog.c
==============================================================================
--- (empty file)
+++ trunk/main-menu/src/trigger-panel-run-dialog.c Mon Dec 29 23:58:18 2008
@@ -0,0 +1,62 @@
+#include <gdk/gdk.h>
+#include <gdk/gdkx.h>
+#include <X11/Xlib.h>
+
+static void
+run_dialog (GdkDisplay *display, GdkScreen *screen, guint32 timestamp)
+{
+ Atom action_atom;
+ Atom atom;
+ Window root;
+ XClientMessageEvent ev;
+
+ if (!display)
+ display = gdk_display_get_default ();
+ if (!screen)
+ screen = gdk_display_get_default_screen (display);
+ root = GDK_WINDOW_XWINDOW (gdk_screen_get_root_window (screen));
+
+ action_atom = gdk_x11_get_xatom_by_name_for_display (display, "_GNOME_PANEL_ACTION");
+ atom = gdk_x11_get_xatom_by_name_for_display (display, "_GNOME_PANEL_ACTION_RUN_DIALOG");
+
+ ev.type = ClientMessage;
+ ev.window = root;
+ ev.message_type = action_atom;
+ ev.format = 32;
+ ev.data.l[0] = atom;
+ ev.data.l[1] = timestamp;
+
+ gdk_error_trap_push ();
+
+ XSendEvent (gdk_x11_display_get_xdisplay (display),
+ root, False, StructureNotifyMask, (XEvent*) &ev);
+
+ gdk_flush ();
+ gdk_error_trap_pop ();
+}
+
+int
+main (int argc, char **argv)
+{
+ gint lastentry = 0;
+ guint32 timestamp;
+
+ const gchar* startup_id = g_getenv ("DESKTOP_STARTUP_ID");
+ //printf ("startup id is %s\n", startup_id);
+ if (startup_id && (startup_id[0] != '\0'))
+ {
+ gchar **results = g_strsplit (startup_id, "_TIME", 0);
+ while (results[lastentry] != NULL)
+ lastentry++;
+ timestamp = (guint32) g_strtod (results[lastentry - 1], NULL);
+ g_strfreev (results);
+ }
+ else
+ timestamp = GDK_CURRENT_TIME;
+
+ gdk_init (&argc, &argv);
+ run_dialog (NULL, NULL, timestamp);
+ gdk_notify_startup_complete ();
+
+ return 0;
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]