Xfce Forum

Sub domains
 

You are not logged in.

#1 2015-10-29 21:59:21

rzuck
Member
Registered: 2015-10-29
Posts: 5

Frame not drawn around all windows when task switching

I upgraded to xfce 4.12 and noticed that when task switching (alt+tab) a frame is not drawn around all windows as I cycle through open windows.

In a dual monitor setup, I have 4 emacs windows (a.k.a frames) or 4 terminal windows spread equally across both monitors. If I attempt to task switch between all four emacs windows only some of the windows have a highlighting frame drawn around them. This is problematic if my emacs windows are hidden behind other windows, etc.

Window Manager Tweaks > Cycling > Draw frame around selected windows while cycling is checked.

Does anyone have an idea how I can get the frame highlighting around all windows, in turn, while cycling?

Thanks for the help in advance!

Offline

#2 2015-10-30 00:27:20

ToZ
Moderator
From: Toronto, Canada
Registered: 2011-06-02
Posts: 3,704

Re: Frame not drawn around all windows when task switching

rzuck wrote:

I upgraded to xfce 4.12 and noticed that when task switching (alt+tab) a frame is not drawn around all windows as I cycle through open windows.

You must have xfwm4 composting disabled. With composting enabled, the frames are no longer drawn, but rather the whole window is shaded. If you enable composting (Settings Manager > Window Manager Tweaks > Composting), does it work for all of the windows?

In a dual monitor setup, I have 4 emacs windows (a.k.a frames) or 4 terminal windows spread equally across both monitors. If I attempt to task switch between all four emacs windows only some of the windows have a highlighting frame drawn around them. This is problematic if my emacs windows are hidden behind other windows, etc.

Is there any pattern to this? For example, the frames that don't show up, are they on one monitor only?


How To Ask For Help           Xfce FAQ                            Xfce Release Information
The Xfce Community          Xfce Tips and Tricks

Offline

#3 2015-10-30 02:07:44

rzuck
Member
Registered: 2015-10-29
Posts: 5

Re: Frame not drawn around all windows when task switching

You must have xfwm4 composting disabled. With composting enabled, the frames are no longer drawn, but rather the whole window is shaded. If you enable composting (Settings Manager > Window Manager Tweaks > Composting), does it work for all of the windows?

Yes. I tried composting and liked it, in general, but it had an even more annoying habit of not completely redrawing the screen when I switched tasks on occasion. This caused artifacts from previously active task windows from remaining in newly active task windows.

Is there any pattern to this? For example, the frames that don't show up, are they on one monitor only?

This pattern is not definitive but noticeable. In general, at least one window from each monitor will be highlighted with a frame as I cycle but usually not all windows on the monitor and never all windows on both monitors.

Offline

#4 2015-10-30 10:25:39

ToZ
Moderator
From: Toronto, Canada
Registered: 2011-06-02
Posts: 3,704

Re: Frame not drawn around all windows when task switching

With the composting enabled, do all of your windows get highlighted/shaded when you alt-tab? Or do you still get the problem where some windows don't?


How To Ask For Help           Xfce FAQ                            Xfce Release Information
The Xfce Community          Xfce Tips and Tricks

Offline

#5 2015-10-30 14:03:40

rzuck
Member
Registered: 2015-10-29
Posts: 5

Re: Frame not drawn around all windows when task switching

ToZ wrote:

With the composting enabled, do all of your windows get highlighted/shaded when you alt-tab? Or do you still get the problem where some windows don't?

I just re-enabled compositing to try it again. I've only enabled display compositing. None of the other compositor options are selected.
Yes, all windows on both monitors are highlighted/shaded, in turn, as I cycle through tasks (alt-tab). But, I still have the occasional issue where artifacts from previously active windows remain in newly active windows.

This may be a little off topic but I thought I'd describe a particular use that results in these window "artifacts" I've been describing with compositor enabled. I realize this is a bit different than I initially described but its been awhile and needed to refresh my memory.
* On desktop1 with my 4 emacs windows, I task switch between them, working along.
* Then I switch to desktop2 that has a chromium browser open.
* Often, If I cause some activity in the browser the entire desktop, outside of the browser window is re-drawn with a collage of "artifacts" from desktop1.

I've not found a clean way to restore desktop2 when this happens other than cycling through all of the windows in desktop2, which is a pain.

Last edited by rzuck (2015-10-30 14:18:09)

Offline

#6 2015-10-30 15:10:31

