I somehow feel like Tiling window managers are well tuned for terminal users and not really for a good mix of GUI and terminal.
Maybe some one can CMV with their workflow?
Unixporn on reddit has cool demonstrations of TWM at work but I think it doesn't go beyond show casing and am curious how it transpires in real workflow.
I am having a difficult time on how I should model workflow. Currently I have everything project or a task related in one workspace but each workspace has 5+ windows and if I have to tile them then everything will look squished in the TWM paradigm so curious how people manage their workflow( IDE+ Chrome + chrome dev tools + DB software)
Most apps worked well with it, but some applications (Spotify, especially) have constraints on window size that cause it to overlap outside its tiled location. Worked around it by e.g. making it a floating window on top of the tiles.
Main reason I switched off was that it was unsupported by IT -- I found I would lose work time trying to update my setup with whatever new thing they had inherited from upstream Ubuntu LTS (network manager applet, or moving remote desktop to a separate X server, or systemd, or a new login manager). If we weren't WFH I would probably revisit it now that we're on Debian
Also the config is Haskell -- as someone who learned Scheme in University but didn't know any Haskell I got by copying and pasting snippets from around, but it was a lot of trial and error. Learning Haskell would make it a lot easier to code the environment to avoid needing to manually manipulate windows, similar to how emacs folks have all sorts of custom setups inside emacs.
I think your impedance mismatch is all centered around "IDE". An IDE is effectively its own TWM; it doesn't make sense to embed it into another TWM. My workflow when I was using XMonad was to put Chrome and DevTools onto one monitor, and then have about 6 vim windows + 6 terminal windows in a 4x3 grid on the other monitor. (I had dual 24" monitors at the time, which soon moved up to 3 24" portrait monitors - I put Chrome + DevTools on one and then had two 2x4 grids on the others then.) It was hugely productive for this, with everything visible on-screen at the same time and hotkeys to switch between monitors.
I tend to have Firefox, Beeper, Windows Terminal and maybe IntelliJ open at any given time. I rarely use more than one workspace. The key to this being possible, imo, is avoiding as many of the unnecessary Electron apps as I can. I have pinned tabs for Slack, Gmail, Calendar, Spotify and Discord on Firefox, and I can jump to them quickly with Ctrl+1/2/3 etc. This frees up a lot of screen space and I feel like the performance of all of these things in the browser is a lot better compared to running them in Electron wrappers.
Beeper is great to have all my personal chats from all my chat networks (Signal, WhatsApp, Instagram etc.) in a single list/inbox in a single app. I will often minimize this when I need more space on my primary workspace.
I'm able to do maybe 50% of my work in Neovim on WSL, but I will switch to IntelliJ when doing more complex tasks, big refactors etc. This means again that I only really open it when I need it so it's not taking up space 100% of the time.
I recently released a feature (with a little GUI generator: https://lgug2z.github.io/komorebi-custom-layout-generator) that allows people to define custom layouts that work better for them and utilize screen real estate better than the usual fibonacci layout, especially on ultrawide monitors, this has also been a game changer for me in a lot of ways. The basic idea is that you can define the bounds for columns and rows within those columns across your screen as you see fit, and the final column will expand "infinitely" to try and accommodate extra windows that are spawned.
> Maybe some one can CMV with their workflow?
I don't work in big tech, but I do use Xmonad day to day.
I have a sort of workspace driven approach. I have 10 easily accessible workspaces because I rebind things so that my workspace keys are on the home keys of my left hand and the 5 keys above that.
So in Qwerty it would be:
qwert
asdfg
I actually use Colemak-DHm keyboard layout so the keys are actually different for me, but the positions are equivalent. qwfpb
arstg
For example, super (win) key + q takes me to the first workspace. I can hold super and roll my fingers (ring through index) to get through all the workspaces quickly.To add some context I type on a crazy %40 planck keyboard, so I don't use number keys at all in Xmonad. I also tend to use one ultra-wide screen monitor, but I found my workflow works good for a laptop as well.
I don't use xmobar or any other status bar. I remember what applications are running in which workspace by muscle memory or convention. I tend to use keys for different things depending on if I'm working or not which is why I prefer not to name them.
I launch things mostly with rofi and keep things separated in workspaces so applications don't get bunched up often in one space. 1, 2, or 3 tiled frames (windows?) in one workspace is what I'm doing 90% of the time. I only ever go to 4 or more if I'm opening a lot of terminals for some reason.
If you want to see my config, here is a permalink: https://github.com/willbush/system/blob/1b29a06b4d4b92b6c173...