few updates

This commit is contained in:
speedie 2023-01-18 16:06:58 +01:00
parent a42466fad6
commit f7ef4ccd24
7 changed files with 52 additions and 84 deletions

View file

@ -118,6 +118,7 @@ These keybinds are for navigating speedwm
- Super+Shift+8 - Preview tag 8 - Super+Shift+8 - Preview tag 8
- Super+Shift+9 - Preview tag 9 - Super+Shift+9 - Preview tag 9
- Super+Shift+q - Close the current window - Super+Shift+q - Close the current window
- Super+Shift+\ - Kill all clients except focused.
- Super+Shift+. - Increase bar padding and gaps by 1 - Super+Shift+. - Increase bar padding and gaps by 1
- Super+Shift+, - Decrease bar padding and gaps by 1 - Super+Shift+, - Decrease bar padding and gaps by 1
- Super+Shift+/ - Reset bar padding and gaps - Super+Shift+/ - Reset bar padding and gaps
@ -192,9 +193,6 @@ Chained keybinds
- Super+t & o - Toggle inactive fade - Super+t & o - Toggle inactive fade
- Super+t & r - Reset all bar modules - Super+t & r - Reset all bar modules
- Super+t & s - Make the current selected window sticky - Super+t & s - Make the current selected window sticky
- 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 & t - Toggle gaps
- Super+g & 0 - Reset gaps - Super+g & 0 - Reset gaps
- Super+g & i - Increase inner gaps by 1 - Super+g & i - Increase inner gaps by 1

View file

