summaryrefslogtreecommitdiff
path: root/README
AgeCommit message (Collapse)Author
2021-01-02*: replace the "shelf" with "contexts"Vito Caputo
This is unfortunately a bit of a large commit, but it's at least pretty much all on-topic for the generalized "contexts" feature. Rather than waste time trying to split this further into smaller commits, I'm just landing it as-is, now that I've lived with the interaction model long enough to not completely hate it. I fully expect to revisit this in the future. One TODO item in particular I'd like to note is "sending" windows to contexts always creates a new virtual desktop for the sent window in the destination context. What should really happen is the destination context should be checked for an empty desktop, and a new desktop created only when there isn't an empty one to be reused for receiving the sent window. Note this only affects non-migrate sends, as migrates (modified by Shift) explicitly use the existing focused desktop at the destination context. See the README for more information on how contexts work and what's different about the interaction model. It's fairly minimal, most of what you already know how to do should keep working as-is. The only oddity would be Mos1-s no longer "shelves" windows, it's now a modifier to turn "migrates" into "sends", and by itself is a noop now. Colors used for contexts haven't been refined and are enumerated in src/context_colors.def.
2015-02-21Introduced a 'refocus original window' operationVito Caputo
See changes to README, but basically if you're holding down Alt and doing some window management operations, while still pressing Alt hit the other Alt key to return focus to the starting window+desktop. Nothing is undone, focus is simply returned to the starting window+desktop.
2014-09-28Reflowed keystroke section of README to 75 wide, mostly for the github UI.Vito Caputo
2014-09-14 Import of vwm3 changes from published source tgzVito Caputo
Major changes from vwm2 include: - Introduction of integrated X client process and descendants monitoring in the form of per-window composited overlays. The rendering is done using the Composite, Damage, and Render extensions. When the monitors are visible, vwm3 is a compositing manager. When invisible, vwm3 continues to be an immediate-mode classic X11 minimalist window manager. Monitors are toggled via Mod1-;, Mod1-LeftArrow and Mod1-RightArrow may be used to decrease and increase the sampling frequency, respectively. Mod1-' clears the monitored tasks history for the focused window when monitoring is visible. This feature depends on the CONFIG_CHECKPOINT_RESTORE kernel configuration option for the discovery of descendant processes. Without this kernel option enabled, you'll only get a single process monitored per window; the X client process as indicated by the _NET_WM_PID atom of the window. A library called libvmon has been introduced for the abstraction of lightweight system and process statistics sampling. Since vwm2 received backported features unrelated to monitoring or compositing while vwm3 was developed, there isn't really much difference between the two outside the monitoring context. This isn't to say there isn't much activity in the code, the addition of compositing and monitoring requires a substantial amount of code relative to the scale of vwm[12].
2014-09-14Import of vwm2 changes from published source tgzVito Caputo
Major changes from vwm1: - GNU screen-based "console" integration for monitored launching of X clients via screen remote commands, replacing the simple double fork approach used in vwm1. Clients exiting with non-zero status retain their screen window in the console for 86400 seconds, facilitating easier debugging and troubleshooting. The console xterm is accessed in the shelf and has a red border by default. - Xinerama/multihead support backported from vwm3, including the "screen fencing" implementation facilitating screen-oriented window focus cycling. Shifting the Mod1-Tab window cycling focuses the next most recently used window on another display. Unshifted stays confined to the current display. - SYNC extension integration for prioritizing the WM over other X clients - setpriority() integration for "nicing" X client processes relative to the WM process - "autoconf" windows, horizontal/vertical halfscreen windows, quarterscreen windows in addition to the full/all screen functions. Mod1-[ and Mod1-] resize the focused window vertically with left and right justification to half the screen in width. Shifting these does the same thing just horizontally. Repeating the operation with a second ] or [ press quarters the window in the respective screen corner, extending upon the repeater pattern established in vwm1 for full/allscreen windows with Mod1-k[k[k]] - Exit now requires 3 consecutive strikes of Mod1-Esc - Introduction of a README file
© All Rights Reserved