[Pkg-wmaker-commits] [wmaker] 18/40: Fixed wrong (re)stored dimensions for unmaximized window.
Doug Torrance
dtorrance-guest at moszumanska.debian.org
Sat Mar 11 13:08:18 UTC 2017
This is an automated email from the git hooks/post-receive script.
dtorrance-guest pushed a commit to branch upstream
in repository wmaker.
commit 160f879cce42cfefa8afcaadbf401d1127a795ef
Author: gryf <gryf73 at gmail.com>
Date: Mon Feb 13 20:31:11 2017 +0100
Fixed wrong (re)stored dimensions for unmaximized window.
---
NEWS | 24 ++++++++++++------------
WPrefs.app/Expert.c | 2 +-
src/actions.c | 26 +++++++++++++++-----------
3 files changed, 28 insertions(+), 24 deletions(-)
diff --git a/NEWS b/NEWS
index b407b78..cdb41d5 100644
--- a/NEWS
+++ b/NEWS
@@ -4,17 +4,6 @@ NEWS for veteran Window Maker users
-- 0.95.8
-Snapping a window to the top
-----------------------------
-
-You can now choose whether snapping a window to the top edge of the screen
-maximizes it to the top half (the previous and default behavior) or to the
-full screen by setting "SnapToTopMaximizesFullscreen" to "NO" or "YES",
-respectively. This setting can also be changed by unchecking or checking
-"Snapping a window to the top maximizes it to the full screen" in the
-"Expert User Preferences" tab in WPrefs.app.
-
-
Move half-maximized windows between the screens
-----------------------------------------------
@@ -97,10 +86,21 @@ on the layout of displays.
Note, that only windows that are half-maximized vertically or horizontally can
be moved to another screen due to the fact, that direction of movement of
quarter-maximized windows is ambiguous. As for vertical/horizontal-maximize,
-since doesn't move the window but only strech it vertically/horizontally this
+since doesn't move the window but only stretch it vertically/horizontally this
feature also doesn't apply.
+Snapping a window to the top
+----------------------------
+
+You can now choose whether snapping a window to the top edge of the screen
+maximizes it to the top half (the previous and default behavior) or to the
+full screen by setting "SnapToTopMaximizesFullscreen" to "NO" or "YES",
+respectively. This setting can also be changed by unchecking or checking
+"Snapping a window to the top maximizes it to the full screen" in the
+"Expert User Preferences" tab in WPrefs.app.
+
+
-- 0.95.7
Window snapping
diff --git a/WPrefs.app/Expert.c b/WPrefs.app/Expert.c
index e4c922a..aae55ed 100644
--- a/WPrefs.app/Expert.c
+++ b/WPrefs.app/Expert.c
@@ -100,7 +100,7 @@ static const struct {
{ N_("Snapping a window to the top maximizes it to the full screen."),
/* default: */ False, OPTION_WMAKER, "SnapToTopMaximizesFullscreen" },
- { N_("Allow move half-maximized windows betweem multiple screens."),
+ { N_("Allow move half-maximized windows between multiple screens."),
/* default: */ False, OPTION_WMAKER, "MoveHalfMaximizedWindowsBetweenScreens" },
{ N_("Open dialogs in the same workspace as their owners."),
diff --git a/src/actions.c b/src/actions.c
index 4a96ce3..a1099a4 100644
--- a/src/actions.c
+++ b/src/actions.c
@@ -393,6 +393,9 @@ void wMaximizeWindow(WWindow *wwin, int directions, int head)
totalArea.y2 = scr->scr_height;
totalArea.x1 = 0;
totalArea.y1 = 0;
+ /* ignore provided head information for toggling full maximize/unmaximize */
+ if (directions & MAX_KEYBOARD)
+ head = wGetHeadForWindow(wwin);
usableArea = wGetUsableAreaForHead(scr, head, &totalArea, True);
/* Only save directions, not kbd or xinerama hints */
@@ -490,6 +493,7 @@ void handleMaximize(WWindow *wwin, int directions)
int effective = requested ^ current;
int flags = directions & ~requested;
int head = wGetHeadForWindow(wwin);
+ int dest_head = -1;
if (!effective) {
/* allow wMaximizeWindow to restore the Maximusized size */
@@ -503,43 +507,43 @@ void handleMaximize(WWindow *wwin, int directions)
* clear on which direction user intend to move such window. */
if ((current & MAX_VERTICAL) || (current & MAX_HORIZONTAL)) {
if (requested & MAX_LEFTHALF && current & MAX_LEFTHALF) {
- head = wGetHeadRelativeToCurrentHead(wwin->screen_ptr,
+ dest_head = wGetHeadRelativeToCurrentHead(wwin->screen_ptr,
head, DIRECTION_LEFT);
- if (head != -1) {
+ if (dest_head != -1) {
effective |= MAX_RIGHTHALF;
effective |= MAX_VERTICAL;
effective &= ~(MAX_HORIZONTAL | MAX_LEFTHALF);
}
} else if (requested & MAX_RIGHTHALF &&
current & MAX_RIGHTHALF) {
- head = wGetHeadRelativeToCurrentHead(wwin->screen_ptr,
+ dest_head = wGetHeadRelativeToCurrentHead(wwin->screen_ptr,
head, DIRECTION_RIGHT);
- if (head != -1) {
+ if (dest_head != -1) {
effective |= MAX_LEFTHALF;
effective |= MAX_VERTICAL;
effective &= ~(MAX_HORIZONTAL | MAX_RIGHTHALF);
}
} else if (requested & MAX_TOPHALF && current & MAX_TOPHALF) {
- head = wGetHeadRelativeToCurrentHead(wwin->screen_ptr,
+ dest_head = wGetHeadRelativeToCurrentHead(wwin->screen_ptr,
head, DIRECTION_UP);
- if (head != -1) {
+ if (dest_head != -1) {
effective |= MAX_BOTTOMHALF;
effective |= MAX_HORIZONTAL;
effective &= ~(MAX_VERTICAL | MAX_TOPHALF);
}
- } else if (requested & MAX_BOTTOMHALF &&
+ } else if (requested & MAX_BOTTOMHALF &&
current & MAX_BOTTOMHALF) {
- head = wGetHeadRelativeToCurrentHead(wwin->screen_ptr,
+ dest_head = wGetHeadRelativeToCurrentHead(wwin->screen_ptr,
head, DIRECTION_DOWN);
- if (head != -1) {
+ if (dest_head != -1) {
effective |= MAX_TOPHALF;
effective |= MAX_HORIZONTAL;
effective &= ~(MAX_VERTICAL | MAX_BOTTOMHALF);
}
- } if (head == -1)
+ } if (dest_head == -1)
wUnmaximizeWindow(wwin);
else
- wMaximizeWindow(wwin, effective | flags, head);
+ wMaximizeWindow(wwin, effective | flags, dest_head);
} else
wUnmaximizeWindow(wwin);
} else
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-wmaker/wmaker.git
More information about the Pkg-wmaker-commits
mailing list