Xfce Forum

Sub domains
 

You are not logged in.

#1 2014-04-12 11:22:51

ungutknut
Member
Registered: 2014-04-12
Posts: 52

Minimizing Windows stopped working...

Hi,

from one update to the next it occured that minimizing windows using the xfce-panel taskbar didn't work anymore. It always was possible to minimize a window by clicking the highlighted area (that one that belongs to the window that I want to minimize) in the taskbar. It's still possible to maximize a window this way though... and minimizing by klicking the minimize-button on the upper right corner of a window also works as always. Also the minimize button in the context menu works as well as the "minimize by middle mouse button" option.

Am I the only one around with that problem? Is there a way to make it work again?

Another observation: the hightlighting of the programs in the taskbar sometimes seems to be confused, highlighting programs that shouldn't.

Here's my system info:
Xubuntu 14.04 64bit
xfce version: 4.10, panel is 4.11
Kernel 3.14
Dual Monitor (with 2 different panels, one on each screen)
Still using the old applications menu (maybe theres a link to my problem... alacarte for example also behaves pretty strange sometimes)

Offline

#2 2014-04-12 11:25:18

ungutknut
Member
Registered: 2014-04-12
Posts: 52

Re: Minimizing Windows stopped working...

Output of "PANEL_DEBUG=1 xfce4-panel"
(trying to minimize a window doesn't produce a message)

xfce4-panel(main): version 4.11.0 on gtk+ 2.24.23 (2.24.22), glib 2.40.0 (2.39.90)
xfce4-panel(module-factory): reading /usr/share/xfce4/panel/plugins
xfce4-panel(module-factory): reading /usr/share/xfce4/panel-plugins
xfce4-panel(application): found window manager after 1 tries
xfce4-panel(base-window): 0x7fd7026de1b0: rgba colormap=0x7fd7026ec260, compositing=false
xfce4-panel(base-window): 0x7fd7026de1b0: rgba colormap=0x7fd7026ec260, compositing=false
xfce4-panel(display-layout): 0x7fd7026de1b0: display=:0.0{comp=true}, screen-0[0x7fd70269c800]=[2560,1024] (DVI-0=[0,0;1280,1024], DVI-1=[1280,0;1280,1024])
xfce4-panel(positioning): 0x7fd7026de1b0: screen=0x7fd70269c800, monitors=2, output-name=(null), span-monitors=false, base=640,1011
xfce4-panel(positioning): 0x7fd7026de1b0: working-area: screen=0x7fd70269c800, x=0, y=0, w=1280, h=1024
xfce4-panel(struts): 0x7fd7026de1b0: bottom=25, start_x=0, end_x=1279
xfce4-panel(module): new item (type=object-type, name=applicationsmenu, id=27)
xfce4-panel(module): new item (type=object-type, name=launcher, id=8)
xfce4-panel(module): new item (type=object-type, name=launcher, id=19)
xfce4-panel(module): new item (type=object-type, name=launcher, id=17)
xfce4-panel(module): new item (type=object-type, name=launcher, id=18)
xfce4-panel(module): new item (type=object-type, name=launcher, id=31)
xfce4-panel(module): new item (type=object-type, name=launcher, id=33)
xfce4-panel(module): new item (type=object-type, name=tasklist, id=2)
xfce4-panel(module): new item (type=object-type, name=separator, id=3)
xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/4
xfce4-panel(module): new item (type=external-wrapper, name=systray, id=4)
xfce4-panel(external): systray-4: child spawned; pid=3448, argc=8
xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/38
xfce4-panel(module): new item (type=external-wrapper, name=indicator, id=38)
xfce4-panel(external): indicator-38: child spawned; pid=3449, argc=8
xfce4-panel(module): new item (type=object-type, name=separator, id=6)
xfce4-panel(module): new item (type=object-type, name=clock, id=7)
xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/14
xfce4-panel(module): new item (type=external-wrapper, name=cpugraph, id=14)
xfce4-panel(external): cpugraph-14: child spawned; pid=3450, argc=8
xfce4-panel(module): new item (type=object-type, name=pager, id=16)
xfce4-panel(external): register dbus path /org/xfce/Panel/Wrapper/26
xfce4-panel(module): new item (type=external-wrapper, name=screenshooter, id=26)
xfce4-panel(external): screenshooter-26: child spawned; pid=3451, argc=8
xfce4-panel(module): new item (type=object-type, name=launcher, id=35)
xfce4-panel(systray): registered manager on screen 0
xfce4-panel(base-window): 0x7fd7026de430: rgba colormap=0x7fd7026ec260, compositing=false
xfce4-panel(base-window): 0x7fd7026de430: rgba colormap=0x7fd7026ec260, compositing=false
xfce4-panel(base-window): 0x7fd7028c0a60: rgba colormap=0x7fd7026ec260, compositing=false
xfce4-panel(display-layout): 0x7fd7026de430: display=:0.0{comp=true}, screen-0[0x7fd70269c800]=[2560,1024] (DVI-0=[0,0;1280,1024], DVI-1=[1280,0;1280,1024])
xfce4-panel(positioning): 0x7fd7026de430: screen=0x7fd70269c800, monitors=2, output-name=(null), span-monitors=false, base=1349,999
xfce4-panel(positioning): 0x7fd7026de430: unset struts edge; between monitors
xfce4-panel(positioning): 0x7fd7026de430: working-area: screen=0x7fd70269c800, x=1280, y=0, w=1280, h=1024
xfce4-panel(module): new item (type=object-type, name=launcher, id=9)
xfce4-panel(module): new item (type=object-type, name=launcher, id=10)
xfce4-panel(module): new item (type=object-type, name=launcher, id=11)
xfce4-panel(module): new item (type=object-type, name=launcher, id=24)
xfce4-panel(module): new item (type=object-type, name=launcher, id=12)
xfce4-panel(module): new item (type=object-type, name=launcher, id=20)
xfce4-panel(module): new item (type=object-type, name=launcher, id=13)

** (wrapper-2.0:3449): WARNING **: Can't load fallback CSS resource: Failed to import: Die Ressource auf »/org/gnome/adwaita/gtk-fallback.css« existiert nicht

** (wrapper-2.0:3449): WARNING **: Can't load fallback CSS resource: Failed to import: Die Ressource auf »/org/gnome/adwaita/gtk-fallback.css« existiert nicht
xfce4-panel(module): new item (type=object-type, name=launcher, id=1)
xfce4-panel(module): new item (type=object-type, name=launcher, id=21)
xfce4-panel(module): new item (type=object-type, name=launcher, id=22)
xfce4-panel(module): new item (type=object-type, name=launcher, id=23)
xfce4-panel(module): new item (type=object-type, name=launcher, id=25)
xfce4-panel(module): new item (type=object-type, name=launcher, id=15)
xfce4-panel(module): new item (type=object-type, name=launcher, id=28)
xfce4-panel(module): new item (type=object-type, name=launcher, id=29)
xfce4-panel(module): new item (type=object-type, name=launcher, id=30)
xfce4-panel(module): new item (type=object-type, name=launcher, id=32)
xfce4-panel(module): new item (type=object-type, name=launcher, id=34)
xfce4-panel(module): new item (type=object-type, name=launcher, id=36)
xfce4-panel(module): new item (type=external-46, name=xfce4-sensors-plugin, id=5)
xfce4-panel(external): xfce4-sensors-plugin-5: child spawned; pid=3455, argc=8
xfce4-panel(external): systray-4: child is embedded; 5 properties in queue
xfce4-panel(external): indicator-38: child is embedded; 5 properties in queue
xfce4-panel(external): cpugraph-14: child is embedded; 5 properties in queue
xfce4-panel(xfce4-sensors-plugin): compiled against libxfce4panel 4.10.0
xfce4-panel(external): screenshooter-26: child is embedded; 5 properties in queue
xfce4-panel(xfce4-sensors-plugin): calling plugin construct function
xfce4-panel(external): xfce4-sensors-plugin-5: child is embedded; 6 properties in queue
xfce4-panel(xfce4-sensors-plugin): send provider signal 13

Last edited by ungutknut (2014-04-12 11:25:55)

Offline

#3 2014-04-12 11:26:58

ungutknut
Member
Registered: 2014-04-12
Posts: 52

Re: Minimizing Windows stopped working...

Output of "dpkg --list | grep xfce"

ii  gtk2-engines-xfce                           3.0.1-2                                    amd64        GTK+-2.0 theme engine for Xfce
ii  gtk3-engines-xfce                           3.0.1-2                                    amd64        GTK+-3.0 theme engine for Xfce
ii  libxfce4ui-1-0                              4.11.1-2ubuntu1                            amd64        widget library for Xfce - Gtk+2 variant
ii  libxfce4ui-2-0                              4.11.1-2ubuntu1                            amd64        widget library for Xfce - Gtk+3 variant
ii  libxfce4ui-common                           4.11.1-2ubuntu1                            all          common files for libxfce4ui
ii  libxfce4ui-utils                            4.11.1-2ubuntu1                            amd64        Utility files for libxfce4ui
ii  libxfce4util-bin                            4.10.1-1ubuntu1                            amd64        tools for libxfce4util
ii  libxfce4util-common                         4.10.1-1ubuntu1                            all          common files for libxfce4util
ii  libxfce4util6                               4.10.1-1ubuntu1                            amd64        Utility functions library for Xfce4
ii  libxfcegui4-4                               4.10.0-2                                   amd64        Basic GUI C functions for Xfce4
ii  xfce4-appfinder                             4.10.1-1                                   amd64        Application finder for the Xfce4 Desktop Environment
ii  xfce4-cpugraph-plugin                       1.0.5-1                                    amd64        CPU load graph plugin for the Xfce4 panel
ii  xfce4-dict                                  0.7.0-1                                    amd64        Dictionary plugin for Xfce4 panel
ii  xfce4-indicator-plugin                      2.3.2-0ubuntu1                             amd64        plugin to display information from applications in the Xfce4 panel
ii  xfce4-mailwatch-plugin                      1.2.0-1                                    amd64        mail watcher plugin for the Xfce4 panel
ii  xfce4-netload-plugin                        1.2.0-1                                    amd64        network load monitor plugin for the Xfce4 panel
ii  xfce4-notes                                 1.7.7-3ubuntu2                             amd64        Notes application for the Xfce4 desktop
ii  xfce4-notes-plugin                          1.7.7-3ubuntu2                             amd64        Notes plugin for the Xfce4 desktop
ii  xfce4-notifyd                               0.2.4-2                                    amd64        simple, visually-appealing notification daemon for Xfce
ii  xfce4-panel                                 4.11.0-0ubuntu1                            amd64        panel for Xfce4 desktop environment
ii  xfce4-places-plugin                         1.6.0-1ubuntu1                             amd64        quick access to folders, documents and removable media
ii  xfce4-power-manager                         1.2.0-3ubuntu4                             amd64        power manager for Xfce desktop
ii  xfce4-power-manager-data                    1.2.0-3ubuntu4                             all          power manager for Xfce desktop, arch-indep files
ii  xfce4-quicklauncher-plugin                  1.9.4-10ubuntu1                            amd64        rapid launcher plugin for the Xfce4 panel
ii  xfce4-screenshooter                         1.8.1-2ubuntu1                             amd64        screenshots utility for Xfce
ii  xfce4-sensors-plugin                        1.2.5-2                                    amd64        hardware sensors plugin for the Xfce4 panel
ii  xfce4-session                               4.10.1-3ubuntu5                            amd64        Xfce4 Session Manager
ii  xfce4-settings                              4.11.2-1ubuntu2                            amd64        graphical application for managing Xfce settings
ii  xfce4-systemload-plugin                     1:1.1.1-1ubuntu2                           amd64        system load monitor plugin for the Xfce4 panel
ii  xfce4-taskmanager                           1.0.1-1                                    amd64        process manager for the Xfce4 Desktop Environment
ii  xfce4-terminal                              0.6.3-1ubuntu1                             amd64        Xfce terminal emulator
ii  xfce4-verve-plugin                          1.0.0-2ubuntu1                             amd64        Verve (command line) plugin for Xfce panel
ii  xfce4-volumed                               0.2.0-0ubuntu1                             amd64        volume keys daemon
ii  xfce4-weather-plugin                        0.8.3-1                                    amd64        weather information plugin for the Xfce4 panel
ii  xfce4-whiskermenu-plugin                    1.3.2-1                                    amd64        Alternate menu plugin for the Xfce desktop environment
ii  xfce4-xkb-plugin                            1:0.7.0-0ubuntu1                           amd64        xkb layout switch plugin for the Xfce4 panel
ii  xfdesktop4                                  4.11.6-1ubuntu1                            amd64        xfce desktop background, icons and root menu manager
ii  xfdesktop4-data                             4.11.6-1ubuntu1                            all          xfce desktop background, icons and root menu (common files)

Offline

#4 2014-04-12 11:39:05

ToZ
Administrator
From: Canada
Registered: 2011-06-02
Posts: 10,950

Re: Minimizing Windows stopped working...

I've also got an install of Xubuntu 14.04 that I'm test here. It would appear that if you set the "Middle click action" to "minimize", it prevents the click on taskbar button to minimize action from working. Not sure if its by design or not though. If you set "Middle click action" to "Nothing", it works again.


Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki  |  Community | Contribute ---

Offline

#5 2014-04-12 13:05:02

ungutknut
Member
Registered: 2014-04-12
Posts: 52

Re: Minimizing Windows stopped working...

Thanks for that hint. I'll try that later when I'm on the affected system again.

It's strange though because I've activated the middle-mouse-button action just as a workaround for the described problem. So the problem occured before I activated middle-mouse-button-minimize. But I'll try and report anyway.

Offline

#6 2014-04-14 11:25:03

ungutknut
Member
Registered: 2014-04-12
Posts: 52

Re: Minimizing Windows stopped working...

ungutknut wrote:

I'll try that later when I'm on the affected system again.

Did try that - no success though. When the middle-mouse-button action is deactivated it *sometimes* (very very rarely and seemingly random) works.

It looks like there are not many people affected from this issue (actually I'm the only one I found out so far). Probably resetting the panel would help... is there a way to do this? I already tried to reinstall those xfce-packages that could somehow be involved but this didn't help.

BTW: Which package is responsible for the taskbar to work properly? Is it the "xfce4-panel" or is there a more specific one?

Edit: Maybe it helps to mention: I use "focus follows mouse" (with no delay) and no grouping in the taskbar.

Last edited by ungutknut (2014-04-14 11:45:07)

Offline

#7 2014-04-28 21:48:43

affert
Member
Registered: 2014-04-28
Posts: 1

Re: Minimizing Windows stopped working...

I also tried turning the middle-mouse-button on and off, to no avail. 

This is also happening to me. 

I've asked about it here (http://askubuntu.com/q/455477/6161) but haven't gotten any responses yet. 

I really want this to be fixed - anyone else have any ideas?

Offline

#8 2014-04-29 00:35:52

ToZ
Administrator
From: Canada
Registered: 2011-06-02
Posts: 10,950

Re: Minimizing Windows stopped working...

ungutknut wrote:

I'll try that later when I'm on the affected system again.

Sorry, somehow missed your posts.

Did try that - no success though. When the middle-mouse-button action is deactivated it *sometimes* (very very rarely and seemingly random) works.

On my now Xubuntu 14.04 (Xfce 4.11) release, the middle mouse button minimize always works (though to be honest, I don't use the windows plugin so I have to add it every time I want to test it).

It looks like there are not many people affected from this issue (actually I'm the only one I found out so far). Probably resetting the panel would help... is there a way to do this? I already tried to reinstall those xfce-packages that could somehow be involved but this didn't help.

BTW: Which package is responsible for the taskbar to work properly? Is it the "xfce4-panel" or is there a more specific one?

Yes, its bundled with xfce4-panel (in the code its referred to as "tasklist").

Edit: Maybe it helps to mention: I use "focus follows mouse" (with no delay) and no grouping in the taskbar.

Tried with both and still working fine here.

Not sure what else to suggest. What if you created another user account to see if the problem persists? Would help identify whether it is a profile problem or a system problem.


Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki  |  Community | Contribute ---

Offline

#9 2014-04-29 13:35:25

ungutknut
Member
Registered: 2014-04-12
Posts: 52

Re: Minimizing Windows stopped working...

affert wrote:

I also tried turning the middle-mouse-button on and off, to no avail. 

This is also happening to me. 

I've asked about it here (http://askubuntu.com/q/455477/6161) but haven't gotten any responses yet. 

I really want this to be fixed - anyone else have any ideas?

"Good" to hear that I'm not the only one with that issue. I also asked at a german ubuntu-forum but also without response ^^

BTW: do you use the new whisker menu or the old application menu? I have no idea if there's a link to the problem - I'm just curious; and maybe that info could help to exclude the menu.

Offline

#10 2014-04-29 13:42:47

ungutknut
Member
Registered: 2014-04-12
Posts: 52

Re: Minimizing Windows stopped working...

ToZ wrote:

Sorry, somehow missed your posts.

No problem. Thanks anyway for testing.

ToZ wrote:

What if you created another user account to see if the problem persists? Would help identify whether it is a profile problem or a system problem.

That sounds like a good suggestion. I'll try that and report later.

Offline

#11 2014-04-29 22:20:39

ungutknut
Member
Registered: 2014-04-12
Posts: 52

Re: Minimizing Windows stopped working...

Good news!

Thanks to ToZ's hint I almost found out what is causing the misbehaviour - it's some setting in the xfwm4.xml in ~/.config/xfce4/xfconf/xfce-perchannel-xml/

After I created a new user everything worked fine (logged in as that user). Then I started renaming several folders and files in the xfce4 configfolder until I found out that the configfile for xfwm4 is to blame.

So here are the two configfiles, one of it with minimize working and the faulty one:
working: http://pastebin.com/s7qruvLB
faulty: http://pastebin.com/g2qrNHY0

Hopefully someone who's familiar with the settings will recognize the line that's causing my problem.

edit: It's the line "rise on click" that should be set to "empty" ("false" should also work I guess). I wonder what event triggered a change here.

edit2: Damn... now "focus follows mouse" doesn't work anymore. If I activate this feature again minmizing windows stopps working again. So it has something to do with this.

Last edited by ungutknut (2014-04-29 22:42:53)

Offline

#12 2014-05-04 00:22:35

gmargo
Member
Registered: 2013-12-16
Posts: 2

Re: Minimizing Windows stopped working...

This bug is driving me crazy too.  Saucy 13.10 did not have it, but Trusty 14.04 certainly does.

The sad thing is that I think this was done deliberately, and is therefore a "feature".
But it's still a bug to me because it breaks the way I usually interact with the panel.

The change was made in this git commit (or possible a related one before this): 
http://git.xfce.org/xfce/xfce4-panel/co … 7649f3fca0

Here is a patch to the xfce4-panel source that restores the former behavior of button 1.
I can't vouch for it's robustness but it seems to work for me.
It really should be reimplemented as a configurable option.

diff -ru ../xfce4-panel-4.11.0/plugins/tasklist/tasklist-widget.c xfce4-panel-4.11.0/plugins/tasklist/tasklist-widget.c
--- ../xfce4-panel-4.11.0/plugins/tasklist/tasklist-widget.c	2014-02-15 18:38:19.000000000 -0800
+++ xfce4-panel-4.11.0/plugins/tasklist/tasklist-widget.c	2014-05-03 15:32:19.799376978 -0700
@@ -2754,8 +2754,16 @@
           /* press the button */
           xfce_tasklist_button_activate (child, event->time);
 
+/* GM XXX Toggle that freaking button! */
+#if 0
           /* if the window is still active, don't toggle the button */
           return wnck_window_is_active (child->window);
+#else
+          if (!wnck_window_is_minimized (child->window))
+            wnck_window_minimize (child->window);
+          else
+            wnck_window_unminimize (child->window, gtk_get_current_event_time ());
+#endif
         }
       else if (event->button == 2)
         {

EDIT: Sadly, this does not truly restore the former behavior.  It does not account for bringing obscured windows forward.

Last edited by gmargo (2014-05-05 16:25:52)

Offline

#13 2014-05-05 16:36:10

ungutknut
Member
Registered: 2014-04-12
Posts: 52

Re: Minimizing Windows stopped working...

gmargo wrote:

Here is a patch to the xfce4-panel source that restores the former behavior of button 1.
I can't vouch for it's robustness but it seems to work for me.

Thanks for that. Is there a way to test this? Unfortunately I'm not very familiar with coding and stuff...

gmargo wrote:

But it's still a bug to me because it breaks the way I usually interact with the panel.

I think it breaks the way anybody would like/expect to interact with the panel. On the other hand: it seems there are not many people complaining about the new behaviour... maybe it's only occuring under certain circumstances? Or maybe no one still minimizes windows this way... is "our way" of handling windows too oldschool?

Would be great if one of the devs would read this thread and clear things up.

Offline

#14 2014-05-05 19:09:43

MountainDewManiac
Member
From: Where Mr. Bankruptcy is Prez
Registered: 2013-03-24
Posts: 1,115

Re: Minimizing Windows stopped working...

...or you could post a link (to this thread) to the XFCE developers' mailing list so that they can get a clue - they might actually be unaware at present.

BtW, I'm heartened to learn that there are others in this world who are also annoyed (disgusted?) when developers make changes that do little to no good - and, often, harm - and, indeed, appear to only be making them "for the sake of change." This is one reason I try not to pester people for a newer version of XFCE (et cetera); when they get it right, but the masses clamor for "something newer," it generally means that the newer version is LESS than what came before instead of more... Just look at Firefox for an example, lol, its own developers have done more to convince people to use Chrome than Chrome's developers have.

Regards,
MDM


Mountain Dew Maniac

How to Ask for Help <=== Click on this link

Offline

#15 2014-05-06 15:21:39

ungutknut
Member
Registered: 2014-04-12
Posts: 52

Re: Minimizing Windows stopped working...

MountainDewManiac wrote:

...or you could post a link (to this thread) to the XFCE developers' mailing list so that they can get a clue - they might actually be unaware at present.

Actually I've already subscribed to that mailinglist some time ago but never received anything... so I thought it's dead. But I'll try to reach the devs directly.


MountainDewManiac wrote:

BtW, I'm heartened to learn that there are others in this world who are also annoyed (disgusted?) when developers make changes that do little to no good - and, often, harm - and, indeed, appear to only be making them "for the sake of change." This is one reason I try not to pester people for a newer version of XFCE (et cetera); when they get it right, but the masses clamor for "something newer," it generally means that the newer version is LESS than what came before instead of more... Just look at Firefox for an example, lol, its own developers have done more to convince people to use Chrome than Chrome's developers have.

I agree with you but still don't think the recent XFCE-panel-behaviour-change was made on purpose. And the new firefox looks quite ok in my opinion. It's just a minor visual change that doesn't bother me... not like in every new Windows or MS Office version.

Offline

#16 2014-05-08 12:28:35

rich77
Member
Registered: 2014-05-02
Posts: 3

Re: Minimizing Windows stopped working...

I think this is the same bug https://bugzilla.xfce.org/show_bug.cgi?id=10747 and in LP https://bugs.launchpad.net/ubuntu/+sour … ug/1292122

I've experienced a bug regarding the mouse wheel to change the active window and focus follows mouse (in LP - https://bugs.launchpad.net/ubuntu/+sour … ug/1315623 ), which may be related to this. After looking at the Xfce code, comparing 4.10 to 4.11, reverting chunks of xfwm and xfce4-panel, I couldn't find a fix nor were there many obvious places left to mess with. I suspect that the breakage is not actually caused by changes in Xfce, but is due to changes in Wnck (which the panel uses to get the currently active window, etc.) and the way Xfce interacts with it. But who knows.

Offline

#17 2014-05-08 16:50:10

ungutknut
Member
Registered: 2014-04-12
Posts: 52

Re: Minimizing Windows stopped working...

Ah, great. Do you think it'd make sense to post a link to this thread at bugzilla and launchpad? Maybe the issue gets a higher priority than just medium...

rich77 wrote:

I've experienced a bug regarding the mouse wheel to change the active window and focus follows mouse (in LP - https://bugs.launchpad.net/ubuntu/+sour … ug/1315623 ), which may be related to this.

Now that you mention it: I observed that the highlighted window-buttons in the panel not always match the active window.

Offline

#18 2014-08-22 10:29:26

ungutknut
Member
Registered: 2014-04-12
Posts: 52

Re: Minimizing Windows stopped working...

There now is a bounty on that bug: feel free to increase the amount if that bug annoyes you too...
https://www.bountysource.com/issues/357 … se-enabled

Offline

#19 2014-10-03 05:42:07

Simon_P
Member
From: United Kingdom
Registered: 2014-09-18
Posts: 15

Re: Minimizing Windows stopped working...

I've played around with the code of the tasklist plugin, but this bug isn't there. I have a small program to switch quickly between apps on different workspaces, and when I compile that to set its role as pager, it too shows this weird behaviour. But only in xfce. So the bug is in xfwm4, i.e. focus isn't given to windows raised by panel buttons.

Here is the guilty code, from client.c from line 2501:

        if (source_is_application || screen_info->params->click_to_focus || (c->type & WINDOW_TYPE_DONT_FOCUS))
        {
            /*
               It's a bit tricky here, we want to honor the activate request only if:

               - The window use the _NET_ACTIVE_WINDOW protocol and identify itself as an application,
               - Or we use the click to focus model, in that case we focus the raised window anyway,
               - Or the request comes from an application that we would not focus by default,
                 such as panels for example
             */
            clientSetFocus (screen_info, c, timestamp, NO_FOCUS_FLAG);
        }

That call to clientSetFocus() must be made to give focus. Variable source_is_application is TRUE if action called by an app, FALSE if called by a program in role of pager. Previously on clicking the panel buttons, this was TRUE and the call was made. Now the panel is set (correctly) as a pager, and the call is only made if 'click to focus' is in the settings. Inverting source_is_application gets back to how it was:

        if (!source_is_application || screen_info->params->click_to_focus || (c->type & WINDOW_TYPE_DONT_FOCUS))

If anyone tries this, could you report if 1) it works 2) there are any unpleasant side-effects.

Offline

#20 2014-11-16 11:54:17

cedric
Member
Registered: 2012-11-10
Posts: 3

Re: Minimizing Windows stopped working...

Hello,

1) Inverting source_is_application work.
This test confirm clientSetFocus() must be called to give focus, as Simon said.

2) However, I don't fully understand the purpose of the condition below :

        if (source_is_application || screen_info->params->click_to_focus || (c->type & WINDOW_TYPE_DONT_FOCUS))
        {
            /*
               It's a bit tricky here, we want to honor the activate request only if:

               - The window use the _NET_ACTIVE_WINDOW protocol and identify itself as an application,
               - Or we use the click to focus model, in that case we focus the raised window anyway,
               - Or the request comes from an application that we would not focus by default,
                 such as panels for example
             */

Why we should test if the program is set as pager or an application ? What are the unwanted side-effects if we removed this condition ?

Last edited by cedric (2014-11-16 11:55:26)

Offline

#21 2015-02-18 13:19:54

ungutknut
Member
Registered: 2014-04-12
Posts: 52

Re: Minimizing Windows stopped working...

Just checked the new xfwm 4.11.3. This bug is eliminated now. Great. Big thanks to the devs!

Offline

Board footer

Powered by FluxBB