]> Dogcows Code - chaz/tint2/commitdiff
*fix* start work on autohide+drag'n'drop
authorAndreas Fink <andreas.fink85@googlemail.com>
Sun, 20 Jun 2010 15:56:04 +0000 (15:56 +0000)
committerAndreas Fink <andreas.fink85@googlemail.com>
Sun, 20 Jun 2010 15:56:04 +0000 (15:56 +0000)
*fix* fallback version is 0.11-svn

get_svnrev.sh
src/panel.h
src/tint.c

index 3dc1e55c6e749a37dbecfa88a43b510c863ac0b2..06a48cecb6c1a207f54b4e6a629bda3a9ed065d9 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-FALLBACK=\"0.10-svn\"
+FALLBACK=\"0.11-svn\"
 
 if [ $# -eq 0 ]; then
   DIR=.
index 765b5f19e728b2ea7785638f624d7f3136b9a993..2b2a5707b3ff31bc2e68782564fdbf0c9328ddee 100644 (file)
@@ -148,7 +148,8 @@ int click_padding(Panel *panel, int x, int y);
 int click_clock(Panel *panel, int x, int y);
 Area* click_area(Panel *panel, int x, int y);
 
-void autohide_trigger_show();
-void autohide_trigger_hide();
+void autohide_show(void* p);
+void autohide_trigger_show(Panel* p);
+void autohide_trigger_hide(Panel* p);
 
 #endif
index 819960866f39a619d659b1885ca8cff7061c3657..8052aecc3bce02837e9ad74e0c330521284f67fa 100644 (file)
@@ -790,8 +790,12 @@ start:
                                                autohide_trigger_show(panel);
                                        else if (e.type == LeaveNotify)
                                                autohide_trigger_hide(panel);
-                                       if (panel->is_hidden)
-                                               continue;   // discard further processing of this event because the panel is not visible yet
+                                       if (panel->is_hidden) {
+                                               if (e.type == ClientMessage && e.xclient.message_type == server.atom.XdndPosition)
+                                                       autohide_show(panel);
+                                               else
+                                                       continue;   // discard further processing of this event because the panel is not visible yet
+                                       }
                                }
 
                                switch (e.type) {
@@ -871,8 +875,7 @@ start:
                                                                // Start real_transparency
                                                                signal_pending = SIGUSR1;
                                                }
-                                               if (!systray.area.on_screen) break;
-                                               if (e.xclient.message_type == server.atom._NET_SYSTEM_TRAY_OPCODE && e.xclient.format == 32 && e.xclient.window == net_sel_win) {
+                                               if (systray.area.on_screen && e.xclient.message_type == server.atom._NET_SYSTEM_TRAY_OPCODE && e.xclient.format == 32 && e.xclient.window == net_sel_win) {
                                                        net_message(&e.xclient);
                                                }
                                                else if (e.xclient.message_type == server.atom.XdndPosition) {
This page took 0.0297 seconds and 4 git commands to generate.