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  f53797f9ef491069b7b2cbbabbd9a59eb12aabaa (commit)
       via  45799efa023037de27b39b949db3b6f34262af52 (commit)
       via  bf6bc79d37b6f40a6b99d6027d91a12973ac81f8 (commit)
       via  36cd5e664164f982c7eda41a3eb35c1dbfd2dcfd (commit)
       via  40231016f95fd89ebbce09b5fd635de046ad6fe3 (commit)
       via  4d74b1898746beaef338ac28973bb787c9face41 (commit)
      from  2e64831fb6742d8fc4164000da9acae4738853a8 (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/f53797f9ef491069b7b2cbbabbd9a59eb12aabaa

commit f53797f9ef491069b7b2cbbabbd9a59eb12aabaa
Author: Daniel Déchelotte <[email protected]>
Date:   Mon Oct 7 23:49:28 2013 +0200

    Remove dead code for a confirmation dialog that we'll probably never want 
to show
    
    Setting a clip as autoattracting will disable an autoattracting drawer,
    and reciprocally. Although not immediately obvious, it should be fairly
    easy to figure out, and is totally reversible. So we'll probably never
    opt to show that confirmation dialog box.

diff --git a/src/dock.c b/src/dock.c
index 29091e3..1e0405c 100644
--- a/src/dock.c
+++ b/src/dock.c
@@ -583,32 +583,6 @@ static void toggleAutoAttractCallback(WMenu *menu, 
WMenuEntry *entry)
 
        assert(entry->clientdata != NULL);
 
-       /* Setting a clip as autoattracting will disable an autoattracting 
drawer,
-        * and reciprocally. Ask for confirmation? */
-#ifdef CONFIRM_AUTOATTRACT_CHANGE
-       if (dock->type == WM_CLIP && scr->attracting_drawer) {
-               if (wMessageDialog(scr, _("Workspace Clip"),
-                                                  _("The drawer that 
auto-attracted icons so far won't do so anymore!"),
-                                                  _("OK"), _("Cancel"), NULL) 
!= WAPRDefault)
-                       return;
-       } else if (dock->type == WM_DRAWER) {
-               /* check if at least one clip already auto attracts icons */
-               int i, ask_for_confirmation = False;
-               for (i = 0; i < w_global.workspace.count; i++) {
-                       if (w_global.workspace.array[i]->clip->attract_icons) {
-                               ask_for_confirmation = True;
-                               break;
-                       }
-               }
-               if (ask_for_confirmation) {
-                       if (wMessageDialog(scr, _("Drawer"),
-                                                          _("Any clips that 
auto-attracted icons so far won't do so anymore!"),
-                                                          _("OK"), 
_("Cancel"), NULL) != WAPRDefault)
-                               return;
-               }
-       }
-#endif
-
        dock->attract_icons = !dock->attract_icons;
 
        entry->flags.indicator_on = dock->attract_icons;

http://repo.or.cz/w/wmaker-crm.git/commit/45799efa023037de27b39b949db3b6f34262af52

commit 45799efa023037de27b39b949db3b6f34262af52
Author: Daniel Déchelotte <[email protected]>
Date:   Mon Oct 7 23:49:27 2013 +0200

    Fix removal of drawer with a single appicon
    
    When removing a drawer containing a single appicon, the latter is
    docked where the drawer was, instead of being totally undocked.

diff --git a/src/dock.c b/src/dock.c
index 2449d88..29091e3 100644
--- a/src/dock.c
+++ b/src/dock.c
@@ -4382,13 +4382,26 @@ static void drawerDestroy(WDock *drawer)
 
        wDefaultPurgeInfo(scr, drawer->icon_array[0]->wm_instance,
                        drawer->icon_array[0]->wm_class);
-       icons = WMCreateArray(drawer->icon_count - 1);
-       for (i = 1; i < drawer->max_icons; i++) {
-               if (!(aicon = drawer->icon_array[i]))
-                       continue;
-               WMAddToArray(icons, aicon);
+       if (drawer->icon_count == 2) {
+               // Drawer contains a single appicon: dock it where the drawer 
was
+               for (i = 1; i < drawer->max_icons; i++) {
+                       if ((aicon = drawer->icon_array[i]))
+                               break;
+               }
+               wDockMoveIconBetweenDocks(drawer, scr->dock, aicon,
+                                       0, (drawer->y_pos - scr->dock->y_pos) / 
ICON_SIZE);
+               XMoveWindow(dpy, aicon->icon->core->window, drawer->x_pos, 
drawer->y_pos);
+               XMapWindow(dpy, aicon->icon->core->window);
+       }
+       else if (drawer->icon_count > 2) {
+               icons = WMCreateArray(drawer->icon_count - 1);
+               for (i = 1; i < drawer->max_icons; i++) {
+                       if (!(aicon = drawer->icon_array[i]))
+                               continue;
+                       WMAddToArray(icons, aicon);
+               }
+               removeIcons(icons, drawer);
        }
-       removeIcons(icons, drawer);
 
        if (drawer->auto_collapse_magic) {
                WMDeleteTimerHandler(drawer->auto_collapse_magic);
@@ -4416,7 +4429,7 @@ static void removeDrawerCallback(WMenu *menu, WMenuEntry 
*entry)
        WDock *dock = ((WAppIcon*)entry->clientdata)->dock;
        assert(dock != NULL);
 
-       if (dock->icon_count > 1) {
+       if (dock->icon_count > 2) {
                if (wMessageDialog(dock->screen_ptr, _("Drawer"),
                                        _("All icons in this drawer will be 
detached!"),
                                        _("OK"), _("Cancel"), NULL) != 
WAPRDefault)

http://repo.or.cz/w/wmaker-crm.git/commit/bf6bc79d37b6f40a6b99d6027d91a12973ac81f8

commit bf6bc79d37b6f40a6b99d6027d91a12973ac81f8
Author: Daniel Déchelotte <[email protected]>
Date:   Mon Oct 7 23:49:26 2013 +0200

    Fix stacking level bug when creating a drawer in a keep-on-top dock
    
    Now moving the drawer's window to the WMDockLevel if it's on top (i.e., not 
lowered)
    (Minor bug, as it didn't persist after a WM restart)

diff --git a/src/dock.c b/src/dock.c
index e14e437..2449d88 100644
--- a/src/dock.c
+++ b/src/dock.c
@@ -4339,6 +4339,10 @@ static int addADrawer(WScreen *scr)
 
        drawer = wDockCreate(scr, WM_DRAWER, NULL);
        drawer->lowered = scr->dock->lowered;
+       if (!drawer->lowered)
+               ChangeStackingLevel(drawer->icon_array[0]->icon->core, 
WMDockLevel);
+       else
+               ChangeStackingLevel(drawer->icon_array[0]->icon->core, 
WMNormalLevel);
        drawer->auto_raise_lower = scr->dock->auto_raise_lower;
        drawer->x_pos = dock->x_pos;
        drawer->y_pos = dock->y_pos + ICON_SIZE * y;

http://repo.or.cz/w/wmaker-crm.git/commit/36cd5e664164f982c7eda41a3eb35c1dbfd2dcfd

commit 36cd5e664164f982c7eda41a3eb35c1dbfd2dcfd
Author: Daniel Déchelotte <[email protected]>
Date:   Mon Oct 7 23:49:25 2013 +0200

    Correctly initialize the drawer tile when the dock is on the left side

diff --git a/src/screen.c b/src/screen.c
index a89cbb1..2ff3d9d 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -833,8 +833,17 @@ void wScreenRestoreState(WScreen * scr)
                w_global.clip.icon = wClipRestoreState(scr, state);
        }
        
-       if (!wPreferences.flags.nodrawer)
+       if (!wPreferences.flags.nodrawer) {
+               if (!scr->dock->on_right_side) {
+                       /* Drawer tile was created early in wScreenInit() -> 
wReadDefaults(). At
+                        * that time, scr->dock was NULL and the tile was 
created as if we were on
+                        * the right side. If we aren't, redo it now. */
+                       assert(scr->drawer_tile);
+                       RReleaseImage(scr->drawer_tile);
+                       scr->drawer_tile = wDrawerMakeTile(scr, scr->icon_tile);
+               }
                wDrawersRestoreState(scr);
+       }
 
        wWorkspaceRestoreState(scr);
        wScreenUpdateUsableArea(scr);

http://repo.or.cz/w/wmaker-crm.git/commit/40231016f95fd89ebbce09b5fd635de046ad6fe3

commit 40231016f95fd89ebbce09b5fd635de046ad6fe3
Author: Daniel Déchelotte <[email protected]>
Date:   Mon Oct 7 23:49:24 2013 +0200

    Prevent crash when toggling auto-attract on a drawer with clip disabled
    
    toggleAutoAttractCallback needs to check whether there are clips before 
iterating
    through them (or it crashes WM!). The extra test is needed because now 
drawers can
    auto-attract as well. Before drawers, only clips could auto-attract, so 
testing
    wPreferences.flags.noclip was pointless.

diff --git a/src/dock.c b/src/dock.c
index 5ca6c10..e14e437 100644
--- a/src/dock.c
+++ b/src/dock.c
@@ -619,10 +619,13 @@ static void toggleAutoAttractCallback(WMenu *menu, 
WMenuEntry *entry)
                if (dock->type == WM_DRAWER) {
                        /* The newly auto-attracting dock is a drawer: disable 
any clip and 
                         * previously attracting drawer */
-                       int i;
-                       for (i = 0; i < w_global.workspace.count; i++)
-                               
w_global.workspace.array[i]->clip->attract_icons = False;
-                               /* dock menu will be updated later, when opened 
*/
+
+                       if (!wPreferences.flags.noclip) {
+                               int i;
+                               for (i = 0; i < w_global.workspace.count; i++)
+                                       
w_global.workspace.array[i]->clip->attract_icons = False;
+                                       /* dock menu will be updated later, 
when opened */
+                       }
 
                        if (scr->attracting_drawer != NULL)
                                scr->attracting_drawer->attract_icons = False;

http://repo.or.cz/w/wmaker-crm.git/commit/4d74b1898746beaef338ac28973bb787c9face41

commit 4d74b1898746beaef338ac28973bb787c9face41
Author: Daniel Déchelotte <[email protected]>
Date:   Mon Oct 7 23:49:23 2013 +0200

    Allow undocking appicon when Alt is pressed
    
    When moving an undocked appicon (or applet), allow it to
    be docked even if Alt is still pressed
    
    That conforms to pre-9fae35fbc4 behavior.

diff --git a/src/appicon.c b/src/appicon.c
index 0a5d6e6..4ccd3a4 100644
--- a/src/appicon.c
+++ b/src/appicon.c
@@ -875,7 +875,7 @@ Bool wHandleAppIconMove(WAppIcon *aicon, XEvent *event)
                        wAppIconMove(aicon, x, y);
 
                        WDock *theNewDock = NULL;
-                       if (!(ev.xmotion.state & MOD_MASK) || aicon->launching 
|| aicon->lock) {
+                       if (!(ev.xmotion.state & MOD_MASK) || aicon->launching 
|| aicon->lock || originalDock == NULL) {
                                for (i = 0; dockable && i < scr->drawer_count + 
2; i++) {
                                        WDock *theDock = allDocks[i];
                                        if (theDock == NULL)

-----------------------------------------------------------------------

Summary of changes:
 src/appicon.c |    2 +-
 src/dock.c    |   68 ++++++++++++++++++++++++++-------------------------------
 src/screen.c  |   11 ++++++++-
 3 files changed, 42 insertions(+), 39 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].

Reply via email to