Add man page, remove speedwm_run, remove patching capability because no

one used it, rewrite docs
This commit is contained in:
speedie 2022-11-25 20:38:44 +01:00
parent 25ca78f6f0
commit 250b9101b1
25 changed files with 2378 additions and 1478 deletions

View file

@ -42,15 +42,12 @@ clean:
echo "Cleaned!"
dist: clean
mkdir -p .speedwm
mkdir -p speedwm-${VERSION}
[ -f options.h_settings.patch ] && mv *.patch docs/*.def* .speedwm/ || :
cp -R *.mk *.c *.h *.png docs/ modules/ scripts/ toggle/ LICENSE Makefile speedwm-${VERSION}
tar -cf speedwm-${VERSION}.tar speedwm-${VERSION}
gzip speedwm-${VERSION}.tar
rm -rf speedwm-${VERSION} speedwm
rm -rf speedwm-${VERSION} speedwm-ipc
[ -f .speedwm/options.h_settings.patch ] && mv .speedwm/*.patch .. && mv .speedwm/*.def* ../docs/ && rm -rf .speedwm || :
install_only_bin: all
@echo speedwm ${VERSION} build options:
@ -70,17 +67,6 @@ install_only_bin: all
rm -f *.o
install_only_misc:
[ -f docs/autostart.def.h ] || cp -f autostart.h docs/autostart.def.h || :
[ -f docs/options.def.h ] || cp -f options.h docs/options.def.h || :
[ -f docs/options.def.mk ] || cp -f options.mk docs/options.def.mk || :
[ -f docs/host.def.mk ] || cp -f host.mk docs/host.def.mk || :
[ -f docs/rules.def.h ] || cp -f rules.h docs/rules.def.h || :
[ -f docs/toggle.def.h ] || cp -f toggle.h docs/toggle.def.h || :
[ -f docs/toggle.def.mk ] || cp -f toggle.mk docs/toggle.def.mk || :
[ -f docs/keybinds.def.h ] || cp -f keybinds.h docs/keybinds.def.h || :
[ -f docs/colors.def.h ] || cp -f colors.h docs/colors.def.h || :
[ -f docs/colors.def.h ] || cp -f colors.h docs/colors.def.h || :
[ -f docs/statusbar.def.h ] || cp -f statusbar.h docs/statusbar.def.h || :
mkdir -p ${DESTDIR}${PREFIX}/bin
mkdir -p ${DESTDIR}${PREFIX}/share/speedwm
cp -f docs/keybinds ${DESTDIR}${PREFIX}/share/speedwm/keybinds
@ -102,17 +88,6 @@ install: all
mkdir -p ${DESTDIR}${PREFIX}/share/pixmaps/
[ -f speedwm-ipc ] && cp -f speedwm-ipc ${DESTDIR}${PREFIX}/bin || :
[ -f speedwm ] && cp -f speedwm ${DESTDIR}${PREFIX}/bin || :
[ -f docs/autostart.def.h ] || cp -f autostart.h docs/autostart.def.h || :
[ -f docs/options.def.h ] || cp -f options.h docs/options.def.h || :
[ -f docs/options.def.mk ] || cp -f options.mk docs/options.def.mk || :
[ -f docs/host.def.mk ] || cp -f host.mk docs/host.def.mk || :
[ -f docs/rules.def.h ] || cp -f rules.h docs/rules.def.h || :
[ -f docs/toggle.def.h ] || cp -f toggle.h docs/toggle.def.h || :
[ -f docs/toggle.def.mk ] || cp -f toggle.mk docs/toggle.def.mk || :
[ -f docs/keybinds.def.h ] || cp -f keybinds.h docs/keybinds.def.h || :
[ -f docs/colors.def.h ] || cp -f colors.h docs/colors.def.h || :
[ -f docs/colors.def.h ] || cp -f colors.h docs/colors.def.h || :
[ -f docs/statusbar.def.h ] || cp -f statusbar.h docs/statusbar.def.h || :
[ -f docs/entry.desktop ] && cp -f docs/entry.desktop ${DESTDIR}${PREFIX}/share/xsessions/speedwm.desktop || :
[ -f speedwm-ipc ] && chmod 755 ${DESTDIR}${PREFIX}/bin/speedwm-ipc || :
[ -f speedwm.png ] && cp -f speedwm.png ${DESTDIR}${PREFIX}/share/pixmaps/speedwm.png || :
@ -148,13 +123,6 @@ help:
@echo uninstall: Uninstalls speedwm. You may need to run this as root.
@echo modules_install: Install modules.
@echo
@echo - Patching -
@echo patch: Create a patch based on modifications to source code.
@echo patch_install: Patch the patches directly to source code.
@echo patch_remove: Remove the patches from source code.
@echo patch_clean: Remove patches for the current directory.
@echo patch_remove_backups: Remove backups from docs/.
@echo
@echo - Documentation -
@echo help: Displays this help sheet.
@echo docs: View documentation for speedwm
@ -179,33 +147,10 @@ help:
@echo page_release to run make page, make page_install and make page_push instantly.
@echo dist to create a tarball.
patch:
chmod +x scripts/mkpatch
./scripts/mkpatch -mk
@echo Created patches.
patch_install:
chmod +x scripts/mkpatch
./scripts/mkpatch -p
patch_remove:
chmod +x scripts/mkpatch
./scripts/mkpatch -r
patch_clean:
rm -f *.patch
@echo Removed patches for cd.
patch_remove_backups:
rm -f docs/*.def*
@echo Removed *.def* files.
release:
rm -f speedwm.html
rm -f readme.html
rm -f readme
make patch_remove_backups
make patch_clean
make markdown
make upload
make page
@ -230,8 +175,6 @@ page_release:
@echo "Complete!"
upload:
make patch_remove_backups
make patch_clean
chmod +x scripts/speedwm-mkpage
./scripts/speedwm-mkpage -ulspeedwm
@echo "Uploaded everything."

946
README.md

File diff suppressed because it is too large Load diff

View file

@ -12,16 +12,14 @@
*************************************************************/
static const char *autostart[] = {
/* Run the built in status bar */
shell, "-c", status, NULL,
/* Run the wallpaper script if it exists */
shell, "-c", "[ -e $HOME/.config/speedwm/swal/swal_wm ] && $HOME/.config/speedwm/swal/swal_wm", NULL,
/* Autostart script, if it exists */
shell, "-c", "$HOME/.config/speedwm/autostart.sh", NULL,
/* Autostart second script, if it exists */
shell, "-c", "speedwm-autostart", NULL,
NULL
};

View file

@ -1,48 +1,51 @@
-- Dependencies --
These are absolutely necessary, speedwm will NOT compile without them
- libxft
- pango
- libXinerama
- Can be disabled through editing toggle.mk if you're not interested in multiple monitors.
- imlib2
- Tag previews, Window icons. Can be disabled through editing toggle.mk and toggle.h if you don'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't want this dependency, edit host.mk and set CC to 'cc' (or what you prefer).
-- Features --
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.
## Dependencies
- dmenu
- NOTE: dmenu is required for most scripts included with this build of speedwm. My build is required for proper Pywal support.
- picom
- Optional but speedwm looks sort of ugly without a compositor.
- xrdb (Install if you want .Xresources support)
- 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)
- j4-dmenu-desktop
- Required for dmenu desktop entries..
-- Software --
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'.
These are absolutely necessary, speedwm will NOT compile without them
- libxft
- pango
- libXinerama
- Can be disabled through editing toggle.mk if you're not interested in multiple monitors.
- imlib2
- Tag previews, Window icons. Can be disabled through editing toggle.mk and toggle.h if you don'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't want this dependency, edit host.mk and set CC to 'cc' (or what you prefer).
- speedwm-extras
- Important metapackage containing extra scripts that speedwm makes use of. (https://codeberg.org/speedie/speedwm-extras)
- st (Terminal)
- qutebrowser (Web browser)
- htop (Status monitor)
- newsboat (RSS reader)
- zathura (PDF reader)
- cmus (Default music player)
- Default status bar also has support for moc (Music On Console)
- neovim (Text editor)
- neomutt (Email client)
- lf (File manager)
- slock (Lock screen)
- weechat (IRC client)
- tmux (Used for the music player and IRC client)
## Features
And everything under 'Features'.
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.
- dmenu
- NOTE: dmenu is required for most scripts included with this build of speedwm. My build is required for proper Pywal support.
- picom
- Optional but speedwm looks sort of ugly without a compositor.
- xrdb (Install if you want .Xresources support)
- 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)
- j4-dmenu-desktop
- Required for dmenu desktop entries..
## Software
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'.
- libspeedwm
- speedwm-extras
- Important metapackage containing extra scripts that speedwm makes use of. (https://codeberg.org/speedie/speedwm-extras)
- st (Terminal)
- qutebrowser (Web browser)
- htop (Status monitor)
- newsboat (RSS reader)
- zathura (PDF reader)
- cmus (Default music player)
- Default status bar also has support for moc (Music On Console)
- neovim (Text editor)
- neomutt (Email client)
- lf (File manager)
- slock (Lock screen)
- weechat (IRC client)
- tmux (Used for the music player and IRC client)
And everything under 'Features'.

View file

@ -1,7 +1,8 @@
-- speedwm --
# speedwm
![image](/docs/preview.png)
-- What is speedwm? --
## What is speedwm?
speedwm is a window manager forked from suckless.org's dwm or dynamic window manager. It manages the user's open windows and tiles them according to a set layout (dynamic).
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.

View file

@ -1,11 +1,12 @@
-- Installation --
## Installation
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.
- git clone https://codeberg.org/speedie/speedwm
- cd speedwm
- make clean install
- If any warnings show up, fix it by installing the missing dependency.
- If a .xinitrc is used, add 'speedwm_run' to the end.
- If you do not have a .xinitrc, you can add autostart commands to the file ~/.config/speedwm/autostart.sh or autostart-once.sh. speedwm-autostart in $PATH will also work.
- If any warnings/errors show up, fix it by installing the missing dependency.
- If a .xinitrc is used, add 'speedwm' to the end.
- If you do not have a .xinitrc, you can add autostart commands to the file ~/.config/speedwm/autostart.sh.

View file

@ -1,4 +1,5 @@
-- Layouts --
## Layouts
speedwm comes with the following layouts:
- Tile

View file

@ -1,4 +1,5 @@
-- Keybinds --
## Keybinds
This is a full list of keybinds.
Please let me know if any keybinds are missing as these have been manually added.

View file

@ -1,18 +1,19 @@
-- Important --
## Important
If you're used to dwm, speedwm might be a little unfamiliar to you at first. This is because speedwm doesn'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'll want to edit:
- autostart.h for starting stuff right before speedwm (For example xclip, pywal, etc.)
- options.h for changing colors and applications to use with keybinds.
- signal.h for adding fake signals
- colors.h for changing alpha options and color options, most users won't need to edit it.
- xresources.h for adding/removing .Xresources options
- rules.h for adding/removing rules
- keybinds.h for adding/removing keybinds.
- mouse.h for adding/removing mouse binds.
- statusbar.h for adding/removing statuscmd clicks.
- ipc.h for adding/removing IPC commands. (If support is compiled in)
- toggle.h for adding/removing features from getting compiled in.
- autostart.h for starting stuff right before speedwm (For example xclip, pywal, etc.)
- options.h for changing colors and applications to use with keybinds.
- signal.h for adding fake signals
- colors.h for changing alpha options and color options, most users won't need to edit it.
- xresources.h for adding/removing .Xresources options
- rules.h for adding/removing rules
- keybinds.h for adding/removing keybinds.
- mouse.h for adding/removing mouse binds.
- statusbar.h for adding/removing statuscmd clicks.
- ipc.h for adding/removing IPC commands. (If support is compiled in)
- toggle.h for adding/removing features from getting compiled in.
After you'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.

View file

@ -1,11 +1,14 @@
-- .Xresources and Pywal --
## .Xresources and Pywal
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).
Colors can be reloaded on-the-fly using the built in wallpaper utility. In order to implement speedwm reloading support to your own wallpaper utility, run shell command (/bin/sh) 'speedwm_run -r' to reload colors automatically.
Colors do not reload automatically though, you must reload them manually. Use a signal for this (See list of signals above) or simply 'libspeedwm --perform core_wm_reload'.
Note that the 'xrdb' dependency is required for both pywal and .Xresources support.
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 ~/.config/speedwm/autostart.sh instead.
Below is a list of all .Xresources values you can define. The .Xresources file should be placed in ~ or ~/.config by the user. However ~/.config/speedwm/speedwmrc should be created automatically, which can (and should most of the time) be used instead.
If you don'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 >> ~/.Xresources' to append the speedwm options to your .Xresources file.
If it is not or you want it somewhere else, you can edit 'autostart.h' and 'make clean install'.
The magic of .Xresources is that it is a universal configuration file. While you *can* 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.
Below is a list of all .Xresources values you can define.

