-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
212 lines (186 loc) · 5.91 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
My dotfiles and scripts
=======================
The dotfiles are not particularly exotic.
What you might find partly useful are the scripts.
Some scripts may be tagged:
`see source` these scripts may contain hard-coded values or exhibit
undesirable behavior; you should certainly read and understand
their source code before executing them.
`specific` these scripts may require some specific hardware configuration
in order to work correctly or to be by any means useful.
Scripts in ~/bin listed alphabetically
======================================
- _installgofonts (see source)
Install the best fonts to the ~/.local/share/fonts/Go
directory and refresh the font cache.
Dependencies
* dash (shell)
* git, fc-cache
- brightness (see source, specific)
Set backlight brightness to <n> * STEP or query the current
backlight brightness value if <n> is unspecified.
Usage
$ brightness <n>
Dependencies
* dash (shell)
* python (3.7+)
- buddyinfo-mon
Interactive /proc/buddyinfo monitoring tool.
Update every <n> seconds or 1s if unspecified.
Usage
$ buddyinfo-mon <n>
--
j k line down/up
space page down
g G top/bottom
q quit
Dependencies
* python (3.7+)
- cgb
Print the name of the current git branch in the format: "($branch) "
or nothing if not inside a git repository. It is meant to be used
inside of PROMPT_COMMAND or PS1. Compared to other solutions it is
FAST - ~650 bytes of machine code that glues together a few system
calls packed into an <4K executable for any x86-64 Linux - your shell
prompt will never feel sluggish again.
Usage
In ~/.bashrc PROMPT_COMMAND:
PROMPT_COMMAND+=(cgb)
In ~/.bashrc PS1:
PS1="\$(cgb)[\u \w]\n$ "
Crude perf benchmarks
Context: In the root of a git repository.
Setup: # perf stat -e cycles,instructions -r 100 "$@"
__git_ps1 (~ 11 000 000 instructions)
git branch --show-current (~ 2 780 000 instructions)
cgb (~ 85 000 instructions)
Build dependencies
* gcc/clang
Installation
$ PROGS=cgb ~/bin/src/install.sh
- deduplicate-bash-history
Remove duplicates from the ~/.bash_history file.
Only the most recently used commands are kept.
Dependencies
* python (3.8+)
- dirg
Group file paths by the directories they belong to. File paths
should be newline delimited and provided as standard input.
Options
a sort alphabetically
c show file count per directory
h display help and exit
Usage
$ <cmd> | dirg [a] [c] [h]
$ locate path | dirg c
$ find . -type f | dirg ac
Alternatives
If a more readable tree output is preferred
the tree(1) utility should be used.
$ <cmd> | tree --fromfile -d
Dependencies
* python (3.7+)
Binary version
Build dependencies
* zig (0.12.0)
Installation
$ PROGS=dirg ~/bin/src/install.sh
- grepalign
Align every line of grep output to the first colored match.
Options
mask output mask in a form XXX where X is either a '0' or a '1',
text before a match _/// mask is equal to 111 if left unspecified.
match itself ________//
text after a match __/
Usage
Generic:
$ grep --color=always [...] | grepalign [mask]
Or with the helpers from ~/.bash_aliases:
$ faketty grep --color=auto [...] | grepalign [mask]
$ agrep [...]
Dependencies
* python (3.7+)
- hf
Fuzzy search ~/.bash_history and copy the selection to clipboard.
Dependencies
* dash (shell)
* fzf, python
* xclip (on Xorg), wl-copy (on Wayland)
- pacilog
List all explicitly installed pacman packages.
Shows
* time of installation
* package name
* version at the time of installation
* version installed now
Dependencies
* python (3.7+)
* pacman
- pacsize
List all installed pacman packages sorted by size.
Dependencies
* python (3.7+)
- pactl-next-sink
Switch to the next available pipewire/pulseaudio sink.
Dependencies
* python (3.7+)
* pactl
- rename-tool
Run <command> (e.g. an image viewer) on every <file> and ask for a new
name for that <file>. Does not allow overwriting a file that already
exists on the filesystem.
Limitations
* does not support two-cell wide character input (i.e. Kanji, emoji)
* does not allow coming back to an already renamed file
Usage
$ rename-tool -e <command> [files...]
$ rename-tool -e sxiv img0.jpg img1.jpg
Dependencies
* python (3.7+)
- scrot-clip (see source)
Run scrot in "--select" mode and copy the selected image to clipboard.
Dependencies
* dash (shell)
* scrot, xclip
* xdotool (required when using unclutter)
- scrot-sxiv (see source)
Run scrot in "--select --freeze" mode, save the selected image to
$XDG_PICTURES/Scrots and open it in sxiv.
Dependencies
* dash (shell)
* scrot, sxiv
* xdotool (required when using unclutter)
- touchpad-toggle (specific)
Toggle (enable/disable) the Synaptics TouchPad.
- update-mirrorlist (see source)
Update the /etc/pacman.d/mirrorlist file.
Dependencies
* dash (shell)
* reflector, diff
- wsort
Sort words on a line or multiple lines
(preserves line order and whitespace).
Usage
Generic:
$ echo 'Ala ma wielkiego kota' | wsort
Or in Vim command-line mode afer visually selecting a line:
:!wsort
Dependencies
* python (3.7+)
Bash functions in ~/.bash_aliases
=================================
- cdw
cd into $(dirname $(which $1)).
- faketty
Make <command> think its attached to a tty.
Usage
$ faketty <command>
- agrep
Alias to grep piped into grepalign.
- wmem
Watch (Buffers, Dirty and Writeback) entries from /proc/meminfo.
Update every <n> seconds or 0.5s if unspecified.
Usage
$ wmem <n>
Dependencies
* luajit