wmsquared is a minimal x11 window manager
| src | fixed readme, changed cli args and WM_* in src/defs.h | |
| .gitignore | initial commit | |
| LICENSE | initial commit | |
| Makefile | initial commit | |
| README | fixed readme, changed cli args and WM_* in src/defs.h | |
| wm.desktop | initial commit | |
| wmrc | fixed readme, changed cli args and WM_* in src/defs.h | |
wm2 [1.0] is a simple x11 window manager written in c, forked from github.com/uint23/sxwm. check sxwm out! wm2 is split into three source files, and a config file that can be located in; (~/.config/wmrc, ~/.config/wm/wmrc, /usr/local/share/wmrc). this window manager's config can be interpreted as a simple, key & value format. for example; key : value the keywords and possible values are explained below in the legend; type keyword value (Description) <KeyBind1 + KeyBind2> string mod_key : super/alt/ctrl/..(Main modifier key for wm2 binds, using mod_key is OPTIONAL) int gaps : 1 (Pixel amount between the screen edges and windows) int border_width : 1 (Thickness of window outlines, use 1 for a sharp look) hex focused_border_color : #FFFFFF (Color of focused window outline) hex unfocused_border_color : #000000 (Color of unfocused window outline) hex swap_border_color : #000000 (Color of window outline while moving it) int master_width : 65 (Percentage of master window width) int resize_master_amount : 1 (Percentage to resize master width <l + ;>) int resize_stack_amount : 1 (Percentage to resize stack width <, + .>) int motion_throttle : 120 (Fps for mouse actions, set to you refresh rate) int snap_distance : 5 (Pixels near the screen edge where the window will snap to it) int move_window_amount : 10 (Pixels you move the window with <super + alt + arrow>) int resizewindow_amount : 10 (Pixels you resize the window with <alt + shift + arrow>) string start_fullscreen : "foo", "bar" (Binaries to start full screened) string should_float : "foo", "bar" (Binaries to float after spawning) bool new_win_focused : true/false (Focus on new window) bool warp_cursor : true/false (Teleport cursor to center of new window) bool floating_on_top : true/false (Floating windows stay on top of tiled ones) bool info : true/false (Show workspace number and time in bottom left corner if no windows are open) bool centre_on_resize : true/false (Center window on resize) string exec : "foo" (Command to execute on startup) string can_swallow : "bar" (Binaries that can stay on top of others) string can_be_swallowed : "xyz" (Binaries that can stay under others) next, let's present binds and calls to wm2, available modifiers are; - mod (declared earlier) - shift - ctrl - alt - super and, of course, these should get you far enough. to use these modifiers, bind them to something or make a call to wm2. what bind value bind : foo + bar : "st" call : foo + bar : function workspace : foo + bar : move/swap WorkspaceNumber available functions: quit : Exit wm2 reload_config : Reload wm2 config centre_window : Put window at center of screen pull_window : Pull window to cursor close_window : Close focused window fullscreen : Fullscreen focused window global_floating : Toggle floating between all windows decrease_gaps : Decrease gaps between windows and screen increase_gaps : Increase gaps between windows and screen decrease_border_width : Decrease window outline thickness increase_border_width : Increase window outline thickness master_increase : Increase master size by resize_master_amount declared earlier master_decrease : Decrease master size by resize_master_amount declared earlier stack_increase : Increase stack size by resize_stack_amount declared earlier stack_decrease : Decrease stack size by resize_stack_amount declared earlier focus_next : Focus next window focus_prev : Focus previous window focus_next_mon : Focus next monitor focus_prev_mon : Focus previous monitor master_next : Move window between stack or master master_prev : Move window between stack or master move_next_mon : Move focused window to next monitor move_prev_mon : Move focused window to previous monitor resize_win_down : Resize focused window down resize_win_left : Resize focused window left resize_win_up : Resize focused window up resize_win_right : Resize focused window right switch_previous_workspace : Go to previous workspace toggle_floating : Toggle between tiling and floating on focused window brightness_down : Lower screen brightness with brightnessctl by 10% brightness_up : Raise screen brightness with brightnessctl by 10% volume_down : Lower volume with pactl by 10% volume_up : Raise volume with pactl by 10% TO DO: empty CONTACT: mail me a suggestion at <xtnn59@gmail.com> or send me a message on discord <xtncton>