mirror of
https://github.com/mintycube/dotfiles.git
synced 2024-10-22 14:05:41 +02:00
Update readmes for suckless software
This commit is contained in:
parent
80c6957729
commit
d990a93487
24
.config/suckless/dmenu/README.md
Normal file
24
.config/suckless/dmenu/README.md
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# dmenu
|
||||||
|
|
||||||
|
This build of dmenu was generated using [dmenu-flexipatch](https://github.com/bakkeby/dmenu-flexipatch.git) and finalized by [flexipatch-finalizer](https://github.com/bakkeby/flexipatch-finalizer).
|
||||||
|
|
||||||
|
## Patches
|
||||||
|
|
||||||
|
The patches used are listed below:
|
||||||
|
|
||||||
|
- border [link](http://tools.suckless.org/dmenu/patches/border)
|
||||||
|
- center [link](https://tools.suckless.org/dmenu/patches/center)
|
||||||
|
- ctrl_v to paste
|
||||||
|
- fuzzymatch [link](https://tools.suckless.org/dmenu/patches/fuzzymatch)
|
||||||
|
- fzfexpect [link](https://github.com/DAFF0D11/dafmenu) [link](https://github.com/DAFF0D11/dafmenu/blob/master/patches/dmenu-fzfexpect-5.1.diff)
|
||||||
|
- grid [link](https://tools.suckless.org/dmenu/patches/grid)
|
||||||
|
- gridnav [link](https://tools.suckless.org/dmenu/patches/gridnav)
|
||||||
|
- instant [link](https://tools.suckless.org/dmenu/patches/instant)
|
||||||
|
- line height [link](http://tools.suckless.org/dmenu/patches/line-height)
|
||||||
|
- mouse support [link](https://tools.suckless.org/dmenu/patches/mouse-support)
|
||||||
|
- password [link](https://tools.suckless.org/dmenu/patches/password)
|
||||||
|
- scroll [link](https://tools.suckless.org/dmenu/patches/scroll)
|
||||||
|
- tsv [link](https://tools.suckless.org/dmenu/patches/tsv)
|
||||||
|
- vertfull [link](https://tools.suckless.org/dmenu/patches/vertfull)
|
||||||
|
- xresources [link](https://tools.suckless.org/dmenu/patches/xresources)
|
||||||
|
- xyw [link](https://tools.suckless.org/dmenu/patches/xyw)
|
@ -1,7 +1,41 @@
|
|||||||
# dwm - dynamic window manager
|
# dwm - dynamic window manager
|
||||||
|
|
||||||
This is my configuration for dwm generated by the awesome [dwm flexipatch](https://github.com/mintycube/dwm-flexipatch) and finalized by [flexipatch-finalizer]().
|
This build of dwm was generated using [dwm-flexipatch](https://github.com/bakkeby/dwm-flexipatch.git) and finalized by [flexipatch-finalizer](https://github.com/bakkeby/flexipatch-finalizer).
|
||||||
|
|
||||||
## Patches
|
## Patches
|
||||||
|
|
||||||
The patches used and the accompanying documentation is listed below:
|
The patches used are listed below:
|
||||||
|
|
||||||
|
- bar_dwmblocks
|
||||||
|
- bar_ltsymbol
|
||||||
|
- bar_status
|
||||||
|
- bar_statusbutton
|
||||||
|
- bar_statuscmd
|
||||||
|
- bar_status2d
|
||||||
|
- bar_status2d_xrdb_termcolors
|
||||||
|
- bar_tags
|
||||||
|
- bar_hidevacanttags
|
||||||
|
- center
|
||||||
|
- cool_autostart
|
||||||
|
- fakefullscreen_client
|
||||||
|
- focusdir
|
||||||
|
- focusfollowmouse
|
||||||
|
- monoclesymbol
|
||||||
|
- noborder
|
||||||
|
- nodmenu
|
||||||
|
- no_transparent_borders
|
||||||
|
- on_empty_keys
|
||||||
|
- pertag
|
||||||
|
- restartsig
|
||||||
|
- rotatestack
|
||||||
|
- scratchpads
|
||||||
|
- scratchpads_keep_position_and_size
|
||||||
|
- seamless_restart
|
||||||
|
- shiftboth
|
||||||
|
- shiftview_clients
|
||||||
|
- tapresize
|
||||||
|
- toggletag
|
||||||
|
- transfer
|
||||||
|
- xrdb
|
||||||
|
- tile_layout
|
||||||
|
- monocle_layout
|
||||||
|
@ -1,163 +1,4 @@
|
|||||||
# dwmblocks-async
|
# dwmblocks
|
||||||
|
|
||||||
A [`dwm`](https://dwm.suckless.org) status bar that has a modular, async
|
Lightweight, Modular and Async status bar for [dwm](https://dwm.suckless.org)
|
||||||
design, so it is always responsive. Imagine `i3blocks`, but for `dwm`.
|
Borrowed from [dwmblocks-async](https://github.com/UtkarshVerma/dwmblocks-async)
|
||||||
|
|
||||||
![A lean config of dwmblocks-async.](preview.png)
|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
- [Modular](#modifying-the-blocks)
|
|
||||||
- Lightweight
|
|
||||||
- [Suckless](https://suckless.org/philosophy)
|
|
||||||
- Blocks:
|
|
||||||
- [Clickable](#clickable-blocks)
|
|
||||||
- Loaded asynchronously
|
|
||||||
- [Updates can be externally triggered](#signalling-changes)
|
|
||||||
- Compatible with `i3blocks` scripts
|
|
||||||
|
|
||||||
> Additionally, this build of `dwmblocks` is more optimized and fixes the
|
|
||||||
> flickering of the status bar when scrolling.
|
|
||||||
|
|
||||||
## Why `dwmblocks`?
|
|
||||||
|
|
||||||
In `dwm`, you have to set the status bar through an infinite loop, like so:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
while :; do
|
|
||||||
xsetroot -name "$(date)"
|
|
||||||
sleep 30
|
|
||||||
done
|
|
||||||
```
|
|
||||||
|
|
||||||
This is inefficient when running multiple commands that need to be updated at
|
|
||||||
different frequencies. For example, to display an unread mail count and a clock
|
|
||||||
in the status bar:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
while :; do
|
|
||||||
xsetroot -name "$(mailCount) $(date)"
|
|
||||||
sleep 60
|
|
||||||
done
|
|
||||||
```
|
|
||||||
|
|
||||||
Both are executed at the same rate, which is wasteful. Ideally, the mail
|
|
||||||
counter would be updated every thirty minutes, since there's a limit to the
|
|
||||||
number of requests I can make using Gmail's APIs (as a free user).
|
|
||||||
|
|
||||||
`dwmblocks` allows you to divide the status bar into multiple blocks, each of
|
|
||||||
which can be updated at its own interval. This effectively addresses the
|
|
||||||
previous issue, because the commands in a block are only executed once within
|
|
||||||
that time frame.
|
|
||||||
|
|
||||||
## Why `dwmblocks-async`?
|
|
||||||
|
|
||||||
The magic of `dwmblocks-async` is in the `async` part. Since vanilla
|
|
||||||
`dwmblocks` executes the commands of each block sequentially, it leads to
|
|
||||||
annoying freezes. In cases where one block takes several seconds to execute,
|
|
||||||
like in the mail and date blocks example from above, the delay is clearly
|
|
||||||
visible. Fire up a new instance of `dwmblocks` and you'll see!
|
|
||||||
|
|
||||||
With `dwmblocks-async`, the computer executes each block asynchronously
|
|
||||||
(simultaneously).
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
Clone this repository, modify `config.h` appropriately, then compile the
|
|
||||||
program:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
git clone https://github.com/UtkarshVerma/dwmblocks-async.git
|
|
||||||
cd dwmblocks-async
|
|
||||||
vi config.h
|
|
||||||
sudo make install
|
|
||||||
```
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
To set `dwmblocks-async` as your status bar, you need to run it as a background
|
|
||||||
process on startup. One way is to add the following to `~/.xinitrc`:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
# The binary of `dwmblocks-async` is named `dwmblocks`
|
|
||||||
dwmblocks &
|
|
||||||
```
|
|
||||||
|
|
||||||
### Modifying the blocks
|
|
||||||
|
|
||||||
You can define your status bar blocks in `config.h`:
|
|
||||||
|
|
||||||
```c
|
|
||||||
#define BLOCKS(X) \
|
|
||||||
...
|
|
||||||
X("volume", 0, 5), \
|
|
||||||
X("date", 1800, 1), \
|
|
||||||
...
|
|
||||||
```
|
|
||||||
|
|
||||||
Each block has the following properties:
|
|
||||||
|
|
||||||
| Property | Description |
|
|
||||||
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
||||||
| Command | The command you wish to execute in your block. |
|
|
||||||
| Update interval | Time in seconds, after which you want the block to update. If `0`, the block will never be updated. |
|
|
||||||
| Update signal | Signal to be used for triggering the block. Must be a positive integer. If `0`, a signal won't be set up for the block and it will be unclickable. |
|
|
||||||
|
|
||||||
Apart from defining the blocks, features can be toggled through `config.h`:
|
|
||||||
|
|
||||||
```c
|
|
||||||
// String used to delimit block outputs in the status.
|
|
||||||
#define DELIMITER " "
|
|
||||||
|
|
||||||
// Maximum number of Unicode characters that a block can output.
|
|
||||||
#define MAX_BLOCK_OUTPUT_LENGTH 45
|
|
||||||
|
|
||||||
// Control whether blocks are clickable.
|
|
||||||
#define CLICKABLE_BLOCKS 1
|
|
||||||
|
|
||||||
// Control whether a leading delimiter should be prepended to the status.
|
|
||||||
#define LEADING_DELIMITER 0
|
|
||||||
|
|
||||||
// Control whether a trailing delimiter should be appended to the status.
|
|
||||||
#define TRAILING_DELIMITER 0
|
|
||||||
```
|
|
||||||
|
|
||||||
### Signalling changes
|
|
||||||
|
|
||||||
Most status bars constantly rerun all scripts every few seconds. This is an
|
|
||||||
option here, but a superior choice is to give your block a signal through which
|
|
||||||
you can indicate it to update on relevant event, rather than have it rerun
|
|
||||||
idly.
|
|
||||||
|
|
||||||
For example, the volume block has the update signal `5` by default. I run
|
|
||||||
`kill -39 $(pidof dwmblocks)` alongside my volume shortcuts in `dwm` to only
|
|
||||||
update it when relevant. Just add `34` to your signal number! You could also
|
|
||||||
run `pkill -RTMIN+5 dwmblocks`, but it's slower.
|
|
||||||
|
|
||||||
To refresh all the blocks, run `kill -10 $(pidof dwmblocks)` or
|
|
||||||
`pkill -SIGUSR1 dwmblocks`.
|
|
||||||
|
|
||||||
> All blocks must have different signal numbers!
|
|
||||||
|
|
||||||
### Clickable blocks
|
|
||||||
|
|
||||||
Like `i3blocks`, this build allows you to build in additional actions into your
|
|
||||||
scripts in response to click events. You can check out
|
|
||||||
[my status bar scripts](https://github.com/UtkarshVerma/dotfiles/tree/main/.local/bin/statusbar)
|
|
||||||
as references for using the `$BLOCK_BUTTON` variable.
|
|
||||||
|
|
||||||
To use this feature, define the `CLICKABLE_BLOCKS` feature macro in your
|
|
||||||
`config.h`:
|
|
||||||
|
|
||||||
```c
|
|
||||||
#define CLICKABLE_BLOCKS 1
|
|
||||||
```
|
|
||||||
|
|
||||||
Apart from that, you need `dwm` to be patched with
|
|
||||||
[statuscmd](https://dwm.suckless.org/patches/statuscmd/).
|
|
||||||
|
|
||||||
## Credits
|
|
||||||
|
|
||||||
This work would not have been possible without
|
|
||||||
[Luke's build of dwmblocks](https://github.com/LukeSmithxyz/dwmblocks) and
|
|
||||||
[Daniel Bylinka's statuscmd patch](https://dwm.suckless.org/patches/statuscmd/).
|
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 53 KiB |
@ -1,29 +1,30 @@
|
|||||||
# st - simple terminal
|
# st - simple terminal
|
||||||
|
|
||||||
This build of st was generated by using [st-flexipatch] and finalized by [flexipatch-finalizer].
|
This build of st was generated using [st-flexipatch](https://github.com/bakkeby/st-flexipatch.git) and finalized by [flexipatch-finalizer](https://github.com/bakkeby/flexipatch-finalizer).
|
||||||
|
|
||||||
## Patches
|
## Patches
|
||||||
|
|
||||||
The patches used are listed below:
|
The patches used are listed below:
|
||||||
- alpha
|
|
||||||
- blinking cursor
|
- alpha [link](https://st.suckless.org/patches/alpha)
|
||||||
- bold is not bright
|
- blinking cursor [link](https://st.suckless.org/patches/blinking_cursor)
|
||||||
- boxdraw
|
- bold is not bright [link](https://st.suckless.org/patches/bold-is-not-bright)
|
||||||
- clipboard
|
- boxdraw [link](https://st.suckless.org/patches/boxdraw)
|
||||||
- externalpipe
|
- clipboard [link](https://st.suckless.org/patches/clipboard)
|
||||||
- font2
|
- externalpipe [link](https://st.suckless.org/patches/externalpipe)
|
||||||
- hidecursor
|
- font2 [link](https://st.suckless.org/patches/font2)
|
||||||
- hide terminal cursor
|
- hidecursor [link](https://st.suckless.org/patches/hidecursor)
|
||||||
- invert
|
- hide terminal cursor [link](https://www.reddit.com/r/suckless/comments/nvee8h/how_to_hide_cursor_in_st_is_there_a_patch_for_it)
|
||||||
- iso14755
|
- invert [link](https://st.suckless.org/patches/invert)
|
||||||
- ligatures
|
- iso14755 [link](https://st.suckless.org/patches/iso14755)
|
||||||
- newterm
|
- ligatures [link](https://st.suckless.org/patches/ligatures)
|
||||||
|
- newterm [link](https://st.suckless.org/patches/newterm)
|
||||||
- reflow
|
- reflow
|
||||||
- rightclicktoplumb
|
- rightclicktoplumb [link](https://st.suckless.org/patches/right_click_to_plumb)
|
||||||
- scrollback
|
- scrollback [link](https://st.suckless.org/patches/scrollback)
|
||||||
- scrollback mouse altscreen
|
- scrollback mouse altscreen [link](https://st.suckless.org/patches/scrollback)
|
||||||
- swapmouse
|
- swapmouse [link](https://st.suckless.org/patches/swapmouse)
|
||||||
- use xftfontmatch
|
- use xftfontmatch [link](https://git.suckless.org/st/commit/528241aa3835e2f1f052abeeaf891737712955a0.html)
|
||||||
- wide glyphs
|
- wide glyphs [link](https://github.com/Dreomite/st/commit/e3b821dcb3511d60341dec35ee05a4a0abfef7f2) [link](https://www.reddit.com/r/suckless/comments/jt90ai/update_support_for_proper_glyph_rendering_in_st)
|
||||||
- xresources
|
- xresources [link](https://st.suckless.org/patches/xresources)
|
||||||
- xresources reload
|
- xresources reload
|
||||||
|
@ -7,17 +7,17 @@ Here are some details about this setup:
|
|||||||
|
|
||||||
- **OS**: EndeavourOS
|
- **OS**: EndeavourOS
|
||||||
- **Login Manager**: None
|
- **Login Manager**: None
|
||||||
- **WM**: [dwm](https://github.com/mintycube/dotfiles/tree/dwm/.config/suckless/dwm)
|
- **WM**: [dwm](https://github.com/mintycube/dotfiles/tree/main/.config/suckless/dwm)
|
||||||
- **Bar**: [dwmblocks](https://github.com/mintycube/dotfiles/tree/dwm/.config/suckless/dwmblocks)
|
- **Bar**: [dwmblocks](https://github.com/mintycube/dotfiles/tree/main/.config/suckless/dwmblocks)
|
||||||
- **Compositor**: [picom](https://github.com/yshui/picom)
|
- **Compositor**: [picom](https://github.com/yshui/picom)
|
||||||
- **Cursor-theme** = [Bibata-Modern-Ice](https://github.com/ful1e5/Bibata_Cursor)
|
- **Cursor-theme** = [Bibata-Modern-Ice](https://github.com/ful1e5/Bibata_Cursor)
|
||||||
- **Shell**: [zsh](https://wiki.archlinux.org/index.php/Zsh) + [zsh4humans](https://github.com/romkatv/zsh4humans)
|
- **Shell**: [zsh](https://wiki.archlinux.org/index.php/Zsh) + [zsh4humans](https://github.com/romkatv/zsh4humans)
|
||||||
- **Terminal**: [st](https://github.com/mintycube/dotfiles/tree/dwm/.config/suckless/st)
|
- **Terminal**: [st](https://github.com/mintycube/dotfiles/tree/main/.config/suckless/st)
|
||||||
- **Font**: JetBrainsMono Nerd Font
|
- **Font**: JetBrainsMono Nerd Font
|
||||||
- **Editor**: [Neovim](https://github.com/mintycube/dotfiles/tree/dwm/.config/nvim)
|
- **Editor**: [Neovim](https://github.com/mintycube/dotfiles/tree/dwm/.config/nvim)
|
||||||
- **File Manager**: [lf](https://github.com/gokcehan/lf) + [ctpv](https://github.com/NikitaIvanovV/ctpv)
|
- **File Manager**: [lf](https://github.com/gokcehan/lf) + [ctpv](https://github.com/NikitaIvanovV/ctpv)
|
||||||
- **Browser**: Firefox
|
- **Browser**: Firefox
|
||||||
- **Menu**: [dmenu](https://github.com/mintycube/dotfiles/tree/dwm/.config/suckless/dmenu)
|
- **Menu**: [dmenu](https://github.com/mintycube/dotfiles/tree/main/.config/suckless/dmenu)
|
||||||
- **Image-viewer** = [nsxiv](https://github.com/nsxiv/nsxiv)
|
- **Image-viewer** = [nsxiv](https://github.com/nsxiv/nsxiv)
|
||||||
- **Music-player** = [mpd](https://github.com/MusicPlayerDaemon/MPD) + [ncmpcpp](https://github.com/ncmpcpp/ncmpcpp)
|
- **Music-player** = [mpd](https://github.com/MusicPlayerDaemon/MPD) + [ncmpcpp](https://github.com/ncmpcpp/ncmpcpp)
|
||||||
- **Pdf-viewer** = [zathura](https://github.com/pwmt/zathura)
|
- **Pdf-viewer** = [zathura](https://github.com/pwmt/zathura)
|
||||||
|
Loading…
Reference in New Issue
Block a user