Révision | l'heure | Auteur | Message: |
---|---|---|---|
7958db8a20da | 2022-05-05 05:01:09 | Russell Adams | tip Deprecated this repo, merged into stumpwm contrib. |
befab5c1932e | 2022-03-13 23:53:24 | Russell Adams | Added tag 0.0.2 for changeset e84af0768434 |
e84af0768434 | 2022-03-13 23:52:59 | Russell Adams | 0.0.2 Added spatial-groups:install-default-keybinds to install ... |
0256ab2e1096 | 2022-03-09 02:52:43 | Russell Adams | Added tag 0.0.1 for changeset 7b53b9a23fbd |
7b53b9a23fbd | 2022-03-09 02:10:47 | Russell Adams | 0.0.1 added install instructions to README |
5b47f50a71ca | 2022-03-09 02:04:07 | Russell Adams | updated todos |
22e7896328ca | 2022-03-09 01:54:32 | Russell Adams | Successfully moved to a module |
a4315d08b25e | 2022-03-09 01:15:36 | Russell Adams | figuring out startup |
c0b85ec43e9b | 2022-03-09 01:06:17 | Russell Adams | removed dot file, now a module |
fe67178c3cff | 2022-03-09 01:05:55 | Russell Adams | initial move to module format |
Nom | Révision | l'heure | Auteur |
---|---|---|---|
0.0.1 | 7b53b9a23fbd | 2022-03-09 02:10:47 | Russell Adams |
0.0.2 | e84af0768434 | 2022-03-13 23:52:59 | Russell Adams |
tip | 7958db8a20da | 2022-05-05 05:01:09 | Russell Adams |
Nom | Révision | l'heure | Auteur | Message: |
---|---|---|---|---|
default | 7958db8a20da | 2022-05-05 05:01:09 | Russell Adams | Deprecated this repo, merge... |
This repository is deprecated. Spatial Groups has been merged into StumpWM-Contrib: https://github.com/stumpwm/stumpwm-contrib No further updates will be released here. Old Readme: ====================================================================== Installation: mkdir ~/.stumpwm.d/modules (if needed) cd ~/.stumpwm.d/modules hg clone http://hg.pf.osdn.net/view/r/rl/rladams/StumpWMSpatial - or - Visit with a browser: https://osdn.net/users/rladams/pf/StumpWMSpatial/scm/tree/tip/ Click "Export TAR" on the right side. While in the modules directory: tar -zxvf TARFILE (ie: StumpWMSpatial-5b47f5.tar.gz) In your .stumpwmrc, add the following: (in-package :stumpwm) (load-module "spatial-groups") (spatial-groups:install-default-keybinds) ; optional Restart stumpwm. ====================================================================== From the original post: http://demosthenes.org/tmp/StumpWMSpatialGroups.mp4 Please pardon the rough edges. I'm not starting a Youtube channel, just trying to have a conversation about how to manage windows and groups in Stump. Spatial grouping abuses Stump's ability to dynamically create groups to create a sparse 3d array of groups, visualized as multiple desktops of a 2d grid of screens. Hotkeys use arrows to navigate the grid and swap desktops in a way which emulates a larger physical screen surface. Using this method allows me to group windows by project, adjacent to each other. This allows absolute navigation to each window, as opposed to relative navigation (ie: alt-tab). I'm not grouping related application windows on the same screen, but rather organizing patterns of groups to keep related application windows cognitively near each other. I still may use splits and tile windows within a screen, but not as often. Concepts: Spatial groups use a 3d coordinate system: “x,y,z” Valid groups are “0,0,0”, “-1,2,0”, etc. Z is used as the desktop index Keys: Control-Shift-{Left,Right}: Change desktop (Z axis) Control-Arrows: Navigate virtual screens on current desktop Control-Shift-Up: Return to 0,0 on current desktop (Z) Shift-Arrows: Navigate splits on current screen group ====================================================================== This idea of spatial groupings I have been using since Enlightenment in the early 2000's. E later dropped their virtual desktops with expandable numbers of screens in a grid. I've implemented this concept on xmonad, awesome WM, i3, and now StumpWM (my fav). My work style is to start a central task, and then supplemental tasks should be organized radially from that central task. To do this, I use a 2d plane of workspaces where I can easily layout my windows geometrically and navigate them spatially in lieu of a desktop or tab analogy. Multiple projects or key tasks are separated on separate planes. In this configuration, each workspace is a tag organized into a 3d cube of workspaces described by a simple coordinate system. To navigate between these workspaces, simple keybindings have been created. Example Workspace Plane: The example plane below puts Emacs into the central window, surrounded by supplimental windows that help support the central task. At any time from the central window, any supplemental window is only one key chord away (Control+Arrows). Habit and simple organization gives way to always knowing where to go to find an item in relation to the central workspace. +-----------------------------------------------+----------------------+ | | | | | | Suppliment | | | | | | | | Firefox | | | | | | +----------------------------------------------------------------------+ | | | | | Supplement | Central Task | Suppliment | | | | | | SQL Window | EMACS | Documentation | | | | | +----------------------------------------------------------------------+ | | | | | | Suppliment | | | | | | | | Two shell prompts | | | | | | +-----------------------------------------------+----------------------+ There is no Alt-tab style confusion of trying to find the right window in a dynamic stack. This organization also lends itself to full screen windows, or relatively few tiles. Second level supplementary windows can be created in the corners, where they are at most two key chords from center. These are less frequently used and may provide scratch space for additional windows. The third dimension comes in when managing multiple core tasks in parallel, where the advantage of easy radial addressing becomes a concern for another project. The third dimension allows us to stack workspaces, and toggle between them when it is time to change projects. +-----------------------------------------------+----------------------+ | 1,1,1 | | | | | Suppliment | | | | | | | | Firefox | |---------+ | | | | | +----------------------------------------------------------------------+ | | | | | | | Supplement | Central Task | Suppliment | | | | | | |----------+ | SQL Window | EMACS | Documentation |---------+ | | | | | | | +----------------------------------------------------------------------+ | | | | | | | | | | Suppliment | |on | | | | | | |----------+ | | Two shell prompts | |---------+ | | 1,3,1 | | | | | +-----------------------------------------------+----------------------+ | | | | | |ion | | | Two shell prompts | | | | 1,3,2 | | |----------+ +-----------------------------------------------+----------------------+ | | | | | | | Two shell prompts | | | 1,3,3 | | | +-----------------------------------------------+----------------------+ ====================================================================== TODO: - Multiple monitor support? - Cleanup code