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 1cabdcfb85945967edccda1211a16d5d08811347 (commit)
via b478049eac876faede3f96d8f9efd49f4729f58a (commit)
from 451cc64132837a324accf1f1304a6aac70615ada (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/w/wmaker-crm.git/commit/1cabdcfb85945967edccda1211a16d5d08811347
commit 1cabdcfb85945967edccda1211a16d5d08811347
Author: Doug Torrance <[email protected]>
Date: Wed Sep 24 23:49:08 2014 -0500
NEWS: Add note about dragging maximized windows.
diff --git a/NEWS b/NEWS
index ce8b86ee..f83ae0bc 100644
--- a/NEWS
+++ b/NEWS
@@ -17,6 +17,34 @@ dragging windows" is selected under "Workspace Preferences"
in WPrefs.app, or
if "DontLinkWorkspaces = NO" in ~/GNUstep/Defaults/WindowMaker, as this
feature
also involves dragging a window to one side of the screen.
+Dragging maximized windows
+--------------------------
+You can now control the behavior when a maximized window is dragged by setting
+the "DragMaximizedWindow" option in ~/GNUstep/Defaults/WindowMaker or by
+selecting an option from the "When dragging a maximized window..." pop-up
button
+under "Window Handling Preferences" in WPrefs.app.
+
+There are four choices:
+* "Move" ("...change position (normal behavior)" in WPrefs.app) is the default
+ and traditional behavior. A maximized window is moved when dragged and
+ remains maximized, i.e., it keeps its maximized geometry and can later be
+ unmaximized.
+* "RestoreGeometry" ("...restore unmaximized geometry") is the behavior
standard
+ in desktop environments like GNOME, Cinnamon, and Unity. A maximized window
+ is moved when dragged and is completely unmaximized, i.e., its unmaximized
+ geometry is restored.
+* "Unmaximize" ("...consider the window unmaximized") causes a maximized window
+ to be moved when dragged and remains partially maximized, i.e., it keeps its
+ maximized geometry, but is consider to be unmaximized. In particular, it can
+ be immediately re-maximized.
+* "NoMove" ("...do not move the window") prevents a maximized window from being
+ moved when dragged.
+
+Note that, to accomodate this option in the "Window Handling Preferences" tab
in
+WPrefs.app, the option to "Open dialogs in the same workspace as their owners"
+(which sets the "OpenTransientOnOwnerWorkspace" option from
+~/GNUstep/Defaults/WindowMaker) has been moved to "Expert User Preferences".
+
--- 0.95.6
More image format supported
http://repo.or.cz/w/wmaker-crm.git/commit/b478049eac876faede3f96d8f9efd49f4729f58a
commit b478049eac876faede3f96d8f9efd49f4729f58a
Author: Doug Torrance <[email protected]>
Date: Wed Sep 24 22:30:52 2014 -0500
WPrefs.app: Add ability to set behavior when dragging a maximized window.
You can now set the behavior when dragging a maximized window, i.e., the
"DragMaximizedWindow" option from ~/GNUstep/Defaults/WindowMaker, from the
"Window Handling" tab of WPrefs.app.
Note that to make room for the pop-up button required to set this option,
the
switch button to set the "OpenTransientOnOwnerWorkspace" option has been
moved
to the "Expert User Preferences" tab and the "Edge Resistance" frame has
been
made slightly smaller.
diff --git a/WPrefs.app/Expert.c b/WPrefs.app/Expert.c
index 888ccaa1..2f6cb7fc 100644
--- a/WPrefs.app/Expert.c
+++ b/WPrefs.app/Expert.c
@@ -84,8 +84,8 @@ static const struct {
{ N_("Enable window snapping."),
/* default: */ False, OPTION_WMAKER, "WindowSnapping" },
- { N_("Return maximized windows to original geometry when moved."),
- /* default: */ False, OPTION_WMAKER, "UnmaximizeOnMove" }
+ { N_("Open dialogs in the same workspace as their owners."),
+ /* default: */ False, OPTION_WMAKER, "OpenTransientOnOwnerWorkspace" }
};
diff --git a/WPrefs.app/WindowHandling.c b/WPrefs.app/WindowHandling.c
index 0976b17d..4a8f1bc2 100644
--- a/WPrefs.app/WindowHandling.c
+++ b/WPrefs.app/WindowHandling.c
@@ -61,8 +61,8 @@ typedef struct _Panel {
WMButton *opaqresizeB;
WMButton *opaqkeybB;
- WMFrame *tranF;
- WMButton *tranB;
+ WMFrame *dragmaxF;
+ WMPopUpButton *dragmaxP;
} _Panel;
#define ICON_FILE "whandling"
@@ -77,7 +77,7 @@ typedef struct _Panel {
#define THUMB_SIZE 16
-static const char *placements[] = {
+static const char *const placements[] = {
"auto",
"random",
"manual",
@@ -86,6 +86,13 @@ static const char *placements[] = {
"center"
};
+static const char *const dragMaximizedWindowOptions[] = {
+ "Move",
+ "RestoreGeometry",
+ "Unmaximize",
+ "NoMove"
+};
+
static void sliderCallback(WMWidget * w, void *data)
{
_Panel *panel = (_Panel *) data;
@@ -168,6 +175,25 @@ static int getPlacement(const char *str)
return 0;
}
+static int getDragMaximizedWindow(const char *str)
+{
+ if (!str)
+ return 0;
+
+ if (strcasecmp(str, "Move") == 0)
+ return 0;
+ else if (strcasecmp(str, "RestoreGeometry") == 0)
+ return 1;
+ else if (strcasecmp(str, "Unmaximize") == 0)
+ return 2;
+ else if (strcasecmp(str, "NoMove") == 0)
+ return 3;
+ else
+ wwarning(_("bad option value %s in WindowPlacement. Using
default value"), str);
+ return 0;
+}
+
+
static void showData(_Panel * panel)
{
char *str;
@@ -200,12 +226,13 @@ static void showData(_Panel * panel)
WMSetSliderValue(panel->resS, x);
resistanceCallback(NULL, panel);
+ str = GetStringForKey("DragMaximizedWindow");
+ WMSetPopUpButtonSelectedItem(panel->dragmaxP,
getDragMaximizedWindow(str));
+
x = GetIntegerForKey("ResizeIncrement");
WMSetSliderValue(panel->resizeS, x);
resizeCallback(NULL, panel);
- WMSetButtonSelected(panel->tranB,
GetBoolForKey("OpenTransientOnOwnerWorkspace"));
-
WMSetButtonSelected(panel->opaqB, GetBoolForKey("OpaqueMove"));
WMSetButtonSelected(panel->opaqresizeB, GetBoolForKey("OpaqueResize"));
WMSetButtonSelected(panel->opaqkeybB,
GetBoolForKey("OpaqueMoveResizeKeyboard"));
@@ -232,8 +259,6 @@ static void storeData(_Panel * panel)
SetBoolForKey(WMGetButtonSelected(panel->opaqresizeB), "OpaqueResize");
SetBoolForKey(WMGetButtonSelected(panel->opaqkeybB),
"OpaqueMoveResizeKeyboard");
- SetBoolForKey(WMGetButtonSelected(panel->tranB),
"OpenTransientOnOwnerWorkspace");
-
SetStringForKey(placements[WMGetPopUpButtonSelectedItem(panel->placP)],
"WindowPlacement");
sprintf(buf, "%i", WMGetSliderValue(panel->hsli));
x = WMCreatePLString(buf);
@@ -246,6 +271,9 @@ static void storeData(_Panel * panel)
SetIntegerForKey(WMGetSliderValue(panel->resS), "EdgeResistance");
+
SetStringForKey(dragMaximizedWindowOptions[WMGetPopUpButtonSelectedItem(panel->dragmaxP)],
+ "DragMaximizedWindow");
+
SetIntegerForKey(WMGetSliderValue(panel->resizeS), "ResizeIncrement");
SetBoolForKey(WMGetButtonSelected(panel->resrB), "Attraction");
@@ -463,7 +491,7 @@ static void createPanel(Panel * p)
/**************** Edge Resistance ****************/
panel->resF = WMCreateFrame(panel->box);
- WMResizeWidget(panel->resF, 289, 50);
+ WMResizeWidget(panel->resF, 289, 47);
WMMoveWidget(panel->resF, 8, 125);
WMSetFrameTitle(panel->resF, _("Edge Resistance"));
@@ -474,7 +502,7 @@ static void createPanel(Panel * p)
panel->resS = WMCreateSlider(panel->resF);
WMResizeWidget(panel->resS, 80, 15);
- WMMoveWidget(panel->resS, 10, 22);
+ WMMoveWidget(panel->resS, 10, 20);
WMSetSliderMinValue(panel->resS, 0);
WMSetSliderMaxValue(panel->resS, 80);
WMSetSliderAction(panel->resS, resistanceCallback, panel);
@@ -496,17 +524,21 @@ static void createPanel(Panel * p)
WMMapSubwidgets(panel->resF);
- /**************** Transients on Parent Workspace ****************/
- panel->tranF = WMCreateFrame(panel->box);
- WMResizeWidget(panel->tranF, 289, 40);
- WMMoveWidget(panel->tranF, 8, 185);
-
- panel->tranB = WMCreateSwitchButton(panel->tranF);
- WMMoveWidget(panel->tranB, 10, 5);
- WMResizeWidget(panel->tranB, 250, 30);
- WMSetButtonText(panel->tranB, _("Open dialogs in the same workspace as
their owners"));
-
- WMMapSubwidgets(panel->tranF);
+ /**************** Dragging a Maximized Window ****************/
+ panel->dragmaxF = WMCreateFrame(panel->box);
+ WMResizeWidget(panel->dragmaxF, 289, 46);
+ WMMoveWidget(panel->dragmaxF, 8, 179);
+ WMSetFrameTitle(panel->dragmaxF, _("When dragging a maximized
window..."));
+
+ panel->dragmaxP = WMCreatePopUpButton(panel->dragmaxF);
+ WMResizeWidget(panel->dragmaxP, 269, 20);
+ WMMoveWidget(panel->dragmaxP, 10, 20);
+ WMAddPopUpButtonItem(panel->dragmaxP, _("...change position (normal
behavior)"));
+ WMAddPopUpButtonItem(panel->dragmaxP, _("...restore unmaximized
geometry"));
+ WMAddPopUpButtonItem(panel->dragmaxP, _("...consider the window
unmaximized"));
+ WMAddPopUpButtonItem(panel->dragmaxP, _("...do not move the window"));
+
+ WMMapSubwidgets(panel->dragmaxF);
WMRealizeWidget(panel->box);
WMMapSubwidgets(panel->box);
-----------------------------------------------------------------------
Summary of changes:
NEWS | 28 ++++++++++++++++
WPrefs.app/Expert.c | 4 +-
WPrefs.app/WindowHandling.c | 72 +++++++++++++++++++++++++++++++------------
3 files changed, 82 insertions(+), 22 deletions(-)
repo.or.cz automatic notification. Contact project admin [email protected]
if you want to unsubscribe, or site admin [email protected] if you receive
no reply.
--
wmaker-crm.git ("The Window Maker window manager")
--
To unsubscribe, send mail to [email protected].