#+begin_src conf
[user]
name = Amin Bandali
- email = amin@aminb.org
+ email = mab@gnu.org
signingkey = 4E05246AB0BF7FFB
#+end_src
pr = pull --rebase
ps = push
psf = push --force
+ nmam = "!f() { notmuch show --format=raw $1 | git am -; }; f"
+ nmam3 = "!f() { notmuch show --format=raw $1 | git am -3 -; }; f"
#+end_src
**** color
**** send-email
#+begin_src conf
[sendemail]
- smtpuser = amin@aminb.org
- smtpserver = nix.aminb.org
+ smtpuser = aminb
+ smtpserver = fencepost.gnu.org
smtpserverport = 587
smtpencryption = tls
annotate = yes
*-autoloads.el
#+end_src
+** [[https://github.com/Leinnan/i3gs][i3gs]]
+:PROPERTIES:
+:header-args+: :tangle ~/.config/i3gs/config
+:END:
+
+#+begin_src conf :comments none
+borders_width=0 0 2 0
+separator_width=10
+
+#[mpd]
+#preset=MPD
+#title=<span weight='heavy' fgcolor='#7FDBFF'> </span>
+#borders_color=#7FDBFF
+
+[ram]
+preset=RAM
+title=<span weight='heavy' fgcolor='#3D9970'> </span>
+borders_color=#3D9970
+
+#[cpu]
+#preset=CPU
+#title=<span weight='heavy' fgcolor='#2ECC40'> </span>
+#borders_color=#2ECC40
+
+#[hdd]
+#preset=HDD
+#title=<span weight='heavy' fgcolor='#01FF70'> </span>
+#borders_color=#01FF70
+
+[volume]
+command=volume-info
+title=<span weight='heavy' fgcolor='#7FDBFF'></span>
+borders_color=#7FDBFF
+
+[battery]
+preset=BAT
+command=battery-percentage-time
+title=<span weight='heavy' fgcolor='#39CCCC'> </span>
+borders_color=#39CCCC
+
+[wifi]
+preset=WIFI
+title=<span weight='heavy' fgcolor='#01FF70'> </span>
+borders_color=#01FF70
+
+[date]
+preset=DATE
+command=date '+%-I:%M, %a %b %d '
+title=<span weight='heavy' fgcolor='#FFDC00'> </span>
+borders_color=#FFDC00
+separator_width=0
+#+end_src
** Latexmk
:PROPERTIES:
:header-args+: :tangle ~/.latexmkrc
user aminb
passwordeval gpg2 --no-tty -q -d ~/.passwd/gnu.gpg
+# gnu (new address)
+account gnu-mab : gnu
+from mab@gnu.org
+
# uwaterloo
account uwaterloo
host connect.uwaterloo.ca
passwordeval gpg2 --no-tty -q -d ~/.passwd/uwaterloo.gpg
tls_trust_file /etc/ssl/certs/ca-certificates.crt
-# uwaterloo (friendly address)
-account uwaterloo-friendly : uwaterloo
-from amin.bandali@uwaterloo.ca
-
# Set a default account
account default : aminb
#+end_src
[user]
name=Amin Bandali
primary_email=amin@aminb.org
-other_email=abandali@uwaterloo.ca;amin.bandali@uwaterloo.ca;aminb@gnu.org;
+other_email=abandali@uwaterloo.ca;mab@gnu.org;aminb@gnu.org;
# Configuration for "notmuch new"
#
#+begin_src sh
# apply sent tag to messages sent by me
-notmuch tag -new +sent -- from:amin@aminb.org or from:aminb@gnu.org or from:abandali@uwaterloo.ca or from:amin.bandali@uwaterloo.ca
+notmuch tag -new +sent -- from:amin@aminb.org or from:mab@gnu.org or from:aminb@gnu.org or from:abandali@uwaterloo.ca
# initial tagging
notmuch tag -latest -- tag:latest
notmuch tag -inbox +lists/haskell-weekly -- folder:amin/lists/haskell-weekly
notmuch tag -inbox +pay -- folder:amin/pay
+notmuch tag -inbox +banking -- folder:amin/banking
# </aminb>
# <uw>
:END:
#+begin_src conf
-# Default config for sway
-#
-# Copy this to ~/.config/sway/config and edit it to your liking.
-#
-# Read `man 5 sway` for a complete reference.
-
+exec xrdb .Xresources
+exec dunst
### Variables
-#
-# Logo key. Use Mod1 for Alt.
+# super
set $mod Mod4
-# Home row direction keys, like vim
+# alt
+set $mod2 Mod1
set $left h
set $down j
set $up k
set $right l
-# Your preferred terminal emulator
set $term urxvt
-# Your preferred application launcher
-set $menu dmenu_run
+set $menu rofi -show run -display-run '> ' -display-window ' 🗔 '
### Output configuration
#
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
-#
-# Example configuration:
-#
-# input "2:14:SynPS/2_Synaptics_TouchPad" {
-# dwt enabled
-# tap enabled
-# natural_scroll enabled
-# middle_emulation enabled
-# }
-#
-# You can get the names of your inputs by running: swaymsg -t get_inputs
-# Read `man 5 sway-input` for more information about this section.
+
+input "1739:31251:DLL07BE:01_06CB:7A13_Touchpad" {
+ dwt enabled
+ tap enabled
+ natural_scroll enabled
+ middle_emulation enabled
+ click_method clickfinger
+}
+
+input "1:1:AT_Translated_Set_2_keyboard" {
+ repeat_delay 200
+ repeat_rate 45
+ xkb_layout us,ir
+ xkb_options ctrl:nocaps,altwin:swap_alt_win,ctrl:rctrl_ralt,grp:shifts_toggle
+}
+
### Key bindings
#
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
- #floating_modifier $mod normal
+ floating_modifier $mod normal
# reload the configuration file
bindsym $mod+Shift+c reload
# exit sway (logs you out of your wayland session)
bindsym $mod+Shift+e exit
+
+ bindsym $mod+apostrophe exec rofi-light # rofi-based brightness chooser
+ bindsym XF86MonBrightnessUp exec light -A 5 # increase screen brightness
+ bindsym XF86MonBrightnessDown exec light -U 5 # decrease screen brightness
+
+ bindsym XF86AudioRaiseVolume exec pamixer --allow-boost --increase 5
+ bindsym XF86AudioLowerVolume exec pamixer --allow-boost --decrease 5
+ bindsym XF86AudioMute exec pamixer --toggle-mute
+ bindsym XF86AudioMicMute exec pactl set-source-mute 1 toggle
+
+ # original sway workspace switch and window move
+ bindsym $mod+bracketleft workspace prev
+ bindsym $mod+bracketright workspace next
+ bindsym $mod+braceleft move container to workspace prev
+ bindsym $mod+braceright move container to workspace next
+
+ # bspwm-esque workspace switch and window move
+ bindsym $mod2+bracketleft exec sway-ws-util switch prev
+ bindsym $mod2+bracketright exec sway-ws-util switch next
+ bindsym $mod2+braceleft exec sway-ws-util move prev follow
+ bindsym $mod2+braceright exec sway-ws-util move next follow
#
# Moving around:
#
bindsym Return mode "default"
bindsym Escape mode "default"
}
-bindsym $mod+r mode "resize"
+bindsym $mod+Shift+r mode "resize"
#
# Status Bar:
#
# Read `man 5 sway-bar` for more information about this section.
bar {
- position top
+ position bottom
colors {
statusline #ffffff
background #323232
inactive_workspace #32323200 #32323200 #5c5c5c
}
+ status_command i3gs ~/.config/i3gs/config
}
include /etc/sway/config.d/*
=rofi-light= a small utility that uses [[https://github.com/DaveDavenport/rofi][Rofi]] to ask and [[https://github.com/haikarainen/light][light]] to set an
exact brightness value.
+** battery-percentage-time
+:PROPERTIES:
+:header-args+: :tangle ~/.local/bin/battery-percentage-time :shebang "#!/bin/sh"
+:END:
+
+#+begin_src sh
+dbus_send() {
+ label=$1
+ dbus-send --print-reply=literal --system \
+ --dest=org.freedesktop.UPower \
+ /org/freedesktop/UPower/devices/battery_BAT0 \
+ org.freedesktop.DBus.Properties.Get \
+ string:org.freedesktop.UPower.Device \
+ string:"${label}" | awk '{print $3}'
+}
+
+perc=$(dbus_send 'Percentage')
+state=$(dbus_send 'State')
+
+if [ "$state" -eq 2 ]; then # Discharging
+ secs=$(dbus_send 'TimeToEmpty')
+elif [ "$state" -eq 1 ]; then # Charging
+ secs=$(dbus_send 'TimeToFull')
+fi
+
+printf '%s%%%%%2dh%02dm \n' "$perc" $((secs / 3600)) $((secs % 3600 / 60))
+#+end_src
+
** rofi-light
:PROPERTIES:
:header-args+: :tangle ~/.local/bin/rofi-light :shebang "#!/bin/bash"
light -S $val
#+end_src
+** s (run sway)
+:PROPERTIES:
+:header-args+: :tangle ~/.local/bin/s :shebang "#!/bin/bash"
+:END:
+
+#+begin_src bash
+export _JAVA_AWT_WM_NONREPARENTING=1
+export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true'
+light -Scrs "intel_backlight" 2
+source $HOME/.zprofile
+sway
+#+end_src
+
+** sway-ws-util
+:PROPERTIES:
+:header-args+: :tangle ~/.local/bin/sway-ws-util :shebang "#!/bin/bash"
+:END:
+
+#+begin_src bash
+curr_ws=$(swaymsg -t get_workspaces | jq -r '.[] | select(.focused==true).name')
+[[ $curr_ws -eq 1 ]] && prev_ws=10 || prev_ws=$((curr_ws-1))
+[[ $curr_ws -eq 10 ]] && next_ws=1 || next_ws=$((curr_ws+1))
+dest_ws=-1
+op=-1
+
+if [ "$1" = "switch" ] || [ "$1" = "move" ]; then
+ op="$1"
+ if [ "$2" = "prev" ]; then
+ dest_ws="$prev_ws"
+ elif [ "$2" = "next" ]; then
+ dest_ws="$next_ws"
+ else
+ echo "Usage: $0 $1 {prev|next} [follow]"
+ exit 1
+ fi
+else
+ echo "Usage: $0 {switch|move} {prev|next} [follow]"
+ exit 1
+fi
+
+if [ "$op" = "switch" ]; then
+ sway workspace "$dest_ws"
+elif [ "$op" = "move" ]; then
+ sway move container to workspace "$dest_ws"
+ if [ "$3" = "follow" ]; then
+ sway workspace "$dest_ws"
+ fi
+fi
+#+end_src
+
** toggle-layout
:PROPERTIES:
:header-args+: :tangle ~/.local/bin/toggle-layout :shebang "#!/bin/bash"
gk.unlock_sync('Default_keyring',gk.item_get_info_sync('login',1L).get_secret())
#+end_src
+** volume-info
+:PROPERTIES:
+:header-args+: :tangle ~/.local/bin/volume-info :shebang "#!/bin/sh"
+:END:
+
+#+begin_src sh
+cur_vol=$(pamixer --get-volume)
+
+if [ $(pamixer --get-mute) = true ]; then
+ printf 'mt \n' "$cur_vol"
+else
+ printf '%02d \n' "$cur_vol"
+fi
+#+end_src
+
** wp
My little wallpaper changer script.