View file

@ -1,5 +1,5 @@
## Signals
-- Signals --
Thanks to the 'fsignal' patch available on suckless.org'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.

View file

@ -1,4 +1,5 @@
-- Maintaining settings easily --
## Maintaining settings easily
speedwm is a personal fork of dwm and will therefore likely have keybinds and other options you may not like.
Because of this, I recommend that you use the patching system to manage your "custom" settings. speedwm has a patching system. It allows you to create a patch with your changes to most of the headers.

View file

@ -1,7 +1,6 @@
-- Additional note on autostart --
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. You can also use speedwm-autostart. This is a binary that will be executed if it is in $PATH.
## Additional note on autostart
Do note that it will NOT just run once. It will run every time you restart and start speedwm (signals count as well).
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. If it hasn't, call the function.
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.
An alternative is to use the $HOME/.config/speedwm/autostart_once.sh path. This one is autostarted by speedwm_run and is therefore not hardcoded and not affected by speedwm restarting. Just like the previous autostart script, it does not exist so you need to create it.
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't, call the function.

View file

@ -2,6 +2,6 @@
Encoding=UTF-8
Name=speedwm
Comment=speedwm: speedie's window manager
Exec=/usr/bin/speedwm_run
Exec=/usr/bin/speedwm
Icon=speedwm
Type=XSession

View file

