GNOME Bugzilla – Bug 739463
gdkx dependency in libgnome-desktop
Last modified: 2018-09-21 16:38:48 UTC
jjardon> hi, Im building a wayland-only system and some components in gnome-desktop fail to build: http://fpaste.org/146945/41478151/ Should we add checks in configure.ac or in the implementation? mclasen> looks like there's quite a bit of X dependency in there, somebody needs to go through and clean it up halfline> probably by deletion the only gnome-bg stuff we use at this point is the gnome-bg-slideshow apis i think the gnome-rr code doesn't seem to need gdkx so that could just go
pushed the gnome-rr change here: https://git.gnome.org/browse/gnome-desktop/commit/?id=1403b477ce31d0ec6a084e0b0c4411f233820ed7
Created attachment 289758 [details] [review] gnome-bg: drop unused APIs They aren't used, and don't work on wayland systems anyway.
Attachment 289758 [details] pushed as 786336c - gnome-bg: drop unused APIs
GnomeBG is not unsed APIs. It is used by gnome-control-center and by gnome-flashback modules as minimum.
ah i forgot that control-center uses gnome-bg... thanks for chiming in. I've reverted the commit for now.
I would like that GnomeBG and GnomeBGCrossfade is still available in gnome-desktop. Is it possible to drop only x specific things?
well GnomeBGCrossfade implements its crossfade using x specific features... truthfully, gnome on wayland requires XWayland right now anyway, so the request probably isn't for "no X" but no "gdkx". i bet for now, we could get away with just converting the gdk_x11 calls to X calls probably. Javier are you using XWayland? or not using gnome-shell?
Created attachment 289760 [details] [review] crossfade: remove gdkx/x dependency Now crossfade does not depend on x/gdkx, but it still possible to do crossfade on window that is not root.
(In reply to comment #7) > well GnomeBGCrossfade implements its crossfade using x specific features... > > truthfully, gnome on wayland requires XWayland right now anyway, so the request > probably isn't for "no X" but no "gdkx". i bet for now, we could get away with > just converting the gdk_x11 calls to X calls probably. > > Javier are you using XWayland? or not using gnome-shell? No, Im trying to use pure wayland, not X11 at all. Can you point me what component needs XWayland?
Created attachment 289761 [details] [review] gnomebg: remove gdkx/x dependency And this removes gdkx/x dependency from GnomeBG. After these both patches I can use this to set background on window and do crossfade on it. That is all I want. What to do with functions that was used to set background on root window? I can update patches, just do review.
looking at the control-center side, we never draw on the root window there, the only call to gnome_bg_draw passes FALSE for is_root. so this patch shouldn't break the control-center use of GnomeBg, at least.
Either we don't break the API, and we keep offering the same functionality, or we break the API, and remove the feature of drawing on the root window. So we need to remove "is_root" from the function's parameters.
(In reply to comment #12) > So we need to remove "is_root" from the function's parameters. fine with me
(In reply to comment #9) > No, Im trying to use pure wayland, not X11 at all. Can you point me what > component needs XWayland? mutter... our wayland compositor depends on xwayland at the moment.
(In reply to comment #13) > (In reply to comment #12) > > > So we need to remove "is_root" from the function's parameters. > > fine with me This is fine with me, too, but other thoughts: 1) gnome-bg is in gnome-desktop because in the old days a lot of components used it (gnome-screensaver, nautilus, gnome-settings-daemon, control-center (maybe more?)). 2) These days (with the exception of GnoemeBgSlideShow) only control-center and whatever gnome-flashback is going to use to draw the background will need the apis. 3) i think gnome-flashback is actually going to need the is_root part we're talking about getting rid of, since its going to want to draw the background on the root window... 4) We definitely don't want to keep the is_root bit since it's hindering wayland adoption 5) maybe gnome-flashback should just keep a snapshot of the code in their background drawing module with the is_root bits in tact. 6) So then control-center is the only consumer of the apis. Let's move the code to control-center and get it out of gnome-desktop. 7) we'll have to keep the slide show bits in gnome-desktop for now, since that's still used by the shell. Sound reasonable ?
(In reply to comment #15) > 3) i think gnome-flashback is actually going to need the is_root part we're > talking about getting rid of, since its going to want to draw the background on > the root window... When I created patches I already tested gnome-flashback. I simply will not draw to root window. > 5) maybe gnome-flashback should just keep a snapshot of the code in their > background drawing module with the is_root bits in tact. > > 6) So then control-center is the only consumer of the apis. Let's move the code > to control-center and get it out of gnome-desktop. I will adjust gnome-flashback to don't use is_root and it will work. So I would like that this code remains in gnome-desktop if this does not make life harder for you.
(In reply to comment #15) > 6) So then control-center is the only consumer of the apis. Let's move the code > to control-center and get it out of gnome-desktop. > > 7) we'll have to keep the slide show bits in gnome-desktop for now, since > that's still used by the shell. > > Sound reasonable ? Yep.
(In reply to comment #16) > When I created patches I already tested gnome-flashback. I simply will not draw > to root window. Are you going to draw to a window on top of the root window? What about terminals that have pseudo transparency? don't care about them? > I will adjust gnome-flashback to don't use is_root and it will work. So I would > like that this code remains in gnome-desktop if this does not make life harder > for you. Well, i'd really like to get it out of gnome-desktop. It would be great if down the line we got rid of gnome-desktop all together...
(In reply to comment #18) > (In reply to comment #16) > > When I created patches I already tested gnome-flashback. I simply will not draw > > to root window. > Are you going to draw to a window on top of the root window? What about > terminals that have pseudo transparency? don't care about them? I don't like this pseudo transparency, so yes I don't care. Don't see any reason to have transparency if you only see background image not applications that are under this "transparent" application. > > I will adjust gnome-flashback to don't use is_root and it will work. So I would > > like that this code remains in gnome-desktop if this does not make life harder > > for you. > Well, i'd really like to get it out of gnome-desktop. It would be great if > down the line we got rid of gnome-desktop all together... I will be fine with removal, so do whatever you think is best solution. :)
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gnome-desktop/issues/56.