! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
xfdesktop always manages on all X screens, even when using --display=":0.0"
Status:
RESOLVED: WONTFIX
Product:
Xfdesktop
Component:
General

Comments

Description Austin 2011-07-15 04:33:11 CEST
On my system, I have two separate X screens (:0.0 and :0.1). With all my other apps I use, I can either use DISPLAY=":0.1" application to start it only on that display, or there is a specific option you can pass as an argument such as --display=":0.0". Neither way works for xfdesktop, it always goes on to :0.1 even though I don't want it to.

I tried this:
DISPLAY=":0.0" xfdesktop

and this:
xfdesktop --display=":0.0"

But neither of them seem to have any effect.

This is listed in the --help output, so I would assume it's supposed to work, but it doesn't:
--display=DISPLAY        X display to use

    
This is xfdesktop version 4.8.2, running on Xfce 4.8.0.
Built with GTK+ 2.24.4, linked with GTK+ 2.24.5.
Build options:
    Desktop Menu:        enabled
    Desktop Icons:       enabled
    Desktop File Icons:  enabled
Comment 1 Austin 2011-07-17 00:16:16 CEST
Also, by the way, I'm not using any full DE like Xfce, I'm justing using Openbox, if that makes any difference.
Comment 2 Brian J. Tarricone (not reading bugmail) 2011-09-26 10:51:56 CEST
The --display parameter (in this case) is mainly for setting the main display, not for screens.  So --display=:1 would have the effect you expect (assuming you had another X instance running on :1), but the ".SCREEN_NUM" portion is effectively ignored.  This is by design and I'm not really interested in adding the complexity necessary to do what you want here.

It'd also likely have unintended side-effects, as the session manager constructs a canonical name for the display when it stores how to restart an app on next login.  So even if you were to specify "--display=:0", it would end up getting expanded to "--display=:0.0", which would break the current behavior that most people would expect.

I suppose one way to do this would be to add some kind of hacky --one-screen-only param, and in that case you'd have to dig in main() and, instead of doing gdk_display_get_n_screens() and iterating over them, you'd do gdk_display_get_default_screen() and gdk_screen_get_number(), and then only create an XfceDesktop object for that screen.

But then, of course, if you legitimately did want to run multiple instances of xfdesktop, one on each of your X screens (or say you had 3 X screens and wanted to run xfdesktop on 2 of them), you'd have to dig through all the xfdesktop singleton code to allow it to run multiple instances on different screens.

Sooo... sorry, but I'm thinking it's just not worth the added complexity and possibility for bugs to enable this use case.
Comment 3 Austin 2011-09-27 03:01:58 CEST
Alright, fair enough. I've gotten used to having it on both Desktops now anyways, so no big deal, as long as I keep my Desktop uncluttered (that was the real problem :P)

Bug #7810

Reported by:
Austin
Reported on: 2011-07-15
Last modified on: 2011-09-27

People

Assignee:
Brian J. Tarricone (not reading bugmail)
CC List:
2 users

Version

Attachments

Additional information