@ -1,240 +1,235 @@
!! speedwm configuration file
!!
!! This is the speedwm configuration file. It will be loaded on startup provided it is located in ~/.config/speedwm/speedwmrc.
!! If it is not, you need to manually load it.
!!
!! To reload settings during runtime, run 'speedwm.run -r'.
!!
!! NOTE: This configuration file is not and will never be compatible with speedwm 0.9 and older.
!! Version 1.0 changed every single value and as such, compatibility with older versions was lost.
!@
!! speedwm example .Xresources configuration file
!! Bar options
!@
- speedwm.bar.height: 4 ! Height of the bar in pixels (<num>)
- speedwm.bar.position: 1 ! Position of the bar (0: Bottom, 1: Top)
- speedwm.bar.paddingh: 10 ! Horizontal padding (extra space) around the bar in pixels (<num>)
- speedwm.bar.paddingv: 10 ! Vertical padding (extra space) around the bar in pixels (<num>)
!@
speedwm.bar.height: 4 ! Height of the bar in pixels (<num>)
speedwm.bar.position: 1 ! Position of the bar (0: Bottom, 1: Top)
speedwm.bar.paddingh: 10 ! Horizontal padding (extra space) around the bar in pixels (<num>)
speedwm.bar.paddingv: 10 ! Vertical padding (extra space) around the bar in pixels (<num>)
!! Bar module options
!@
- speedwm.bar.hide: 0 ! Hide the bar by default (0/1)
- speedwm.bar.hide.tags: 0 ! Hide the tags (0/1)
- speedwm.bar.hide.emptytags: 1 ! Hide the tags that have no windows open (0/1)
- speedwm.bar.hide.powerlinetags: 0 ! Hide the powerline drawn over the tags (0/1)
- speedwm.bar.hide.powerlinetitle: 0 ! Hide the powerline drawn around the title (0/1)
- speedwm.bar.hide.floating: 0 ! Hide the floating window indicator (0/1)
- speedwm.bar.hide.layout: 0 ! Hide the layout indicator (0/1)
- speedwm.bar.hide.sticky: 0 ! Hide the sticky indicator (0/1)
- speedwm.bar.hide.status: 0 ! Hide the status bar (0/1)
- speedwm.bar.hide.systray: 1 ! Hide the systray (0/1)
- speedwm.bar.hide.title: 0 ! Hide the window title (0/1)
- speedwm.bar.hide.unseltitle: 0 ! Hide the unselected window title (0/1)
- speedwm.bar.hide.icon: 0 ! Hide the window icon (0/1)
!@
speedwm.bar.hide: 0 ! Hide the bar by default (0/1)
speedwm.bar.hide.tags: 0 ! Hide the tags (0/1)
speedwm.bar.hide.emptytags: 1 ! Hide the tags that have no windows open (0/1)
speedwm.bar.hide.powerlinetags: 0 ! Hide the powerline drawn over the tags (0/1)
speedwm.bar.hide.powerlinetitle: 0 ! Hide the powerline drawn around the title (0/1)
speedwm.bar.hide.floating: 0 ! Hide the floating window indicator (0/1)
speedwm.bar.hide.layout: 0 ! Hide the layout indicator (0/1)
speedwm.bar.hide.sticky: 0 ! Hide the sticky indicator (0/1)
speedwm.bar.hide.status: 0 ! Hide the status bar (0/1)
speedwm.bar.hide.systray: 1 ! Hide the systray (0/1)
speedwm.bar.hide.title: 0 ! Hide the window title (0/1)
speedwm.bar.hide.unseltitle: 0 ! Hide the unselected window title (0/1)
speedwm.bar.hide.icon: 0 ! Hide the window icon (0/1)
!! Layout indicator options
!@
- speedwm.bar.layoutposition: 1 ! Position of the layout indicator (0: Right, 1: Left)
!@
speedwm.bar.layoutposition: 1 ! Position of the layout indicator (0: Right, 1: Left)
!! Border options
!@
- speedwm.border.roundedcorners: 0 ! Enable rounded corners around the border of windows (0/1)
- speedwm.border.cornerradius: 2 ! Corner radius when rounded corners are enabled (<num>)
- speedwm.border.size: 1 ! Size of the border around windows in pixels (<num>)
!@
speedwm.border.roundedcorners: 0 ! Enable rounded corners around the border of windows (0/1)
speedwm.border.cornerradius: 2 ! Corner radius when rounded corners are enabled (<num>)
speedwm.border.size: 1 ! Size of the border around windows in pixels (<num>)
!! Client options
!@
- speedwm.client.allowurgent: 1 ! Allow windows to have the 'urgent' status (0/1)
- speedwm.client.automove: 0 ! Allow windows to move themselves on demand. This may be annoying depending on what software you use and is disabled by default for this reason (0/1)
- speedwm.client.autofocus: 0 ! Allow windows to focus themselves on demand. This may be annoying depending on what software you use and is disabled by default for this reason (0/1)
- speedwm.client.autoresize: 0 ! Allow windows to resize themselves on demand (0/1)
- speedwm.client.decorhints: 1 ! Respect decoration hints for windows (0/1)
- speedwm.client.fade.inactive: 1 ! Fade inactive windows (windows that are not focused) (0/1)
- speedwm.client.fade.windows: 1 ! Fade windows (0/1)
- speedwm.client.floatscratchpad: 0 ! Float a scratchpad window when it is shown (0/1)
- speedwm.client.savefloat: 1 ! Save the position of floating windows when they are no longer floating (0/1)
- speedwm.client.swallow: 1 ! Allow clients to be swallowed by the terminal emulator (0/1)
- speedwm.client.swallowfloating: 1 ! Also allow floating clients to be swallowed (0/1)
- speedwm.client.wmclass: 1 ! Enable workaround for when a class cannot be grabbed from a client (0/1)
!@
speedwm.client.allowurgent: 1 ! Allow windows to have the 'urgent' status (0/1)
speedwm.client.automove: 0 ! Allow windows to move themselves on demand. This may be annoying depending on what software you use and is disabled by default for this reason (0/1)
speedwm.client.autofocus: 0 ! Allow windows to focus themselves on demand. This may be annoying depending on what software you use and is disabled by default for this reason (0/1)
speedwm.client.autoresize: 0 ! Allow windows to resize themselves on demand (0/1)
speedwm.client.decorhints: 1 ! Respect decoration hints for windows (0/1)
speedwm.client.fade.inactive: 1 ! Fade inactive windows (windows that are not focused) (0/1)
speedwm.client.fade.windows: 1 ! Fade windows (0/1)
speedwm.client.floatscratchpad: 0 ! Float a scratchpad window when it is shown (0/1)
speedwm.client.savefloat: 1 ! Save the position of floating windows when they are no longer floating (0/1)
speedwm.client.swallow: 1 ! Allow clients to be swallowed by the terminal emulator (0/1)
speedwm.client.swallowfloating: 1 ! Also allow floating clients to be swallowed (0/1)
speedwm.client.wmclass: 1 ! Enable workaround for when a class cannot be grabbed from a client (0/1)
!! Font options
!@
- speedwm.fonts.font: NotoSans Regular 8
!@
speedwm.fonts.font: NotoSans Regular 8
!! Color options
!@
- speedwm.col.background: #222222
- speedwm.col.layout: #99b3ff
- speedwm.col.layouttext: #000000
- speedwm.col.status0: #131210
- speedwm.col.status1: #bf616a
- speedwm.col.status2: #A16F9D
- speedwm.col.status3: #68ABAA
- speedwm.col.status4: #A89F93
- speedwm.col.status5: #D3A99B
- speedwm.col.status6: #AFC9AC
- speedwm.col.status7: #eae1cb
- speedwm.col.status8: #a39d8e
- speedwm.col.status9: #6D5E8E
- speedwm.col.status10: #a16f9d
- speedwm.col.status11: #d3a99b
- speedwm.col.status12: #afc9ac
- speedwm.col.status13: #eae1cb
- speedwm.col.status14: #6d5e8e
- speedwm.col.status15: #ffffff
- speedwm.col.systray: #222222
- speedwm.col.tag1: #99b3ff
- speedwm.col.tag1.text: #eeeeee
- speedwm.col.tag2: #99b3ff
- speedwm.col.tag2.text: #eeeeee
- speedwm.col.tag3: #99b3ff
- speedwm.col.tag3.text: #eeeeee
- speedwm.col.tag4: #99b3ff
- speedwm.col.tag4.text: #eeeeee
- speedwm.col.tag5: #99b3ff
- speedwm.col.tag5.text: #eeeeee
- speedwm.col.tag6: #99b3ff
- speedwm.col.tag6.text: #eeeeee
- speedwm.col.tag7: #99b3ff
- speedwm.col.tag7.text: #eeeeee
- speedwm.col.tag8: #99b3ff
- speedwm.col.tag8.text: #eeeeee
- speedwm.col.tag9: #99b3ff
- speedwm.col.tag9.text: #eeeeee
- speedwm.col.tagurgent: #f0e68c
- speedwm.col.textnorm: #bbbbbb
- speedwm.col.textsel: #222222
- speedwm.col.titlenorm: #222222
- speedwm.col.titlesel: #99b3ff
- speedwm.col.titlehid: #222222
- speedwm.col.windowbordernorm: #000000
- speedwm.col.windowbordersel: #eeeeee
- speedwm.col.windowborderurg: #f0e68c
!@
speedwm.col.background: #222222
speedwm.col.layout: #99b3ff
speedwm.col.layouttext: #000000
speedwm.col.status0: #131210
speedwm.col.status1: #bf616a
speedwm.col.status2: #A16F9D
speedwm.col.status3: #68ABAA
speedwm.col.status4: #A89F93
speedwm.col.status5: #D3A99B
speedwm.col.status6: #AFC9AC
speedwm.col.status7: #eae1cb
speedwm.col.status8: #a39d8e
speedwm.col.status9: #6D5E8E
speedwm.col.status10: #a16f9d
speedwm.col.status11: #d3a99b
speedwm.col.status12: #afc9ac
speedwm.col.status13: #eae1cb
speedwm.col.status14: #6d5e8e
speedwm.col.status15: #ffffff
speedwm.col.systray: #222222
speedwm.col.tag1: #99b3ff
speedwm.col.tag1.text: #eeeeee
speedwm.col.tag2: #99b3ff
speedwm.col.tag2.text: #eeeeee
speedwm.col.tag3: #99b3ff
speedwm.col.tag3.text: #eeeeee
speedwm.col.tag4: #99b3ff
speedwm.col.tag4.text: #eeeeee
speedwm.col.tag5: #99b3ff
speedwm.col.tag5.text: #eeeeee
speedwm.col.tag6: #99b3ff
speedwm.col.tag6.text: #eeeeee
speedwm.col.tag7: #99b3ff
speedwm.col.tag7.text: #eeeeee
speedwm.col.tag8: #99b3ff
speedwm.col.tag8.text: #eeeeee
speedwm.col.tag9: #99b3ff
speedwm.col.tag9.text: #eeeeee
speedwm.col.tagurgent: #f0e68c
speedwm.col.textnorm: #bbbbbb
speedwm.col.textsel: #222222
speedwm.col.titlenorm: #222222
speedwm.col.titlesel: #99b3ff
speedwm.col.titlehid: #222222
speedwm.col.windowbordernorm: #000000
speedwm.col.windowbordersel: #eeeeee
speedwm.col.windowborderurg: #f0e68c
!! Color toggles
!@
- speedwm.color.hiddentitle: 1 ! Color the hidden title (0/1)
- speedwm.color.layout: 0 ! Color the layout indicator (0/1)
- speedwm.color.selectedtitle: 1 ! Color the selected title (0/1)
!@
speedwm.color.hiddentitle: 1 ! Color the hidden title (0/1)
speedwm.color.layout: 0 ! Color the layout indicator (0/1)
speedwm.color.selectedtitle: 1 ! Color the selected title (0/1)
!! Powerline options
!@
- speedwm.bar.powerline.tag.shape: 0 ! Shape of the tag powerlines (0: >, 1: /)
- speedwm.bar.powerline.title.shape: 1 ! Shape of the title powerlines (0: >, 1: /)
!@
speedwm.bar.powerline.tag.shape: 0 ! Shape of the tag powerlines (0: >, 1: /)
speedwm.bar.powerline.title.shape: 1 ! Shape of the title powerlines (0: >, 1: /)
!! Cursor options
!@
- speedwm.cursor.warp: 1 ! Warp the cursor to the next focused window/monitor (0/1)
!@
speedwm.cursor.warp: 1 ! Warp the cursor to the next focused window/monitor (0/1)
!! Focus options
!@
- speedwm.focus.spawned: 0 ! Focus the newly spawned window or keep focus (0/1)
!@
speedwm.focus.spawned: 0 ! Focus the newly spawned window or keep focus (0/1)
!! Fullscreen options
!@
- speedwm.fullscreen.hidebar: 1 ! Hide the bar when a client is fullscreened (0/1)
- speedwm.fullscreen.lockfullscreen: 1 ! Lock the fullscreen (0/1)
- speedwm.fullscreen.movefullscreenmon: 0 ! Allow moving fullscreened windows to another monitor (0/1)
!@
speedwm.fullscreen.hidebar: 1 ! Hide the bar when a client is fullscreened (0/1)
speedwm.fullscreen.lockfullscreen: 1 ! Lock the fullscreen (0/1)
speedwm.fullscreen.movefullscreenmon: 0 ! Allow moving fullscreened windows to another monitor (0/1)
!! Gap options
!@
- speedwm.gaps.enable: 1 ! Enable gaps around the windows
- speedwm.gaps.sizeih: 10 ! Horizontal inner gap size (<num>)
- speedwm.gaps.sizeiv: 10 ! Vertical inner gap size (<num>)
- speedwm.gaps.sizeoh: 10 ! Horizontal outer gap size (<num>)
- speedwm.gaps.sizeov: 10 ! Vertical outer gap size (<num>)
- speedwm.gaps.smartgaps: 0 ! Enable different gap size when only one client is spawned (0/1)
- speedwm.gaps.smartgapsize: 0 ! Size of the gaps when only one client is spawned (0/1)
!@
speedwm.gaps.enable: 1 ! Enable gaps around the windows
speedwm.gaps.sizeih: 10 ! Horizontal inner gap size (<num>)
speedwm.gaps.sizeiv: 10 ! Vertical inner gap size (<num>)
speedwm.gaps.sizeoh: 10 ! Horizontal outer gap size (<num>)
speedwm.gaps.sizeov: 10 ! Vertical outer gap size (<num>)
speedwm.gaps.smartgaps: 0 ! Enable different gap size when only one client is spawned (0/1)
speedwm.gaps.smartgapsize: 0 ! Size of the gaps when only one client is spawned (0/1)
!! Icon options
!@
- speedwm.icon.size: 10 ! Size of the window icon in the taskbar (<num>)
- speedwm.icon.spacing: 5 ! Spacing between icon and text in the taskbar (<num>)
!@
speedwm.icon.size: 10 ! Size of the window icon in the taskbar (<num>)
speedwm.icon.spacing: 5 ! Spacing between icon and text in the taskbar (<num>)
!! Layout options
!! Deck layout
!@
- speedwm.layout.deck.count: 0 ! Enable deck count in the deck layout (0/1)
!@
- speedwm.layout.deck.format: [%d]
!@
speedwm.layout.deck.count: 0 ! Enable deck count in the deck layout (0/1)
speedwm.layout.deck.format: [%d]
!! Monocle layout
!@
- speedwm.layout.monocle.clientcount: 0 ! Enable client count in the monocle layout (0/1)
- speedwm.layout.monocle.count: 0 ! Enable focused client and number of total clients in the monocle layout (0/1)
!@
- speedwm.layout.monocle.format: [%d/%d]
!@
speedwm.layout.monocle.clientcount: 0 ! Enable client count in the monocle layout (0/1)
speedwm.layout.monocle.count: 0 ! Enable focused client and number of total clients in the monocle layout (0/1)
speedwm.layout.monocle.format: [%d/%d]
!! mfact options
!@
- speedwm.mfact: 0.50 ! Default mfact (0-1)
- speedwm.mfact.lowest: 0.05 ! Lowest possible mfact (0-1)
!@
speedwm.mfact: 0.50 ! Default mfact (0-1)
speedwm.mfact.lowest: 0.05 ! Lowest possible mfact (0-1)
!! Mouse options
!@
- speedwm.mouse.clicktofocus: 0 ! Require clicking on a window to focus or focus when the cursor touches it (0/1)
- speedwm.mouse.mfact: 1 ! Enable adjusting mfact with your mouse (0/1)
- speedwm.mouse.cfact: 1 ! Enable adjusting cfact with your mouse (0/1)
- speedwm.mouse.mousepreview: 1 ! Enable previewing tags by hovering over them with your cursor (0/1)
!@
speedwm.mouse.clicktofocus: 0 ! Require clicking on a window to focus or focus when the cursor touches it (0/1)
speedwm.mouse.mfact: 1 ! Enable adjusting mfact with your mouse (0/1)
speedwm.mouse.cfact: 1 ! Enable adjusting cfact with your mouse (0/1)
speedwm.mouse.mousepreview: 1 ! Enable previewing tags by hovering over them with your cursor (0/1)
!! Rule options
!@
- speedwm.rule.refresh: 1 ! Allow rules to be refreshed if a title/class changes (0/1)
!@
speedwm.rule.refresh: 1 ! Allow rules to be refreshed if a title/class changes (0/1)
!! Stack options
!@
- speedwm.stack.attachdirection: 3 ! Direction to attach windows in (0: Default, 1: Above, 2: Aside, 3: Below, 4: Bottom, 5: Top)
- speedwm.stack.centerfloating: 1 ! Center floating windows (0/1)
- speedwm.stack.i3mcount: 0 ! Enable i3 like nmaster/mastercount (0/1)
- speedwm.stack.mastercount: 1 ! Number of master clients in the master stack to start with (0/1)
- speedwm.stack.snap: 20 ! Snap pixel (<char>)
!@
speedwm.stack.attachdirection: 3 ! Direction to attach windows in (0: Default, 1: Above, 2: Aside, 3: Below, 4: Bottom, 5: Top)
speedwm.stack.centerfloating: 1 ! Center floating windows (0/1)
speedwm.stack.i3mcount: 0 ! Enable i3 like nmaster/mastercount (0/1)
speedwm.stack.mastercount: 1 ! Number of master clients in the master stack to start with (0/1)
speedwm.stack.snap: 20 ! Snap pixel (<char>)
!! Text to print when no status bar is running. Empty means nothing.
- speedwm.status.defaultstatus:
!@
speedwm.status.defaultstatus:
!! Status bar script to run
- speedwm.status.status: speedwm_status
!@
- speedwm.status.statusallmons: 1 ! Display status text on all monitors (0/1)
!@
speedwm.status.status: speedwm_status
speedwm.status.statusallmons: 1 ! Display status text on all monitors (0/1)
!! Switcher options
!@
- speedwm.switcher.maxheight: 200 ! Max height of the switcher in pixels (<char>)
- speedwm.switcher.maxwidth: 600 ! Max width of the switcher in pixels (<char>)
- speedwm.switcher.menupositionv: 1 ! Menu position of the switcher vertically (0: Bottom, 1: Center, 2: Top)
- speedwm.switcher.menupositionh: 1 ! Menu position of the switcher horizontally (0: Left, 1: Center, 2: Right)
!@
speedwm.switcher.maxheight: 200 ! Max height of the switcher in pixels (<char>)
speedwm.switcher.maxwidth: 600 ! Max width of the switcher in pixels (<char>)
speedwm.switcher.menupositionv: 1 ! Menu position of the switcher vertically (0: Bottom, 1: Center, 2: Top)
speedwm.switcher.menupositionh: 1 ! Menu position of the switcher horizontally (0: Left, 1: Center, 2: Right)
!! Systray options
!@
- speedwm.systray.padding: 2 ! Extra padding between status and systray (0/1)
- speedwm.systray.pinning: 0 ! Always show systray on the focused monitor or <num> (0/<monitor number>)
- speedwm.systray.position: 0 ! Position of the systray horizontally (0: Right, 1: Left)
!@
speedwm.systray.padding: 2 ! Extra padding between status and systray (0/1)
speedwm.systray.pinning: 0 ! Always show systray on the focused monitor or <num> (0/<monitor number>)
speedwm.systray.position: 0 ! Position of the systray horizontally (0: Right, 1: Left)
!! Tag options
!@
- speedwm.tag.pertag: 1 ! Allow tags to have their own values (0/1)
- speedwm.tag.preview: 1 ! Enable tag previews (0/1)
- speedwm.tag.preview.bar: 0 ! Include the bar in the tag preview (0/1)
- speedwm.tag.preview.paddingh: 0 ! Extra horizontal padding between the tag preview and the edge of the screen (<num>)
- speedwm.tag.preview.paddingv: 0 ! Extra vertical padding between the tag preview and the bar (<num>)
- speedwm.tag.preview.scale: 2 ! Amount to scale down the preview picture by (<num>)
- speedwm.tag.resetgaps: 1 ! Reset gaps when the tag has no clients (0/1)
- speedwm.tag.resetlayout: 1 ! Reset layout when the tag has no clients (0/1)
- speedwm.tag.resetmfact: 1 ! Reset mfact when the tag has no clients (0/1)
- speedwm.tag.start: 1 ! Start on a tag on startup (0/1)
- speedwm.tag.underline: 0 ! Draw an underline on the tags (0/1)
- speedwm.tag.underlineall: 0 ! Show underline on all tags or just the selected tags (0/1)
- speedwm.tag.underlinepad: 5 ! Horizontal padding between the underline and tag (<num>)
- speedwm.tag.underlinestroke: 2 ! Height of the underline in pixels (<num>)
- speedwm.tag.underlinevoffset: 0 ! How far above the bottom of the bar the line should appear (<num)
- speedwm.tag.urgentwindows: 1 ! Color tags that have urgent tags on them (0/1)
!@
speedwm.tag.pertag: 1 ! Allow tags to have their own values (0/1)
speedwm.tag.preview: 1 ! Enable tag previews (0/1)
speedwm.tag.preview.bar: 0 ! Include the bar in the tag preview (0/1)
speedwm.tag.preview.paddingh: 0 ! Extra horizontal padding between the tag preview and the edge of the screen (<num>)
speedwm.tag.preview.paddingv: 0 ! Extra vertical padding between the tag preview and the bar (<num>)
speedwm.tag.preview.scale: 2 ! Amount to scale down the preview picture by (<num>)
speedwm.tag.resetgaps: 1 ! Reset gaps when the tag has no clients (0/1)
speedwm.tag.resetlayout: 1 ! Reset layout when the tag has no clients (0/1)
speedwm.tag.resetmfact: 1 ! Reset mfact when the tag has no clients (0/1)
speedwm.tag.start: 1 ! Start on a tag on startup (0/1)
speedwm.tag.underline: 0 ! Draw an underline on the tags (0/1)
speedwm.tag.underlineall: 0 ! Show underline on all tags or just the selected tags (0/1)
speedwm.tag.underlinepad: 5 ! Horizontal padding between the underline and tag (<num>)
speedwm.tag.underlinestroke: 2 ! Height of the underline in pixels (<num>)
speedwm.tag.underlinevoffset: 0 ! How far above the bottom of the bar the line should appear (<num)
speedwm.tag.urgentwindows: 1 ! Color tags that have urgent tags on them (0/1)
!! Tiling options
!@
- speedwm.tiling.resizehints: 0 ! Enable resize hints (0/1)
!@
speedwm.tiling.resizehints: 0 ! Enable resize hints (0/1)
!! Shell to run commands with (<char>)
- speedwm.run.shell: /bin/sh
!@
speedwm.run.shell: /bin/sh
!! You have reached the bottom of the speedwm config file.
!! It may be used as a reference for writing a config file from scratch, or simply copied somewhere and edited.
!! Defaults here should more or less represent the settings in the speedwm source code.