@ -1,52 +1,57 @@
## Dependencies ## Dependencies
### Required
These are absolutely necessary, speedwm will NOT compile without them These are absolutely necessary, speedwm will NOT compile without them
- libxft - libxft
- Used for rendering text
- pango - pango
- Used to markup text
- libXinerama - libXinerama
- Used for multi-monitor support.
- Can be disabled through editing toggle.mk if you're not interested in multiple monitors. - Can be disabled through editing toggle.mk if you're not interested in multiple monitors.
- imlib2 - imlib2
- Tag previews, Window icons. Can be disabled through editing toggle.mk and toggle.h if you don't want these features. - Used for tag previews, window icons.
- Can be disabled through editing toggle.mk and toggle.h if you don't want these features.
- yajl - yajl
- Required for the IPC patch. If the IPC patch is disabled, you do not need this. - Used to interact with speedwm through a sock.
- Required for the IPC patch. If the IPC patch is disabled through toggle.mk and toggle.h, you do not need this.
- tcc - 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). - Very minimal C compiler that speedwm uses to greatly speed up compile times. If you do not want this dependency, edit host.mk and set CC to 'cc' (or what C99 compiler you prefer).
## Features ### Features
These are necessary for certain features and keybinds. 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. If you want to use an alternative, change it in options.h and/or keybinds.h and mouse.h.
- dmenu - dmenu
- NOTE: dmenu is required for most scripts included with this build of speedwm. My build is required for proper Pywal support. - dmenu is required for many keybinds included with this build of speedwm. It is also recommended that your build supports grids (-g argument)
- picom - xrdb
- Optional but speedwm looks sort of ugly without a compositor. - xrdb is used for external speedwm configuration (ie. after compiling). It is **not** mandatory if you don't need this.
- 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 ### Software
This build of speedwm comes with binds for software. This build of speedwm comes with keybinds for software.
You can add, change and remove keybinds by editing 'keybinds.h' and running 'make clean install'. You can add, change and remove keybinds by editing `keybinds.h` and `mouse.h` and running `make clean install`.
- libspeedwm - libspeedwm
- Dependency for speedwm-extras allowing you to perform actions externally.
- speedwm-extras - speedwm-extras
- Important metapackage containing extra scripts that speedwm makes use of. (https://codeberg.org/speedie/speedwm-extras) - Important metapackage containing extra scripts that speedwm makes use of. (https://codeberg.org/speedie/speedwm-extras)
- st (Terminal) - st - Default terminal
- Chromium (Web browser) - Chromium - Default web browser
- htop (Status monitor) - htop - Status monitor
- newsboat (RSS reader) - sfeed - RSS reader
- zathura (PDF reader) - rssread - RSS frontend
- cmus (Default music player) - cmus - Music player
- Default status bar also has support for moc (Music On Console) - Default status bar also has support for moc/mocp (Music On Console)
- neovim (Text editor) - neovim - Text editor
- neomutt (Email client) - neomutt - Email client
- lf (File manager) - lf - File manager
- slock (Lock screen) - slock - Lock screen
- weechat (IRC client) - weechat - IRC client
- tmux (Used for the music player and IRC client) - tmux - Used for the music player and IRC client
- j4-dmenu-desktop - Listing .desktop entries
And everything under 'Features'. And everything under `Features`.

View file

@ -3,6 +3,6 @@
## 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). speedwm is a window manager forked from 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. 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't have to move his hands much but there are also mouse binds and more can be added by the user if desired. Just like dwm, speedwm also tries to be minimal but also has functionality and aesthetics as a goal. 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't have to move his hands much but there are also mouse binds and more can be added by the user if desired.

View file

@ -61,6 +61,7 @@ These keybinds are for navigating speedwm
- Super+Shift+8 - Preview tag 8 - Super+Shift+8 - Preview tag 8
- Super+Shift+9 - Preview tag 9 - Super+Shift+9 - Preview tag 9
- Super+Shift+q - Close the current window - Super+Shift+q - Close the current window
- Super+Shift+\ - Kill all clients except focused.
- Super+Shift+. - Increase bar padding and gaps by 1 - Super+Shift+. - Increase bar padding and gaps by 1
- Super+Shift+, - Decrease bar padding and gaps by 1 - Super+Shift+, - Decrease bar padding and gaps by 1
- Super+Shift+/ - Reset bar padding and gaps - Super+Shift+/ - Reset bar padding and gaps
@ -91,12 +92,10 @@ These keybinds are for navigating speedwm
- Super+Control+j/k - Move focus between hidden windows (Can then 'Show') - 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+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+Tab - Open a dmenu prompt asking the user what layout to switch to
- Super+Control+h - Open the man page for speedwm in dmenu.
- Super+Control+o - Show a hidden focused window - Super+Control+o - Show a hidden focused window
- Super+Control+a/d - Move to the next/previous tag - Super+Control+a/d - Move to the next/previous tag
- Super+Control+Shift+o - Show all hidden windows - Super+Control+Shift+o - Show all hidden windows
- Super+Control+Shift+p - Hide all 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+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+a/d - Move between available layouts
- Super+Control+Shift+1 - Move the focused window to tag 1 - Super+Control+Shift+1 - Move the focused window to tag 1
@ -123,8 +122,7 @@ These keybinds are for navigating speedwm
Chained keybinds Chained keybinds
- Super+r & s - Run screenkey if it is installed - Super+r & s - Run screenkey if its not running, otherwise kill it.
- Super+r & d - Kill screenkey
- Super+t & r - Reorganize tags and move windows - Super+t & r - Reorganize tags and move windows
- Super+t & t - Toggle tag area in the bar - Super+t & t - Toggle tag area in the bar
- Super+t & y - Toggle empty tag area in the bar - Super+t & y - Toggle empty tag area in the bar
@ -135,9 +133,6 @@ Chained keybinds
- Super+t & o - Toggle inactive fade - Super+t & o - Toggle inactive fade
- Super+t & r - Reset all bar modules - Super+t & r - Reset all bar modules
- Super+t & s - Make the current selected window sticky - Super+t & s - Make the current selected window sticky
- 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 & t - Toggle gaps
- Super+g & 0 - Reset gaps - Super+g & 0 - Reset gaps
- Super+g & i - Increase inner gaps by 1 - Super+g & i - Increase inner gaps by 1

View file

@ -1,30 +1,10 @@
### **speedwm 1.8** ### **speedwm 1.9**
Massive update this time, which is also a downgrade in a few ways.. ..for the time being. I plan on fixing these shortcomings in 1.9.
Reason for the massive version bump is simple; massive changes deserve a massive bump. (104+ commits since 1.5.1, 2723+ additions, 2301+ deletions)
I'm sure I'm going to miss a few things in this changelog, so see commit history for more information.
### Changelog ### Changelog
- Implement modified barmodules (don't confuse this with bartoggle or the status modules) which allows you to move each module of the bar around. This is also going to solve **all** mouse/bar related problems with ease. [Source](https://github.com/bakkeby/patches) - Version bump
- Implement powerlines for the status bar.
- Rewrite bartoggle to work well with barmodules.
- Implement new centerwindow patch, which centers the focused window with a keybind.
- Clean up warnings GCC will spit out. There are still a few but we mainly use tcc so it doesn't really matter.
- Change default browser to Chromium.
- Add credits (see man page/readme).
- Disable and remove mouse previews, they're honestly more annoying and buggy than useful. Of course you can still preview tags using your keyboard.
- Update preview image
- Add option to center the title.
- Add window mapping/unmapping effects for users with a compositor. Picom can be used to change/manipulate these.
- Update inaccurate speedwm-help information
- Remove huge amount of comments that are unnecessary, why not redirect to the man page instead?
- Update status modules, you can now have different icons depending on volume/battery level.
- Remove old toggle that does absolutely nothing.
- Various other bugfixes (see commit history)
### Installation ### Installation
Nothing has changed with the installation since last release, simply download and unpack the tarball, and `make clean install` as root. Nothing has changed with the installation since last release, simply download and unpack the tarball, and `make clean install` as root.
- If you are on Gentoo, you can install both x11-wm/speedwm, x11-wm/libspeedwm and x11-wm/speedwm-extras by adding my overlay. - If you are on Gentoo, you can install x11-wm/speedwm, x11-wm/libspeedwm and x11-wm/speedwm-extras by adding my overlay.
- I plan on writing an Arch AUR package eventually, but please feel free to do my job ;) - I plan on writing an Arch AUR package eventually, but please feel free to do my job ;)

