summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@gnugeneration.com>2014-09-14 07:16:02 -0700
committerVito Caputo <vcaputo@gnugeneration.com>2014-09-14 09:38:35 -0700
commitc9554e3a6a27802aea1206ec492727d616f23a0a (patch)
tree359abfd4b25a9d3f76453520af2eed57a1d92a2b /README
parenta4430b79845c0c5417b8725a4272f91e04d42349 (diff)
Import of vwm2 changes from published source tgz
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
Diffstat (limited to 'README')
-rw-r--r--README94
1 files changed, 94 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..f411318
--- /dev/null
+++ b/README
@@ -0,0 +1,94 @@
+ \/\/\
+
+Built-ins:
+
+ Mod1-RClick Focus the clicked window, but suppress raising
+ Mod1-RClick-drag Focus the clicked window, suppress raising, resizing the window from its nearest corner until drag completes
+ Mod1-LClick Focus and raise the clicked window
+ Mod1-LClick-drag Focus and raise the clicked window, moving the window until the drag completes
+* Mod1-l Switch to virtual desktop to the right (if exists)
+* Mod1-h Switch to virtual desktop to the left (if exists)
+ Mod1-j Lower focused window, if the focused window is in "allscreen" mode it will simply be fullscreened first without lowering
+ Mod1-k [-k [-k] Raise focused window [a second k raises and fullscreens the window [a third k raises and "allscreens" without a visible border
+ [-k] [-k]] [a fourth k raises and fullscreens across all heads [a fifth k raises and "allscreens" across all heads]]]
+ Mod1-Shift-k Shelve focused window and switch to the shelf context
+ Mod1-Shift-j Migrate the focused window from the shelf to the last focused virtual desktop, switch to that virtual desktop, and focus the migrated window
+* Mod1-Shift-l Migrate the focused window to the virtual desktop to the right (if exists), keeping the window focused
+* Mod1-Shift-h Migrate the focused window to the virtual desktop to the left (if exists), keeping the window focused
+ Mod1-v Create a new virtual desktop and switch to it
+ Mod1-Shift-v Create a new virtual desktop, move the focused window to it, and switch to it
+* Mod1-Space Switch to the most recently used virtual desktop (like Mod1-Tab but for virtual desktops)
+* Mod1-Shift-Space Switch to the most recently used virtual desktop, bringing the focused window with
+ Mod1-` Alternate between shelf (if populated) and virtual desktop contexts
+ Mod1-s Shelve the focused window without switching to the shelf, adopting the newly shelved window as the focused window within the shelf
+* Mod1-Tab Focus and raise the next window in the current context (shelf or virtual desktop), the focused window is not 'committed' as the MRU window
+ until Mod1 is released, so you may peruse intermediate windows without affecting the order until releasing Mod1. In multihead configurations
+ the next window selection is confined to the current screen.
+ Mod1-Shift-Tab Identical to Mod1-Tab except switches to the MRU window on another screen in a multihead configuration
+ Mod1-d Request the client destroy the focused window, or destroy the current virtual desktop when no windows exist on it
+ Mod1-Shift-d XKillClient the focused window (useful for misbehaving clients)
+ Mod1-Enter Alternate between full-screen and windowed dimensions for the focused window
+ Mod1-[ [-[] Reconfigure the focused window to fill the left half of the screen [ left bottom quarter of screen ]
+ Mod1-] [-]] Reconfigure the focused window to fill the right half of the screen [ right top quarter of screen ]
+ Mod1-Shift-[ [-[] Reconfigure the focused window to fill the top half of the screen [ top left quarter of screen ]
+ Mod1-Shift-] [-]] Reconfigure the focused window to fill the bottom half of the screen [ bottom right quarter of screen ]
+ Mod1-Esc-Esc-Esc Exit vwm (if vwm is the child of your X server, X exits too, so your X clients all lose their connection and die.
+ However, your clients are running under screen, and if your X server didn't exit, they won't lose their X connection.)
+
+ *'s above indicate commands which initiate an MRU-update to be committed on the next Mod1 release. One may traverse windows and desktops without affecting
+ their MRU order by returning to the original initiating window and/or desktop before releasing Mod1. This permits one to do quite a lot of things
+ under a single, long-duration Mod1 press only committing to a potentially different focused window/desktop at the very end.
+ Think of the Mod1 release as a transaction commit when coupled with the *'d commands.
+
+Default launchers (configure by editing launchers.def and rebuild):
+
+ Mod1-x xterm
+ Mod1-b iceweasel
+ Mod1-g gimp
+ Mod1-. xlock
+ Mod1-- xset -dpms s off
+ Mod1-= xset +dpms s on
+
+
+General:
+
+ Newly created windows are raised but not focused unless they are the first
+ window on an otherwise empty virtual desktop, then they are focused as well.
+ When new windows appear on a populated virtual desktop, they are inserted
+ immediately after the currently focused window in the windows list, so a
+ Mod1-Tab will immediately focus new windows. Windows are kept in a MRU (Most
+ Recently Used) order, keeping it efficient to alternate between an evolving
+ set of active windows.
+
+ The shelf is a sort of omnipresent and limited virtual desktop always
+ available via Mod1-`, it only shows a single window at a time, Mod1-Tab
+ cycles through the shelved windows. I use it as a place to stow xterms
+ running backround processes I would like to retain the ability to observe the
+ output of or interact with occasionally. Programs like transmission-gtk,
+ cmus, wpa_supplicant under xterm, sometimes even iceweasel sessions find
+ themselves in my shelf on a regular basis.
+
+
+Multihead/Xinerama:
+
+ In multihead configurations new windows are placed on the screen containing
+ the pointer if that screen is empty. Should the pointer be on a non-empty
+ screen, then new windows are placed on the screen containing the currently
+ focused window.
+
+ New windows will automatically be focused if the screen they were placed on
+ is empty, even if their virtual desktop is not, which is a divergence from
+ the single-headed behavior where only lone windows on virtual desktops are
+ automatically focused.
+
+
+
+
+
+
+
+TODO ...
+
+
+
+
© All Rights Reserved