IceAsteroid / swayWorkroom.sh

More than 10 workspaces categorized into sets
GNU General Public License v3.0
3 stars 1 forks source link

Can we make this similar to KDE Activities? #2

Open tusharhero opened 5 months ago

tusharhero commented 5 months ago

I don't know if you have used KDE in the past but they had a concept similar to this since ages. I was looking for this script because I wanted to emulate that feature.

KDE Activities are supposed to be used like this:

I will use activity to refer to workrooms and virtual desktop to refer to workspaces.

I think this script is almost there but there are a few issues that need to be resolved.

IceAsteroid commented 5 months ago

You're welcome to discuss :)

I'm looking into kde activity.

And, don't expect much from this script, it should remain small & simple & fast for just the workroom functionality.

But to be honest, swaywm is very limited in terms of extensions. It doesn't have a nice "workspace overviewer", I use sov, though its problems are a ton.

Check this: https://github.com/milgra/sov/issues/56

I was considering to make a switch to hyprland for maximum extensibility, but later decided not to, since I've written tons of scripts relevant for sway, and have other important things to do.

Regarding to your questions,

There is no way to hide the virtual desktops from other activities on sway bar. This means you will can't just ignore that game running in gaming activity.

I'm looking on it to see if possible, but to be honest, I don't see the point for other "activities" and their "workspaces" to be hidden. Instead, it's the full point here in swayworkroom.

Because there's no overview panel that's previewable for its activities, nothing, only switching because "workrooms", with the help of sov to see which "workroom" contains what GUI programs that its workspaces have, before to switch to.

There is no way to change the wallpapers(or other appearances) on a per activity basis.

It can be done to be honest, but is gonna be ugly, not necessary for this simple script

You can freely fork this script to implement more features that you desire.

My suggestions on the wallpaper thing:

  1. Create an addtional script, that can switch between wallpapers and remember the current one for the current workroom apart from other workrooms, often to store the current wallpaper's name in a temporary file
  2. The script should recognize identifier of the workroom stored in the specified temporary file by swayworkroom.sh, so when workroom is switched, different walpaper is shown.
  3. Have the ability to freely switch wallpapers independent between each workroom

I have two small scripts that exactly do the wallpaper switching, and it's quite good, but it's not for workrooms per basis, stay tuned for me to upload them on github

You can bind those two scripts with keybindings that are near each other, one script is used to "revolve up", one is to "revolve down" wallpapers in a directory.

I'm planning to refactor those two scripts into one script to function differently by options instead.

tusharhero commented 5 months ago

I'm looking on it to see if possible, but to be honest, I don't see the point for other "activities" and their "workspaces" to be hidden. Instead, it's the full point here in swayworkroom.

Actually there is a point to doing this. Imagine you were working on project 1 in workroom 1, and then you switch to workroom 2 to work on project 2. Why would you want to see the workspaces for workroom 1 when you are working on workroom 2? Isn't it distracting?

IceAsteroid commented 5 months ago

@tusharhero

I know what you meant, and I have not problems on this, my workflow in sway probably is different than yours, and I don't play games or stuff like that, it's all for work in this particular machine I use.

I can imagine implementing that via shell scripting with the use of sway's scratchpad functionality, but it's gonna be the pain in my ass to do so. Tons of work, little gain :(

Therefore, I'm sorry, I'm not gonna do that


Also, I've uploaded swaybgRevolve.sh in repo link

Give it a try if you want to :)

tusharhero commented 5 months ago

Oh well, I have swtiched back to KDE (for now). I will keep this issue open, maybe in the future someone might want to implement this.

IceAsteroid commented 5 months ago

@tusharhero

I feel sorry, I'm just too busy on my own business in real life.

Have nice days, I hope you well