My builds of suckless utilities (thanks for speedie for patches) https://alexisgaming95.neocities.org/projects
Go to file
2023-09-17 20:13:05 +08:00
config/spmenu Smaller font 2023-09-12 21:33:52 +08:00
dmenu Smaller font 2023-09-12 21:33:52 +08:00
dwm Update README 2023-09-17 20:13:05 +08:00
pics add screenshots 2023-09-06 23:14:24 +08:00
scripts Update README 2023-09-13 21:42:37 +08:00
sfm@1b5eeb0974 Add sfm submodule 2023-09-12 20:44:39 +08:00
slstatus Remove object and binaries 2023-09-08 10:02:27 +08:00
spmenu@625474875f Update submodule 2023-09-10 16:15:38 +08:00
st Breeze colorscheme 2023-09-08 21:36:45 +08:00
tabbed Replacing j4-dmenu-desktop submodule with spmenu 2023-09-08 19:09:59 +08:00
.gitmodules Add sfm submodule 2023-09-12 20:44:39 +08:00
CONTRIBUTING.md Rename CoNTRIBUTING.md to CoNTRIBUTING.md 2023-09-14 19:40:48 +08:00
LICENSE Wnhanced menu, new font, new patches, new color scheme 2023-09-06 21:05:38 +08:00
README.md Update README 2023-09-17 20:13:05 +08:00

Suckless Utilities version 6.3

Warning

This is an older version, maintained for archival. Check main for an updated version.

About

These are my builds of suckless software such as dwm and st. It's simple to compile these things.

Notes

Additionals are spmenu configs made by myself, as well as scripts for spmenu_run. If you prefer dmenu, it still exists, and could be launched via Win/Super/Cmd+Alt+S, while Win/Super/Cmd+S would launch spmenu_run -d by default (only with .desktop entries, while Win/Super/Cmd+Shift+S would launch spmenu_run in a similar fashion to dmenu.

Some user scripts are also included, which has it's own set of dependencies. For example, clipmenu-spmenu needs xsel and clipnotify. These are optional, however.

clipmenu-spmenu dependencies:
- xsel
- clipnotify (included on the folder)

screenshot-spmenu dependencies:
- curl
- xclip (X11)
- maim (X11)
- wayshot (Wayland)
- wl-clipboard (Wayland)
- slurp (Wayland)

wallpaper-spmenu dependencies:
- xwallpaper

Building

  1. Install necessary tools and libraries
Linux/Unix users:
- xorg (including drivers of course)
- base-devel (or build-essential/s)
- libX11(-devel or -dev)
- libXft(-devel or -dev) 
- libXinerama(-devel or -dev) 
- freetype(-devel or -dev) 
- fontconfig(-devel or -dev)
- Nerd Fonts (for slstatus)
- imlibs2(-devel or -dev)
- picom (for transparency)
- feh (optional)

Termux users:
- xorg 
- termux-X11 repo (via main Termux app)
- proot/chroot
- PulseAudio (if you like audio support)
- TigerVNC 
- VNC client
or
- XSDL client
or
- Termux:X11 (both apk and deb)

For spmenu:
- wayland-client(-devel or -dev, for Wayland support)
- wayland-scanner(-devel or -dev, for Wayland support)
- wayland-protocols(-devel or -dev, for Wayland support)
- xbcommon(-devel or -dev, for Wayland support)
- pango(-devel or -dev)
- cairo(-devel or -dev)
- libconfig(-devel or -dev)
- OpenSSL or libssl(-devel or -dev)
- meson
  1. Clone this repository (git clone --recurse-submodules)

  2. Change directory to what suckless software do you want to use

  3. Remove the config.h file, to make sure all patches are applied correctly

  4. Copy make clean install and paste it on your terminal

  5. Building the spmenu submodule included in this repo (by speedie) would strictly use meson as it's build system.

    1. For that, cd to the spmenu folder.
    2. Initialize setup via meson setup build. Pass -Dwayland-=false for disabling Wayland support.
    3. Run ninja -C build for building the binaries.
    4. Install via meson install -C build, and it'll prompt you if you would like to use sudo if not run as root.
  6. Insert dwm, slstatus and/or st inside your .xinitrc using your favorite text editor (usually located in /home/<username>/.xinitrc)

  7. Start it and done!

Current bugs

  • Taskbar not working properly (fixed in commit e9015f2 & 7085f9). Thanks, Speedie!
  • Unhiding a hidden window (using the show/hide function) and if it's the only program running, crashes dwm
  • Alt-tab crashes dwm altogther (idk man)

Future plans

  • Rebase the dwm build to dwm-flexipatch (maybe under a new branch with a VM debug environment?)
  • Integrate barmodules if the dwm-flexipatch rewrite did happen
  • Version jump from 6.3 -> 6.4
  • Potentially making this project into a desktop environment, when I feel it's ready to do so
  • Use spmenu-desktop-launcher if it's mature/usable, retaining spmenu_run for backwards compatibility with existing scripts

Patching even further

Patching everything is as easy as downloading the diff file, use the patch command and apply changes.

But, since this is a heavily patched version of everything, I wouldn't recommend patching even further unless if you know what you're doing.

How the versioning system works

Suckless Uilities (the whole package and not the individual components) are versioned under the current version of the repo's dwm. Even if dwm 6.4 releases, if the repo still uses dwm 6.3 for compatibility reasons, the whole package will be still be Suckless Utilities 6.3.

Licensing

All programs are licensed under the MIT License, which sucks, and worse than GNU GPL, but hey, it's better than proprietary code!

Screenshots

Screenshot of neofetch Screenshot of random applications (Spotify, Space Cadet Pinball, NCSA Mosaic)

Special thanks

  • Speedie for helping me out with this and providing me with patches
  • The suckless team for maintaining suckless software suck less

Mirrors