My mind is not app-centric. I want the shell where I'm looking at logs, the editor where I'm taking notes, the browser where I'm checking some doc. I don't care to think about which terminal application the shell is inside, select that, then find I've opened a different terminal window and have to search through the windows separately. I don't care whether the doc is loaded in Firefox or Chromium so don't ask me to choose based on that.
IMO app-centric task switching works much, much less effectively than window-centric task switching; I hate that all the major DEs have copied the same basic app-based dock design that has been failing in obvious ways since day one.
(Although Windows can at least configure grouping away, and there's the dash-to-panel extension to make GNOME tolerable again.)
I get that an app-centric view is attractive to app developers, who would love me to be engaging with their brand. And that mobile has its own reasons for putting apps in silos. Does nothing for me as a desktop user though.
The worst offender here is OSX. I still haven't figured out a good way to switch between multiple open windows of the same application, not even the file explorer (Finder). It's a huge pain.
Grouping related windows in the task bar makes it frustrating to use it because everything involves multiple clicks. Once you got beyond a certain number of apps the task bar sucked without grouping because there wasn't enough text to display a long enough label to distinguish between windows.
When something takes a long time to load you are incentivized to create a new tab if you might want to come back to that resource rather than waiting for it to load again. This absolutely incentivizes using multiple tabs. If you have 8-12 browser windows + 2 or 3 other windows you are already past the threshold where you have to group windows in the task bar to use it and are now changing tabs by moving your mouse at the way to the bottom of the screen clicking on the browser icon and then hunting for the desired text then clicking again. This is in a word annoying.
if your browser supports tabs you can have 2-3 other windows and 2 browser windows and use an ungrouped taskbar. You can also hit one hotkey to open a new tab or use in browser tab switching in place of all desktop window switching to switch between several. This is much much much better.
Even if all other sins were removed the browser tabs represent a logical grouping and additional context that would be lost with just windows.
I can close them as a group I can book mark them as a group I can save them for later perusal as a group. I can use a side tab extension to more easily switch between a large number of tabs. I can right click on a link and open several links in the background without changing my current context.
They designed a user interface that was only useful for grandma opening 1 browser window at a time and maybe 2 apps at a time.
Ironically the pieces were there with MDI but that was also a bad implementation of the same semantic concept.
For whatever reason, only tiling wms like i3 have ever really delivered at all on the concept of making tabbing a universal thing.
I couldn't open new firefox windows in the background and opening others in the foreground within firefox.
I would have to use i3's horizontal tabs instead of tree style tabs making it harder to read the titles.
I couldn't switch tabs separately from switching windows. This would make having firefox alongside another window suck because it would trivially become hard to navigate. I would have to manually put only the firefox windows in a tabbed layout with the other window outside of it. I would have to focus parent and then focus direction to switch to the other. This would be so for any window I want to use alongside it even briefly.
I couldn't close entire trees of tabs at once. I couldn't close everything except the current tree.
I couldn't save a particular set of tabs as a session to be restored later.
In theory could these features be implemented in an i3 specific nature? Perhaps so long as you are willing to do so for every specific environment and for every individual app.
If we pick 100 apps and the most popular 10 environments and the most desired 10 features we will find we only have 10,000 tasks ahead of us!
Tabbed environments within i3 ARE useful but not as a replacement for tabbed interfaces within applications.
My frustration, fundamentally, is that I don't want every app that wants to use some kind of tabbing interface to be different. Use different shortcuts, different models. I would rather the WM/DE provide a holistic approach that can be inclusive of all or at least most of the basic needs you keep listing, and that could be applied to other programs in a uniform way.
That's beyond the imagination of Microsoft apparently (I agree that just making taskbar items clump isn't the same), and beyond the scope of an x11 WM (which doesn't have any meaningful say over the client area of any program on its own). But it's not impossible, and it's not "the wrong way" just because no one's tried or managed to do it yet.
It's not merely that i3 tabs lack features its that it lacks and ought to lack deep integration with the application.
[1] https://www.haiku-os.org/docs/userguide/en/gui.html#stack-ti...
[2] https://superuser.com/questions/848840/triggering-kdes-attac...
[3] https://www.zdnet.com/article/windows-10s-sets-feature-is-go...
If you have the keyboard in another locale (I use ES-intl) that hotkey doesn't make any sense at all: ` is next to "p" in my keyboard, and works only as a dead key. Cmd-` is literally impossible to use on it.
If you are in this situation, do yourself a favor and remap the "move focus to next window" hotkey [1]. It is very useful and I couldn't live without it now.
[1] https://apple.stackexchange.com/questions/280220/how-to-chan...
It's probably worth noting that the defaults remain on common Linux (at least KDE, GNOME, and Cinnamon) and Windows desktop shells with Alt instead of Cmd.
On Linux, Windows, and OSX, adding Shift cycles in reverse order.
I use HyperSwitch[0] on macOS to solve this issue. I use it to override the default Cmd+Tab behavior to cycle through windows on the current desktop. It's become one of the first things I install on a new machine.
https://cdn.arstechnica.net/wp-content/uploads/archive/kde44...
That way, I could put the service logs/terminal on one side, and the IDE and e.g. running website in another window.
You can get this with i3 or any other tiling window manager, but I found too many cases of odd behaviour with i3 and gave up on it.
I can have a tab for Thunderbird, Slack, and Jira in my "Communication" workspace, and Meta-A/Meta-D to swap between them.
Each has a little tab in the top bar that highlights the currently selected tab.
Contexts gives additional 'switching' options on different hotkeys, fuzzy window searching+selection, history-based selection, and no mouse interaction required (but it is supported)
I dedicate spaces to tasks, eg communications, monitoring, and 3-4 development task spaces with tools/docs/terminals
I have Contexts setup as follows:
cmd-tab: cycle thru all visible windows of all apps on current space
opt-tab: cycle thru all windows of all apps on all spaces (include hidden/minimized)
cmd-~: cycle thru all windows of focused app on current space (include hidden/minimized)
opt-~: cycle all windows of focused app on all spaces (include hidden/minimized)
cmd-space: activate Alfred
opt-space: search/activate of all running apps on all spaces
Alfred then allows you to add effectively anything you can script/applescript for additional workflows and a complete, keyboard-driven navigation/switching experience, and total deprecation of the slow 10.7+ mission control guiI also use Totalspaces (https://totalspaces.binaryage.com/) to give a 'grid view' spaces overview & manage app-space pinning, Stay (https://cordlessdog.com/stay/) to manage static window placement & sizing, and Sizeup (https://www.irradiatedsoftware.com/sizeup/) for dynamic window movement
> Because Windows and Mac both only show icons as well
Windows (version Vista or worse, because this definitely wasn't a problem in XP) and Mac are defective by design then.
Sadly a few things don’t work so well in Wayland. For example, Windows games under Proton work fine on X but not on Wayland/Xwayland (I guess since they’re not Wayland aware they can’t bypass the compositor?)
So, I too will try this project out as it looks like it may be a nice middleground where I can be productive in gnome on X.
In general, I'm happy with Sway, but it would be nice to have an X option that works for my workflow too (gnome doesn't seem to have the screen tearing issues i3 did).
Some wine things don't work properly too, which is somewhat annoying, but I only have one wine application I run very rarely, so it's not too onerous to boot back into i3 for that.
Suddenly I'll need a program so I hit windows key, type in the start of the program name, and smash the Enter key. It's super simple. What's the problem?
For example, say you're doing something (eg programming) that requires both the browser and the terminal. While you're at that, you want to do something that also requires both the browser and terminal (eg checking something in a terminal-based todo app to reply something to your coworkers in a web based chat app). Assuming you leave these things open, you now have to do 2 switches (app switch+tab/window switch) to get to whatever you're looking for in the worst case, 1.5 switches on average.
Talking about switching between programs, yes I thought that was a bit weird in the beginning but it came up so rarely that I eventually learned the habit of using alt+§ (on swedish layout). It's not so bad since the key is right above Tab.
I work on 3 monitors; two of them are 1920x1200, the third is a 40" 4K "TV". Nothing about the Gnome model is useful to me. I appreciate that my setup is unusual, and that I do sometimes find myself on a laptop. But I prefer to keep the paradigms consistent, and so 5 named workspaces at all times, thank you very much. I never move windows between workspaces. All of the windows in a given workspace are visible at all times.
And yes, boomer.
Same here. Gone from GNOME because of this.
I wish a company would make a good portable computer to fit my work style:
- tall 20" x 12" matte screen with built-in stand to raise it up to eye level
- detachable corded tenting keyboard
- detachable corded tenting vertical mouse
- hot-swappable battery with various weights available
- thin 20-foot power cable with magnetic release on both ends
- vertical docking station with battery charge-level indicator
What does "tenting" mean in this case?
Cmd+Tab switches between applications, and Cmd+~ switches between windows of the current application.
That said, I rarely use Cmd+Tab anymore, I just move the mouse to the top left corner and pick, now that screen could use some UX improvements (i.e. hotkeys for the apps, and maybe grouping, since when you have a lot of open apps, it is hard to find what you are looking for).
So I have ctrl-alt-shift-up and ctrl-alt-shift-down bound to move windows up and down.
gsettings set org.gnome.desktop.wm.keybindings switch-applications '[]'
gsettings set org.gnome.desktop.wm.keybindings switch-windows '["<Alt>Tab"]'
There are more settings like that which you can find in the manual, or from other frustrated users.These settings seem to be stored in a binary format so the resulting rc-files can not easily be commited to git. I keep a dozen lines like the above in a script I run on any new gnome-like desktop to make it somewhat sane.
The idea here is to also use the tilde while alt-tabbing. Also shift comes in handy to wheel back through the applications.
The problem is that when I tabbed back to Firefox, all Firefox windows on all monitors were raised.
And if you expect me to Alt-Tab to terminal, and then remember to use a _different_ keyboard shortcut, that is now no longer so short because I need to holt alt, press tab, release tab and keep holding alt while then pressing ` until the window with Hacker News is selected then... no way pal I'm not even going to go there, this is madness!
This is because I have a few applications (Firefox, Terminal) that are really not applications in and of themselves; the applications are really Outlook, JIRA, Confluence, Slack, OpenShift (logged in as cluster admin), OpenShift (logged in as my regular user), that quick terminal session I opened to work on a script, the SSH connection to an OpenStack director, the 'oc rsh' command that I'm using to administrate a PostgreSQL database running in OpenShift, and so on.
This becomes far worse when using multiple monitors. Say I have teams hanging around on my secondary monitor to keep an eye on stuff. I literally just now alt-tabbed into a terminal and then alt-tabbed back to continue writing this comment. As a result, I'm back in Firefox on my primary monitor (as expected) but now I have an unwanted random Firefox window that I forgot was even open on top of Teams on my secondary monitor!
The only window manager I've ever been at home with while using multiple applications, workspaces and monitors has been i3. Specifically I love how it manages multiple monitors in that each has a current workspace, but workspaces are not bound to a particular monitor. So I was able to have my secondary monitor always showing my 'Slack and email' workspace, and switch between my multiple task-based workspaces on my primary monitor and never get confused like I with GNOME where I want to switch to my email tab but to get there I have to remember ahead of time that I have to switch to my first workspace, then switch applications to Firefox, then switch windows to the one with Outlook in it, and finally switch to the Outlook tab...
Anyway. This project looks awesome and I will try it out!