1
0
mirror of https://github.com/frebib/dotfiles.git synced 2024-06-14 12:57:23 +00:00

5 Commits

Author SHA1 Message Date
9331a74266 aliases: Fix gfrb/gfrbi with slash-delimited branches
Multi-part branch names would be incorrectly split on the last slash and
not the first, causing these aliases to do the wrong thing. These need
the remote name which is the first element. Everything after the first
slash is the branch name, not the last slash.

Signed-off-by: Joe Groocock <me@frebib.net>
2022-10-24 15:24:19 +00:00
cfbe6d6f0f git: Allow git cleanmerged/defbranch to take args
These aliases now make zero assumptions about either branch or origin
names. They default to origin, and the primary branch is determined from
the refs/remotes/$remote/HEAD symbolic-ref, which will be pulled from
the remote if it's not known locally.
With these it is now possible to act on any remote/branch combination:

    # Get default branch for 'upstream' remote
    $ git defbranch upstream

    # Delete branches merged into the default branch of the 'upstream'
    # remote
    $ git cleanmerged upstream

    # Delete branches merged into the upstream/foo branch
    $ git cleanmerged upstream foo

Signed-off-by: Joe Groocock <me@frebib.net>
2022-10-24 14:51:42 +00:00
509551f717 git: Add mv/reflog/clean-merged aliases
Signed-off-by: Joe Groocock <me@frebib.net>
2022-10-24 14:29:40 +00:00
ea5f537303 scripts/dpi: Constant blur/corner-radius scaling
Scale picom blur and corner radius according to a constant scale factor
much like we do for cursor sizes. This ideally would be defined
somewhere centrally, but this is better than nothing.