View file

@ -1,114 +1,114 @@
- 1 - Switch to the Tiling layout
- 2 - Switch to the Floating layout
- 3 - Switch to the Monocle layout
- 4 - Switch to the Grid layout
- 5 - Switch to the Deck layout
- 6 - Switch to the Centered Master layout
- 7 - Switch to the Tatami layout
- 8 - Switch to the Fibonacci Spiral layout
- 9 - Switch to the Fibonacci Dwindle layout
- 10 - Switch to the Bottom Stack Vertical layout
- 11 - Switch to the Bottom Stack Horizontal layout
- 12 - Switch to the Horizontal Grid layout
- 13 - Switch to the Dynamic Grid layout
- 14 - Switch to the Custom layout
- 15 - Custom layout options
- 16 - Switch to the next layout
- 17 - Switch to the previous layout
- 18 - Increase mfact by 0.05
- 19 - Decrease mfact by 0.05
- 20 - Toggle sticky
- 21 - Toggle the bar
- 22 - Toggle fullscreen
- 23 - Toggle floating
- 24 - Swap the current window with the next
- 25 - Reorganize tags (Reorder them)
- 26 - Shutdown speedwm
- 27 - Restart speedwm
- 28 - Show the focused window
- 29 - Hide the focused window
- 30 - Kill the focused window
- 31 - Rotate the stack up
- 32 - Rotate the stack down
- 33 - Increase number of clients in the master stack
- 34 - Decrease number of clients in the master stack
- 35 - Focus the Master client
- 36 - Switch focus between windows +1
- 37 - Switch focus between windows -1
- 38 - Switch focus between hidden windows +1
- 39 - Switch focus between hidden windows -1
- 40 - Toggle opacity for windows
- 41 - Increase cfact by 0.05
- 42 - Decrease cfact by 0.05
- 43 - Switch to the previous tag
- 44 - Switch to the next tag
- 45 - Reset gaps to the default size
- 46 - Toggle gaps
- 47 - Increase gaps by 1
- 48 - Decrease gaps by 1
- 49 - Increase inner gaps by 1
- 50 - Decrease inner gaps by 1
- 51 - Increase outer gaps by 1
- 52 - Decrease outer gaps by 1
- 53 - Kill all clients except focused
- 54 - Focus the next monitor
- 55 - Focus the previous monitor
- 56 - Show the scratchpad
- 57 - Hide the scratchpad
- 58 - Remove the scratchpad
- 59 - Reset layout/mfact
- 60 - Reset mastercount
- 61 - Show/Hide systray
- 62 - Hide all windows
- 63 - Show all windows
- 64 - Reset mfact
- 65 - Reload .Xresources on the fly
- 66 - Switch to the previous tag, skipping empty tags
- 67 - Switch to the next tag, skipping empty tags
- 68 - Toggle the tag area in the bar
- 69 - Toggle the empty tags in the bar
- 70 - Toggle the powerline tags in the bar
- 71 - Toggle the powerline title in the bar
- 72 - Toggle the powerline tags and title in the bar
- 73 - Toggle the shape for powerline tags in the bar
- 74 - Toggle the shape for powerline title in the bar
- 75 - Toggle the shape for powerline tags and title in the bar
- 76 - Reset powerline options
- 77 - Toggle the title area in the bar
- 78 - Toggle the unselected title area in the bar
- 79 - Toggle the layout area in the bar
- 80 - Toggle the status area in the bar
- 81 - Toggle the floating indicator area in the bar
- 82 - Toggle the sticky indicator area in the bar
- 83 - Toggle the icon in the window title
- 84 - Toggle bar position (top/bottom)
- 85 - Toggle layout position (left/right)
- 86 - Show all bar modules
- 87 - Increase bar height by 1
- 88 - Decrease bar height by 1
- 89 - Reset bar height
- 90 - Increase vertical barpadding by 1
- 91 - Decrease vertical barpadding by 1
- 92 - Increase horizontal barpadding by 1
- 93 - Decrease horizontal barpadding by 1
- 94 - Increase vertical and horizontal barpadding by 1
- 95 - Decrease vertical and horizontal barpadding by 1
- 96 - Toggle vertical barpadding
- 97 - Toggle horizontal barpadding
- 98 - Toggle vertical and horizontal barpadding
- 99 - Reset vertical barpadding
- 100 - Reset horizontal barpadding
- 101 - Reset vertical and horizontal barpadding
- 102 - Increase stack count by 1
- 103 - Decrease stack count by 1
- 104 - Rotate forward in the layout axis
- 105 - Rotate forward in the master axis
- 106 - Rotate forward in the stack axis
- 107 - Rotate forward in the secondary stack axis
- 108 - Rotate backwards in the layout axis
- 109 - Rotate backwards in the master axis
- 110 - Rotate backwards in the stack axis
- 111 - Rotate backwards in the secondary stack axis
- 112 - Mirror the layout
- 113 - Enter an empty layout where all clients are hidden
- 1 - Switch to the Tiling layout
- 2 - Switch to the Floating layout
- 3 - Switch to the Monocle layout
- 4 - Switch to the Grid layout
- 5 - Switch to the Deck layout
- 6 - Switch to the Centered Master layout
- 7 - Switch to the Tatami layout
- 8 - Switch to the Fibonacci Spiral layout
- 9 - Switch to the Fibonacci Dwindle layout
- 10 - Switch to the Bottom Stack Vertical layout
- 11 - Switch to the Bottom Stack Horizontal layout
- 12 - Switch to the Horizontal Grid layout
- 13 - Switch to the Dynamic Grid layout
- 14 - Switch to the Custom layout
- 15 - Custom layout options
- 16 - Switch to the next layout
- 17 - Switch to the previous layout
- 18 - Increase mfact by 0.05
- 19 - Decrease mfact by 0.05
- 20 - Toggle sticky
- 21 - Toggle the bar
- 22 - Toggle fullscreen
- 23 - Toggle floating
- 24 - Swap the current window with the next
- 25 - Reorganize tags (Reorder them)
- 26 - Shutdown speedwm
- 27 - Restart speedwm
- 28 - Show the focused window
- 29 - Hide the focused window
- 30 - Kill the focused window
- 31 - Rotate the stack up
- 32 - Rotate the stack down
- 33 - Increase number of clients in the master stack
- 34 - Decrease number of clients in the master stack
- 35 - Focus the Master client
- 36 - Switch focus between windows +1
- 37 - Switch focus between windows -1
- 38 - Switch focus between hidden windows +1
- 39 - Switch focus between hidden windows -1
- 40 - Toggle opacity for windows
- 41 - Increase cfact by 0.05
- 42 - Decrease cfact by 0.05
- 43 - Switch to the previous tag
- 44 - Switch to the next tag
- 45 - Reset gaps to the default size
- 46 - Toggle gaps
- 47 - Increase gaps by 1
- 48 - Decrease gaps by 1
- 49 - Increase inner gaps by 1
- 50 - Decrease inner gaps by 1
- 51 - Increase outer gaps by 1
- 52 - Decrease outer gaps by 1
- 53 - Kill all clients except focused
- 54 - Focus the next monitor
- 55 - Focus the previous monitor
- 56 - Show the scratchpad
- 57 - Hide the scratchpad
- 58 - Remove the scratchpad
- 59 - Reset layout/mfact
- 60 - Reset mastercount
- 61 - Show/Hide systray
- 62 - Hide all windows
- 63 - Show all windows
- 64 - Reset mfact
- 65 - Reload .Xresources on the fly
- 66 - Switch to the previous tag, skipping empty tags
- 67 - Switch to the next tag, skipping empty tags
- 68 - Toggle the tag area in the bar
- 69 - Toggle the empty tags in the bar
- 70 - Toggle the powerline tags in the bar
- 71 - Toggle the powerline title in the bar
- 72 - Toggle the powerline tags and title in the bar
- 73 - Toggle the shape for powerline tags in the bar
- 74 - Toggle the shape for powerline title in the bar
- 75 - Toggle the shape for powerline tags and title in the bar
- 76 - Reset powerline options
- 77 - Toggle the title area in the bar
- 78 - Toggle the unselected title area in the bar
- 79 - Toggle the layout area in the bar
- 80 - Toggle the status area in the bar
- 81 - Toggle the floating indicator area in the bar
- 82 - Toggle the sticky indicator area in the bar
- 83 - Toggle the icon in the window title
- 84 - Toggle bar position (top/bottom)
- 85 - Toggle layout position (left/right)
- 86 - Show all bar modules
- 87 - Increase bar height by 1
- 88 - Decrease bar height by 1
- 89 - Reset bar height
- 90 - Increase vertical barpadding by 1
- 91 - Decrease vertical barpadding by 1
- 92 - Increase horizontal barpadding by 1
- 93 - Decrease horizontal barpadding by 1
- 94 - Increase vertical and horizontal barpadding by 1
- 95 - Decrease vertical and horizontal barpadding by 1
- 96 - Toggle vertical barpadding
- 97 - Toggle horizontal barpadding
- 98 - Toggle vertical and horizontal barpadding
- 99 - Reset vertical barpadding
- 100 - Reset horizontal barpadding
- 101 - Reset vertical and horizontal barpadding
- 102 - Increase stack count by 1
- 103 - Decrease stack count by 1
- 104 - Rotate forward in the layout axis
- 105 - Rotate forward in the master axis
- 106 - Rotate forward in the stack axis
- 107 - Rotate forward in the secondary stack axis
- 108 - Rotate backwards in the layout axis
- 109 - Rotate backwards in the master axis
- 110 - Rotate backwards in the stack axis
- 111 - Rotate backwards in the secondary stack axis
- 112 - Mirror the layout
- 113 - Enter an empty layout where all clients are hidden

