Bismuth-Forge / bismuth

KDE Plasma add-on, that tiles your windows automatically and lets you manage them via keyboard, similarly to i3, Sway or dwm.
https://bismuth-forge.github.io/bismuth/
Other
2.41k stars 92 forks source link

[FEATURE]: scratchpad #412

Open christianparpart opened 2 years ago

christianparpart commented 2 years ago

Summary

Hey, having used KDE/kwin for decades, I adore it for its versatility. But I am hopping to i3 from time to time for the tiling/tabbed functionality from time to time. What I am now missing the most (apart from tabbed windowing) is the scratchpad feature of a typical tiling WM. What do you think?

A clear and concise description of what you want to happen

A clear and concise description of any alternative solutions or features you've considered.

Using i3. But that is of course not an option. :)

Additional info

No response

gikari commented 2 years ago

What does scratchpad do, and why is it useful?

christianparpart commented 2 years ago

What does scratchpad do, and why is it useful?

Scratchpad is a collection of windows in floating state and usually hidden. You can pull them up via shortcut to make one of them visible and then cycle through them via another shortcut.

What I usually do is, I have only one window in there (rarely 2), which is a terminal emulator of choice for off-by-one tasks. Regardless of how many virtual desktops you have, wherever you are working in right now, that one window (in the scratchpad) can be made visible (floating mode) at a glimpse of a hotkey. Do your job quickly in it, then hide (not terminate) it again.

That sounds pretty useful to me.

Note: I'm not a hardcore scratchpad user, more like a casual one, but think of it as this: people are installing Yakuake (pulldown terminal based on KDE konsole) for IMHO exactly that reason. Except that with scratchpad it doesn't have to be yakuake, in fact, it can be anything as long as it has a GUI window. This sound spretty useful to me. What do you think?

b1scu1t commented 1 year ago

I think the Scratchpad feature exists as a crutch/workaround for the missing 'minimize' functionality in i3 & BSPWM tiling window managers. KWin already supports minimizing and 'pinning' windows to all desktops, out-of-the-box, the 'floating' state can be toggled in the script. We can emulate a scratchpad already, without breaking existing logic. It's just a matter of triggering those three actions in a single key-combination.

christianparpart commented 1 year ago

I only partly agree. You can hide and bring back that scratchpad window with a single unified shortcut. I at least do not know how to mimick the scratchpad feature with plain kwin.

fearlessgeekmedia commented 1 year ago

I'd like to see the scratchpad feature too.

fearlessgeekmedia commented 1 year ago

So I managed to get scratch-pad like functionality.

Here's the basic settings I have.

scratchpad-1 scratchpad-4 scratchpad-2 scratchpad-3

The rest, you just need to set up your shortcut key for minimizing. I can pull up the desired "scratchpad" by walking through technically minimized windows with meta/super+ tab.

If you want the app open at startup, of course make sure to have it autostart.

Now you've essentially got a scratchpad! Anything that is technically minimized is considered a scratchpad.

fearlessgeekmedia commented 1 year ago

One of the programs I generally like to make a scratchpad is Spotify. However, it appears I'm having trouble making that a scratchpad with Bismuth using my method.

christianparpart commented 1 year ago

Thanks for the series of screenshots to show the possibility of a scratchpad-like feature. But I see that very much like C++'s main disadvantage and hate: Just because you can do what you want in one way (now the important part) no matter how ridiculous complex and inconvenient that will be from a user's point of view, didn't mean one should block the project from progressing into a more UX friendly direction.

Just today I was reading an article about why gnome desktop has won, and while I am all in for customizability, the reason was simplicity, i.e. why force the user through 10 steps to achieve a goal just a little bit whereas other projects offer it in much less but at least have the feature. Listening to what users ask for and what direction the whole GUI world is being directed at currently, seems to be one of the main reasons of success for gnome over KDE. Just generally speaking up here. So apart from a clearly missing scratchpad, KDE ans Bismuth are still "good" (just not more).

Regards, CP.

fearlessgeekmedia commented 1 year ago

FYI, you can use i3 instead of kwin as the window manager in KDE Plasma if you wanted to. Then you would have the scratchpad functionality. It might be worth looking into if you weren't already aware.

If you haven't done so yet, you can check out https://github.com/heckelson/i3-and-kde-plasma for the instructions on how to do it.

Those instructions are for Arch and other distros based on Arch but if you've been using Linux for a while, you might be able to figure out what you need for your distro from this. Either that, or you could probably find instructions for your distro.

I really like Bismuth, though, and I'd hope to see a real scratchpad implimentation. I did try tdrop but I couldn't get that working properly with Bismuth.

christianparpart commented 1 year ago

Hey, thanks for the reply. I even used i3 in KDE already long before Bismuth . The problem there use that kwin actually is really good already. It is just missing tiling. And, kwin is having some must-have accessibility features like desktop zoom that are a PITA to emulate on i3. :)

fearlessgeekmedia commented 1 year ago

True, true. I like that zoom feature.

sxl613 commented 1 year ago

Seconded for the scratchpad feature; using tdrop or combining multiple window rules is IMO a workaround to something that could potentially be a first-class feature. I have used i3 alongside KDE for a long time but it is a bit of a pain still, so this could make it possible to have a tiling layout with all the benefits of KWin/KDE.