# 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/drawing (stack: nvim, obsidian, gimp) | stack | | 2. music makeing - misc | stack | | 3. music making - daw | floating (workaround) | | 4. music/audio listening | stack | | 5. general - misc (catch-all) | stack | | 6. comms (stack: emails, chats, av/calls) | stack | | 7. programming - misc (whatever is not in terminal) | stack | | 8. terminal (primary; one-offs & tui apps can be anywhere) | stack | | 9. web browser | 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