View file

@ -1,198 +1,189 @@
-- Applications --
Keybinds for regular applications
Keybinds for regular applications
- Super+Shift+Enter - Opens the defined terminal (default is st)
- Super+Shift+Colon - Opens a dmenu prompt
- Super+Shift+s - Opens 'maim' to take a screenshot and copies it to the clipboard using 'xclip' (requires speedwm-extras)
- Super+Shift+f - Opens the defined file manager
- Super+Shift+w - Opens the defined web browser
- Super+Shift+o - Opens the speedwm-dfmpeg dmenu script to record your screen. (requires speedwm-extras)
- Super+Shift+t - Opens the defined editor in your terminal
- Super+Shift+m - Kills the defined music player
- Super+Shift+a - Opens the defined mixer in your terminal
- Super+Shift+m - Opens the defined music player
- Super+Shift+x - Opens the defined system process viewer in your terminal
- Super+Shift+c - Opens the defined chat client
- Super+Shift+d - Opens iron in the terminal if it is installed
- Super+Shift+u - Opens the defined RSS reader
- Super+Shift+r - Opens the defined email client
- Super+Shift+Enter - Opens the defined terminal (default is st)
- Super+Shift+Colon - Opens a dmenu prompt
- Super+Shift+s - Opens 'maim' to take a screenshot and copies it to the clipboard using 'xclip' (requires speedwm-extras)
- Super+Shift+f - Opens the defined file manager
- Super+Shift+w - Opens the defined web browser
- Super+Shift+o - Opens the speedwm-dfmpeg dmenu script to record your screen. (requires speedwm-extras)
- Super+Shift+t - Opens the defined editor in your terminal
- Super+Shift+m - Kills the defined music player
- Super+Shift+a - Opens the defined mixer in your terminal
- Super+Shift+m - Opens the defined music player
- Super+Shift+x - Opens the defined system process viewer in your terminal
- Super+Shift+c - Opens the defined chat client
- Super+Shift+d - Opens iron in the terminal if it is installed
- Super+Shift+u - Opens the defined RSS reader
- Super+Shift+r - Opens the defined email client
-- Navigation --
These keybinds are for navigating speedwm
These keybinds are for navigating speedwm
- Super+f - Fullscreen the selected window
- Super+b - Show/hide the speedwm bar
- Super+s - Show/hide the systray
- Super+j/k - Move focus between visible windows
- Super+m - Moves focus to the Master window (or back if Master is already focused)
- Super+a/d - Increase/decrease size of each window
- Super+w/e - Resize the window keeping the aspect ratio of it.
- Super+o - Hide a window
- Super+Minus - Show the scratchpad
- Super+Equal - Remove the scratchpad
- Super+Enter - Switch order of windows
- Super+Colon - Open a list of desktop entries in dmenu
- Super+Tab - Switch between windows on the same tag. (Microsoft Windows-like Alt+Tab)
- Super+0 - Reset mfact
- Super+r - Reset number of masters
- Super+y - Make the current selected window sticky
- Super+1 - Move to tag 1
- Super+2 - Move to tag 2
- Super+3 - Move to tag 3
- Super+4 - Move to tag 4
- Super+5 - Move to tag 5
- Super+6 - Move to tag 6
- Super+7 - Move to tag 7
- Super+8 - Move to tag 8
- Super+9 - Move to tag 9
- Super+Shift+1 - Preview tag 1
- Super+Shift+2 - Preview tag 2
- Super+Shift+3 - Preview tag 3
- Super+Shift+4 - Preview tag 4
- Super+Shift+5 - Preview tag 5
- Super+Shift+6 - Preview tag 6
- Super+Shift+7 - Preview tag 7
- Super+Shift+8 - Preview tag 8
- Super+Shift+9 - Preview tag 9
- Super+Shift+q - Close the current window
- Super+Shift+h/j/k/l - Rotates a stack.
- Super+Shift+Arrow - Resizes a window in floating mode
- Super+Shift+Escape - Ask the user if they want to shutdown or reboot or nothing
- Super+Shift+Tab - Switch between windows and tags in detail.
- Super+Shift+Equal - Toggle scratchpads
- Super+Shift+Minus - Hide the scratchpad
- Super+Shift+Space - Toggle floating windows
- Super+Control+1 - Combine the current tag with tag 1
- Super+Control+2 - Combine the current tag with tag 2
- Super+Control+3 - Combine the current tag with tag 3
- Super+Control+4 - Combine the current tag with tag 4
- Super+Control+5 - Combine the current tag with tag 5
- Super+Control+6 - Combine the current tag with tag 6
- Super+Control+7 - Combine the current tag with tag 7
- Super+Control+8 - Combine the current tag with tag 8
- Super+Control+9 - Combine the current tag with tag 9
- Super+Control+q - Mutes your audio
- Super+Control+w - Increases your volume
- Super+Control+e - Decreases your volume
- Super+Control+0 - Tag all tags at once.
- Super+Control+Enter - Mirror the layout
- Super+Control+i - Increase stackcount by 1
- Super+Control+u - Decrease stack count by 1
- Super+Control+z/x - Increase/decrease gaps between windows by 5
- Super+Control+j/k - Move focus between hidden windows (Can then 'Show')
- Super+Control+Arrow - Moves a window to any corner of your screen (Arrow key)
- Super+Control+Tab - Open a dmenu prompt asking the user what layout to switch to
- Super+Control+h - Open a list of all keybinds in your terminal using less
- Super+Control+o - Show a hidden focused window
- Super+Control+a/d - Move to the next/previous tag
- Super+Control+Shift+o - Show all hidden windows
- Super+Control+Shift+p - Hide all windows
- Super+Control+Shift+Colon - Open a list of extra software in dmenu
- Super+Control+Shift+z/c - Move to the next/previous tag skipping any without windows open
- Super+Control+Shift+a/d - Move between available layouts
- Super+Control+Shift+1 - Move the focused window to tag 1
- Super+Control+Shift+2 - Move the focused window to tag 2
- Super+Control+Shift+3 - Move the focused window to tag 3
- Super+Control+Shift+4 - Move the focused window to tag 4
- Super+Control+Shift+5 - Move the focused window to tag 5
- Super+Control+Shift+6 - Move the focused window to tag 6
- Super+Control+Shift+7 - Move the focused window to tag 7
- Super+Control+Shift+8 - Move the focused window to tag 8
- Super+Control+Shift+9 - Move the focused window to tag 9
- Super+Control+Shift+Esc - Open speedwm-utils (requires speedwm-extras)
- Super+Control+Shift+Arrow - Resize the window to the screen size.
- Super+Control+Shift+s - Set a wallpaper (requires speedwm-extras)
- Super+Control+Shift+n - Connect to WLAN using iwd (requires speedwm-extras)
- Super+Control+Shift+b - Connect to a Bluetooth device using bluez (requires speedwm-extras)
- Super+Control+Shift+q - Pauses your music
- Super+Control+Shift+w - Decreases your music volume
- Super+Control+Shift+e - Increase your music volume
- Super+Control+Shift+r - Restart speedwm
- Super+Control+Shift+j/k - Change window size vertically (cfact)
- Super+Control+Shift+Equal - Increase bar height by 1
- Super+Control+Shift+Minus - Decrease bar height by 1
- Super+f - Fullscreen the selected window
- Super+b - Show/hide the speedwm bar
- Super+s - Show/hide the systray
- Super+j/k - Move focus between visible windows
- Super+m - Moves focus to the Master window (or back if Master is already focused)
- Super+a/d - Increase/decrease size of each window
- Super+w/e - Resize the window keeping the aspect ratio of it.
- Super+o - Hide a window
- Super+Minus - Show the scratchpad
- Super+Equal - Remove the scratchpad
- Super+Enter - Switch order of windows
- Super+Colon - Open a list of desktop entries in dmenu
- Super+Tab - Switch between windows on the same tag. (Microsoft Windows-like Alt+Tab)
- Super+0 - Reset mfact
- Super+r - Reset number of masters
- Super+y - Make the current selected window sticky
- Super+1 - Move to tag 1
- Super+2 - Move to tag 2
- Super+3 - Move to tag 3
- Super+4 - Move to tag 4
- Super+5 - Move to tag 5
- Super+6 - Move to tag 6
- Super+7 - Move to tag 7
- Super+8 - Move to tag 8
- Super+9 - Move to tag 9
- Super+Shift+1 - Preview tag 1
- Super+Shift+2 - Preview tag 2
- Super+Shift+3 - Preview tag 3
- Super+Shift+4 - Preview tag 4
- Super+Shift+5 - Preview tag 5
- Super+Shift+6 - Preview tag 6
- Super+Shift+7 - Preview tag 7
- Super+Shift+8 - Preview tag 8
- Super+Shift+9 - Preview tag 9
- Super+Shift+q - Close the current window
- Super+Shift+h/j/k/l - Rotates a stack.
- Super+Shift+Arrow - Resizes a window in floating mode
- Super+Shift+Escape - Ask the user if they want to shutdown or reboot or nothing
- Super+Shift+Tab - Switch between windows and tags in detail.
- Super+Shift+Equal - Toggle scratchpads
- Super+Shift+Minus - Hide the scratchpad
- Super+Shift+Space - Toggle floating windows
- Super+Control+1 - Combine the current tag with tag 1
- Super+Control+2 - Combine the current tag with tag 2
- Super+Control+3 - Combine the current tag with tag 3
- Super+Control+4 - Combine the current tag with tag 4
- Super+Control+5 - Combine the current tag with tag 5
- Super+Control+6 - Combine the current tag with tag 6
- Super+Control+7 - Combine the current tag with tag 7
- Super+Control+8 - Combine the current tag with tag 8
- Super+Control+9 - Combine the current tag with tag 9
- Super+Control+q - Mutes your audio
- Super+Control+w - Increases your volume
- Super+Control+e - Decreases your volume
- Super+Control+0 - Tag all tags at once.
- Super+Control+Enter - Mirror the layout
- Super+Control+i - Increase stackcount by 1
- Super+Control+u - Decrease stack count by 1
- Super+Control+z/x - Increase/decrease gaps between windows by 5
- Super+Control+j/k - Move focus between hidden windows (Can then 'Show')
- Super+Control+Arrow - Moves a window to any corner of your screen (Arrow key)
- Super+Control+Tab - Open a dmenu prompt asking the user what layout to switch to
- Super+Control+h - Open a list of all keybinds in your terminal using less
- Super+Control+o - Show a hidden focused window
- Super+Control+a/d - Move to the next/previous tag
- Super+Control+Shift+o - Show all hidden windows
- Super+Control+Shift+p - Hide all windows
- Super+Control+Shift+Colon - Open a list of extra software in dmenu
- Super+Control+Shift+z/c - Move to the next/previous tag skipping any without windows open
- Super+Control+Shift+a/d - Move between available layouts
- Super+Control+Shift+1 - Move the focused window to tag 1
- Super+Control+Shift+2 - Move the focused window to tag 2
- Super+Control+Shift+3 - Move the focused window to tag 3
- Super+Control+Shift+4 - Move the focused window to tag 4
- Super+Control+Shift+5 - Move the focused window to tag 5
- Super+Control+Shift+6 - Move the focused window to tag 6
- Super+Control+Shift+7 - Move the focused window to tag 7
- Super+Control+Shift+8 - Move the focused window to tag 8
- Super+Control+Shift+9 - Move the focused window to tag 9
- Super+Control+Shift+Esc - Open speedwm-utils (requires speedwm-extras)
- Super+Control+Shift+Arrow - Resize the window to the screen size.
- Super+Control+Shift+s - Set a wallpaper (requires speedwm-extras)
- Super+Control+Shift+n - Connect to WLAN using iwd (requires speedwm-extras)
- Super+Control+Shift+b - Connect to a Bluetooth device using bluez (requires speedwm-extras)
- Super+Control+Shift+q - Pauses your music
- Super+Control+Shift+w - Decreases your music volume
- Super+Control+Shift+e - Increase your music volume
- Super+Control+Shift+r - Restart speedwm
- Super+Control+Shift+j/k - Change window size vertically (cfact)
- Super+Control+Shift+Equal - Increase bar height by 1
- Super+Control+Shift+Minus - Decrease bar height by 1
-- Chained keybinds --
-- Chained keybinds --
- Super+r & s - Run screenkey if it is installed
- Super+r & d - Kill screenkey
- Super+t & r - Reorganize tags and move windows
- Super+t & t - Toggle tag area in the bar
- Super+t & y - Toggle empty tag area in the bar
- Super+t & w - Toggle title area in the bar
- Super+t & u - Toggle unselected title area in the bar
- Super+t & p - Toggle powerline tags in the bar
- Super+t & s - Toggle status area in the bar
- Super+t & l - Toggle layout area in the bar
- Super+t & o - Toggle inactive fade
- Super+t & b - Toggle bar position
- Super+t & r - Reset all bar modules
- Super+t & s - Make the current selected window sticky
- Super+l & p - Toggle layout position
- Super+c & w - Get the weather (Using wttr.in) using speedwm-core (requires speedwm-extras)
- Super+c & n - Switch to the next track
- Super+c & p - Switch to the previous track
- Super+g & t - Toggle gaps
- Super+g & 0 - Reset gaps
- Super+g & i - Increase inner gaps by 1
- Super+g & o - Increase outer gaps by 1
- Super+g & j/k - Increase/decrease gaps between windows by 1
- Super+p & j/k - Increase/decrease bar padding by 1
- Super+p & u/d - Increase/decrease bar padding by 5
- Super+p & r - Reset bar padding to default
- Super+p & t - Toggle bar padding on/off
- Super+, & w - Toggle title powerline on/off
- Super+, & t - Toggle tag powerlines on/off
- Super+, & a - Toggle title powerline shape
- Super+, & d - Toggle tag powerline shape
- Super+, & s - Toggle tag and title powerline shapes
- Super+, & r - Reset powerline options
- Super+q & n/p - Switch to the next/previous track
- Super+q & l/h - Seek 3 seconds forward/backwards
- Super+q & u/d - Seek 10 seconds forward/backwards
- Super+q & 0 - Seek to the beginning of the track
- Super+Shift+g & i - Decrease inner gaps by 1
- Super+Shift+g & o - Decrease outer gaps by 1
- Super+Shift+e & a - Open the virtual keyboard
- Super+Shift+e & e - Open a list of all emojis and copy the selection
- Super+Shift+e & r - Randomize wallpaper
- Super+Shift+e & p - Set wallpaper to the previous
- Super+Shift+k & o - Kill every window except the focused
- Super+r & s - Run screenkey if it is installed Super+r & d - Kill screenkey
- Super+t & r - Reorganize tags and move windows
- Super+t & t - Toggle tag area in the bar
- Super+t & y - Toggle empty tag area in the bar
- Super+t & w - Toggle title area in the bar
- Super+t & u - Toggle unselected title area in the bar
- Super+t & p - Toggle powerline tags in the bar
- Super+t & s - Toggle status area in the bar
- Super+t & l - Toggle layout area in the bar
- Super+t & o - Toggle inactive fade
- Super+t & b - Toggle bar position
- Super+t & r - Reset all bar modules
- Super+t & s - Make the current selected window sticky
- Super+l & p - Toggle layout position
- Super+c & w - Get the weather (Using wttr.in) using speedwm-core (requires speedwm-extras)
- Super+c & n - Switch to the next track
- Super+c & p - Switch to the previous track
- Super+g & t - Toggle gaps
- Super+g & 0 - Reset gaps
- Super+g & i - Increase inner gaps by 1
- Super+g & o - Increase outer gaps by 1
- Super+g & j/k - Increase/decrease gaps between windows by 1
- Super+p & j/k - Increase/decrease bar padding by 1
- Super+p & u/d - Increase/decrease bar padding by 5
- Super+p & r - Reset bar padding to default
- Super+p & t - Toggle bar padding on/off
- Super+, & w - Toggle title powerline on/off
- Super+, & t - Toggle tag powerlines on/off
- Super+, & a - Toggle title powerline shape
- Super+, & d - Toggle tag powerline shape
- Super+, & s - Toggle tag and title powerline shapes
- Super+, & r - Reset powerline options
- Super+q & n/p - Switch to the next/previous track
- Super+q & l/h - Seek 3 seconds forward/backwards
- Super+q & u/d - Seek 10 seconds forward/backwards
- Super+q & 0 - Seek to the beginning of the track
- Super+Shift+g & i - Decrease inner gaps by 1
- Super+Shift+g & o - Decrease outer gaps by 1
- Super+Shift+e & a - Open the virtual keyboard
- Super+Shift+e & e - Open a list of all emojis and copy the selection
- Super+Shift+e & r - Randomize wallpaper
- Super+Shift+e & p - Set wallpaper to the previous
- Super+Shift+k & o - Kill every window except the focused
-- Extras --
These will only work if your keyboard has special multimedia buttons.
These will only work if your keyboard has special multimedia buttons.
- Mute button - Mutes your audio
- Up Volume button - Increases your volume
- Next/Previous song button - Switch to the next/previous track
- Down Volume button - Decreases your volume
- Pause button - Pauses the current track
- Stop button - Stops your defined music player
- Browser button - Opens your defined web browser
- Power button - Ask if you wanna shut down, restart or lock your computer. (requires speedwm-extras)
- Email button - Open your defined email client
- System button - Open your defined status viewer in a terminal
- Music button - Open your defined music player
- WLAN button - Disconnect from WLAN (requires speedwm-extras)
- Mute button - Mutes your audio
- Up Volume button - Increases your volume
- Next/Previous song button - Switch to the next/previous track
- Down Volume button - Decreases your volume
- Pause button - Pauses the current track
- Stop button - Stops your defined music player
- Browser button - Opens your defined web browser
- Power button - Ask if you wanna shut down, restart or lock your computer. (requires speedwm-extras)
- Email button - Open your defined email client
- System button - Open your defined status viewer in a terminal
- Music button - Open your defined music player
- WLAN button - Disconnect from WLAN (requires speedwm-extras)
These binds can be activated using your mouse
-- Mouse --
These binds can be activated using your mouse
- Tag <num> (Left click) - Switch to tag <num>
- Tag (Scrolling up/down) - Switch to the next/previous tag
- Layout indicator (Left click) - Switch to the next layout
- Layout indicator (Middle click) - Switch to the previous layout
- Layout indicator (Right click) - Open a dmenu list of all layouts (requires speedwm-extras)
- Window title (Left click) - Hide/Show the window
- Window title (Right click) - Open speedwm-utils (requires speedwm-extras)
- Focused window (Super+Alt+Left click) - Move the focused window around
- Focused window (Super+Alt+Middle click) - Make the focused window floating
- Focused window title (Middle click) - Rotate stack
- Dragging (Super+Right click) - Increase/decrease size of each window (mfact)
- Dragging (SuperControl+Right click) - Increase/decrease cfact
- Root window (Right click) - List .desktop entries and open them (requires j4-dmenu-desktop)
- Tag <num> (Left click) - Switch to tag <num>
- Tag (Scrolling up/down) - Switch to the next/previous tag
- Layout indicator (Left click) - Switch to the next layout
- Layout indicator (Middle click) - Switch to the previous layout
- Layout indicator (Right click) - Open a dmenu list of all layouts (requires speedwm-extras)
- Window title (Left click) - Hide/Show the window
- Window title (Right click) - Open speedwm-utils (requires speedwm-extras)
- Focused window (Super+Alt+Left click) - Move the focused window around
- Focused window (Super+Alt+Middle click) - Make the focused window floating
- Focused window title (Middle click) - Rotate stack
- Dragging (Super+Right click) - Increase/decrease size of each window (mfact)
- Dragging (SuperControl+Right click) - Increase/decrease cfact
- Root window (Right click) - List .desktop entries and open them (requires j4-dmenu-desktop)

