first
[dcc-suckless-config] / devour / README.md
1 # Devour: X11 Window Swallower
2
3 Devour hides your current window before launching an external program and unhides it after quitting.  
4 Devour was inspired by
5 [sw](https://github.com/ronniedroid/.dotfiles/blob/master/Scripts/sw)
6 and is a successor to
7 [devour.sh](https://github.com/salman-abedin/devour.sh)
8
9 ![](https://gitlab.com/salman-abedin/assets/-/raw/master/devour.gif)
10
11 # Demonstration done by [DistroTube](https://www.youtube.com/channel/UCVls1GmFKf6WlTraIb_IaJg)
12
13 [![](https://gitlab.com/salman-abedin/assets/-/raw/master/devour-dt.png)](https://www.youtube.com/watch?v=mBNLzHcUtTo&t=5m22s)
14
15 ## Dependencies
16
17 - Xlib (client-side header files)
18
19 ## Installation
20
21 #### AUR
22
23 ```sh
24 yay -S --noconfirm devour
25 # or
26 yay -S --noconfirm devour-git # Nightly
27 ```
28
29 #### Git
30
31 ```sh
32 git clone https://github.com/salman-abedin/devour.git && cd devour && sudo make install
33 ```
34
35 ## Usage
36
37 ```sh
38 devour CMD ...
39 ```
40
41 ## Patches
42
43 - **Shell aliases**. (ex. `devour z FILE` instead of `devour zathura FILE`)
44
45 ```sh
46 cd devour
47 patch -s < devour-shellalias-10.0.diff    # Add the feature
48 patch -s -R < devour-shellalias-10.0.diff # Remove the feature
49 sudo make install                      # Reinstall
50 ```
51
52 ## Pro Tip
53
54 **Devour from your file explorer instead of the shell.**  
55 Watch my demo and notice how seamless it is compared to devouring from the shell.
56
57 **Hint:** If you are one of those unfortunate souls who uses **xdg-open** instead of
58 [a custom launch script](https://gist.github.com/salman-abedin/6f52c52e465d89d489f9ea8d891c7332),
59 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.
60
61 ```
62 [Desktop Entry]
63 Type=Application
64 Name=PDF Reader
65 Exec=/usr/local/bin/devour /usr/bin/zathura %U
66 ```
67
68 ## Update
69
70 ```sh
71 cd devour
72 git pull --no-rebase && sudo make install
73 ```
74
75 ## Uninstallation
76
77 ```sh
78 cd devour
79 sudo make uninstall
80 ```
81
82 ## Logs
83
84 - **21/06/20**:- Added support for names with spaces
85
86 - **07/07/20**:- Added support for shell aliases
87
88 - **03/08/20**:- Rewrote the shellscript in C
89
90 - **23/08/20**:- Made additional features optional using patching
91
92 - **08/11/20**:- Added support for all unsafe characters
93
94 ## Contributors
95
96 - keni7385 (AUR package submitter/maintainer)
97
98 - [agnipau](https://github.com/agnipau)
99
100 - [HawaiinPizza](https://github.com/HawaiinPizza)
101
102 - [sbuller](https://github.com/sbuller)
103
104 - [AriaMoradi](https://github.com/AriaMoradi)
105
106 - [durcor](https://github.com/durcor)
107
108 ## TO-DOs
109
110 - Authentic swallowing
111
112 ---
113
114 ## Shameful Plug
115
116 | Name                                                    | Description                        |
117 | ------------------------------------------------------- | ---------------------------------- |
118 | [faint](https://github.com/salman-abedin/faint)         | Extensible TUI fuzzy file explorer |
119 | [bolt](https://github.com/salman-abedin/bolt)           | The launcher wrapper               |
120 | [uniblocks](https://github.com/salman-abedin/uniblocks) | The status bar wrapper             |
121 | [tide](https://github.com/salman-abedin/tide)           | Minimal Transmission CLI client    |
122 | [puri](https://github.com/salman-abedin/puri)           | Minimal URL launcher               |
123 | [Magpie](https://github.com/salman-abedin/magpie)       | The dotfiles                       |
124 | [Alfred](https://github.com/salman-abedin/alfred)       | The scripts                        |
125
126 ## Contact
127
128 SalmanAbedin@disroot.org