blob: f3995d6299a8368ca133f5819ab3c43971ed3c3a (
plain)
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
|
# vim: ft=sh:
# This is handy only on desktop and is useless on server
# Following section is applicable for any desktop but only for graphics
# The check is for XOrg but thanks to XWayland it works for Wayland as well.
[ -z "$DISPLAY" ] && return
alias feh='feh --conversion-timeout 10 -.'
# Clip current HEAD hash to clipboard
# Optionally you can pass commit as argument
gitclip() {
git rev-parse "${1:-HEAD}"| clip
}
# Clip current head message to clipboard
# Optionally you can pass commit as argument
gitmclip() {
git log --format=%B -n 1 "${1:-HEAD}" | clip
}
# NOTE: clip comes either from xorg or sway file
# This function should not be called externaly
# It expects PID of surf instace as first argument and all other arguments should
# be command to be called before kill is sent.
__insurf_callback() {
local SPID=$1
shift
"$@"
echo "kill $SPID SIGHUP"
kill -s SIGHUP "$SPID" || exit 1
}
# Same as inrun but it opens first argument it founds in surf and then reloads
# that instance automatically.
insurf() {
(
set -e
# Run surf
surf "$1" &
local SPID=$!
trap "kill $SPID; trap '' EXIT; exit 0" EXIT INT QUIT TERM ABRT
# Insert our callback
local ISFIRST=true
for ARG in "$@"; do
if $ISFIRST; then
shift $#
ISFIRST=false
fi
set "$@" "$ARG"
if [ "$ARG" = "--" ]; then
set "$@" "__insurf_callback" "$SPID"
fi
done
# Run inrun
inrun "$@"
)
}
|