diff -u -r xfwm4-4.4.1.orig/mcs-plugin/xfwm4_shortcuteditor.c xfwm4-4.4.1/mcs-plugin/xfwm4_shortcuteditor.c --- xfwm4-4.4.1.orig/mcs-plugin/xfwm4_shortcuteditor.c 2007-03-11 14:44:51.000000000 +0100 +++ xfwm4-4.4.1/mcs-plugin/xfwm4_shortcuteditor.c 2007-06-12 20:02:01.000000000 +0200 @@ -322,6 +322,7 @@ "hide_window_key", "shade_window_key", "stick_window_key", + "atop_window_key", "cycle_windows_key", "move_window_up_key", "move_window_down_key", @@ -363,6 +364,7 @@ N_("Hide window"), N_("Shade window"), N_("Stick window"), + N_("Toggle always on top window"), N_("Cycle windows"), N_("Move window up"), N_("Move window down"), diff -u -r xfwm4-4.4.1.orig/src/events.c xfwm4-4.4.1/src/events.c --- xfwm4-4.4.1.orig/src/events.c 2007-04-02 21:48:20.000000000 +0200 +++ xfwm4-4.4.1/src/events.c 2007-06-12 21:09:21.000000000 +0200 @@ -434,6 +434,9 @@ case KEY_SHADE_WINDOW: clientToggleShaded (c); break; + case KEY_ATOP_WINDOW: + clientToggleAbove (c); + break; case KEY_STICK_WINDOW: if (CLIENT_CAN_STICK_WINDOW(c)) { diff -u -r xfwm4-4.4.1.orig/src/screen.c xfwm4-4.4.1/src/screen.c --- xfwm4-4.4.1.orig/src/screen.c 2007-03-11 14:44:43.000000000 +0100 +++ xfwm4-4.4.1/src/screen.c 2007-06-12 20:18:46.000000000 +0200 @@ -457,6 +457,7 @@ grabKey (dpy, &screen_info->params->keys[KEY_RESIZE_UP], screen_info->xroot); grabKey (dpy, &screen_info->params->keys[KEY_RIGHT_WORKSPACE], screen_info->xroot); grabKey (dpy, &screen_info->params->keys[KEY_SHADE_WINDOW], screen_info->xroot); + grabKey (dpy, &screen_info->params->keys[KEY_ATOP_WINDOW], screen_info->xroot); grabKey (dpy, &screen_info->params->keys[KEY_SHOW_DESKTOP], screen_info->xroot); grabKey (dpy, &screen_info->params->keys[KEY_STICK_WINDOW], screen_info->xroot); grabKey (dpy, &screen_info->params->keys[KEY_TOGGLE_FULLSCREEN], screen_info->xroot); diff -u -r xfwm4-4.4.1.orig/src/settings.c xfwm4-4.4.1/src/settings.c --- xfwm4-4.4.1.orig/src/settings.c 2007-04-02 21:48:20.000000000 +0200 +++ xfwm4-4.4.1/src/settings.c 2007-06-12 19:58:27.000000000 +0200 @@ -1269,6 +1269,7 @@ parseKeyString (dpy, &screen_info->params->keys[KEY_RESIZE_UP], getValue ("resize_window_up_key", rc)); parseKeyString (dpy, &screen_info->params->keys[KEY_RIGHT_WORKSPACE], getValue ("right_workspace_key", rc)); parseKeyString (dpy, &screen_info->params->keys[KEY_SHADE_WINDOW], getValue ("shade_window_key", rc)); + parseKeyString (dpy, &screen_info->params->keys[KEY_ATOP_WINDOW], getValue ("atop_window_key", rc)); parseKeyString (dpy, &screen_info->params->keys[KEY_SHOW_DESKTOP], getValue("show_desktop_key", rc)); parseKeyString (dpy, &screen_info->params->keys[KEY_STICK_WINDOW], getValue ("stick_window_key", rc)); parseKeyString (dpy, &screen_info->params->keys[KEY_TOGGLE_FULLSCREEN], getValue ("fullscreen_key", rc)); @@ -1433,6 +1434,7 @@ {"shade_window_key", NULL, TRUE}, {"show_desktop_key", NULL, FALSE}, {"stick_window_key", NULL, TRUE}, + {"atop_window_key", NULL, TRUE}, {"up_workspace_key", NULL, TRUE}, {"workspace_1_key", NULL, TRUE}, {"workspace_2_key", NULL, TRUE}, diff -u -r xfwm4-4.4.1.orig/src/settings.h xfwm4-4.4.1/src/settings.h --- xfwm4-4.4.1.orig/src/settings.h 2007-04-02 21:48:20.000000000 +0200 +++ xfwm4-4.4.1/src/settings.h 2007-06-12 19:46:49.000000000 +0200 @@ -118,6 +118,7 @@ KEY_RESIZE_UP, KEY_RIGHT_WORKSPACE, KEY_SHADE_WINDOW, + KEY_ATOP_WINDOW, KEY_SHOW_DESKTOP, KEY_STICK_WINDOW, KEY_TOGGLE_FULLSCREEN, diff -u -r xfwm4-4.4.1.orig/themes/default.keys/keythemerc xfwm4-4.4.1/themes/default.keys/keythemerc --- xfwm4-4.4.1.orig/themes/default.keys/keythemerc 2007-03-11 14:44:40.000000000 +0100 +++ xfwm4-4.4.1/themes/default.keys/keythemerc 2007-06-12 19:59:57.000000000 +0200 @@ -45,6 +45,7 @@ shade_window_key=Alt+F9 show_desktop_key=Control+Alt+d stick_window_key=Alt+F10 +atop_window_key=Alt+F12 up_workspace_key=Control+Alt+Up workspace_10_key=Control+F10 workspace_11_key=Control+F11