View file

@ -1,7 +1,7 @@
<!DOCTYPE html>
<html>
<head>
<?php include '../php/header.php';?>
<?php include '/php/header.php';?>
<title>speedwm</title>
<meta charset="UTF-8">
<meta name="description" content="speedie's fork of suckless.org's dwm">

View file

@ -3,7 +3,7 @@
</div>
</body>
<footer>
<?php include '../php/footer.php';?>
<?php include '/php/footer.php';?>
</footer>
</html>

2
ipc.h
View file

@ -22,5 +22,3 @@ static IPCCommand ipccommands[] = {
IPCCOMMAND(setlayoutsafe, 1, { ARG_TYPE_PTR } ),
IPCCOMMAND(quit, 1, { ARG_TYPE_NONE } )
};

View file

@ -1,98 +0,0 @@
#!/bin/sh
# mkpatch.sh
# This shell script allows you to create a patch based on changes made to options.h, options.mk, toggle.h and toggle.mk.
# Set old (current) directory
CD="$(pwd)"
CP() {
cp docs/options.def.h /tmp/options.h
cp docs/autostart.def.h /tmp/autostart.h
cp docs/options.def.mk /tmp/options.mk
cp docs/toggle.def.h /tmp/toggle.h
cp docs/toggle.def.mk /tmp/toggle.mk
cp docs/host.def.mk /tmp/host.mk
cp docs/keybinds.def.h /tmp/keybinds.h
cp docs/rules.def.h /tmp/rules.h
cp docs/actions.def.h /tmp/actions.h
cp docs/colors.def.h /tmp/colors.h
cp docs/statusbar.def.h /tmp/statusbar.h
}
MKDIFF() {
cd /tmp
# Create patches
diff -up ./options.h $CD/options.h > $CD/options.h_settings.patch && echo "Created options.h patch (see options.h_settings.patch)"
diff -up ./autostart.h $CD/autostart.h > $CD/autostart.h_settings.patch && echo "Created autostart.h patch (see autostart.h_settings.patch)"
diff -up ./options.mk $CD/options.mk > $CD/options.mk_settings.patch && echo "Created options.mk patch (see options.mk_settings.patch)"
diff -up ./toggle.h $CD/toggle.h > $CD/toggle.h_settings.patch && echo "Created toggle.h patch (see toggle.h_settings.patch)"
diff -up ./keybinds.h $CD/keybinds.h > $CD/keybinds.h_settings.patch && echo "Created keybinds.h patch (see keybinds.h_settings.patch)"
diff -up ./toggle.mk $CD/toggle.mk > $CD/toggle.mk_settings.patch && echo "Created toggle.mk patch (see toggle.mk_settings.patch)"
diff -up ./host.mk $CD/host.mk > $CD/host.mk_settings.patch && echo "Created host.mk patch (see host.mk_settings.patch)"
diff -up ./rules.h $CD/rules.h > $CD/rules.h_settings.patch && echo "Created rules.h patch (see rules.h_settings.patch)"
diff -up ./actions.h $CD/actions.h > $CD/actions.h_settings.patch && echo "Created actions.h patch (see actions.h_settings.patch)"
diff -up ./colors.h $CD/colors.h > $CD/colors.h_settings.patch && echo "Created colors.h patch (see colors.h_settings.patch)"
diff -up ./statusbar.h $CD/statusbar.h > $CD/statusbar.h_settings.patch && echo "Created statusbar.h patch (see statusbar.h_settings.patch)"
# Delete
rm -f /tmp/options.h
rm -f /tmp/options.mk
rm -f /tmp/toggle.h
rm -f /tmp/keybinds.h
rm -f /tmp/toggle.mk
rm -f /tmp/rules.h
}
# Patch the source
if [ "$1" = "-p" ]; then
ls *.patch || exit 1
patch < options.h_settings.patch
patch < autostart.h_settings.patch
patch < options.mk_settings.patch
patch < toggle.h_settings.patch
patch < toggle.mk_settings.patch
patch < host.mk_settings.patch
patch < keybinds.h_settings.patch
patch < rules.h_settings.patch
patch < actions.h_settings.patch
patch < colors.h_settings.patch
patch < statusbar.h_settings.patch
cd $CD
exit 0
fi
# Remove the patch
if [ "$1" = "-r" ]; then
ls *.patch || exit 1
patch -R < options.h_settings.patch
patch -R < autostart.h_settings.patch
patch -R < options.mk_settings.patch
patch -R < toggle.h_settings.patch
patch -R < toggle.mk_settings.patch
patch -R < host.mk_settings.patch
patch -R < keybinds.h_settings.patch
patch -R < rules.h_settings.patch
patch -R < actions.h_settings.patch
patch -R < colors.h_settings.patch
patch -R < statusbar.h_settings.patch
patch -R < status_settings.patch
cd $CD
exit 0
fi
# Create patches
if [ "$1" = "-mk" ]; then
CP
MKDIFF
cd $CD
exit 0
fi
printf "mkpatch help\n\n"
printf "Usage:\n"
printf "\nmkpatch -p Apply the patch directly."
printf "\nmkpatch -r Remove the patch directly."
printf "\nmkpatch -h Display this help."
printf "\nmkpatch -mk Create patches based on changes."
printf "\nNo arguments will print help.\n"

