gmc-holle / xfdashboard

Maybe a Gnome shell like dashboard for Xfce
GNU General Public License v2.0
121 stars 14 forks source link

Show windows from all monitors #192

Closed linuxissuper closed 3 years ago

linuxissuper commented 3 years ago

I'm using LXQt with Openbox, so I'm not sure if this is possible.
I've installed Xfdashboard from the aur and also have libXinerama installed.

In the window overview mode, I can only see the windows of the primary monitor.
And, only the primary monitor is used for Xfdashboard, it doesn't extend to the others.

I've tried to add this option to xfdashboard.xml, but it didn't change anything (maybe I used the wrong place 😅)

<object class="XfdashboardWindowsView">   
      <property name="filter-monitor-windows">0</property>   
</object>   

Everything else works fine

gmc-holle commented 3 years ago

Hi,

usually I would say your X Server is missing Xinerama but you said it is installed ... so ... hmm? If Xfdashboard is only using the primary monitor then either Xfdashboard was compiled without Xinerama support and so only one "monitor" is used but it should also expand if GDK (of GTK) is returning the correct screen size and it should if it has Xinerama support also.

I know it might be a stupid question but did you restart your X server after installing Xinerama? If so, could you run Xfdashboard with debugging for windows turned on and send me the output? To do this, run this command on a terminal:

XFDASHBOARD_DEUG=windows xfdashboard

Just a note: The debug output may contain sensitive data as the window titles will be logged. Maybe you want to anonymize them.

gmc-holle commented 3 years ago

Sorry, a typo. The command for terminal is:

XFDASHBOARD_DEBUG=windows xfdashboard
linuxissuper commented 3 years ago

Thanks for the fast response.

I now have it installed from the tarball release but nothing changed Do I have to configure something to compile it with Xinerama?

this is the output with debug:

➜ XFDASHBOARD_DEBUG=windows xfdashboard

(xfdashboard:131505): xfdashboard-WARNING **: 16:24:07.842: Failed to connect to session manager: Failed to connect to the session manager: SESSION_MANAGER environment variable not defined

(xfdashboard:131505): xfdashboard-WARNING **: 16:24:08.186: Keep window fullscreen on primary monitor because window manager does not support _NET_WM_FULLSCREEN_MONITORS.

but I get the same output with just xfdashboard

I think I've installed Xinerama a long time ago, so numerous reboots should lie between installing Xinerama and Xfdashboard

when I use

<property name="show-current-monitor-only">false</property>

then I at least get all monitors shown in the workspace area

skippy-xd shows me the windows of all monitors, if that is any help

gmc-holle commented 3 years ago

If the output does not change (be more more verbose) with XFDASHBOARD_DEBUG then debug support was disabled when compiling xfdashboard. Nevertheless this message is showing the problem:

Keep window fullscreen on primary monitor because window manager does not support _NET_WM_FULLSCREEN_MONITORS

That means that your window manager (openbox was it, wasn't it) lacks a feature I rely on and without I did not find a good way to ensure the window is fullscreen across all monitors. But if skippy-xd works flawlessly, meaning that its main window is spun across all monitors in fullscreen (no panel visible anymore), then there is a way and I could look at skippy-xd how they did it and maybe implement a "workaround".

So the question is: Is skippy-xd fullscreen over all monitors and no panel is visible anymore?

Regards, Stephan

linuxissuper commented 3 years ago

Yes, it is openbox

I'm sorry, I meant skippy-xd shows me the windows from all monitors, not that it itself spans over all monitors That's actually exactly what I want And, I'm only missing this in xfdashboard, not that it doesn't extend over all monitors

in skippy-xd this is the config to show windows from all monitors

[xinerama]
showAll = true

so xinerama seems to be working

gmc-holle commented 3 years ago

Oh sorry from me as well. I misunderstood the problem. But in this case your idea to set filter-monitor-windows to 0 or false was right but the wrong place. You modified the layout file and added this property but the CSS file has more precedence and is overwriting the property's value to true .... at least if you use any of the default themes.

The easiest way to get this property set to false for any layout and without modifying the theme is to create a user-defined CSS file. Create the a file at $HOME/.config/xfdashboard/themes/global.css and put in the following CSS block:

/* Windows view */
XfdashboardWindowsView
{
    filter-monitor-windows: false;
}

Restart xfdashboard. That should apply your requested setting to the windows view.

Regards, Stephan

PS/Editted: This works only at version 0.7.3 and higher

linuxissuper commented 3 years ago

Nice, thank you It works 😊