This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project wmaker-crm.git.
The branch, next has been updated via ac33bb9d1b52def5bc9b8349010e208a7c850e22 (commit) via 563cda28d36fad44dc8fe299b0ab2aa2b9dc93bc (commit) via 65802d3402dec0cfc995ec5cd1d50078fd35c183 (commit) from 9de5a27dbc57aac8af8624fdb406f3cc63e5bf39 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://repo.or.cz/wmaker-crm.git/commit/ac33bb9d1b52def5bc9b8349010e208a7c850e22 commit ac33bb9d1b52def5bc9b8349010e208a7c850e22 Author: Doug Torrance <dtorra...@piedmont.edu> Date: Tue Jan 19 23:21:46 2016 -0500 wmaker: Display keyboard shortcuts for remaining options in window menu. In particular, Keep on top, Keep at bottom, and Omnipresent. diff --git a/src/winmenu.c b/src/winmenu.c index 6f090e3..2aa3187 100644 --- a/src/winmenu.c +++ b/src/winmenu.c @@ -482,16 +482,19 @@ static void updateOptionsMenu(WMenu * menu, WWindow * wwin) smenu->entries[WO_KEEP_ON_TOP]->flags.indicator_on = (wwin->frame->core->stacking->window_level == WMFloatingLevel) ? 1 : 0; wMenuSetEnabled(smenu, WO_KEEP_ON_TOP, !wwin->flags.miniaturized); + smenu->entries[WO_KEEP_ON_TOP]->rtext = GetShortcutKey(wKeyBindings[WKBD_KEEP_ON_TOP]); /* keep at bottom check */ smenu->entries[WO_KEEP_AT_BOTTOM]->clientdata = wwin; smenu->entries[WO_KEEP_AT_BOTTOM]->flags.indicator_on = (wwin->frame->core->stacking->window_level == WMSunkenLevel) ? 1 : 0; wMenuSetEnabled(smenu, WO_KEEP_AT_BOTTOM, !wwin->flags.miniaturized); + smenu->entries[WO_KEEP_AT_BOTTOM]->rtext = GetShortcutKey(wKeyBindings[WKBD_KEEP_AT_BOTTOM]); /* omnipresent check */ smenu->entries[WO_OMNIPRESENT]->clientdata = wwin; smenu->entries[WO_OMNIPRESENT]->flags.indicator_on = IS_OMNIPRESENT(wwin); + smenu->entries[WO_OMNIPRESENT]->rtext = GetShortcutKey(wKeyBindings[WKBD_OMNIPRESENT]); smenu->flags.realized = 0; wMenuRealize(smenu); http://repo.or.cz/wmaker-crm.git/commit/563cda28d36fad44dc8fe299b0ab2aa2b9dc93bc commit 563cda28d36fad44dc8fe299b0ab2aa2b9dc93bc Author: Doug Torrance <dtorra...@piedmont.edu> Date: Tue Jan 19 23:21:45 2016 -0500 wmaker: Add keyboard shortcuts for keeping window on top or at bottom. This closes Debian bug #306808 [1]. [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=306808 diff --git a/WPrefs.app/KeyboardShortcuts.c b/WPrefs.app/KeyboardShortcuts.c index 6984a91..a9241e9 100644 --- a/WPrefs.app/KeyboardShortcuts.c +++ b/WPrefs.app/KeyboardShortcuts.c @@ -89,6 +89,8 @@ static const struct { { "LBCMaximizeKey", N_("Maximize active window left bottom corner") }, { "RBCMaximizeKey", N_("Maximize active window right bottom corner") }, { "MaximusKey", N_("Maximus: Tiled maximization ") }, + { "KeepOnTopKey", N_("Toggle window on top status") }, + { "KeepAtBottomKey",N_("Toggle window at bottom status") }, { "OmnipresentKey", N_("Toggle window omnipresent status") }, { "RaiseKey", N_("Raise active window") }, { "LowerKey", N_("Lower active window") }, diff --git a/src/defaults.c b/src/defaults.c index ea02295..2346817 100644 --- a/src/defaults.c +++ b/src/defaults.c @@ -684,6 +684,10 @@ WDefaultEntry optionList[] = { NULL, getKeybind, setKeyGrab, NULL, NULL}, {"MaximusKey", "None", (void*)WKBD_MAXIMUS, NULL, getKeybind, setKeyGrab, NULL, NULL}, + {"KeepOnTopKey", "None", (void *)WKBD_KEEP_ON_TOP, + NULL, getKeybind, setKeyGrab, NULL, NULL}, + {"KeepAtBottomKey", "None", (void *)WKBD_KEEP_AT_BOTTOM, + NULL, getKeybind, setKeyGrab, NULL, NULL}, {"OmnipresentKey", "None", (void *)WKBD_OMNIPRESENT, NULL, getKeybind, setKeyGrab, NULL, NULL}, {"RaiseKey", "\"Meta+Up\"", (void *)WKBD_RAISE, diff --git a/src/event.c b/src/event.c index 800cc87..0b394e7 100644 --- a/src/event.c +++ b/src/event.c @@ -1564,6 +1564,27 @@ static void handleKeyPress(XEvent * event) handleMaximize(wwin, MAX_MAXIMUS | MAX_KEYBOARD); } break; + case WKBD_KEEP_ON_TOP: + if (ISMAPPED(wwin) && ISFOCUSED(wwin)) { + CloseWindowMenu(scr); + + if (wwin->frame->core->stacking->window_level != WMFloatingLevel) + ChangeStackingLevel(wwin->frame->core, WMFloatingLevel); + else + ChangeStackingLevel(wwin->frame->core, WMNormalLevel); + } + break; + + case WKBD_KEEP_AT_BOTTOM: + if (ISMAPPED(wwin) && ISFOCUSED(wwin)) { + CloseWindowMenu(scr); + + if (wwin->frame->core->stacking->window_level != WMSunkenLevel) + ChangeStackingLevel(wwin->frame->core, WMSunkenLevel); + else + ChangeStackingLevel(wwin->frame->core, WMNormalLevel); + } + break; case WKBD_OMNIPRESENT: if (ISMAPPED(wwin) && ISFOCUSED(wwin)) { CloseWindowMenu(scr); diff --git a/src/keybind.h b/src/keybind.h index 87a5cdc..214fd91 100644 --- a/src/keybind.h +++ b/src/keybind.h @@ -63,6 +63,8 @@ enum { WKBD_RBCMAXIMIZE, WKBD_MAXIMUS, WKBD_SELECT, + WKBD_KEEP_ON_TOP, + WKBD_KEEP_AT_BOTTOM, WKBD_OMNIPRESENT, WKBD_RAISE, WKBD_LOWER, http://repo.or.cz/wmaker-crm.git/commit/65802d3402dec0cfc995ec5cd1d50078fd35c183 commit 65802d3402dec0cfc995ec5cd1d50078fd35c183 Author: Doug Torrance <dtorra...@piedmont.edu> Date: Mon Jan 18 20:52:17 2016 -0500 wmaker: Use window placement settings on other workspaces. Previously, if a window was placed on a workspace other than the current one, the window placement settings (given by WindowPlacement) were ignored and the window was drawn in the upper left hand corner. This is Debian bug #181735, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=181735 Part of the bug report by Andrew Gorcester from the link above is reproduced here: "When placing a window in a non-active workspace (which usually happens if the user asks for a program to be started when wmaker is launched, and defines an initial workspace in the window's attributes dialog), Windowmaker doesn't follow specified rules on window placement. All windows of programs that don't manage their own window placement (Gaim manages placement itself, for instance) are placed in the far upper-left corner. Usually windows originate from 64, 64, because the clip occupies the upper-left corner by default." diff --git a/src/window.c b/src/window.c index 6e22765..801d7b6 100644 --- a/src/window.c +++ b/src/window.c @@ -964,9 +964,8 @@ WWindow *wManageWindow(WScreen *scr, Window window) wWindowConstrainSize(wwin, &width, &height); /* do not ask for window placement if the window is - * transient, during startup, if the initial workspace is another one - * or if the window wants to start iconic. - * If geometry was saved, restore it. */ + * transient, during startup, or if the window wants + * to start iconic. If geometry was saved, restore it. */ { Bool dontBring = False; @@ -975,7 +974,6 @@ WWindow *wManageWindow(WScreen *scr, Window window) y = win_state->state->y; } else if ((wwin->transient_for == None || wPreferences.window_placement != WPM_MANUAL) && !scr->flags.startup - && workspace == scr->current_workspace && !wwin->flags.miniaturized && !wwin->flags.maximized && !(wwin->normal_hints->flags & (USPosition | PPosition))) { ----------------------------------------------------------------------- Summary of changes: WPrefs.app/KeyboardShortcuts.c | 2 ++ src/defaults.c | 4 ++++ src/event.c | 21 +++++++++++++++++++++ src/keybind.h | 2 ++ src/window.c | 6 ++---- src/winmenu.c | 3 +++ 6 files changed, 34 insertions(+), 4 deletions(-) repo.or.cz automatic notification. Contact project admin crma...@gmail.com if you want to unsubscribe, or site admin ad...@repo.or.cz if you receive no reply. -- wmaker-crm.git ("The Window Maker window manager") -- To unsubscribe, send mail to wmaker-dev-unsubscr...@lists.windowmaker.org.