]> git.pld-linux.org Git - packages/icewm.git/blob - icewm-tray_hotfixes.patch
- one more autohide fix: moving out of newly created window at taskbar (for
[packages/icewm.git] / icewm-tray_hotfixes.patch
1 #! /bin/sh /usr/share/dpatch/dpatch-run
2 ## tray_hotfixes.dpatch, reverting a weird CVS change creating races
3 ##
4
5 @DPATCH@
6 Index: icewm-1.3.7~pre2/src/icetray.cc
7 ===================================================================
8 --- icewm-1.3.7~pre2.orig/src/icetray.cc        2010-04-28 21:00:30.000000000 +0200
9 +++ icewm-1.3.7~pre2/src/icetray.cc     2010-04-29 22:11:16.938048246 +0200
10 @@ -36,14 +36,10 @@
11      bool checkMessageEvent(const XClientMessageEvent &message);
12      void requestDock();
13  
14 -    void handleUnmap(const XUnmapEvent &ev) {
15 -        YWindow::handleUnmap(ev);
16 -        MSG(("hide1"));
17 -//        if (visible() && ev.window == handle()) {
18 -            MSG(("hide2"));
19 +    void handleUnmap(const XUnmapEvent &) {
20 +        MSG(("hide"));
21 +        if (visible())
22              hide();
23 -            fManaged = false;
24 -//        }
25      }
26  
27      void trayChanged();
28 @@ -51,7 +47,6 @@
29      Atom icewm_internal_tray;
30      Atom _NET_SYSTEM_TRAY_OPCODE;
31      YXTray *fTray2;
32 -    bool fManaged;
33  };
34  
35  class SysTrayApp: public YXApplication {
36 @@ -187,7 +182,6 @@
37      setSize(fTray2->width(),
38              fTray2->height());
39      fTray2->show();
40 -    fManaged = false;
41      requestDock();
42  }
43      
44 @@ -195,15 +189,10 @@
45      fTray2->backgroundChanged();
46      setSize(fTray2->width(),
47              fTray2->height());
48 -    if (fTray2->visible()) {
49 -        if (!fManaged)
50 -            requestDock();
51 -        else
52 -            show();
53 -    } else {
54 -        fManaged = false;
55 +    if (fTray2->visible())
56 +        show();
57 +    else 
58          hide();
59 -    }
60  }
61  
62  void SysTray::requestDock() {
63 @@ -223,19 +212,12 @@
64  
65          XSendEvent(xapp->display(), w, False, StructureNotifyMask, (XEvent *) &xev);
66      }
67 -    fManaged = true;
68  }
69  
70  bool SysTray::checkMessageEvent(const XClientMessageEvent &message) {
71      if (message.message_type == icewm_internal_tray) {
72 -        MSG(("requestDock %lX", (long)handle()));
73 -        setSize(fTray2->width(),
74 -                fTray2->height());
75 -        MSG(("requestDock2 %d %d", width(), height()));
76 -        if (fTray2->visible())
77 -            requestDock();
78 -        else
79 -            fManaged = false;
80 +        MSG(("requestDock"));
81 +        requestDock();
82      }
83      return true;
84  }
This page took 0.025583 seconds and 3 git commands to generate.