/devour

X11 window swallower

Primary LanguageCGNU General Public License v2.0GPL-2.0

Devour: X11 Window Swallower

Devour hides your current window before launching an external program and unhides it after quitting.
Devour was inspired by sw and is a successor to devour.sh

Demonstration done by DistroTube

Dependencies

  • Xlib (client-side header files)

Installation

AUR

yay -S --noconfirm devour
# or
yay -S --noconfirm devour-git # Nightly

Git

git clone https://github.com/salman-abedin/devour.git && cd devour && sudo make install

Usage

devour CMD ...

Patches

  • Shell aliases. (ex. devour z FILE instead of devour zathura FILE)
cd devour
patch -s < devour-shellalias-10.0.diff    # Add the feature
patch -s -R < devour-shellalias-10.0.diff # Remove the feature
sudo make install                      # Reinstall

Pro Tip

Devour from your file explorer instead of the shell.
Watch my demo and notice how seamless it is compared to devouring from the shell.

Hint: If you are one of those unfortunate souls who uses xdg-open instead of a custom launch script, then go to your ~/.local/share/applications directory and modify the applications you launch from your file explorer like below and enjoy the true devouring experience.

[Desktop Entry]
Type=Application
Name=PDF Reader
Exec=/usr/local/bin/devour /usr/bin/zathura %U

Update

cd devour
git pull --no-rebase && sudo make install

Uninstallation

cd devour
sudo make uninstall

Logs

  • 21/06/20:- Added support for names with spaces

  • 07/07/20:- Added support for shell aliases

  • 03/08/20:- Rewrote the shellscript in C

  • 23/08/20:- Made additional features optional using patching

  • 08/11/20:- Added support for all unsafe characters

Contributors

TO-DOs

  • Authentic swallowing

Shameful Plug

Name Description
faint Extensible TUI fuzzy file explorer
bolt The launcher wrapper
uniblocks The status bar wrapper
tide Minimal Transmission CLI client
puri Minimal URL launcher
Magpie The dotfiles
Alfred The scripts

Contact

SalmanAbedin@disroot.org