View file

@ -27,7 +27,7 @@
* Once you're done with your edits, run 'make clean install'. * Once you're done with your edits, run 'make clean install'.
*/ */
/* For terminal applications */ /* For terminal keybinds */
#define TERMINAL "st -e " #define TERMINAL "st -e "
@ -51,7 +51,6 @@ static Key keys[] = {
/* Run keybinds */ /* Run keybinds */
{ KeyPress, MODIFIER1, -1, XK_semicolon, spawn, cmd( "j4-dmenu-desktop --term=st --dmenu='dmenu -l 20 -p Open:'" ) }, { KeyPress, MODIFIER1, -1, XK_semicolon, spawn, cmd( "j4-dmenu-desktop --term=st --dmenu='dmenu -l 20 -p Open:'" ) },
{ KeyPress, MODIFIER1|SHIFT, -1, XK_semicolon, spawn, cmd( "dmenu_run -l 0 -p 'Run:'" ) }, { KeyPress, MODIFIER1|SHIFT, -1, XK_semicolon, spawn, cmd( "dmenu_run -l 0 -p 'Run:'" ) },
{ KeyPress, MODIFIER1|CONTROL|SHIFT, -1, XK_semicolon, spawn, cmd( "speedwm-applist" ) },
/* Application keybinds */ /* Application keybinds */
{ KeyPress, MODIFIER1|SHIFT, -1, XK_Return, spawn, cmd( TERMINAL ) }, { KeyPress, MODIFIER1|SHIFT, -1, XK_Return, spawn, cmd( TERMINAL ) },
@ -70,7 +69,6 @@ static Key keys[] = {
{ KeyPress, MODIFIER1|SHIFT, -1, XK_u, spawn, cmd( TERMINAL "rssread" ) }, { KeyPress, MODIFIER1|SHIFT, -1, XK_u, spawn, cmd( TERMINAL "rssread" ) },
{ KeyPress, MODIFIER1|SHIFT, -1, XK_r, spawn, cmd( TERMINAL "neomutt" ) }, { KeyPress, MODIFIER1|SHIFT, -1, XK_r, spawn, cmd( TERMINAL "neomutt" ) },
{ KeyPress, MODIFIER1|CONTROL, -1, XK_Tab, spawn, cmd( "speedwm-utils layout" ) }, { KeyPress, MODIFIER1|CONTROL, -1, XK_Tab, spawn, cmd( "speedwm-utils layout" ) },
{ KeyPress, MODIFIER1|CONTROL, -1, XK_h, spawn, cmd( TERMINAL "man speedwm" ) },
{ KeyPress, MODIFIER1|CONTROL, -1, XK_s, spawn, cmd( "speedwm-screenshotutil -f" ) }, { KeyPress, MODIFIER1|CONTROL, -1, XK_s, spawn, cmd( "speedwm-screenshotutil -f" ) },
{ KeyPress, MODIFIER1|CONTROL, -1, XK_m, spawn, cmd( "pkill cmus" ) }, { KeyPress, MODIFIER1|CONTROL, -1, XK_m, spawn, cmd( "pkill cmus" ) },
{ KeyPress, MODIFIER1|CONTROL, -1, XK_q, spawn, cmd( "speedwm-audioctrl -mute" ) }, { KeyPress, MODIFIER1|CONTROL, -1, XK_q, spawn, cmd( "speedwm-audioctrl -mute" ) },
@ -180,6 +178,11 @@ static Key keys[] = {
{ KeyPress, MODIFIER1|CONTROL|SHIFT, -1, XK_z, viewtoleft_vacant, {0} }, { KeyPress, MODIFIER1|CONTROL|SHIFT, -1, XK_z, viewtoleft_vacant, {0} },
{ KeyPress, MODIFIER1|CONTROL|SHIFT, -1, XK_c, viewtoright_vacant, {0} }, { KeyPress, MODIFIER1|CONTROL|SHIFT, -1, XK_c, viewtoright_vacant, {0} },
/* Marking */
{ KeyPress, MODIFIER1, -1, XK_bracketleft, swapfocus, {0} },
{ KeyPress, MODIFIER1, -1, XK_bracketright, swapclient, {0} },
{ KeyPress, MODIFIER1, -1, XK_backslash, togglemark, {0} },
/* Hide/Show keybinds */ /* Hide/Show keybinds */
{ KeyPress, MODIFIER1, -1, XK_o, hide, {0} }, { KeyPress, MODIFIER1, -1, XK_o, hide, {0} },
{ KeyPress, MODIFIER1|CONTROL, -1, XK_o, show, {0} }, { KeyPress, MODIFIER1|CONTROL, -1, XK_o, show, {0} },
@ -187,11 +190,7 @@ static Key keys[] = {
{ KeyPress, MODIFIER1|CONTROL|SHIFT, -1, XK_p, hideall, {0} }, { KeyPress, MODIFIER1|CONTROL|SHIFT, -1, XK_p, hideall, {0} },
/* Chained keybinds */ /* Chained keybinds */
{ KeyPress, MODIFIER1, XK_c, XK_w, spawn, cmd( TERMINAL "speedwm-core -curl-weather" ) }, { KeyPress, MODIFIER1, XK_r, XK_s, spawn, cmd( "pgrep -x screenkey && pkill screenkey || screenkey" ) },
{ KeyPress, MODIFIER1, XK_c, XK_n, spawn, cmd( "cmus-remote --next" ) },
{ KeyPress, MODIFIER1, XK_c, XK_p, spawn, cmd( "cmus-remote --prev" ) },
{ KeyPress, MODIFIER1, XK_r, XK_s, spawn, cmd( "screenkey" ) },
{ KeyPress, MODIFIER1, XK_r, XK_d, spawn, cmd( "pkill screenkey" ) },
{ KeyPress, MODIFIER1, XK_t, XK_r, reorganizetags, {0} }, { KeyPress, MODIFIER1, XK_t, XK_r, reorganizetags, {0} },
{ KeyPress, MODIFIER1, XK_p, XK_t, togglebarpadding, {0} }, { KeyPress, MODIFIER1, XK_p, XK_t, togglebarpadding, {0} },
{ KeyPress, MODIFIER1, XK_p, XK_u, setbarpadding, {.i = +5 } }, { KeyPress, MODIFIER1, XK_p, XK_u, setbarpadding, {.i = +5 } },
@ -212,7 +211,8 @@ static Key keys[] = {
{ KeyPress, MODIFIER1, XK_t, XK_o, toggleopacity, {0} }, { KeyPress, MODIFIER1, XK_t, XK_o, toggleopacity, {0} },
/* Misc */ /* Misc */
{ KeyPress, MODIFIER1, XK_q, XK_o, killunsel, {0} }, { KeyPress, MODIFIER1|SHIFT, -1, XK_backslash, killunsel, {0} },
{ KeyPress, MODIFIER1|SHIFT, XK_e, XK_p, spawn, cmd( "speedwm-swal --previous" ) }, { KeyPress, MODIFIER1|SHIFT, XK_e, XK_p, spawn, cmd( "speedwm-swal --previous" ) },
{ KeyPress, MODIFIER1|SHIFT, XK_e, XK_r, spawn, cmd( "speedwm-swal --randomize" ) }, { KeyPress, MODIFIER1|SHIFT, XK_e, XK_r, spawn, cmd( "speedwm-swal --randomize" ) },
{ KeyPress, MODIFIER1|SHIFT, XK_e, XK_a, spawn, cmd( "speedwm-virtualkeyboard" ) }, { KeyPress, MODIFIER1|SHIFT, XK_e, XK_a, spawn, cmd( "speedwm-virtualkeyboard" ) },
@ -249,9 +249,4 @@ static Key keys[] = {
{ KeyPress, 0, -1, XF86XK_WLAN, spawn, cmd( "speedwm-netctrl disconnect" ) }, { KeyPress, 0, -1, XF86XK_WLAN, spawn, cmd( "speedwm-netctrl disconnect" ) },
{ KeyPress, 0, -1, XF86XK_Music, spawn, cmd( TERMINAL "tmux new-session -A -D -s cmus $(which --skip-alias cmus)" ) }, { KeyPress, 0, -1, XF86XK_Music, spawn, cmd( TERMINAL "tmux new-session -A -D -s cmus $(which --skip-alias cmus)" ) },
#endif #endif
/* Marking */
{ KeyPress, MODIFIER1, -1, XK_bracketleft, swapfocus, {0} },
{ KeyPress, MODIFIER1, -1, XK_bracketright, swapclient, {0} },
{ KeyPress, MODIFIER1, -1, XK_backslash, togglemark, {0} },
}; };

View file

@ -245,6 +245,8 @@ Super+Shift+9 - Preview tag 9
.IP \[bu] 2 .IP \[bu] 2
Super+Shift+q - Close the current window Super+Shift+q - Close the current window
.IP \[bu] 2 .IP \[bu] 2
Super+Shift+\ - Kill all clients except focused.
.IP \[bu] 2
Super+Shift+. Super+Shift+.
- Increase bar padding and gaps by 1 - Increase bar padding and gaps by 1
.IP \[bu] 2 .IP \[bu] 2
@ -396,13 +398,6 @@ Super+t & r - Reset all bar modules
.IP \[bu] 2 .IP \[bu] 2
Super+t & s - Make the current selected window sticky Super+t & s - Make the current selected window sticky
.IP \[bu] 2 .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 Super+g & t - Toggle gaps
.IP \[bu] 2 .IP \[bu] 2
Super+g & 0 - Reset gaps Super+g & 0 - Reset gaps