ToZ
Moderator
From: Toronto, Canada
Registered: 2011-06-02
Posts: 3,704

Re: Frame not drawn around all windows when task switching

I just wanted to see if this was an issue with Xfce regardless of whether the composting was enabled. Looks like its somehow related to the wireframe code without composting on your system.

Just tested this on my work computer (laptop with external monitor) and I am unable to replicate this - the wireframe shows up on all windows when cycling with compositing disabled.

Out of curiosity, which video card do you have and which drivers are you using (I've got an intel card)?


How To Ask For Help           Xfce FAQ                            Xfce Release Information
The Xfce Community          Xfce Tips and Tricks

Offline

#7 2015-10-30 15:29:05

rzuck
Member
Registered: 2015-10-29
Posts: 5

Re: Frame not drawn around all windows when task switching

ToZ wrote:

Out of curiosity, which video card do you have and which drivers are you using (I've got an intel card)?

02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV620 GL [FirePro 2260] (prog-if 00 [VGA controller])
    Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device 2143
    Flags: bus master, fast devsel, latency 0, IRQ 29
    Memory at e0000000 (64-bit, prefetchable) [size=256M]
    Memory at f7df0000 (64-bit, non-prefetchable) [size=64K]
    I/O ports at dc00 [size=256]
    Expansion ROM at f7e00000 [disabled] [size=128K]
    Capabilities: <access denied>
    Kernel driver in use: radeon

I think this answers both questions. I'm not that adept at spelunking the linux configuration domain.

Offline

#8 2015-10-30 18:11:53

ToZ
Moderator
From: Toronto, Canada
Registered: 2011-06-02
Posts: 3,704

Re: Frame not drawn around all windows when task switching

I'm not sure what to say. For what its worth, I can't replicate your issue on my dual monitor system, but I also don't have an ATI card with which to test. You can file a bug report but it may turn out to be an issue with the video driver that you are using (radeon).

EDIT: If you are finding the composting feature problem-some on your system, others have had success using compton for composting in place of the built-in xfwm4 composting feature.

Last edited by ToZ (2015-10-30 18:13:48)


How To Ask For Help           Xfce FAQ                            Xfce Release Information
The Xfce Community          Xfce Tips and Tricks

Offline

#9 2015-10-30 20:52:35

rzuck
Member
Registered: 2015-10-29
Posts: 5

Re: Frame not drawn around all windows when task switching

Thanks for you help ToZ.

I quickly tried compton and basically have the same problem I do with the native task switcher. I'm going to ping my IT department to see if they have an NVIDIA or other graphics adapter lying around to try. If not, I might try using AMD's proprietary driver. This is not really appealing because it looks like I'll have to build the driver package, install, and configure. i'm not sure it's worth it for me.

I'll post back if I find something that solves the issue for me.

Offline

#10 2017-07-28 05:15:44

jspenguin
Member
Registered: 2017-07-28
Posts: 1

Re: Frame not drawn around all windows when task switching

I found a solution to this problem. I noticed it only happened when the window it was trying to highlight was the same size as the previous window it was highlighting. I edited the source for wireframe.c and removed the following block:

--- a/src/wireframe.c    2015-05-15 07:25:56.000000000 -0500
+++ b/src/wireframe.c     2017-07-28 00:08:21.155999239 -0500
@@ -56,15 +56,10 @@
     wireframe->mapped = FALSE;
     XUnmapWindow (myScreenGetXDisplay (screen_info), wireframe->xwindow);
     XMoveResizeWindow (myScreenGetXDisplay (screen_info), wireframe->xwindow,
                        wireframe->x, wireframe->y, width, height);
 
-    if ((width == wireframe->width) && (height == wireframe->height))
-    {
-        /* Moving only */
-        return;
-    }
     wireframe->width = width;
     wireframe->height = height;
 
     if ((wireframe->width > OUTLINE_WIDTH * 2) && (wireframe->height > OUTLINE_WIDTH * 2))
     {

I don't know why that code was added. I think it may have been intended as an optimization, but I don't think any optimization is needed.

Offline

#11 2017-07-28 05:30:20

MountainDewManiac
Member
From: USA police-state welfare-state
Registered: 2013-03-24
Posts: 828

Re: Frame not drawn around all windows when task switching

Nice catch on the source code. Please be sure to include that in your bug report on Bugzilla.

Regards,
MDM


Mountain Dew Maniac

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

Offline

Board footer

Powered by FluxBB