After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 739463 - gdkx dependency in libgnome-desktop
gdkx dependency in libgnome-desktop
Status: RESOLVED OBSOLETE
Product: gnome-desktop
Classification: Core
Component: libgnome-desktop
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Desktop Maintainers
Desktop Maintainers
Depends on:
Blocks: wayland
 
 
Reported: 2014-10-31 19:03 UTC by Ray Strode [halfline]
Modified: 2018-09-21 16:38 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gnome-bg: drop unused APIs (96.60 KB, patch)
2014-10-31 19:11 UTC, Ray Strode [halfline]
committed Details | Review
crossfade: remove gdkx/x dependency (2.21 KB, patch)
2014-10-31 21:11 UTC, Alberts Muktupāvels
none Details | Review
gnomebg: remove gdkx/x dependency (11.50 KB, patch)
2014-10-31 21:31 UTC, Alberts Muktupāvels
none Details | Review

Description Ray Strode [halfline] 2014-10-31 19:03:32 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
Comment 1 Ray Strode [halfline] 2014-10-31 19:03:56 UTC
pushed the gnome-rr change here:

https://git.gnome.org/browse/gnome-desktop/commit/?id=1403b477ce31d0ec6a084e0b0c4411f233820ed7
Comment 2 Ray Strode [halfline] 2014-10-31 19:11:19 UTC
Created attachment 289758 [details] [review]
gnome-bg: drop unused APIs

They aren't used, and don't work on wayland systems anyway.
Comment 3 Ray Strode [halfline] 2014-10-31 19:13:17 UTC
Attachment 289758 [details] pushed as 786336c - gnome-bg: drop unused APIs
Comment 4 Alberts Muktupāvels 2014-10-31 20:23:42 UTC
GnomeBG is not unsed APIs. It is used by gnome-control-center and by gnome-flashback modules as minimum.
Comment 5 Ray Strode [halfline] 2014-10-31 20:34:28 UTC
ah i forgot that control-center uses gnome-bg... thanks for chiming in. I've reverted the commit for now.
Comment 6 Alberts Muktupāvels 2014-10-31 20:39:16 UTC
I would like that GnomeBG and GnomeBGCrossfade is still available in gnome-desktop. Is it possible to drop only x specific things?
Comment 7 Ray Strode [halfline] 2014-10-31 20:49:18 UTC
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?
Comment 8 Alberts Muktupāvels 2014-10-31 21:11:32 UTC
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.
Comment 9 Javier Jardón (IRC: jjardon) 2014-10-31 21:24:29 UTC
(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?
Comment 10 Alberts Muktupāvels 2014-10-31 21:31:13 UTC
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.
Comment 11 Matthias Clasen 2014-12-12 13:53:04 UTC
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.
Comment 12 Bastien Nocera 2014-12-12 14:40:59 UTC
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.
Comment 13 Matthias Clasen 2014-12-12 15:35:55 UTC
(In reply to comment #12)

> So we need to remove "is_root" from the function's parameters.

fine with me
Comment 14 Ray Strode [halfline] 2014-12-12 15:46:13 UTC
(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.
Comment 15 Ray Strode [halfline] 2014-12-12 16:12:11 UTC
(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 ?
Comment 16 Alberts Muktupāvels 2014-12-12 16:31:01 UTC
(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.
Comment 17 Bastien Nocera 2014-12-12 16:34:43 UTC
(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.
Comment 18 Ray Strode [halfline] 2014-12-12 16:35:48 UTC
(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...
Comment 19 Alberts Muktupāvels 2014-12-12 16:46:43 UTC
(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. :)
Comment 20 GNOME Infrastructure Team 2018-09-21 16:38:48 UTC
-- 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.