diff options
Diffstat (limited to 'x11-wm/metacity/files')
-rw-r--r-- | x11-wm/metacity/files/digest-metacity-2.8.6-r1 | 1 | ||||
-rw-r--r-- | x11-wm/metacity/files/metacity-2-logout.patch | 185 |
2 files changed, 186 insertions, 0 deletions
diff --git a/x11-wm/metacity/files/digest-metacity-2.8.6-r1 b/x11-wm/metacity/files/digest-metacity-2.8.6-r1 new file mode 100644 index 000000000000..334a96e0c781 --- /dev/null +++ b/x11-wm/metacity/files/digest-metacity-2.8.6-r1 @@ -0,0 +1 @@ +MD5 c49e4b5575503975516159780855e317 metacity-2.8.6.tar.bz2 2174175 diff --git a/x11-wm/metacity/files/metacity-2-logout.patch b/x11-wm/metacity/files/metacity-2-logout.patch new file mode 100644 index 000000000000..87c03e130e76 --- /dev/null +++ b/x11-wm/metacity/files/metacity-2-logout.patch @@ -0,0 +1,185 @@ +diff -ur metacity-2.8.6/src/keybindings.c metacity-2.8.6-patched/src/keybindings.c +--- metacity-2.8.6/src/keybindings.c 2004-10-11 23:42:37.000000000 +0800 ++++ metacity-2.8.6-patched/src/keybindings.c 2004-12-08 11:50:25.631274776 +0800 +@@ -30,6 +30,7 @@ + #include "place.h" + #include "prefs.h" + #include "effects.h" ++#include "session.h" + + #include <X11/keysym.h> + #include <string.h> +@@ -84,6 +85,11 @@ + MetaWindow *window, + XEvent *event, + MetaKeyBinding *binding); ++static void handle_logout (MetaDisplay *display, ++ MetaScreen *screen, ++ MetaWindow *window, ++ XEvent *event, ++ MetaKeyBinding *binding); + static void handle_panel_keybinding (MetaDisplay *display, + MetaScreen *screen, + MetaWindow *window, +@@ -285,6 +291,8 @@ + GINT_TO_POINTER (META_TAB_LIST_DOCKS) }, + { META_KEYBINDING_SHOW_DESKTOP, handle_toggle_desktop, + NULL }, ++ { META_KEYBINDING_LOGOUT, handle_logout, ++ NULL }, + { META_KEYBINDING_PANEL_MAIN_MENU, handle_panel_keybinding, + GINT_TO_POINTER (META_KEYBINDING_ACTION_PANEL_MAIN_MENU) }, + { META_KEYBINDING_PANEL_RUN_DIALOG, handle_panel_keybinding, +@@ -2785,6 +2793,16 @@ + } + + static void ++handle_logout (MetaDisplay *display, ++ MetaScreen *screen, ++ MetaWindow *window, ++ XEvent *event, ++ MetaKeyBinding *binding) ++{ ++ meta_session_request_logout (); ++} ++ ++static void + handle_panel_keybinding (MetaDisplay *display, + MetaScreen *screen, + MetaWindow *window, +diff -ur metacity-2.8.6/src/metacity.schemas metacity-2.8.6-patched/src/metacity.schemas +--- metacity-2.8.6/src/metacity.schemas 2004-10-04 01:25:40.000000000 +0800 ++++ metacity-2.8.6-patched/src/metacity.schemas 2004-12-08 11:50:25.652271584 +0800 +@@ -22578,6 +22578,29 @@ + </locale> + </schema> + ++ <schema> ++ <key>/schemas/apps/metacity/global_keybindings/logout</key> ++ <applyto>/apps/metacity/global_keybindings/logout</applyto> ++ <owner>metacity</owner> ++ <type>string</type> ++ <default><Control><Alt>Delete</default> ++ <locale name="C"> ++ <short>Log out</short> ++ <long> ++ The keybinding that logs you out from the session. ++ ++ The format looks like "<Control><Alt>Delete" or ++ "<Shift><Alt>F1. ++ ++ The parser is fairly liberal and allows lower or upper case, ++ and also abbreviations such as "<Ctl>" and ++ "<Ctrl>". If you set the option to the special string ++ "disabled", then there will be no keybinding for this ++ action. ++ </long> ++ </locale> ++ </schema> ++ + <schema> + <key>/schemas/apps/metacity/global_keybindings/panel_main_menu</key> + <applyto>/apps/metacity/global_keybindings/panel_main_menu</applyto> +diff -ur metacity-2.8.6/src/metacity.schemas.in metacity-2.8.6-patched/src/metacity.schemas.in +--- metacity-2.8.6/src/metacity.schemas.in 2004-07-25 00:28:14.000000000 +0800 ++++ metacity-2.8.6-patched/src/metacity.schemas.in 2004-12-08 11:50:25.654271280 +0800 +@@ -1641,6 +1641,29 @@ + </locale> + </schema> + ++ <schema> ++ <key>/schemas/apps/metacity/global_keybindings/logout</key> ++ <applyto>/apps/metacity/global_keybindings/logout</applyto> ++ <owner>metacity</owner> ++ <type>string</type> ++ <default><Control><Alt>Delete</default> ++ <locale name="C"> ++ <short>Log out</short> ++ <long> ++ The keybinding that logs you out from the session. ++ ++ The format looks like "<Control><Alt>Delete" or ++ "<Shift><Alt>F1. ++ ++ The parser is fairly liberal and allows lower or upper case, ++ and also abbreviations such as "<Ctl>" and ++ "<Ctrl>". If you set the option to the special string ++ "disabled", then there will be no keybinding for this ++ action. ++ </long> ++ </locale> ++ </schema> ++ + <schema> + <key>/schemas/apps/metacity/global_keybindings/panel_main_menu</key> + <applyto>/apps/metacity/global_keybindings/panel_main_menu</applyto> +diff -ur metacity-2.8.6/src/prefs.c metacity-2.8.6-patched/src/prefs.c +--- metacity-2.8.6/src/prefs.c 2004-09-18 23:54:31.000000000 +0800 ++++ metacity-2.8.6-patched/src/prefs.c 2004-12-08 11:50:25.655271128 +0800 +@@ -1421,6 +1421,7 @@ + { META_KEYBINDING_CYCLE_PANELS, 0, 0, TRUE }, + { META_KEYBINDING_CYCLE_PANELS_BACKWARD, 0, 0, TRUE }, + { META_KEYBINDING_SHOW_DESKTOP, 0, 0, FALSE }, ++ { META_KEYBINDING_LOGOUT, 0, 0, FALSE }, + { META_KEYBINDING_PANEL_MAIN_MENU, 0, 0, FALSE }, + { META_KEYBINDING_PANEL_RUN_DIALOG, 0, 0, FALSE }, + { META_KEYBINDING_COMMAND_1, 0, 0, FALSE }, +diff -ur metacity-2.8.6/src/prefs.h metacity-2.8.6-patched/src/prefs.h +--- metacity-2.8.6/src/prefs.h 2004-02-20 02:36:14.000000000 +0800 ++++ metacity-2.8.6-patched/src/prefs.h 2004-12-08 11:52:59.051951288 +0800 +@@ -111,6 +111,7 @@ + #define META_KEYBINDING_CYCLE_PANELS "cycle_panels" + #define META_KEYBINDING_CYCLE_PANELS_BACKWARD "cycle_panels_backward" + #define META_KEYBINDING_SHOW_DESKTOP "show_desktop" ++#define META_KEYBINDING_LOGOUT "logout" + #define META_KEYBINDING_PANEL_MAIN_MENU "panel_main_menu" + #define META_KEYBINDING_PANEL_RUN_DIALOG "panel_run_dialog" + #define META_KEYBINDING_COMMAND_1 "run_command_1" +@@ -211,6 +212,7 @@ + META_KEYBINDING_ACTION_CYCLE_PANELS, + META_KEYBINDING_ACTION_CYCLE_PANELS_BACKWARD, + META_KEYBINDING_ACTION_SHOW_DESKTOP, ++ META_KEYBINDING_ACTION_LOGOUT, + META_KEYBINDING_ACTION_PANEL_MAIN_MENU, + META_KEYBINDING_ACTION_PANEL_RUN_DIALOG, + META_KEYBINDING_ACTION_COMMAND_1, +diff -ur metacity-2.8.6/src/session.c metacity-2.8.6-patched/src/session.c +--- metacity-2.8.6/src/session.c 2004-08-30 14:14:25.000000000 +0800 ++++ metacity-2.8.6-patched/src/session.c 2004-12-08 11:50:25.656270976 +0800 +@@ -357,6 +357,24 @@ + g_free (saved_client_id); + } + ++/** ++ * meta_session_request_logout: ++ * ++ * Requests that a save_yourself be sent to the session manager so that we log ++ * out. ++ **/ ++void ++meta_session_request_logout (void) ++{ ++ if (!session_connection) ++ { ++ meta_warning (_("Cannot log out because we could not connect to the session manager\n")); ++ return; ++ } ++ ++ SmcRequestSaveYourself (session_connection, SmSaveGlobal, TRUE, SmInteractStyleAny, FALSE, TRUE); ++} ++ + void + meta_session_shutdown (void) + { +diff -ur metacity-2.8.6/src/session.h metacity-2.8.6-patched/src/session.h +--- metacity-2.8.6/src/session.h 2002-09-04 10:44:52.000000000 +0800 ++++ metacity-2.8.6-patched/src/session.h 2004-12-08 11:50:25.657270824 +0800 +@@ -72,7 +72,7 @@ + void meta_session_init (const char *client_id, + const char *save_file); + +- ++void meta_session_request_logout (void); + void meta_session_shutdown (void); + + #endif |