View file

@ -1,43 +1,58 @@
#!/bin/bash
#!/bin/sh
# speedwm-help
# Documentation generator/list for speedwm.
# Licensed under the GNU GPLv3 free software license.
# Licensed under the GNU LGPLv3 free software license.
# No color if NOCOLOR is exported as true.
if [ "$NOCOLOR" != "true" ]; then
COL2="$(printf '\033[0;35m')" # Color 2
COL1="$(printf '\033[0m')" # Color 1
fi
[ -z "${DOCDIR}" ] && DOCDIR=/usr/share/speedwm
[ -z "$PREFIX" ] && PREFIX=""
[ -z "$2" ] && VIEWER=less || VIEWER="$2"
[ -z "$VERSION" ] && VERSION="$(grep "VERSION" ../options.mk | head -n 1 | awk '{ print $3 }')"
[ "$VIEWER" = "-o" ] && VIEWER="cat"
# Set documentation directory
if [ "${DOCDIR}" = "" ]; then
DOCDIR=/usr/share/speedwm
fi
[ -e "${DOCDIR}/${PREFIX}example.Xresources" ] && sed 's|\(!*\)!.*|\1|' ${DOCDIR}/${PREFIX}example.Xresources | grep -v "!" | grep speedwm > /tmp/example.Xresources && \
sed "s/speedwm[.]/- speedwm./g" /tmp/example.Xresources > /tmp/example.Xresources.tmp && \
mv /tmp/example.Xresources.tmp /tmp/example.Xresources
# Set prefix
if [ "$PREFIX" = "" ]; then
PREFIX=""
fi
# full list of arguments
HELP() {
printf "speedwm help\n\n"
printf "No arguments to view this list of arguments.\n"
printf "%s-h View this list of arguments.\n"
printf "%s-a View everything.\n"
printf "%s-1 What is speedwm?\n"
printf "%s-2 List of all keybinds\n"
printf "%s-3 List of all dependencies\n"
printf "%s-4 .Xresources/Pywal information.\n"
printf "%s-5 Signals information\n"
printf "%s-6 Switching run launcher\n"
printf "%s-7 Installation\n"
printf "%s-8 Layouts\n"
printf "%s-9 Important information.\n"
printf "\n"
printf "%s--generate-markdown Write documentation (Markdown)\n"
printf "%s--generate-html Write documentation (HTML) using markdown-to-html. Requires --generate-markdown previously.\n"
printf "%s--generate-man Write documentation (man) using pandoc. Requires --generate-markdown previously.\n"
printf "%s--generate-page Combine template 1, output of --generate-html and template 2 (from docs/) to create a full HTML document.\n\n"
printf "If second argument is -o, the requested output will be sent to stdout.\n-o can be replaced with a text editor or reader of your choice (such as less, vim, emacs, etc.)\n"; exit 0
}
ARG1=$1
ARG2=$2
ARGINF=$@
# format man page properly
FORMATMANPAGE() {
command -v pandoc > /dev/null || exit 1
test ../README.md || exit 1
if [ "$ARG2" = "" ]; then
VIEWER=less
else
VIEWER="$ARG2"
echo "Using $ARG2 as output." | sed "s|-o|stdout|g"
fi
mv ../README.md ../README.md.orig
printf "%% speedwm(1) $VERSION | speedie's window manager.\n" > ../README.md
cat ../README.md.orig | grep -v "docs/preview" >> ../README.md
pandoc --standalone --to man ../README.md -o ../speedwm.1
case "$VIEWER" in
"-o") VIEWER="cat" ;;
esac
printf "Man page generated at ../speedwm.1.\n"
if [ -e "${DOCDIR}/${PREFIX}example.Xresources" ]; then
sed 's|\(!*\)!.*|\1|' ${DOCDIR}/${PREFIX}example.Xresources | grep -v "!" | grep speedwm > /tmp/example.Xresources
fi
mv ../README.md.orig ../README.md
}
# write docs
cat ${DOCDIR}/${PREFIX}doc-01 \
${DOCDIR}/${PREFIX}doc-02 \
${DOCDIR}/${PREFIX}doc-03 \
@ -50,63 +65,30 @@ ${DOCDIR}/${PREFIX}doc-06 \
${DOCDIR}/${PREFIX}doc-07 \
${DOCDIR}/${PREFIX}example.signal \
${DOCDIR}/${PREFIX}doc-08 \
${DOCDIR}/${PREFIX}doc-09 | grep -v "!!" > /tmp/${PREFIX}doc
${DOCDIR}/${PREFIX}doc-09 | \
grep -v "!!" > /tmp/${PREFIX}doc
case "$ARG1" in
"-w") tail -n $(expr $(cat /tmp/${PREFIX}doc | wc -l) "-" 0) /tmp/${PREFIX}doc > ../readme ;;
"-wmd") tail -n $(expr $(cat /tmp/${PREFIX}doc | wc -l) "-" 0) /tmp/${PREFIX}doc | \
sed "s|-- speedwm --|# speedwm|g" | \
sed "s|-- What is speedwm? --|## What is speedwm?|g" | \
sed "s|-- Installation --|## Installation|g" | \
sed "s|-- Layouts --|## Layouts|g" | \
sed "s|-- Patches --|## Patches|g" | \
sed "s|-- Keybinds --|## Keybinds|g" | \
sed "s|-- Applications --|### Applications|g" | \
sed "s|-- Navigation --|### Navigation|g" | \
sed "s|-- Chained keybinds --|### Chained keybinds|g" | \
sed "s|-- Mouse --|### Mouse|g" | \
sed "s|-- Extras --|### Extras|g" | \
sed "s|-- Dependencies --|## Dependencies|g" | \
sed "s|-- Features --|## Features|g" | \
sed "s|-- Software --|## Software|g" | \
sed "s|-- Important --|## Important|g" | \
sed "s|-- .Xresources and Pywal --|## .Xresources and Pywal|g" | \
sed "s|-- Signals --|## Signals|g" | \
sed "s|-- Additional note on autostart --|## Additional note on autostart|g" | \
sed "s|-- Maintaining settings easily --|## Maintaining settings easily|g" > ../README.md ;;
"-whtml") tail -n $(expr $(cat /tmp/${PREFIX}doc | wc -l) "-" 1) /tmp/${PREFIX}doc | \
sed "s|-- speedwm --|# speedwm|g" | \
sed "s|-- What is speedwm? --|## What is speedwm?|g" | \
sed "s|-- Installation --|## Installation|g" | \
sed "s|-- Layouts --|## Layouts|g" | \
sed "s|-- Patches --|## Patches|g" | \
sed "s|-- Keybinds --|## Keybinds|g" | \
sed "s|-- Applications --|### Applications|g" | \
sed "s|-- Navigation --|### Navigation|g" | \
sed "s|-- Chained keybinds --|### Chained keybinds|g" | \
sed "s|-- Mouse --|### Mouse|g" | \
sed "s|-- Extras --|### Extras|g" | \
sed "s|-- Dependencies --|## Dependencies|g" | \
sed "s|-- Features --|## Features|g" | \
sed "s|-- Software --|## Software|g" | \
sed "s|-- Important --|## Important|g" | \
sed "s|-- .Xresources and Pywal --|## .Xresources and Pywal|g" | \
sed "s|-- Signals --|## Signals|g" | \
sed "s|-- Maintaining settings easily --|## Maintaining settings easily|g" | \
sed "s|-- Additional note on autostart --|## Additional note on autostart|g" > ../README.md
markdown ../README.md > ../readme.html || printf "\nmarkdown-to-html not found, install using:\nnpm install markdown-to-html -g\n" && exit 1 ;;
"-whtml-wtemplate") test ../readme.html && cat ../docs/speedwm.html.template.1 ../readme.html ../docs/speedwm.html.template.2 >> ../readme.temp.html && exit 0
printf "\nYou need to $0 -whtml first." ; exit 1 ;;
# check arguments and perform actions based on it
case "$1" in
"--generate-markdown") mv /tmp/${PREFIX}doc ../README.md && exit 0 ;;
"--generate-html") markdown ../README.md | grep -v "docs/preview" > ../readme.html || printf "markdown-to-html not found, install using 'npm install markdown-to-html -g'\n" && exit 1 ;;
"--generate-page") test ../readme.html && cat ../docs/speedwm.html.template.1 ../readme.html ../docs/speedwm.html.template.2 >> ../readme.temp.html && exit 0
printf "You need to $0 --generate-html first." && exit 1 ;;
"--generate-man") FORMATMANPAGE && exit 0 ;;
"") $0 -h && exit 0 ;;
"-h") printf "speedwm help\n\nNo arguments to view this list of arguments.\n-h | View this list of arguments.\n-a | View everything.\n-1 | What is speedwm?\n-2 | List of all keybinds\n-3 | List of all dependencies\n-4 | .Xresources/Pywal information.\n-5 | Signals information\n-6 | Switching run launcher\n-7 | Installation\n-8 | Layouts\n-9| Important information.\n-w | Write documentation to ../readme\n-wmd | Write documentation (Markdown)\n-whtml | Write documentation (HTML) using markdown-to-html.\n-whtml-wtemplate | Combine template 1, output of -whtml and template 2 (from docs/) to create a full HTML document.\n\nIf second argument is -o, the requested output will be sent to stdout.\n-o can be replaced with a text editor or reader of your choice (such as less, vim, emacs, etc.)\n"; exit 0 ;;
"-1") cat ${DOCDIR}/${PREFIX}doc-01 > /tmp/stdout ; $VIEWER /tmp/stdout ;;
"-2") cat ${DOCDIR}/${PREFIX}doc-04 ${DOCDIR}/${PREFIX}keybinds > /tmp/stdout ; $VIEWER /tmp/stdout ;;
"-3") cat ${DOCDIR}/${PREFIX}dependencies > /tmp/stdout ; $VIEWER /tmp/stdout ;;
"-4") cat ${DOCDIR}/${PREFIX}doc-06 /tmp/example.Xresources > /tmp/stdout ; $VIEWER /tmp/stdout ;;
"-5") cat ${DOCDIR}/${PREFIX}doc-07 ${DOCDIR}/${PREFIX}example.signal > /tmp/stdout ; $VIEWER /tmp/stdout ;;
"-6") cat ${DOCDIR}/${PREFIX}doc-08 > /tmp/stdout ; $VIEWER /tmp/stdout ;;
"-7") cat ${DOCDIR}/${PREFIX}doc-02 > /tmp/stdout ; $VIEWER /tmp/stdout ;;
"-8") cat ${DOCDIR}/${PREFIX}doc-03 > /tmp/stdout ; $VIEWER /tmp/stdout ;;
"-9") cat ${DOCDIR}/${PREFIX}doc-05 > /tmp/stdout ; $VIEWER /tmp/stdout ;;
"-a") cat /tmp/${PREFIX}doc > /tmp/stdout ; $VIEWER /tmp/stdout ;;
"-h") HELP && exit 0 ;;
"--help") HELP && exit 0 ;;
"-1") cat ${DOCDIR}/${PREFIX}doc-01 > /tmp/stdout ; $VIEWER /tmp/stdout ; exit 0 ;;
"-2") cat ${DOCDIR}/${PREFIX}doc-04 ${DOCDIR}/${PREFIX}keybinds > /tmp/stdout ; $VIEWER /tmp/stdout ; exit 0 ;;
"-3") cat ${DOCDIR}/${PREFIX}dependencies > /tmp/stdout ; $VIEWER /tmp/stdout ; exit 0 ;;
"-4") cat ${DOCDIR}/${PREFIX}doc-06 /tmp/example.Xresources > /tmp/stdout ; $VIEWER /tmp/stdout ; exit 0 ;;
"-5") cat ${DOCDIR}/${PREFIX}doc-07 ${DOCDIR}/${PREFIX}example.signal > /tmp/stdout ; $VIEWER /tmp/stdout ; exit 0 ;;
"-6") cat ${DOCDIR}/${PREFIX}doc-08 > /tmp/stdout ; $VIEWER /tmp/stdout ; exit 0 ;;
"-7") cat ${DOCDIR}/${PREFIX}doc-02 > /tmp/stdout ; $VIEWER /tmp/stdout ; exit 0 ;;
"-8") cat ${DOCDIR}/${PREFIX}doc-03 > /tmp/stdout ; $VIEWER /tmp/stdout ; exit 0 ;;
"-9") cat ${DOCDIR}/${PREFIX}doc-05 > /tmp/stdout ; $VIEWER /tmp/stdout ; exit 0 ;;
"-a") cat /tmp/${PREFIX}doc > /tmp/stdout ; $VIEWER /tmp/stdout ; exit 0 ;;
esac
printf "Unknown argument: '$1'.\n"
exit 1