Signed-off-by: Joe Groocock <me@frebib.net>
2022-10-23 10:59:37 +00:00
2907e24656 cursor: Switch to BreezeX Black
I still prefer Breeze-Obsidian, but the reality is that it's unsupported
and nobody even seems to have the source any more :(

Allow `dpi` script to scale cursor relative to display scale according
to a fixed "standard" size, which for BreezeX is around 28px to closely
match the scale of the Breeze-Obsidian 16px.

Signed-off-by: Joe Groocock <me@frebib.net>
2022-10-23 10:24:28 +00:00
10 changed files with 80 additions and 86 deletions

View File

@ -16,8 +16,8 @@ export MOZ_USE_XINPUT2=1 # enable pixel-accurate scrolling in firefox
# Load Xorg resources and set the DPI # Load Xorg resources and set the DPI
xrdb -merge "$XDG_CONFIG_HOME/X11/xresources" xrdb -merge $XDG_CONFIG_HOME/X11/xresources
"$XDG_CONFIG_HOME/scripts/dpi" "$(xrdb -query | grep -i xft.dpi | cut -d: -f2 | xargs)" xrandr --dpi $(xrdb -query | grep -i xft.dpi | cut -d: -f2)
setxkbmap -option caps:none setxkbmap -option caps:none
xset r rate 200 18 xset r rate 200 18

View File

@ -36,5 +36,5 @@ Xft.hinting: true
Xft.hintstyle: hintfull Xft.hintstyle: hintfull
Xft.lcdfilter: lcddefault Xft.lcdfilter: lcddefault
Xcursor.size: 16 Xcursor.size: 28
Xcursor.theme: Breeze_Obsidian Xcursor.theme: BreezeX-Black

51
aliases
View File

@ -110,20 +110,9 @@ alias ginit='git init'
alias gignore='$EDITOR .gitignore' alias gignore='$EDITOR .gitignore'
alias gitc='$EDITOR $XDG_CONFIG_HOME/git/config' alias gitc='$EDITOR $XDG_CONFIG_HOME/git/config'
alias ggignore='$EDITOR $XDG_CONFIG_HOME/git/gitignore' alias ggignore='$EDITOR $XDG_CONFIG_HOME/git/gitignore'
alias gcl="git clone --recursive"
alias gco="git checkout" alias gco="git checkout"
alias gcom="git checkout \"\$(git defbranch)\"" alias gcom="git checkout \"\$(git defbranch)\""
alias gsw="git switch"
alias gswm="git switch \"\$(git defbranch)\""
alias gbr="git branch"
alias gtg="git tag"
alias gbl="git blame"
alias gt="git tag"
alias gst="git status"
alias grl="git reflog"
alias gfp="git format-patch"
alias gcl="git clone --recursive"
alias ga="git add" alias ga="git add"
alias gap="git add -p" alias gap="git add -p"
alias gau="git add -u" alias gau="git add -u"
@ -131,17 +120,17 @@ alias gaN="git add -N"
alias gaa="ga -A" alias gaa="ga -A"
alias grm="git rm" alias grm="git rm"
alias gmv="git mv" alias gmv="git mv"
alias gc="git commit -s"
alias gc="git commit -sv" alias gcm="git commit -s -em"
alias gcm="git commit -sv -em" alias gca="git commit -s --amend --date=\"\$(date -R)\""
alias gca="git commit -sv --amend --date=\"\$(date -R)\"" alias gcn="git commit -s --no-edit"
alias gcn="git commit -sv --no-edit" alias gcan="gca -s --no-edit"
alias gcan="gca --no-edit" alias gcam="gca -s -m"
alias gcam="gca -m" alias gst="git status"
alias grl="git reflog"
alias gm="git merge" alias gm="git merge"
alias gma="git merge --abort" alias gma="git merge --abort"
alias gmc="git merge --continue"
alias grb="git rebase" alias grb="git rebase"
alias grbi="grb -i" alias grbi="grb -i"
@ -149,9 +138,9 @@ alias grba="grb --abort"
alias grbc="grb --continue" alias grbc="grb --continue"
alias grbsk="grb --skip" alias grbsk="grb --skip"
alias grbsh="grb --show-current" alias grbsh="grb --show-current"
alias grbom="git rebase \"origin/\$(git defbranch origin)\"" alias grbom="git rebase \"origin/\$(git defbranch)\""
gfrb() { ref="${1:-origin/$(git defbranch origin)}"; remote="${ref%%/*}"; git fetch "$remote" && git rebase "$ref" "${@:2}"; } gfrb() { remote="${1%%/*}"; git fetch "$remote" && git rebase "$@"; }
gfrbi() { ref="${1:-origin/$(git defbranch origin)}"; remote="${ref%%/*}"; git fetch "$remote" && git rebase -i "$ref" "${@:2}"; } gfrbi() { remote="${1%%/*}"; git fetch "$remote" && git rebase -i "$@"; }
alias gam="git am" alias gam="git am"
alias gama="git am --abort" alias gama="git am --abort"
@ -177,10 +166,10 @@ alias gpsuom="git push --set-upstream origin \"\$(git defbranch)\""
alias gpall="git remote | xargs -L1 git push" alias gpall="git remote | xargs -L1 git push"
alias gl="git pull --rebase" alias gl="git pull --rebase"
alias glp="gl && gp" alias glp="gl && gp"
alias gd="git diff --patch-with-stat --no-prefix" alias gd="git diff --patch-with-stat"
alias gdni="gd --no-index --no-prefix" alias gdni="gd --no-index"
alias gds="gd --staged --no-prefix" alias gds="gd --staged"
alias gsh="git show --format=fuller --patch-with-stat --no-prefix" alias gsh="git show --format=fuller --patch-with-stat"
alias glg="git log --color --format=fuller --stat --no-merges --graph" alias glg="git log --color --format=fuller --stat --no-merges --graph"
alias glgp="git log --color --format=fuller --patch-with-stat --no-merges --graph" alias glgp="git log --color --format=fuller --patch-with-stat --no-merges --graph"
alias glog="git log --color --oneline --decorate --graph" alias glog="git log --color --oneline --decorate --graph"
@ -189,8 +178,10 @@ alias grst="git reset"
alias gundo="git reset --keep @~1" alias gundo="git reset --keep @~1"
alias gclean="git clean" alias gclean="git clean"
alias gclm="git cleanmerged" alias gclm="git cleanmerged"
alias gbr="git branch"
alias gbrl="git for-each-ref --sort=committerdate refs/heads/ --format=\"%(refname:short)\" | fzf -x --ansi --multi --preview-window=right:70% --preview=\"git log --format=fuller --stat --color=always {} | head -n\$((\$(tput lines)*10))\"" alias gbrl="git for-each-ref --sort=committerdate refs/heads/ --format=\"%(refname:short)\" | fzf -x --ansi --multi --preview-window=right:70% --preview=\"git log --format=fuller --stat --color=always {} | head -n\$((\$(tput lines)*10))\""
alias gtg="git tag"
alias gbl="git blame"
alias gr="git remote" alias gr="git remote"
alias gra="gr add" alias gra="gr add"
alias grr="gr rm" alias grr="gr rm"
@ -201,12 +192,12 @@ alias gsta='git stash'
alias gstd='gsta drop' alias gstd='gsta drop'
alias gstl='gsta list --stat --color' alias gstl='gsta list --stat --color'
alias gstp='gsta pop' alias gstp='gsta pop'
alias gstv="gsta show --patch-with-stat stash@{0}" alias gstv="gsta show -p stash@{0}"
# Docker aliases # Docker aliases
alias d=docker alias d=docker
alias dps="docker ps --format='table {{.ID}}\t{{.Image}}\t{{.Label \"org.label-schema.version\"}}\t{{.Networks}}\t{{.RunningFor}}\t{{.Status}}\t{{.Names}}' | sed '1s/version/VERSION/'" alias dps="docker ps --format='table {{.ID}}\t{{.Image}}\t{{.Label \"org.label-schema.version\"}}\t{{.Networks}}\t{{.RunningFor}}\t{{.Status}}\t{{.Names}}' | sed '1s/version/VERSION/'"
alias dpsa="docker ps -a --format='table {{.ID}}\t{{.Image}}\t{{.Label \"org.opencontainers.image.version\"}}\t{{.Networks}}\t{{.RunningFor}}\t{{.Status}}\t{{.Names}}' | sed '1s/version/VERSION/'" alias dpsa="docker ps -a --format='table {{.ID}}\t{{.Image}}\t{{.Label \"org.label-schema.version\"}}\t{{.Networks}}\t{{.RunningFor}}\t{{.Status}}\t{{.Names}}' | sed '1s/version/VERSION/'"
alias dnets="docker network ls -q | xargs docker inspect | jq '.[] | select(.Name != \"host\" and .Name != \"none\") | [.] | map(.Name + \"\t\" + (.IPAM.Config | map(.Subnet) | join(\"\t\")))[]' -r | sort -V -k2,3 | column -t" alias dnets="docker network ls -q | xargs docker inspect | jq '.[] | select(.Name != \"host\" and .Name != \"none\") | [.] | map(.Name + \"\t\" + (.IPAM.Config | map(.Subnet) | join(\"\t\")))[]' -r | sort -V -k2,3 | column -t"
daddrs() { docker inspect "${1:-bridge}" | jq '.[0].Containers | map(.Name + "\t" + .IPv4Address + "\t" + .IPv6Address)[]' -r | sort -V -k2,3 | column -t; } daddrs() { docker inspect "${1:-bridge}" | jq '.[0].Containers | map(.Name + "\t" + .IPv4Address + "\t" + .IPv6Address)[]' -r | sort -V -k2,3 | column -t; }
alias din='docker inspect' alias din='docker inspect'

View File

@ -1,8 +1,8 @@
gtk-theme-name="Arc-Dark" gtk-theme-name="Arc-Dark"
gtk-icon-theme-name="Xenlism-Wildfire" gtk-icon-theme-name="Xenlism-Wildfire"
gtk-font-name="sans 9" gtk-font-name="sans 9"
gtk-cursor-theme-name="Breeze_Obsidian" gtk-cursor-theme-name="BreezeX-Black"
gtk-cursor-theme-size=16 gtk-cursor-theme-size=28
gtk-toolbar-style=GTK_TOOLBAR_BOTH gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1 gtk-button-images=1

View File

@ -3,8 +3,8 @@ gtk-theme-name=Arc-Dark
gtk-icon-theme-name=Xenlism-Wildfire gtk-icon-theme-name=Xenlism-Wildfire
gtk-application-prefer-dark-theme=true gtk-application-prefer-dark-theme=true
gtk-font-name=sans 9 gtk-font-name=sans 9
gtk-cursor-theme-name=Breeze_Obsidian gtk-cursor-theme-name=BreezeX-Black
gtk-cursor-theme-size=16 gtk-cursor-theme-size=28
gtk-toolbar-style=GTK_TOOLBAR_BOTH gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1 gtk-button-images=1

View File

@ -142,15 +142,15 @@ bindsym $mod+space exec "pkill rofi; rofi -show run -sidebar-mode -
bindsym $mod+Shift+p exec rofi-pass --root $(grep path ~/.config/gopass/config.yml | sed -E 's|^.*fs\+file://||g' | tr '\n' ':') | sed 's/:$//g' bindsym $mod+Shift+p exec rofi-pass --root $(grep path ~/.config/gopass/config.yml | sed -E 's|^.*fs\+file://||g' | tr '\n' ':') | sed 's/:$//g'
bindsym $mod+Shift+e exec "pkill rofi; rofi -show emoji -modi emoji -normal-window" bindsym $mod+Shift+e exec "pkill rofi; rofi -show emoji -modi emoji -normal-window"
bindsym $mod+Shift+i exec rofi-fontawesome bindsym $mod+Shift+i exec rofi-fontawesome
bindsym --release Print exec screenshot --clip bindsym --release Print exec screenshot
bindsym --release $mod+Print exec screenshot bindsym --release $mod+Print exec screenshot --clip
bindsym --release Shift+Print exec screenshot --active bindsym --release Shift+Print exec screenshot --active
bindsym --release $mod+Shift+Print exec screenshot --active --clip bindsym --release $mod+Shift+Print exec screenshot --active --clip
bindsym $mod+Shift+x exec systemd-run-i3 -n i3-sensible-terminal --class floating-term --hold -e /bin/echo "$(xprop -id $(xdotool getactivewindow))" bindsym $mod+Shift+x exec systemd-run-i3 -n i3-sensible-terminal --class floating-term --hold -e /bin/echo "$(xprop -id $(xdotool getactivewindow))"
bindsym $mod+$alt+space exec systemd-run-i3 -s background -n ~/.config/i3/cycleaudio.py bindsym $mod+$alt+space exec systemd-run-i3 -s background -n ~/.config/i3/cycleaudio.py
bindsym $mod+numbersign exec systemd-run-i3 -n i3-sensible-terminal --hold -e sh -c 'xclip -o | gpg --decrypt 2>&1' bindsym $mod+numbersign exec systemd-run-i3 -n i3-sensible-terminal --hold -e sh -c 'xclip -o | gpg --decrypt 2>&1'
bindsym $mod+r exec bash -c 'pwgen -snc 32 1 | tee >(xargs notify-send Generated\ password\:) | xclip -i -r' bindsym $mod+r exec bash -c 'pwgen -snc 32 1 | tee >(xargs notify-send Generated\ password\:) | xclip -i -r'
bindsym $mod+g exec systemd-run-i3 -n bash -xc 'xclip -o | gh gist create -d Paste - 2>&1 | grep -vE "^[-✓] Creat(ing|ed) gist" | tee >(xclip -i >&2 >/dev/null) | xargs -r notify-send -c transfer' bindsym $mod+g exec systemd-run-i3 -n notify-send -c transfer "$(gist -PRpc)"
bindsym --release $mod+i exec systemd-run-i3 -s background -n sh -c 'sleep 0.5 && xdotool getactivewindow type --delay 10 -- "$(xclip -o -selection clipboard)"' bindsym --release $mod+i exec systemd-run-i3 -s background -n sh -c 'sleep 0.5 && xdotool getactivewindow type --delay 10 -- "$(xclip -o -selection clipboard)"'
bindsym $mod+z exec otp | rofi -dmenu -p otp | xargs otp bindsym $mod+z exec otp | rofi -dmenu -p otp | xargs otp

View File

@ -38,7 +38,7 @@ opacity-rule = [
blur: blur:
{ {
method = "dual_kawase"; method = "dual_kawase";
strength = 10; strength = 12;
}; };
blur-background-frame = true; blur-background-frame = true;
blur-background-fixed = true; blur-background-fixed = true;

View File

@ -44,7 +44,8 @@ line-colour = #f00
modules-left = i3 modules-left = i3
modules-center = modules-center =
modules-right = volume updates weather wifi ethernet memory cpu cputemp backlight battery date # modules-right = volume updates weather xkeyboard wlan gateway eth memory cpu xbacklight battery cputemp gputemp date
modules-right = volume updates weather wlan eth memory cpu xbacklight battery cputemp gputemp date
tray-position = right tray-position = right
tray-detached = false tray-detached = false
@ -131,9 +132,8 @@ label-urgent-foreground = ${colours.urgent}
label-urgent-padding = ${self.label-focused-padding} label-urgent-padding = ${self.label-focused-padding}
[module/backlight] [module/xbacklight]
type = internal/backlight type = internal/xbacklight
card = intel_backlight
label = %percentage% label = %percentage%
format = <label> format = <label>
@ -141,6 +141,12 @@ format-prefix = " "
format-prefix-foreground = ${colours.icon} format-prefix-foreground = ${colours.icon}
[module/backlight-acpi]
inherit = module/xbacklight
type = internal/backlight
card = intel_backlight
[module/cpu] [module/cpu]
type = internal/cpu type = internal/cpu
interval = 2 interval = 2
@ -158,9 +164,9 @@ format-prefix-foreground = ${colours.icon}
label = %percentage_used%% label = %percentage_used%%
[module/wifi] [module/wlan]
type = internal/network type = internal/network
interface-type = wireless interface = wlp1s0
interval = 3.0 interval = 3.0
format-connected = <ramp-signal> <label-connected> format-connected = <ramp-signal> <label-connected>
@ -179,9 +185,9 @@ ramp-signal-2 = 
ramp-signal-foreground = ${colours.icon} ramp-signal-foreground = ${colours.icon}
[module/ethernet] [module/eth]
type = internal/network type = internal/network
interface-type = wired interface = lan
interval = 10.0 interval = 10.0
label-connected = %local_ip% & %local_ip6% label-connected = %local_ip% & %local_ip6%

View File

@ -4,9 +4,9 @@ set -eu
# Based on https://github.com/vincentbernat/awesome-configuration/blob/master/bin/xsettingsd-setup # Based on https://github.com/vincentbernat/awesome-configuration/blob/master/bin/xsettingsd-setup
CONF_DIR="${XDG_CONFIG_HOME:-$HOME/.config}" CONF_DIR="${XDG_CONFIG_HOME:-$HOME/.config}"
BLUR_STRENGTH=10 BLUR_STRENGTH=12
CURSOR_SIZE=28
CORNER_RADIUS=9 CORNER_RADIUS=9
CURSOR_SIZE=16
xrdbget() { xrdbget() {
set -o pipefail set -o pipefail
@ -57,13 +57,13 @@ Xft.dpi: $dpi
Xcursor.size: $cursor Xcursor.size: $cursor
EOF EOF
xrandr --dpi "$dpi" & xrandr --dpi "$dpi" &
systemctl --user try-reload-or-restart xsettingsd & systemctl --user reload-or-restart xsettingsd &
wait wait
systemctl --user try-reload-or-restart \ systemctl --user reload \
i3 \ i3 \
polybar@i3bar & polybar@i3bar &
systemctl --user try-restart \ systemctl --user restart \
dunst & dunst &
wait wait

View File

@ -1,45 +1,42 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -euo pipefail
NOTIF_PERSIST=30000
NOTIF_INFORM=5000
stdout=
caller=
notif=
while getopts "on:" o; do while getopts "on:" o; do
case "${o}" in case "${o}" in
o) o)
stdout=1;; stdout=1;;
n) n)
caller="${OPTARG}" caller="${OPTARG}"
;; ;;
*) *)
exec ykman oath accounts list exec ykman oath accounts list
;; ;;
esac esac
done done
shift $((OPTIND-1)) shift $((OPTIND-1))
if [ $# -lt 1 ]; then if [ $# -lt 1 ]; then
exec ykman oath accounts list exec ykman oath accounts list
fi fi
if [ -n "$caller" ]; then if [ -n "$caller" ]; then
notif="$(notify-send -p -t $NOTIF_PERSIST "Touch your Yubikey" "$caller is requesting otp for $1")" notif="$(notify-send -p "Touch your Yubikey" "$caller is requesting otp for $1")"
trap 'notify-send -r $notif -t 1 "Touch your Yubikey" "$caller is requesting otp for $1"' EXIT
fi fi
code=$(ykman oath accounts code -s "$1") ykman oath accounts code -s "$1" 2>&1 |
if [ -z "$stdout" ]; then while read -r x; do
echo "$code" | tee >(xclip -i) if grep -Pqw '[0-9]{6}' <<< "$x"; then
xdotool type "$code" if [ -z "$stdout" ]; then
else echo "$x" | tee >(xclip -i)
echo "$code" xdotool type "$x"
fi else
echo "$x"
fi
fi
if [ -z "$stdout" ]; then
notify-send "$x";
fi
done
if [ -n "$code" ] && [ -n "$notif" ]; then if [ -n "$notif" ]; then
trap : EXIT notify-send -r "$notif" -t 1000 "Touch your Yubikey" "otp generated for $caller"
notify-send -r "$notif" -t $NOTIF_INFORM "Yubikey Touched" "otp generated for $caller"
fi fi