commit a22c14e330f52ca957eacf164fcb45bc34dcdf19
parent 868b73beb64b424d5e97b2fb55623b4f694c97aa
Author: wh1tepearl <wh1tepearl@gmail.com>
Date: Sat, 28 Mar 2026 21:51:42 +0000
changed readme a bit
Diffstat:
| M | README.md | | | 67 | +++++++++++++++++++++++++++++++++++++++++++++++++++++-------------- |
| M | vxwm.c | | | 2 | +- |
2 files changed, 54 insertions(+), 15 deletions(-)
diff --git a/README.md b/README.md
@@ -19,13 +19,27 @@ Move the View, Not Just the Windows
Instead of managing "layers" or "hidden states," you manage position.
Want more space? Slide the view over.
-Can't find a window? Swicth your focus to it, and the world slides until that window is right under your nose.
+Can't find a window? Switch your focus to it, and the world slides until that window is right under your nose.
Lost? Hit the "homecanvas" keybind to snap your view back to the start.
Even though this sounds complex, it is actually pretty lightweight ~250 l.o.c, and is very easy to use.
-## Requirements
+# Requirements
-In order to build vxwm you need the Xlib header files.
+In order to build vxwm you need the Xlib, Xft and Xinerama header files.
+
+## Deps Installation
+
+Arch Linux:
+
+ sudo pacman -Sy libx11 libxft libxinerama
+
+Void Linux:
+
+ sudo xbps-install -S libX11 libX11-devel libXft libXft-devel libXinerama libXinerama-devel
+
+Gentoo Linux:
+
+ sudo emerge -av x11-libs/libX11 x11-libs/libXft x11-libs/libXinerama
# Getting Started:
@@ -39,16 +53,17 @@ Clone this repository and cd into it.
Edit config.mk to match your local setup (vxwm is installed into
the /usr/local namespace by default).
-Enable Xinerama if you need it by uncommenting Xinerama libs in config.mk.
-
-Afterwards enter the following command to build and install vxwm (if
-necessary as root):
-
- make clean install
+Afterwards enter the following commands to build and install vxwm:
+
+ make
+ sudo make clean install
+(yes, run make first and only then sudo make clean install)
## Running vxwm
+You will need startx utility installed.
+
Add the following line to your .xinitrc to start vxwm using startx:
exec vxwm
@@ -59,14 +74,14 @@ or for hot configuration reload, add something like this to your .xinitrc:
vxwm &
exec sleep infinity
-And then for restarting vxwm just kill vxwm's process and start it again or use rvx utility.
+And then for restarting vxwm use the rvx utility.
In order to connect vxwm to a specific display, make sure that
the DISPLAY environment variable is set correctly, e.g.:
- DISPLAY=foo.bar:1 exec vxwm
+ DISPLAY=:1 exec vxwm
-(This will start vxwm on display :1 of the host foo.bar.)
+(This will start vxwm on display :1)
In order to display status info in the bar, you can do something
like this in your .xinitrc:
@@ -78,12 +93,36 @@ like this in your .xinitrc:
exec vxwm
-## Configuration
+# Configuration
The configuration of vxwm is done by editing config.h and modules.h to
match your preferences and (re)compiling the source code.
-## Acknowledgements
+## Adding custom keybinds
+
+Add this to config.h and replace yoursillyprogram with the actual cmd that will be executed in hte keybind (recommended adding it right before keys array):
+
+ static const char *yoursillyprogramcmd[] = { "yoursillyprogram", NULL };
+
+If your cmd uses multiple arguments, you should write them like this:
+
+ static const char *yoursillyprogramcmd[] = { "yoursillyprogram", "arg1", "arg2", NULL };
+
+etc.
+
+And then add this to keys massive:
+
+ { MODKEY|ShiftMask, XK_u, spawn, {.v = yoursillyprogramcmd } },
+
+......Mod Modificator Key arg
+
+## Modules
+
+Enable/disable (0/1) modules you need/don't need, thats it.
+
+# AFTER ANY CHANGE IN CONFIG/MODULES RECOMPILE VXWM AND RESTART USING RVX
+
+# Acknowledgements
vxwm was made in solo by a linux enthusiast wh1tepearl, many thanks to suckless.org and the [dwm] developers for making dwm in first place.
Thanks 5element developer and hevel wayland compositor developers for inspiration of infinite tags.
diff --git a/vxwm.c b/vxwm.c
@@ -2,7 +2,7 @@
This wm is forked from dwm 6.7 (but keeps up with all dwm's updates), thanks suckless for their incredible work on dwm!
Infinite tags module is heavily inspired from 5element which is inspired from the hevel wayland compositor.
-vxwm 2.1 // by solyn (wh1tepearl's child)
+vxwm 2.2 // by wh1tepearl
*/