1275 lines
33 KiB
Groff
1275 lines
33 KiB
Groff
.\" Automatically generated by Pandoc 2.19.2
|
|
.\"
|
|
.\" Define V font for inline verbatim, using C font in formats
|
|
.\" that render this, and otherwise B font.
|
|
.ie "\f[CB]x\f[]"x" \{\
|
|
. ftr V B
|
|
. ftr VI BI
|
|
. ftr VB B
|
|
. ftr VBI BI
|
|
.\}
|
|
.el \{\
|
|
. ftr V CR
|
|
. ftr VI CI
|
|
. ftr VB CB
|
|
. ftr VBI CBI
|
|
.\}
|
|
.TH "speedwm" "1" "" "1.5.1" "speedie\[cq]s window manager."
|
|
.hy
|
|
.SH speedwm
|
|
.SS What is speedwm?
|
|
.PP
|
|
speedwm is a window manager forked from suckless.org\[cq]s dwm or
|
|
dynamic window manager.
|
|
It manages the user\[cq]s open windows and tiles them according to a set
|
|
layout (dynamic).
|
|
.PP
|
|
Just like dwm, speedwm also tries to be minimal but also has
|
|
functionality and aesthetics as a goal.
|
|
It is also much more minimal than other window managers like i3-gaps
|
|
while offering many more features.
|
|
.PP
|
|
Tiling window managers (unlike floating window managers that you may be
|
|
used to) tile windows based on a set layout making them easy to get
|
|
productive on.
|
|
They also encourage the user to use their keyboard instead of the mouse
|
|
so that the user doesn\[cq]t have to move their hands much but there are
|
|
mouse keybinds and more can be added.
|
|
.SS Installation
|
|
.PP
|
|
In order to install this build of speedwm, all dependencies must be
|
|
installed.
|
|
You can see (Dependencies) for a list of all dependencies required to
|
|
use this fork.
|
|
.IP \[bu] 2
|
|
git clone https://codeberg.org/speedie/speedwm
|
|
.IP \[bu] 2
|
|
cd speedwm
|
|
.IP \[bu] 2
|
|
make clean install
|
|
.RS 2
|
|
.IP \[bu] 2
|
|
If any warnings/errors show up, fix it by installing the missing
|
|
dependency.
|
|
.RE
|
|
.IP \[bu] 2
|
|
If a .xinitrc is used, add `speedwm' to the end.
|
|
.RS 2
|
|
.IP \[bu] 2
|
|
If you do not have a .xinitrc, you can add autostart commands to the
|
|
file \[ti]/.config/speedwm/autostart.sh.
|
|
.RE
|
|
.SS Layouts
|
|
.PP
|
|
speedwm comes with the following layouts:
|
|
.IP \[bu] 2
|
|
Tile
|
|
.IP \[bu] 2
|
|
Monocle
|
|
.IP \[bu] 2
|
|
Grid
|
|
.IP \[bu] 2
|
|
Deck
|
|
.IP \[bu] 2
|
|
Centered Master
|
|
.IP \[bu] 2
|
|
Tatami
|
|
.IP \[bu] 2
|
|
Spiral
|
|
.IP \[bu] 2
|
|
Dwindle
|
|
.IP \[bu] 2
|
|
Bottom Stack
|
|
.IP \[bu] 2
|
|
Horizontal Bottom Stack
|
|
.IP \[bu] 2
|
|
Horizonal Grid
|
|
.IP \[bu] 2
|
|
Dynamic Grid
|
|
.IP \[bu] 2
|
|
Custom
|
|
.PP
|
|
They can be switched between using a little menu (See Keybinds for more
|
|
information) or by right clicking the Layout indicator.
|
|
The more commonly used layouts can be switched between using a quick
|
|
keybind.
|
|
.SS Keybinds
|
|
.PP
|
|
This is a full list of keybinds.
|
|
Please let me know if any keybinds are missing as these have been
|
|
manually added.
|
|
.PP
|
|
Keybinds for regular applications
|
|
.IP \[bu] 2
|
|
Super+Shift+Enter - Opens the defined terminal (default is st)
|
|
.IP \[bu] 2
|
|
Super+Shift+Colon - Opens a dmenu prompt
|
|
.IP \[bu] 2
|
|
Super+Shift+s - Opens `maim' to take a screenshot and copies it to the
|
|
clipboard using `xclip' (requires speedwm-extras)
|
|
.IP \[bu] 2
|
|
Super+Shift+f - Opens the defined file manager
|
|
.IP \[bu] 2
|
|
Super+Shift+w - Opens the defined web browser
|
|
.IP \[bu] 2
|
|
Super+Shift+o - Opens the speedwm-dfmpeg dmenu script to record your
|
|
screen.
|
|
(requires speedwm-extras)
|
|
.IP \[bu] 2
|
|
Super+Shift+t - Opens the defined editor in your terminal
|
|
.IP \[bu] 2
|
|
Super+Shift+m - Kills the defined music player
|
|
.IP \[bu] 2
|
|
Super+Shift+a - Opens the defined mixer in your terminal
|
|
.IP \[bu] 2
|
|
Super+Shift+m - Opens the defined music player
|
|
.IP \[bu] 2
|
|
Super+Shift+x - Opens the defined system process viewer in your terminal
|
|
.IP \[bu] 2
|
|
Super+Shift+c - Opens the defined chat client
|
|
.IP \[bu] 2
|
|
Super+Shift+d - Opens iron in the terminal if it is installed
|
|
.IP \[bu] 2
|
|
Super+Shift+u - Opens the defined RSS reader
|
|
.IP \[bu] 2
|
|
Super+Shift+r - Opens the defined email client
|
|
.PP
|
|
These keybinds are for navigating speedwm
|
|
.IP \[bu] 2
|
|
Super+f - Fullscreen the selected window
|
|
.IP \[bu] 2
|
|
Super+b - Show/hide the speedwm bar
|
|
.IP \[bu] 2
|
|
Super+s - Show/hide the systray
|
|
.IP \[bu] 2
|
|
Super+j/k - Move focus between visible windows
|
|
.IP \[bu] 2
|
|
Super+m - Moves focus to the Master window (or back if Master is already
|
|
focused)
|
|
.IP \[bu] 2
|
|
Super+a/d - Increase/decrease size of each window
|
|
.IP \[bu] 2
|
|
Super+w/e - Resize the window keeping the aspect ratio of it.
|
|
.IP \[bu] 2
|
|
Super+o - Hide a window
|
|
.IP \[bu] 2
|
|
Super+Minus - Show the scratchpad
|
|
.IP \[bu] 2
|
|
Super+Equal - Remove the scratchpad
|
|
.IP \[bu] 2
|
|
Super+Enter - Switch order of windows
|
|
.IP \[bu] 2
|
|
Super+Colon - Open a list of desktop entries in dmenu
|
|
.IP \[bu] 2
|
|
Super+Tab - Switch between windows on the same tag.
|
|
(Microsoft Windows-like Alt+Tab)
|
|
.IP \[bu] 2
|
|
Super+0 - Reset mfact
|
|
.IP \[bu] 2
|
|
Super+r - Reset number of masters
|
|
.IP \[bu] 2
|
|
Super+y - Make the current selected window sticky
|
|
.IP \[bu] 2
|
|
Super+d - Focus the previous monitor.
|
|
.IP \[bu] 2
|
|
Super+/ - Focus the next monitor.
|
|
.IP \[bu] 2
|
|
Super+.
|
|
- Increase bar padding by 1
|
|
.IP \[bu] 2
|
|
Super+, - Decrease bar padding by 1
|
|
.IP \[bu] 2
|
|
Super+\ - Toggle mark on a client.
|
|
.IP \[bu] 2
|
|
Super+] - Swap focused client with the marked client.
|
|
.IP \[bu] 2
|
|
Super+[ - Swap focus with the marked client.
|
|
.IP \[bu] 2
|
|
Super+1 - Move to tag 1
|
|
.IP \[bu] 2
|
|
Super+2 - Move to tag 2
|
|
.IP \[bu] 2
|
|
Super+3 - Move to tag 3
|
|
.IP \[bu] 2
|
|
Super+4 - Move to tag 4
|
|
.IP \[bu] 2
|
|
Super+5 - Move to tag 5
|
|
.IP \[bu] 2
|
|
Super+6 - Move to tag 6
|
|
.IP \[bu] 2
|
|
Super+7 - Move to tag 7
|
|
.IP \[bu] 2
|
|
Super+8 - Move to tag 8
|
|
.IP \[bu] 2
|
|
Super+9 - Move to tag 9
|
|
.IP \[bu] 2
|
|
Super+Shift+1 - Preview tag 1
|
|
.IP \[bu] 2
|
|
Super+Shift+2 - Preview tag 2
|
|
.IP \[bu] 2
|
|
Super+Shift+3 - Preview tag 3
|
|
.IP \[bu] 2
|
|
Super+Shift+4 - Preview tag 4
|
|
.IP \[bu] 2
|
|
Super+Shift+5 - Preview tag 5
|
|
.IP \[bu] 2
|
|
Super+Shift+6 - Preview tag 6
|
|
.IP \[bu] 2
|
|
Super+Shift+7 - Preview tag 7
|
|
.IP \[bu] 2
|
|
Super+Shift+8 - Preview tag 8
|
|
.IP \[bu] 2
|
|
Super+Shift+9 - Preview tag 9
|
|
.IP \[bu] 2
|
|
Super+Shift+q - Close the current window
|
|
.IP \[bu] 2
|
|
Super+Shift+.
|
|
- Increase bar padding and gaps by 1
|
|
.IP \[bu] 2
|
|
Super+Shift+, - Decrease bar padding and gaps by 1
|
|
.IP \[bu] 2
|
|
Super+Shift+h/j/k/l - Rotates a stack.
|
|
.IP \[bu] 2
|
|
Super+Shift+Arrow - Resizes a window in floating mode
|
|
.IP \[bu] 2
|
|
Super+Shift+Escape - Ask the user if they want to shutdown or reboot or
|
|
nothing
|
|
.IP \[bu] 2
|
|
Super+Shift+Tab - Switch between windows and tags in detail.
|
|
.IP \[bu] 2
|
|
Super+Shift+Equal - Toggle scratchpads
|
|
.IP \[bu] 2
|
|
Super+Shift+Minus - Hide the scratchpad
|
|
.IP \[bu] 2
|
|
Super+Shift+Space - Toggle floating windows
|
|
.IP \[bu] 2
|
|
Super+Control+1 - Combine the current tag with tag 1
|
|
.IP \[bu] 2
|
|
Super+Control+2 - Combine the current tag with tag 2
|
|
.IP \[bu] 2
|
|
Super+Control+3 - Combine the current tag with tag 3
|
|
.IP \[bu] 2
|
|
Super+Control+4 - Combine the current tag with tag 4
|
|
.IP \[bu] 2
|
|
Super+Control+5 - Combine the current tag with tag 5
|
|
.IP \[bu] 2
|
|
Super+Control+6 - Combine the current tag with tag 6
|
|
.IP \[bu] 2
|
|
Super+Control+7 - Combine the current tag with tag 7
|
|
.IP \[bu] 2
|
|
Super+Control+8 - Combine the current tag with tag 8
|
|
.IP \[bu] 2
|
|
Super+Control+9 - Combine the current tag with tag 9
|
|
.IP \[bu] 2
|
|
Super+Control+q - Mutes your audio
|
|
.IP \[bu] 2
|
|
Super+Control+w - Increases your volume
|
|
.IP \[bu] 2
|
|
Super+Control+e - Decreases your volume
|
|
.IP \[bu] 2
|
|
Super+Control+0 - Tag all tags at once.
|
|
.IP \[bu] 2
|
|
Super+Control+Enter - Mirror the layout
|
|
.IP \[bu] 2
|
|
Super+Control+i - Increase stackcount by 1
|
|
.IP \[bu] 2
|
|
Super+Control+u - Decrease stack count by 1
|
|
.IP \[bu] 2
|
|
Super+Control+z/x - Increase/decrease gaps between windows by 5
|
|
.IP \[bu] 2
|
|
Super+Control+j/k - Move focus between hidden windows (Can then `Show')
|
|
.IP \[bu] 2
|
|
Super+Control+Arrow - Moves a window to any corner of your screen (Arrow
|
|
key)
|
|
.IP \[bu] 2
|
|
Super+Control+Tab - Open a dmenu prompt asking the user what layout to
|
|
switch to
|
|
.IP \[bu] 2
|
|
Super+Control+h - Open the man page for speedwm in dmenu.
|
|
.IP \[bu] 2
|
|
Super+Control+o - Show a hidden focused window
|
|
.IP \[bu] 2
|
|
Super+Control+a/d - Move to the next/previous tag
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+o - Show all hidden windows
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+p - Hide all windows
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+Colon - Open a list of extra software in dmenu
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+z/c - Move to the next/previous tag skipping any
|
|
without windows open
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+a/d - Move between available layouts
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+1 - Move the focused window to tag 1
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+2 - Move the focused window to tag 2
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+3 - Move the focused window to tag 3
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+4 - Move the focused window to tag 4
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+5 - Move the focused window to tag 5
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+6 - Move the focused window to tag 6
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+7 - Move the focused window to tag 7
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+8 - Move the focused window to tag 8
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+9 - Move the focused window to tag 9
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+Esc - Open speedwm-utils (requires speedwm-extras)
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+Arrow - Resize the window to the screen size.
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+s - Set a wallpaper (requires speedwm-extras)
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+n - Connect to WLAN using iwd (requires
|
|
speedwm-extras)
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+b - Connect to a Bluetooth device using bluez
|
|
(requires speedwm-extras)
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+q - Pauses your music
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+w - Decreases your music volume
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+e - Increase your music volume
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+r - Restart speedwm
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+j/k - Change window size vertically (cfact)
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+Equal - Increase bar height by 1
|
|
.IP \[bu] 2
|
|
Super+Control+Shift+Minus - Decrease bar height by 1
|
|
.PP
|
|
Chained keybinds
|
|
.IP \[bu] 2
|
|
Super+r & s - Run screenkey if it is installed Super+r & d - Kill
|
|
screenkey
|
|
.IP \[bu] 2
|
|
Super+t & r - Reorganize tags and move windows
|
|
.IP \[bu] 2
|
|
Super+t & t - Toggle tag area in the bar
|
|
.IP \[bu] 2
|
|
Super+t & y - Toggle empty tag area in the bar
|
|
.IP \[bu] 2
|
|
Super+t & w - Toggle title area in the bar
|
|
.IP \[bu] 2
|
|
Super+t & u - Toggle unselected title area in the bar
|
|
.IP \[bu] 2
|
|
Super+t & p - Toggle powerline tags in the bar
|
|
.IP \[bu] 2
|
|
Super+t & s - Toggle status area in the bar
|
|
.IP \[bu] 2
|
|
Super+t & l - Toggle layout area in the bar
|
|
.IP \[bu] 2
|
|
Super+t & o - Toggle inactive fade
|
|
.IP \[bu] 2
|
|
Super+t & b - Toggle bar position
|
|
.IP \[bu] 2
|
|
Super+t & r - Reset all bar modules
|
|
.IP \[bu] 2
|
|
Super+t & s - Make the current selected window sticky
|
|
.IP \[bu] 2
|
|
Super+l & p - Toggle layout position
|
|
.IP \[bu] 2
|
|
Super+c & w - Get the weather (Using wttr.in) using speedwm-core
|
|
(requires speedwm-extras)
|
|
.IP \[bu] 2
|
|
Super+c & n - Switch to the next track
|
|
.IP \[bu] 2
|
|
Super+c & p - Switch to the previous track
|
|
.IP \[bu] 2
|
|
Super+g & t - Toggle gaps
|
|
.IP \[bu] 2
|
|
Super+g & 0 - Reset gaps
|
|
.IP \[bu] 2
|
|
Super+g & i - Increase inner gaps by 1
|
|
.IP \[bu] 2
|
|
Super+g & o - Increase outer gaps by 1
|
|
.IP \[bu] 2
|
|
Super+g & j/k - Increase/decrease gaps between windows by 1
|
|
.IP \[bu] 2
|
|
Super+p & j/k - Increase/decrease bar padding by 1
|
|
.IP \[bu] 2
|
|
Super+p & u/d - Increase/decrease bar padding by 5
|
|
.IP \[bu] 2
|
|
Super+p & r - Reset bar padding to default
|
|
.IP \[bu] 2
|
|
Super+p & t - Toggle bar padding on/off
|
|
.IP \[bu] 2
|
|
Super+, & w - Toggle title powerline on/off
|
|
.IP \[bu] 2
|
|
Super+, & t - Toggle tag powerlines on/off
|
|
.IP \[bu] 2
|
|
Super+, & a - Toggle title powerline shape
|
|
.IP \[bu] 2
|
|
Super+, & d - Toggle tag powerline shape
|
|
.IP \[bu] 2
|
|
Super+, & s - Toggle tag and title powerline shapes
|
|
.IP \[bu] 2
|
|
Super+, & r - Reset powerline options
|
|
.IP \[bu] 2
|
|
Super+q & o - Kill every window except the focused
|
|
.IP \[bu] 2
|
|
Super+q & n/p - Switch to the next/previous track
|
|
.IP \[bu] 2
|
|
Super+q & l/h - Seek 3 seconds forward/backwards
|
|
.IP \[bu] 2
|
|
Super+q & u/d - Seek 10 seconds forward/backwards
|
|
.IP \[bu] 2
|
|
Super+q & 0 - Seek to the beginning of the track
|
|
.IP \[bu] 2
|
|
Super+Shift+g & i - Decrease inner gaps by 1
|
|
.IP \[bu] 2
|
|
Super+Shift+g & o - Decrease outer gaps by 1
|
|
.IP \[bu] 2
|
|
Super+Shift+e & a - Open the virtual keyboard
|
|
.IP \[bu] 2
|
|
Super+Shift+e & e - Open a list of all emojis and copy the selection
|
|
.IP \[bu] 2
|
|
Super+Shift+e & r - Randomize wallpaper
|
|
.IP \[bu] 2
|
|
Super+Shift+e & p - Set wallpaper to the previous
|
|
.PP
|
|
These will only work if your keyboard has special multimedia buttons.
|
|
.IP \[bu] 2
|
|
Mute button - Mutes your audio
|
|
.IP \[bu] 2
|
|
Up Volume button - Increases your volume
|
|
.IP \[bu] 2
|
|
Next/Previous song button - Switch to the next/previous track
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
.IP \[bu] 2
|
|
Down Volume button - Decreases your volume
|
|
.IP \[bu] 2
|
|
Pause button - Pauses the current track
|
|
.IP \[bu] 2
|
|
Stop button - Stops your defined music player
|
|
.IP \[bu] 2
|
|
Browser button - Opens your defined web browser
|
|
.IP \[bu] 2
|
|
Power button - Ask if you wanna shut down, restart or lock your
|
|
computer.
|
|
(requires speedwm-extras)
|
|
.IP \[bu] 2
|
|
Email button - Open your defined email client
|
|
.IP \[bu] 2
|
|
System button - Open your defined status viewer in a terminal
|
|
.IP \[bu] 2
|
|
Music button - Open your defined music player
|
|
.IP \[bu] 2
|
|
WLAN button - Disconnect from WLAN (requires speedwm-extras)
|
|
.PP
|
|
These binds can be activated using your mouse
|
|
.IP \[bu] 2
|
|
Tag (Left click) - Switch to tag
|
|
.IP \[bu] 2
|
|
Tag (Scrolling up/down) - Switch to the next/previous tag
|
|
.IP \[bu] 2
|
|
Layout indicator (Left click) - Switch to the next layout
|
|
.IP \[bu] 2
|
|
Layout indicator (Middle click) - Switch to the previous layout
|
|
.IP \[bu] 2
|
|
Layout indicator (Right click) - Open a dmenu list of all layouts
|
|
(requires speedwm-extras)
|
|
.IP \[bu] 2
|
|
Window title (Left click) - Hide/Show the window
|
|
.IP \[bu] 2
|
|
Window title (Right click) - Open speedwm-utils (requires
|
|
speedwm-extras)
|
|
.IP \[bu] 2
|
|
Focused window (Super+Alt+Left click) - Move the focused window around
|
|
.IP \[bu] 2
|
|
Focused window (Super+Alt+Middle click) - Make the focused window
|
|
floating
|
|
.IP \[bu] 2
|
|
Focused window title (Middle click) - Rotate stack
|
|
.IP \[bu] 2
|
|
Dragging (Super+Right click) - Increase/decrease size of each window
|
|
(mfact)
|
|
.IP \[bu] 2
|
|
Dragging (SuperControl+Right click) - Increase/decrease cfact
|
|
.IP \[bu] 2
|
|
Root window (Right click) - List .desktop entries and open them
|
|
(requires j4-dmenu-desktop)
|
|
.SS Dependencies
|
|
.PP
|
|
These are absolutely necessary, speedwm will NOT compile without them -
|
|
libxft - pango - libXinerama - Can be disabled through editing toggle.mk
|
|
if you\[cq]re not interested in multiple monitors.
|
|
- imlib2 - Tag previews, Window icons.
|
|
Can be disabled through editing toggle.mk and toggle.h if you don\[cq]t
|
|
want these features.
|
|
- yajl - Required for the IPC patch.
|
|
If the IPC patch is disabled, you do not need this.
|
|
- tcc - Very minimal C compiler that speedwm uses to speed up compile
|
|
times.
|
|
If you don\[cq]t want this dependency, edit host.mk and set CC to `cc'
|
|
(or what you prefer).
|
|
.SS Features
|
|
.PP
|
|
These are necessary for certain features and keybinds.
|
|
If you want to use an alternative, change it in options.h and/or
|
|
keybinds.h and mouse.h.
|
|
.IP \[bu] 2
|
|
dmenu
|
|
.RS 2
|
|
.IP \[bu] 2
|
|
NOTE: dmenu is required for most scripts included with this build of
|
|
speedwm.
|
|
My build is required for proper Pywal support.
|
|
.RE
|
|
.IP \[bu] 2
|
|
picom
|
|
.RS 2
|
|
.IP \[bu] 2
|
|
Optional but speedwm looks sort of ugly without a compositor.
|
|
.RE
|
|
.IP \[bu] 2
|
|
xrdb (Install if you want .Xresources support)
|
|
.IP \[bu] 2
|
|
pywal (Install if you want pywal support.
|
|
Requires swal (the default way to set wallpapers) or a tool that
|
|
supports the correct signal for instant reloading)
|
|
.IP \[bu] 2
|
|
j4-dmenu-desktop
|
|
.RS 2
|
|
.IP \[bu] 2
|
|
Required for dmenu desktop entries..
|
|
.RE
|
|
.SS Software
|
|
.PP
|
|
This build of speedwm comes with binds for software.
|
|
You can add, change and remove keybinds by editing `keybinds.h' and
|
|
running `make clean install'.
|
|
.IP \[bu] 2
|
|
libspeedwm
|
|
.IP \[bu] 2
|
|
speedwm-extras
|
|
.RS 2
|
|
.IP \[bu] 2
|
|
Important metapackage containing extra scripts that speedwm makes use
|
|
of.
|
|
(https://codeberg.org/speedie/speedwm-extras)
|
|
.RE
|
|
.IP \[bu] 2
|
|
st (Terminal)
|
|
.IP \[bu] 2
|
|
qutebrowser (Web browser)
|
|
.IP \[bu] 2
|
|
htop (Status monitor)
|
|
.IP \[bu] 2
|
|
newsboat (RSS reader)
|
|
.IP \[bu] 2
|
|
zathura (PDF reader)
|
|
.IP \[bu] 2
|
|
cmus (Default music player)
|
|
.RS 2
|
|
.IP \[bu] 2
|
|
Default status bar also has support for moc (Music On Console)
|
|
.RE
|
|
.IP \[bu] 2
|
|
neovim (Text editor)
|
|
.IP \[bu] 2
|
|
neomutt (Email client)
|
|
.IP \[bu] 2
|
|
lf (File manager)
|
|
.IP \[bu] 2
|
|
slock (Lock screen)
|
|
.IP \[bu] 2
|
|
weechat (IRC client)
|
|
.IP \[bu] 2
|
|
tmux (Used for the music player and IRC client)
|
|
.PP
|
|
And everything under `Features'.
|
|
.SS Important
|
|
.PP
|
|
If you\[cq]re used to dwm, speedwm might be a little unfamiliar to you
|
|
at first.
|
|
This is because speedwm doesn\[cq]t use config.h (or config.def.h).
|
|
Instead, config.h is split into different parts to make it easier to
|
|
edit.
|
|
Instead of editing config.h you\[cq]ll want to edit:
|
|
.IP \[bu] 2
|
|
autostart.h for starting stuff right before speedwm (For example xclip,
|
|
pywal, etc.)
|
|
.IP \[bu] 2
|
|
options.h for changing colors and applications to use with keybinds.
|
|
.IP \[bu] 2
|
|
signal.h for adding fake signals
|
|
.IP \[bu] 2
|
|
colors.h for changing alpha options and color options, most users
|
|
won\[cq]t need to edit it.
|
|
.IP \[bu] 2
|
|
xresources.h for adding/removing .Xresources options
|
|
.IP \[bu] 2
|
|
rules.h for adding/removing rules
|
|
.IP \[bu] 2
|
|
keybinds.h for adding/removing keybinds.
|
|
.IP \[bu] 2
|
|
mouse.h for adding/removing mouse binds.
|
|
.IP \[bu] 2
|
|
statusbar.h for adding/removing statuscmd clicks.
|
|
.IP \[bu] 2
|
|
ipc.h for adding/removing IPC commands.
|
|
(If support is compiled in)
|
|
.IP \[bu] 2
|
|
toggle.h for adding/removing features from getting compiled in.
|
|
.PP
|
|
After you\[cq]ve edited one of the files, you need to run `make clean
|
|
install' to reinstall speedwm.
|
|
Remember that you can change colors through your .Xresources file (see
|
|
\&.Xresources and Pywal) meaning you do not need to recompile speedwm.
|
|
.PP
|
|
Another important detail you must keep in mind is that this build comes
|
|
with a status bar simply named `speedwm_status'.
|
|
It can be found in the speedwm source code directory.
|
|
It is just a shell script which adds stuff to your status bar.
|
|
It will automatically be started when speedwm starts.
|
|
.PP
|
|
You can edit the status bar simply by editing `speedwm_stellar' or its
|
|
modules (modules_*) and running `make clean install'.
|
|
You can also configure it by editing `\[ti]/.config/speedwm/statusrc'.
|
|
.PP
|
|
If you want to change status bar, edit options.h and set `static char
|
|
status' to your status bar binary (must be in $PATH).
|
|
Alternatively, you can also set it in .Xresources (See .Xresources and
|
|
Pywal).
|
|
.SS .Xresources and Pywal
|
|
.PP
|
|
This fork of speedwm has .Xresources support thanks to the .Xresources
|
|
patch.
|
|
It also has pywal support (tool which grabs colors based on your
|
|
wallpaper).
|
|
.PP
|
|
Colors do not reload automatically though, you must reload them
|
|
manually.
|
|
Use a signal for this (See list of signals above) or simply `libspeedwm
|
|
\[en]perform core_wm_reload'.
|
|
.PP
|
|
To use .Xresources, make sure `xrdb' is installed.
|
|
If a .xinitrc is used, add `xrdb /path/to/.Xresources/file' before
|
|
`speedwm'.
|
|
If a .Xresources file is not used, add it to
|
|
\[ti]/.config/speedwm/autostart.sh instead.
|
|
.PP
|
|
If you don\[cq]t want to define the options manually, there is an
|
|
example .Xresources file containing speedwm default settings in
|
|
docs/example.Xresources.
|
|
You can copy this somewhere or you can simply `< docs/example.Xresources
|
|
>> \[ti]/.Xresources' to append the speedwm options to your .Xresources
|
|
file.
|
|
.PP
|
|
The magic of .Xresources is that it is a universal configuration file.
|
|
While you \f[I]can\f[R] use the col.value values, you can also use
|
|
traditional colors 0 through 15 as well.
|
|
These colors take priority over regular speedwm colors.
|
|
This is so that speedwm is compatible with Pywal and more
|
|
general/mainstream .Xresources configurations.
|
|
.PP
|
|
Below is a list of all .Xresources values you can define.
|
|
.IP \[bu] 2
|
|
speedwm.bar.altbar: 0
|
|
.IP \[bu] 2
|
|
speedwm.bar.altbarclass: Polybar
|
|
.IP \[bu] 2
|
|
speedwm.bar.altbarcmd: polybar &
|
|
.IP \[bu] 2
|
|
speedwm.bar.alttrayname: tray
|
|
.IP \[bu] 2
|
|
speedwm.bar.height: 4
|
|
.IP \[bu] 2
|
|
speedwm.bar.position: 1
|
|
.IP \[bu] 2
|
|
speedwm.bar.paddingh: 10
|
|
.IP \[bu] 2
|
|
speedwm.bar.paddingv: 10
|
|
.IP \[bu] 2
|
|
speedwm.bar.hide: 0
|
|
.IP \[bu] 2
|
|
speedwm.bar.hide.tags: 0
|
|
.IP \[bu] 2
|
|
speedwm.bar.hide.emptytags: 1
|
|
.IP \[bu] 2
|
|
speedwm.bar.hide.powerlinetags: 0
|
|
.IP \[bu] 2
|
|
speedwm.bar.hide.powerlinetitle: 0
|
|
.IP \[bu] 2
|
|
speedwm.bar.hide.floating: 0
|
|
.IP \[bu] 2
|
|
speedwm.bar.hide.layout: 0
|
|
.IP \[bu] 2
|
|
speedwm.bar.hide.sticky: 0
|
|
.IP \[bu] 2
|
|
speedwm.bar.hide.status: 0
|
|
.IP \[bu] 2
|
|
speedwm.bar.hide.systray: 1
|
|
.IP \[bu] 2
|
|
speedwm.bar.hide.title: 0
|
|
.IP \[bu] 2
|
|
speedwm.bar.hide.unseltitle: 0
|
|
.IP \[bu] 2
|
|
speedwm.bar.hide.icon: 0
|
|
.IP \[bu] 2
|
|
speedwm.bar.layoutposition: 1
|
|
.IP \[bu] 2
|
|
speedwm.border.roundedcorners: 0
|
|
.IP \[bu] 2
|
|
speedwm.border.cornerradius: 2
|
|
.IP \[bu] 2
|
|
speedwm.border.size: 1
|
|
.IP \[bu] 2
|
|
speedwm.client.allowurgent: 1
|
|
.IP \[bu] 2
|
|
speedwm.client.automove: 1
|
|
.IP \[bu] 2
|
|
speedwm.client.autofocus: 1
|
|
.IP \[bu] 2
|
|
speedwm.client.autoresize: 1
|
|
.IP \[bu] 2
|
|
speedwm.client.decorhints: 1
|
|
.IP \[bu] 2
|
|
speedwm.client.hide.border: 0
|
|
.IP \[bu] 2
|
|
speedwm.client.hide.singleborder: 1
|
|
.IP \[bu] 2
|
|
speedwm.client.fade.inactive: 1
|
|
.IP \[bu] 2
|
|
speedwm.client.fade.windows: 1
|
|
.IP \[bu] 2
|
|
speedwm.client.floatscratchpad: 0
|
|
.IP \[bu] 2
|
|
speedwm.client.savefloat: 1
|
|
.IP \[bu] 2
|
|
speedwm.client.swallow: 1
|
|
.IP \[bu] 2
|
|
speedwm.client.swallowfloating: 1
|
|
.IP \[bu] 2
|
|
speedwm.client.wmclass: 1
|
|
.IP \[bu] 2
|
|
speedwm.fonts.font: NotoSans Regular 8
|
|
.IP \[bu] 2
|
|
speedwm.col.background: #222222
|
|
.IP \[bu] 2
|
|
speedwm.col.layout: #99b3ff
|
|
.IP \[bu] 2
|
|
speedwm.col.layouttext: #000000
|
|
.IP \[bu] 2
|
|
speedwm.col.status0: #131210
|
|
.IP \[bu] 2
|
|
speedwm.col.status1: #bf616a
|
|
.IP \[bu] 2
|
|
speedwm.col.status2: #A16F9D
|
|
.IP \[bu] 2
|
|
speedwm.col.status3: #68ABAA
|
|
.IP \[bu] 2
|
|
speedwm.col.status4: #A89F93
|
|
.IP \[bu] 2
|
|
speedwm.col.status5: #D3A99B
|
|
.IP \[bu] 2
|
|
speedwm.col.status6: #AFC9AC
|
|
.IP \[bu] 2
|
|
speedwm.col.status7: #eae1cb
|
|
.IP \[bu] 2
|
|
speedwm.col.status8: #a39d8e
|
|
.IP \[bu] 2
|
|
speedwm.col.status9: #6D5E8E
|
|
.IP \[bu] 2
|
|
speedwm.col.status10: #a16f9d
|
|
.IP \[bu] 2
|
|
speedwm.col.status11: #d3a99b
|
|
.IP \[bu] 2
|
|
speedwm.col.status12: #afc9ac
|
|
.IP \[bu] 2
|
|
speedwm.col.status13: #eae1cb
|
|
.IP \[bu] 2
|
|
speedwm.col.status14: #6d5e8e
|
|
.IP \[bu] 2
|
|
speedwm.col.status15: #ffffff
|
|
.IP \[bu] 2
|
|
speedwm.col.systray: #222222
|
|
.IP \[bu] 2
|
|
speedwm.col.tag1: #99b3ff
|
|
.IP \[bu] 2
|
|
speedwm.col.tag1.text: #eeeeee
|
|
.IP \[bu] 2
|
|
speedwm.col.tag2: #99b3ff
|
|
.IP \[bu] 2
|
|
speedwm.col.tag2.text: #eeeeee
|
|
.IP \[bu] 2
|
|
speedwm.col.tag3: #99b3ff
|
|
.IP \[bu] 2
|
|
speedwm.col.tag3.text: #eeeeee
|
|
.IP \[bu] 2
|
|
speedwm.col.tag4: #99b3ff
|
|
.IP \[bu] 2
|
|
speedwm.col.tag4.text: #eeeeee
|
|
.IP \[bu] 2
|
|
speedwm.col.tag5: #99b3ff
|
|
.IP \[bu] 2
|
|
speedwm.col.tag5.text: #eeeeee
|
|
.IP \[bu] 2
|
|
speedwm.col.tag6: #99b3ff
|
|
.IP \[bu] 2
|
|
speedwm.col.tag6.text: #eeeeee
|
|
.IP \[bu] 2
|
|
speedwm.col.tag7: #99b3ff
|
|
.IP \[bu] 2
|
|
speedwm.col.tag7.text: #eeeeee
|
|
.IP \[bu] 2
|
|
speedwm.col.tag8: #99b3ff
|
|
.IP \[bu] 2
|
|
speedwm.col.tag8.text: #eeeeee
|
|
.IP \[bu] 2
|
|
speedwm.col.tag9: #99b3ff
|
|
.IP \[bu] 2
|
|
speedwm.col.tag9.text: #eeeeee
|
|
.IP \[bu] 2
|
|
speedwm.col.tagurgent: #f0e68c
|
|
.IP \[bu] 2
|
|
speedwm.col.textnorm: #bbbbbb
|
|
.IP \[bu] 2
|
|
speedwm.col.textsel: #222222
|
|
.IP \[bu] 2
|
|
speedwm.col.titlenorm: #222222
|
|
.IP \[bu] 2
|
|
speedwm.col.titlesel: #99b3ff
|
|
.IP \[bu] 2
|
|
speedwm.col.titlehid: #222222
|
|
.IP \[bu] 2
|
|
speedwm.col.windowbordernorm: #000000
|
|
.IP \[bu] 2
|
|
speedwm.col.windowbordersel: #eeeeee
|
|
.IP \[bu] 2
|
|
speedwm.col.windowborderurg: #f0e68c
|
|
.IP \[bu] 2
|
|
speedwm.color.hiddentitle: 1
|
|
.IP \[bu] 2
|
|
speedwm.color.layout: 0
|
|
.IP \[bu] 2
|
|
speedwm.color.selectedtitle: 1
|
|
.IP \[bu] 2
|
|
speedwm.bar.powerline.tag.shape: 0
|
|
.IP \[bu] 2
|
|
speedwm.bar.powerline.title.shape: 1
|
|
.IP \[bu] 2
|
|
speedwm.cursor.warp: 1
|
|
.IP \[bu] 2
|
|
speedwm.focus.spawned: 0
|
|
.IP \[bu] 2
|
|
speedwm.fullscreen.hidebar: 1
|
|
.IP \[bu] 2
|
|
speedwm.fullscreen.lockfullscreen: 1
|
|
.IP \[bu] 2
|
|
speedwm.fullscreen.movefullscreenmon: 0
|
|
.IP \[bu] 2
|
|
speedwm.gaps.enable: 1
|
|
.IP \[bu] 2
|
|
speedwm.gaps.sizeih: 10
|
|
.IP \[bu] 2
|
|
speedwm.gaps.sizeiv: 10
|
|
.IP \[bu] 2
|
|
speedwm.gaps.sizeoh: 10
|
|
.IP \[bu] 2
|
|
speedwm.gaps.sizeov: 10
|
|
.IP \[bu] 2
|
|
speedwm.gaps.smartgaps: 0
|
|
.IP \[bu] 2
|
|
speedwm.gaps.smartgapsize: 0
|
|
.IP \[bu] 2
|
|
speedwm.icon.size: 10
|
|
.IP \[bu] 2
|
|
speedwm.icon.spacing: 5
|
|
.IP \[bu] 2
|
|
speedwm.layout.deck.count: 0
|
|
.IP \[bu] 2
|
|
speedwm.layout.deck.format: [%d]
|
|
.IP \[bu] 2
|
|
speedwm.layout.monocle.clientcount: 0
|
|
.IP \[bu] 2
|
|
speedwm.layout.monocle.count: 0
|
|
.IP \[bu] 2
|
|
speedwm.layout.monocle.format: [%d/%d]
|
|
.IP \[bu] 2
|
|
speedwm.mfact: 0.50
|
|
.IP \[bu] 2
|
|
speedwm.mfact.lowest: 0.05
|
|
.IP \[bu] 2
|
|
speedwm.mouse.clicktofocus: 0
|
|
.IP \[bu] 2
|
|
speedwm.mouse.mfact: 1
|
|
.IP \[bu] 2
|
|
speedwm.mouse.cfact: 1
|
|
.IP \[bu] 2
|
|
speedwm.mouse.mousepreview: 1
|
|
.IP \[bu] 2
|
|
speedwm.rule.refresh: 0
|
|
.IP \[bu] 2
|
|
speedwm.stack.attachdirection: 3
|
|
.IP \[bu] 2
|
|
speedwm.stack.centerfloating: 1
|
|
.IP \[bu] 2
|
|
speedwm.stack.i3mcount: 0
|
|
.IP \[bu] 2
|
|
speedwm.stack.mastercount: 1
|
|
.IP \[bu] 2
|
|
speedwm.stack.snap: 20
|
|
.IP \[bu] 2
|
|
speedwm.status.defaultstatus:
|
|
.IP \[bu] 2
|
|
speedwm.status.statusallmons: 1
|
|
.IP \[bu] 2
|
|
speedwm.switcher.maxheight: 200
|
|
.IP \[bu] 2
|
|
speedwm.switcher.maxwidth: 600
|
|
.IP \[bu] 2
|
|
speedwm.switcher.menupositionv: 1
|
|
.IP \[bu] 2
|
|
speedwm.switcher.menupositionh: 1
|
|
.IP \[bu] 2
|
|
speedwm.systray.padding: 2
|
|
.IP \[bu] 2
|
|
speedwm.systray.pinning: 0
|
|
.IP \[bu] 2
|
|
speedwm.systray.position: 0
|
|
.IP \[bu] 2
|
|
speedwm.tag.pertag: 1
|
|
.IP \[bu] 2
|
|
speedwm.tag.preview: 1
|
|
.IP \[bu] 2
|
|
speedwm.tag.preview.bar: 0
|
|
.IP \[bu] 2
|
|
speedwm.tag.preview.paddingh: 0
|
|
.IP \[bu] 2
|
|
speedwm.tag.preview.paddingv: 0
|
|
.IP \[bu] 2
|
|
speedwm.tag.preview.scale: 2
|
|
.IP \[bu] 2
|
|
speedwm.tag.resetgaps: 0
|
|
.IP \[bu] 2
|
|
speedwm.tag.resetlayout: 0
|
|
.IP \[bu] 2
|
|
speedwm.tag.resetmfact: 0
|
|
.IP \[bu] 2
|
|
speedwm.tag.start: 1
|
|
.IP \[bu] 2
|
|
speedwm.tag.underline: 0
|
|
.IP \[bu] 2
|
|
speedwm.tag.underlineall: 0
|
|
.IP \[bu] 2
|
|
speedwm.tag.underlinepad: 5
|
|
.IP \[bu] 2
|
|
speedwm.tag.underlinestroke: 2
|
|
.IP \[bu] 2
|
|
speedwm.tag.underlinevoffset: 0
|
|
.IP \[bu] 2
|
|
speedwm.tag.urgentwindows: 1
|
|
.IP \[bu] 2
|
|
speedwm.tiling.resizehints: 0
|
|
.IP \[bu] 2
|
|
speedwm.run.shell: /bin/sh
|
|
.SS Signals
|
|
.PP
|
|
Thanks to the `fsignal' patch available on suckless.org\[cq]s website,
|
|
we can easily write shell scripts to interact with dwm and therefore
|
|
speedwm.
|
|
I made some changes to this patch, because it has some..
|
|
questionable behaviour in my opinion.
|
|
.PP
|
|
To use signals, you can use libspeedwm.
|
|
Previously, speedwm-utils (part of speedwm-extras) would be used but
|
|
that now depends on libspeedwm anyway.
|
|
Using libspeedwm directly is the easiest option.
|
|
.PP
|
|
If you do not have speedwm-extras or libspeedwm, you can use the speedwm
|
|
binary itself.
|
|
The syntax is speedwm -s \[lq]#cmd:\[rq] This option is not as solid
|
|
though as signums can and will likely be moved around breaking your
|
|
scripts.
|
|
Therefore I highly recommend you use libspeedwm when writing scripts.
|
|
.PP
|
|
Below is a list of all signums and what they do.
|
|
.IP \[bu] 2
|
|
1 - Switch to the Tiling layout
|
|
.IP \[bu] 2
|
|
2 - Switch to the Floating layout
|
|
.IP \[bu] 2
|
|
3 - Switch to the Monocle layout
|
|
.IP \[bu] 2
|
|
4 - Switch to the Grid layout
|
|
.IP \[bu] 2
|
|
5 - Switch to the Deck layout
|
|
.IP \[bu] 2
|
|
6 - Switch to the Centered Master layout
|
|
.IP \[bu] 2
|
|
7 - Switch to the Tatami layout
|
|
.IP \[bu] 2
|
|
8 - Switch to the Fibonacci Spiral layout
|
|
.IP \[bu] 2
|
|
9 - Switch to the Fibonacci Dwindle layout
|
|
.IP \[bu] 2
|
|
10 - Switch to the Bottom Stack Vertical layout
|
|
.IP \[bu] 2
|
|
11 - Switch to the Bottom Stack Horizontal layout
|
|
.IP \[bu] 2
|
|
12 - Switch to the Horizontal Grid layout
|
|
.IP \[bu] 2
|
|
13 - Switch to the Dynamic Grid layout
|
|
.IP \[bu] 2
|
|
14 - Switch to the Custom layout
|
|
.IP \[bu] 2
|
|
15 - Custom layout options
|
|
.IP \[bu] 2
|
|
16 - Switch to the next layout
|
|
.IP \[bu] 2
|
|
17 - Switch to the previous layout
|
|
.IP \[bu] 2
|
|
18 - Increase mfact by 0.05
|
|
.IP \[bu] 2
|
|
19 - Decrease mfact by 0.05
|
|
.IP \[bu] 2
|
|
20 - Toggle sticky
|
|
.IP \[bu] 2
|
|
21 - Toggle the bar
|
|
.IP \[bu] 2
|
|
22 - Toggle fullscreen
|
|
.IP \[bu] 2
|
|
23 - Toggle floating
|
|
.IP \[bu] 2
|
|
24 - Swap the current window with the next
|
|
.IP \[bu] 2
|
|
25 - Reorganize tags (Reorder them)
|
|
.IP \[bu] 2
|
|
26 - Shutdown speedwm
|
|
.IP \[bu] 2
|
|
27 - Restart speedwm
|
|
.IP \[bu] 2
|
|
28 - Show the focused window
|
|
.IP \[bu] 2
|
|
29 - Hide the focused window
|
|
.IP \[bu] 2
|
|
30 - Kill the focused window
|
|
.IP \[bu] 2
|
|
31 - Rotate the stack up
|
|
.IP \[bu] 2
|
|
32 - Rotate the stack down
|
|
.IP \[bu] 2
|
|
33 - Increase number of clients in the master stack
|
|
.IP \[bu] 2
|
|
34 - Decrease number of clients in the master stack
|
|
.IP \[bu] 2
|
|
35 - Focus the Master client
|
|
.IP \[bu] 2
|
|
36 - Switch focus between windows +1
|
|
.IP \[bu] 2
|
|
37 - Switch focus between windows -1
|
|
.IP \[bu] 2
|
|
38 - Switch focus between hidden windows +1
|
|
.IP \[bu] 2
|
|
39 - Switch focus between hidden windows -1
|
|
.IP \[bu] 2
|
|
40 - Toggle opacity for windows
|
|
.IP \[bu] 2
|
|
41 - Increase cfact by 0.05
|
|
.IP \[bu] 2
|
|
42 - Decrease cfact by 0.05
|
|
.IP \[bu] 2
|
|
43 - Switch to the previous tag
|
|
.IP \[bu] 2
|
|
44 - Switch to the next tag
|
|
.IP \[bu] 2
|
|
45 - Reset gaps to the default size
|
|
.IP \[bu] 2
|
|
46 - Toggle gaps
|
|
.IP \[bu] 2
|
|
47 - Increase gaps by 1
|
|
.IP \[bu] 2
|
|
48 - Decrease gaps by 1
|
|
.IP \[bu] 2
|
|
49 - Increase inner gaps by 1
|
|
.IP \[bu] 2
|
|
50 - Decrease inner gaps by 1
|
|
.IP \[bu] 2
|
|
51 - Increase outer gaps by 1
|
|
.IP \[bu] 2
|
|
52 - Decrease outer gaps by 1
|
|
.IP \[bu] 2
|
|
53 - Kill all clients except focused
|
|
.IP \[bu] 2
|
|
54 - Focus the next monitor
|
|
.IP \[bu] 2
|
|
55 - Focus the previous monitor
|
|
.IP \[bu] 2
|
|
56 - Show the scratchpad
|
|
.IP \[bu] 2
|
|
57 - Hide the scratchpad
|
|
.IP \[bu] 2
|
|
58 - Remove the scratchpad
|
|
.IP \[bu] 2
|
|
59 - Reset layout/mfact
|
|
.IP \[bu] 2
|
|
60 - Reset mastercount
|
|
.IP \[bu] 2
|
|
61 - Show/Hide systray
|
|
.IP \[bu] 2
|
|
62 - Hide all windows
|
|
.IP \[bu] 2
|
|
63 - Show all windows
|
|
.IP \[bu] 2
|
|
64 - Reset mfact
|
|
.IP \[bu] 2
|
|
65 - Reload .Xresources on the fly
|
|
.IP \[bu] 2
|
|
66 - Switch to the previous tag, skipping empty tags
|
|
.IP \[bu] 2
|
|
67 - Switch to the next tag, skipping empty tags
|
|
.IP \[bu] 2
|
|
68 - Toggle the tag area in the bar
|
|
.IP \[bu] 2
|
|
69 - Toggle the empty tags in the bar
|
|
.IP \[bu] 2
|
|
70 - Toggle the powerline tags in the bar
|
|
.IP \[bu] 2
|
|
71 - Toggle the powerline title in the bar
|
|
.IP \[bu] 2
|
|
72 - Toggle the powerline tags and title in the bar
|
|
.IP \[bu] 2
|
|
73 - Toggle the shape for powerline tags in the bar
|
|
.IP \[bu] 2
|
|
74 - Toggle the shape for powerline title in the bar
|
|
.IP \[bu] 2
|
|
75 - Toggle the shape for powerline tags and title in the bar
|
|
.IP \[bu] 2
|
|
76 - Reset powerline options
|
|
.IP \[bu] 2
|
|
77 - Toggle the title area in the bar
|
|
.IP \[bu] 2
|
|
78 - Toggle the unselected title area in the bar
|
|
.IP \[bu] 2
|
|
79 - Toggle the layout area in the bar
|
|
.IP \[bu] 2
|
|
80 - Toggle the status area in the bar
|
|
.IP \[bu] 2
|
|
81 - Toggle the floating indicator area in the bar
|
|
.IP \[bu] 2
|
|
82 - Toggle the sticky indicator area in the bar
|
|
.IP \[bu] 2
|
|
83 - Toggle the icon in the window title
|
|
.IP \[bu] 2
|
|
84 - Toggle bar position (top/bottom)
|
|
.IP \[bu] 2
|
|
85 - Toggle layout position (left/right)
|
|
.IP \[bu] 2
|
|
86 - Show all bar modules
|
|
.IP \[bu] 2
|
|
87 - Increase bar height by 1
|
|
.IP \[bu] 2
|
|
88 - Decrease bar height by 1
|
|
.IP \[bu] 2
|
|
89 - Reset bar height
|
|
.IP \[bu] 2
|
|
90 - Increase vertical barpadding by 1
|
|
.IP \[bu] 2
|
|
91 - Decrease vertical barpadding by 1
|
|
.IP \[bu] 2
|
|
92 - Increase horizontal barpadding by 1
|
|
.IP \[bu] 2
|
|
93 - Decrease horizontal barpadding by 1
|
|
.IP \[bu] 2
|
|
94 - Increase vertical and horizontal barpadding by 1
|
|
.IP \[bu] 2
|
|
95 - Decrease vertical and horizontal barpadding by 1
|
|
.IP \[bu] 2
|
|
96 - Toggle vertical barpadding
|
|
.IP \[bu] 2
|
|
97 - Toggle horizontal barpadding
|
|
.IP \[bu] 2
|
|
98 - Toggle vertical and horizontal barpadding
|
|
.IP \[bu] 2
|
|
99 - Reset vertical barpadding
|
|
.IP \[bu] 2
|
|
100 - Reset horizontal barpadding
|
|
.IP \[bu] 2
|
|
101 - Reset vertical and horizontal barpadding
|
|
.IP \[bu] 2
|
|
102 - Increase stack count by 1
|
|
.IP \[bu] 2
|
|
103 - Decrease stack count by 1
|
|
.IP \[bu] 2
|
|
104 - Rotate forward in the layout axis
|
|
.IP \[bu] 2
|
|
105 - Rotate forward in the master axis
|
|
.IP \[bu] 2
|
|
106 - Rotate forward in the stack axis
|
|
.IP \[bu] 2
|
|
107 - Rotate forward in the secondary stack axis
|
|
.IP \[bu] 2
|
|
108 - Rotate backwards in the layout axis
|
|
.IP \[bu] 2
|
|
109 - Rotate backwards in the master axis
|
|
.IP \[bu] 2
|
|
110 - Rotate backwards in the stack axis
|
|
.IP \[bu] 2
|
|
111 - Rotate backwards in the secondary stack axis
|
|
.IP \[bu] 2
|
|
112 - Mirror the layout
|
|
.IP \[bu] 2
|
|
113 - Enter an empty layout where all clients are hidden
|
|
.IP \[bu] 2
|
|
114 - Increase barpadding and gaps by 1
|
|
.IP \[bu] 2
|
|
115 - Decrease barpadding and gaps by 1
|
|
.IP \[bu] 2
|
|
116 - Toggle mark on a client.
|
|
.IP \[bu] 2
|
|
117 - Swap focus with the marked client.
|
|
.IP \[bu] 2
|
|
118 - Swap the focused client with the marked client.
|
|
.SS Status bar
|
|
.PP
|
|
speedwm has a status bar.
|
|
It\[cq]s the right part of the bar.
|
|
It supports Pango, status2d and statuscmd markup as well as regular
|
|
plain text and colored emojis or glyphs.
|
|
To override this status, you can use the `speedwm -s ' command.
|
|
.PP
|
|
Bundled with speedwm is a fork of dwmblocks.
|
|
dwmblocks is a dwm status bar that handles this all for you through a
|
|
block system.
|
|
This fork has been integrated into the Makefile and is (by default)
|
|
installed when speedwm is compiled.
|
|
The status bar can be configured in the status.c and status.h and
|
|
clickability can be configured in statusbar.h.
|
|
.PP
|
|
By default the status bar runs modules that are also bundled with
|
|
speedwm (see modules/ directory).
|
|
To configure these modules, you can edit \[ti]/.config/speedwm/statusrc
|
|
which should be created when a module runs.
|
|
.PP
|
|
The bundled status bar is autostarted by speedwm if it is installed.
|
|
If you want to use your own status bar, comment out `USESTATUS' in
|
|
toggle.mk and remove /usr/bin/status if speedwm has been installed
|
|
previously.
|
|
Then simply start the status bar through autostart.h,
|
|
\[ti]/.config/speedwm/autostart.sh or .xinitrc if you are using that.
|
|
.SS Additional note on autostart
|
|
.PP
|
|
If you wish to add autostart entries without recompiling, consider using
|
|
$HOME/.config/speedwm/autostart.sh.
|
|
This is a path added to autostart.h and you can fill it with anything
|
|
you want.
|
|
.PP
|
|
Do note that it will NOT just run once.
|
|
It will run every time you restart and start speedwm (restart signals
|
|
count as well, color reloads do not).
|
|
To get around this, you may wrap stuff in a function in the script and
|
|
have some way of checking if it has ran before such as pgrep.
|
|
If it hasn\[cq]t, call the function.
|