Schneegans / Desktop-Cube

🧊 Indulge in nostalgia with useless 3D effects.
GNU General Public License v3.0
634 stars 22 forks source link

Visualise different wallpapers per workspace #127

Closed ivelieu closed 1 year ago

ivelieu commented 1 year ago

The Motivation

First, I want to say, I really like all of Schneegans' GNOME work, and desktop cube is one of my favourites. Thank you!

I want to have different wallpapers for each workspace, and I think it would be pretty to have them all rendered differently when using the desktop cube. I should preface that I'm not sure if this is actually possible currently, and maybe it is, but I could not find documentation for it.

In other words, I want to be able to set each of these differently coloured faces to different desktop backgrounds. image

The Solution

I know here and here and here for different people using plugins or patches for GNOME to get different workspaces, but it seems like they all work on the principle of just switching the desktop background on workspace switch, I think. So I'm not sure how hard it would be for desktop cube to work neatly with these.

Actually, I want to use a different window manager with GNOME (I am thinking awesomeWM), and I want to cross my fingers that will not break other things, but it also makes me wonder if there was just some way a window manager could specify through some global-ish setting that the desktop cube plugin could read. Then the desktop cube plugin would figure out from that config file, which wallpapers are used for each workspace. In other words, I'm not sure if it would be better as a separate GNOME plugin or within the desktop cube plugin.

Also, if someone has already figured out how to have different wallpapers per workspace rendered in the plugin already, I might be just making a fool of myself -- I just judge from the fact the showcase videos all have the same desktop background per workspace, that as far as I know it's either not possible or not easy to do after brief experimenting, but I think it'd be really nice if it was both easier to do and documented (in the case that it's already possible to do this.)

The Alternatives

I know this is a pretty similar request to #17 for animated wallpapers, and #14/#122 for wrap around wallpapers, so I can understand if it is closed. I still just want to open the issue, at least to make aware that I'm interested in this feature.

Schneegans commented 1 year ago

Thank you very much for the kind words and the time it took to write this! I have indeed seen the request for such a feature in GNOME several times. However, I think that it should be a separate extension! I see no real reason why such a feature should be part of the Desktop Cube. In fact, I would expect that there are many users who would like to have separate wallpapers without the cube.

One issue will be the dynamic workspaces of GNOME. What happens if you create a new workspace between two others? What if a workspace is removed? What happens if you create a workspace left of the first workspace? I guess this can be solved, but it needs a clear design.

The second issue is that the background-image code in GNOME Shell is fairly complex. I once had a look at the code and already the explanation at the beginning of the file is very intimidating... Hanabi works pretty well, also in combination with the Desktop Cube. Maybe it would be a possibility to see how they achieved drawing something to the desktop background...

However, the main issue is that I do not have the time to start yet another project :disappointed:. If, at some point, I have the time, this will be one of the first things I would try to implement! In the meantime, I can only suggest that you ask on reddit (https://www.reddit.com/r/gnome/), matrix (https://matrix.to/#/#extensions:gnome.org), or discourse (https://discourse.gnome.org/) if someone would like to try this!

dsheeler commented 1 year ago

@Schneegans, first time I read that background comment, it made no sense! Wonder if I read it again if I'd understand, but I kinda doubt it! :)

azakharchenko-msol commented 6 months ago

Just to make the issue completely resolved: https://github.com/blipk/Customised-Workspaces does the job