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+9 - Preview tag 9
- 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+, - Decrease bar padding and gaps by 1
- Super+Shift+/ - Reset bar padding and gaps
@ -192,9 +193,6 @@ Chained keybinds
- Super+t & o - Toggle inactive fade
- Super+t & r - Reset all bar modules
- 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 & 0 - Reset gaps
- Super+g & i - Increase inner gaps by 1

View file

@ -1,52 +1,57 @@
## Dependencies
### Required
These are absolutely necessary, speedwm will NOT compile without them
- libxft
- Used for rendering text
- pango
- Used to markup text
- libXinerama
- Used for multi-monitor support.
- 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.
- Used for 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.
- 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
- 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.
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
- dmenu is required for many keybinds included with this build of speedwm. It is also recommended that your build supports grids (-g argument)
- xrdb
- xrdb is used for external speedwm configuration (ie. after compiling). It is **not** mandatory if you don't need this.
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'.
### Software
This build of speedwm comes with keybinds for software.
You can add, change and remove keybinds by editing `keybinds.h` and `mouse.h` and running `make clean install`.
- libspeedwm
- Dependency for speedwm-extras allowing you to perform actions externally.
- speedwm-extras
- Important metapackage containing extra scripts that speedwm makes use of. (https://codeberg.org/speedie/speedwm-extras)
- st (Terminal)
- Chromium (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)
- st - Default terminal
- Chromium - Default web browser
- htop - Status monitor
- sfeed - RSS reader
- rssread - RSS frontend
- cmus - Music player
- Default status bar also has support for moc/mocp (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
- j4-dmenu-desktop - Listing .desktop entries
And everything under 'Features'.
And everything under `Features`.

View file

@ -3,6 +3,6 @@
## 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.

View file

@ -61,6 +61,7 @@ These keybinds are for navigating speedwm
- Super+Shift+8 - Preview tag 8
- Super+Shift+9 - Preview tag 9
- 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+, - Decrease bar padding and gaps by 1
- 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+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 the man page for speedwm in dmenu.
- 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
@ -123,8 +122,7 @@ These keybinds are for navigating speedwm
Chained keybinds
- Super+r & s - Run screenkey if it is installed
- Super+r & d - Kill screenkey
- Super+r & s - Run screenkey if its not running, otherwise kill it.
- 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
@ -135,9 +133,6 @@ Chained keybinds
- Super+t & o - Toggle inactive fade
- Super+t & r - Reset all bar modules
- 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 & 0 - Reset gaps
- Super+g & i - Increase inner gaps by 1

View file

@ -1,30 +1,10 @@
### **speedwm 1.8**
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.
### **speedwm 1.9**
### 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)
- 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)
- Version bump
### Installation
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 ;)

View file

@ -27,7 +27,7 @@
* Once you're done with your edits, run 'make clean install'.
*/
/* For terminal applications */
/* For terminal keybinds */
#define TERMINAL "st -e "
@ -51,7 +51,6 @@ static Key keys[] = {
/* Run keybinds */
{ 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|CONTROL|SHIFT, -1, XK_semicolon, spawn, cmd( "speedwm-applist" ) },
/* Application keybinds */
{ 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_r, spawn, cmd( TERMINAL "neomutt" ) },
{ 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_m, spawn, cmd( "pkill cmus" ) },
{ 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_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 */
{ KeyPress, MODIFIER1, -1, XK_o, hide, {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} },
/* Chained keybinds */
{ KeyPress, MODIFIER1, XK_c, XK_w, spawn, cmd( TERMINAL "speedwm-core -curl-weather" ) },
{ 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_r, XK_s, spawn, cmd( "pgrep -x screenkey && pkill screenkey || screenkey" ) },
{ KeyPress, MODIFIER1, XK_t, XK_r, reorganizetags, {0} },
{ KeyPress, MODIFIER1, XK_p, XK_t, togglebarpadding, {0} },
{ KeyPress, MODIFIER1, XK_p, XK_u, setbarpadding, {.i = +5 } },
@ -212,7 +211,8 @@ static Key keys[] = {
{ KeyPress, MODIFIER1, XK_t, XK_o, toggleopacity, {0} },
/* 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_r, spawn, cmd( "speedwm-swal --randomize" ) },
{ 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_Music, spawn, cmd( TERMINAL "tmux new-session -A -D -s cmus $(which --skip-alias cmus)" ) },
#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
Super+Shift+q - Close the current window
.IP \[bu] 2
Super+Shift+\ - Kill all clients except focused.
.IP \[bu] 2
Super+Shift+.
- Increase bar padding and gaps by 1
.IP \[bu] 2
@ -396,13 +398,6 @@ Super+t & r - Reset all bar modules
.IP \[bu] 2
Super+t & s - Make the current selected window sticky
.IP \[bu] 2
Super+c & w - Get the weather (Using wttr.in) using speedwm-core
(requires speedwm-extras)
.IP \[bu] 2
Super+c & n - Switch to the next track
.IP \[bu] 2
Super+c & p - Switch to the previous track
.IP \[bu] 2
Super+g & t - Toggle gaps
.IP \[bu] 2
Super+g & 0 - Reset gaps