Files
dotfiles-and-setup/ref/workflow-and-workspaces-scheme.md

3.8 KiB

notes regarding my workflow and intended use of workspaces

workspaces layout

idea from the ThePrimeagen: designated workspace/label/desktop per app/purpose

current layout/plan

workspace number wm layout/mode
1. notes (stack: nvim, obsidian) stack
2. music makeing - misc stack
3. music making - daw floating (workaround)
4. drawing (currently: gimp) stack
5. music/audio listening stack
6. comms (stack: emails, chats, av/calls) stack
7. web browser stack
8. terminal (primary; one-offs & tui apps can be anywhere) stack
9. programming - misc (whatever is not in terminal) stack
0. general - misc (catch-all) stack

ideas/guidelines:

  • use this consistently accross all machines
    • if something not applicable for a given machine, just don't have apps or screens present, but maintain absolute position/numbering of each screen
  • structure the above so that programs which i'm likely to use with one hand off of the keyboard (i.e. to use a trackpad, mouse, stylus, etc) are on the screens that allow for one hand (i.e. the one still on the keyboard) to navigate those screens
    • for me, using peripherals with right hand, so put programs likely to be used with peripherals where my left hand can switch to them single-handedly (screens 1 to 5)

workflow / use notes

  • related to the layout above, my approach is to run almost every window in fullscreen
    • note: on macOS, this is not mac's notion of fullscreen, which basically moves windows to new workspaces/desktops when going to fullscreen mode; instead, when i say 'fullscreen', the idea is taking up all of the normal screen (excluding the menu bar at the top of the screen)
  • key bindings are set for moving window focus up/down (vim style: mod + k/j)
    • the mental model here is that every fullscreen window is in a stack, so i can move focus up and down the stack (and i try to maintain consistent order in stacks, e.g. in the comms workspace, email is always on the bottom and chat apps are above)
  • for apps with tabs, pair the above mental model of a stack with a mental model of a circular list being in any position in that stack
    • so, keybindings are also set for previous/next tab (vim style: mod + h/l)
    • specifically, mod+h is mapped to ctrl+shift+tab and mod+l is mapped to ctrl+tab, so it should work anywhere ctrl+tab and ctrl+shift+tab work
  • all this said, it is better to keep things simple when possible and avoid having too many windows and/or tabs open at one time; however, with the designated purpose for each workspace and the mental models above, it rarely takes me long to find what i need

example cases

  • if i want a particular browser window, i jump to workspace 9, then move focus up or down until i get to the window i want; if the window is right but i need a different tab, i then just move "right or left" through my tabs
  • if i want a particular music-playing app/tui, i jumpt to workspace 4 and move focus up or down as needed to find it
  • variation case: if i want a particular terminal workspace, i jump to workspace 8, but then i'm in tmux land and navigate via the methods i've set up for tmux