View file

@ -7,8 +7,8 @@ export DOCDIR="../docs" # Set documentation directory so that it will ALWAYS use
export USEPREFIX="false" # Set empty prefix
MKPAGE() {
./speedwm-help -whtml
./speedwm-help -whtml-wtemplate
./speedwm-help --generate-html
./speedwm-help --generate-page
cd ..
mv readme.temp.html readme.html
sed -i "s|/docs/preview.png|preview.png|g" readme.html
@ -25,13 +25,13 @@ PUSHPAGE() {
}
MKHTML() {
./speedwm-help -whtml
./speedwm-help --generate-html
cd ..
echo "Created readme.html"
}
MKMD() {
./speedwm-help -wmd
./speedwm-help --generate-markdown
cd ..
echo "Created README.md"
}

View file

@ -1,164 +0,0 @@
#!/bin/sh
# speedwm_run
# External script which starts speedwm!
# https://speedie.gq/speedwm for instructions and usage!
ARGS=$1
# No second argument is supported
if [ "$2" != "" ]; then
echo "Unknown argument: $2" ; exit 1
fi
HAVE_GRID="true"
if [ -e "$HOME/.config/speedwm/globalrc" ]; then
. $HOME/.config/speedwm/globalrc
else
mkdir -p $HOME/.config/speedwm
printf "HAVE_GRID=$HAVE_GRID # Whether or not to use the Grid argument. If you do not have the dmenu grid patch, set this to false. Doing so will disable grid." > $HOME/.config/speedwm/globalrc
fi
if [ "$HAVE_GRID" = "true" ]; then
GRIDNUM="1"
fi
if [ "$HAVE_GRID" = "true" ]; then
GRIDARG="-g"
fi
# Don't make config if asked not to.
if [ -e "$HOME/.local/share/speedwm/do-not-mkconfig" ]; then
DONOTMKCONFIG=true
else
DONOTMKCONFIG=false
fi
# Load .Xresources if available
XRESOURCES() {
if [ -e "$HOME/.Xresources" ]; then
if command -v xrdb > /dev/null; then
xrdb $HOME/.Xresources
fi
elif [ -e "$HOME/.config/.Xresources" ]; then
if command -v xrdb > /dev/null; then
xrdb $HOME/.config/.Xresources
fi
fi
}
# Load speedwm config, create if it does not exist.
LOADCONFIG() {
mkdir -p $HOME/.config/speedwm
if command -v xrdb > /dev/null; then
if [ "$DONOTMKCONFIG" = "false" ]; then
if [ -e "$HOME/.config/speedwm/speedwmrc" ]; then
xrdb -merge -quiet $HOME/.config/speedwm/speedwmrc
else
test /usr/share/speedwm/example.Xresources && sed "s| - ||g; s|!@||g" /usr/share/speedwm/example.Xresources > $HOME/.config/speedwm/speedwmrc && echo "Wrote example configuration file"
fi
fi
fi
}
# Load wallpaper config
LOADSWAL() {
if [ "$DONOTLOADCONFIG" = "true" ]; then
DONOTLOADCONFIG=true
else
if [ -e "$HOME/.config/speedwm/swal/swal_wm" ]; then
$HOME/.config/speedwm/swal/swal_wm > /dev/null
echo "Loaded wallpaper and pywal colors"
fi
fi
}
# Load colors
LOADCOLS() {
if [ "$DONOTLOADCONFIG" = "true" ]; then
DONOTLOADCONFIG=true
else
speedwm -s "#cmd:65" # reload colors
speedwm -s "Loading" # hide ugly signal
echo "Loaded colors"
fi
}
# Autostart
AUTOSTART() {
if [ -e "$HOME/.config/speedwm/autostart_once.sh" ]; then
$HOME/.config/speedwm/autostart_once.sh
fi
}
# Reset speedwm
RESET() {
if [ "$DONOTRELOAD" = "true" ]; then
DONOTRELOAD=true
else
speedwm -s "Loading" # To hide the ugly fsignal status
speedwm -s "#cmd:27" # Send fsignal to restart speedwm
speedwm -s "" # To hide the ugly fsignal status
fi
}
# Start speedwm itself
START_SPEEDWM() {
if [ "$ISSFLAG" = "" ]; then
while true; do
speedwm > /tmp/speedwm-log || exit
done
fi
}
# List of arguments
HELP() {
printf "speedwm_run\nNo arguments | Start speedwm using default options.\n\
-s | Start speedwm using either sx or startx. This does not require you to use a .xinitrc file. Simply install xinit/sx and run speedwm_run -s\n\
-noxrdb | Start speedwm without loading colors.\n\
-nomkconfig | Start speedwm without creating a config file (or loading it)\n\
-h | View this list of arguments\n\
-r | Restart speedwm and reload colors\n\
-loadconfig | Load and create config if it does not exist\n\
-unloadconfig | Unload the speedwm configuration\n\
-deleteconfig | Delete the speedwm configuration\n\
-rnoload | Restart speedwm without reloading colors\n\
-configure | Bring up a list of speedwm dotfiles in $RUNLAUNCHER and ask the user which one to open in \$EDITOR inside \$TERMINAL\n"
}
# Unload speedwm configuration
UNLOADCONFIG() {
if command -v xrdb > /dev/null; then
xrdb -remove speedwm* && echo "Unloaded configuration"
else
echo "Unable to unload configuration" ; exit 1
fi
}
# Delete speedwm configuration
DELETECONFIG() {
if [ -e "$HOME/.config/speedwm/speedwmrc" ]; then
rm -f $HOME/.config/speedwm/speedwmrc && echo "Deleted $HOME/.config/speedwm/speedwmrc."
else
echo "Failed to delete configuration file." ; exit 1
fi
}
case "$ARGS" in
"") XRESOURCES ; AUTOSTART ; LOADSWAL ; LOADCONFIG ; RESET ; START_SPEEDWM ; exit 0 ;;
"-s") ISSFLAG=true ; XRESOURCES ; AUTOSTART ; LOADSWAL ; LOADCONFIG ; RESET ; START_SPEEDWM ; exit 0 ;;
"-r") XRESOURCES ; LOADSWAL ; LOADCONFIG ; RESET ; echo "Restarted speedwm." ; exit 0 ;;
"-rcolors") XRESOURCES ; LOADSWAL ; LOADCONFIG ; LOADCOLS ; echo "Restarted speedwm." ; exit 0 ;;
"-rnoloadcolors") LOADCONFIG ; LOADCOLS ; echo "Restarted speedwm." ; exit 0 ;;
"-rnoload") RESET ; echo "Restarted speedwm." ; exit 0 ;;
"-h") HELP ; exit 0 ;;
"-loadconfig") LOADCONFIG ; exit 0 ;;
"-unloadconfig") UNLOADCONFIG ; RESET ; exit 0 ;;
"-deleteconfig") DELETECONFIG ; RESET ; exit 0 ;;
"-noxrdb") START_SPEEDWM ; exit 0 ;;
"-stop") pgrep -x speedwm && pkill -x speedwm && echo "speedwm has been stopped." ; exit
echo "speedwm is not running, cannot stop it." ; exit 1 ;;
"-nomkconfig") XRESOURCES ; AUTOSTART ; LOADSWAL ; RESET ; START_SPEEDWM ; exit 0 ;;
esac
exit 0

1242
speedwm.1 Normal file

File diff suppressed because it is too large Load diff