X-Git-Url: https://git.shemshak.org/~bandali/configs/blobdiff_plain/d6cb3a4a82c2bc48fa68bc055cb97c34ef85ab8b..b6c1036f492c1786c301ec3939ef3ce47934bef1:/rc.org?ds=sidebyside diff --git a/rc.org b/rc.org index afb41d2..02a9b19 100644 --- a/rc.org +++ b/rc.org @@ -643,7 +643,7 @@ timeout = 0 #+begin_src conf [user] name = Amin Bandali - email = amin@aminb.org + email = mab@gnu.org signingkey = 4E05246AB0BF7FFB #+end_src @@ -686,6 +686,8 @@ timeout = 0 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 @@ -721,8 +723,8 @@ timeout = 0 **** 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 @@ -743,6 +745,58 @@ timeout = 0 *-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=  +#borders_color=#7FDBFF + +[ram] +preset=RAM +title=  +borders_color=#3D9970 + +#[cpu] +#preset=CPU +#title=  +#borders_color=#2ECC40 + +#[hdd] +#preset=HDD +#title=  +#borders_color=#01FF70 + +[volume] +command=volume-info +title= +borders_color=#7FDBFF + +[battery] +preset=BAT +command=battery-percentage-time +title=  +borders_color=#39CCCC + +[wifi] +preset=WIFI +title=  +borders_color=#01FF70 + +[date] +preset=DATE +command=date '+%-I:%M, %a %b %d ' +title=  +borders_color=#FFDC00 +separator_width=0 +#+end_src ** Latexmk :PROPERTIES: :header-args+: :tangle ~/.latexmkrc @@ -1423,6 +1477,10 @@ from aminb@gnu.org 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 @@ -1432,10 +1490,6 @@ user abandali 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 @@ -2058,7 +2112,7 @@ path=/home/amin/mail [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" # @@ -2144,25 +2198,21 @@ sieve-filter -eW -o postmaster_address=postmaster@aminb.org \ #+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 -latest -- tag:latest notmuch tag +inbox +unread +latest -new -- tag:new # apply tags to lists # -notmuch tag -inbox +lists/~sircmpwn/srht-admins -- folder:amin/lists/~sircmpwn/srht-admins -notmuch tag -inbox +lists/~sircmpwn/srht-announce -- folder:amin/lists/~sircmpwn/srht-announce -notmuch tag -inbox +lists/~sircmpwn/srht-dev -- folder:amin/lists/~sircmpwn/srht-dev -notmuch tag -inbox +lists/~sircmpwn/srht-discuss -- folder:amin/lists/~sircmpwn/srht-discuss - notmuch tag -inbox +lists/hackernewsletter -- folder:amin/lists/hackernewsletter 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 # # @@ -2177,22 +2227,28 @@ notmuch tag -inbox +lists/watform-students -- folder:uwaterloo/lists/Watform-stu # # -notmuch tag -inbox +lists/emacs-devel -- folder:gnu/l/emacs-devel -notmuch tag -inbox +lists/emacs-orgmode -- folder:gnu/l/emacs-orgmode -notmuch tag -inbox +lists/emacsconf-discuss -- folder:gnu/l/emacsconf-discuss -notmuch tag -inbox +lists/fencepost-users -- folder:gnu/l/fencepost-users -notmuch tag -inbox +lists/guix-devel -- folder:gnu/l/guix-devel -notmuch tag -inbox +lists/guile-devel -- folder:gnu/l/guile-devel -notmuch tag -inbox +lists/help-gnu-emacs -- folder:gnu/l/help-gnu-emacs -notmuch tag -inbox +lists/info-gnu-emacs -- folder:gnu/l/info-gnu-emacs -notmuch tag -inbox +lists/www-commits -- folder:gnu/l/www-commits -notmuch tag -inbox +lists/www-discuss -- folder:gnu/l/www-discuss -notmuch tag -inbox +webmasters -- folder:gnu/webmasters - -notmuch tag -inbox +lists/deepspec -- folder:gnu/l/deepspec -notmuch tag -inbox +lists/haskell-cafe -- folder:gnu/l/haskell-cafe -notmuch tag -inbox +lists/haskell-art -- folder:gnu/l/haskell-art -notmuch tag -inbox +lists/notmuch -- folder:gnu/l/notmuch +notmuch tag -inbox +l/emacs-devel -- folder:gnu/l/emacs-devel +notmuch tag -inbox +l/emacs-orgmode -- folder:gnu/l/emacs-orgmode +notmuch tag -inbox +l/emacsconf-discuss -- folder:gnu/l/emacsconf-discuss +notmuch tag -inbox +l/fencepost-users -- folder:gnu/l/fencepost-users +notmuch tag -inbox +l/guix-devel -- folder:gnu/l/guix-devel +notmuch tag -inbox +l/guile-devel -- folder:gnu/l/guile-devel +notmuch tag -inbox +l/help-gnu-emacs -- folder:gnu/l/help-gnu-emacs +notmuch tag -inbox +l/info-gnu-emacs -- folder:gnu/l/info-gnu-emacs +notmuch tag -inbox +l/www-commits -- folder:gnu/l/www-commits +notmuch tag -inbox +l/www-discuss -- folder:gnu/l/www-discuss +notmuch tag -inbox +webmasters -- folder:gnu/webmasters + +notmuch tag -inbox +l/deepspec -- folder:gnu/l/deepspec +notmuch tag -inbox +l/haskell-cafe -- folder:gnu/l/haskell-cafe +notmuch tag -inbox +l/haskell-art -- folder:gnu/l/haskell-art +notmuch tag -inbox +l/notmuch -- folder:gnu/l/notmuch + +notmuch tag -inbox +l/~aminb/test-priv -- folder:gnu/l/~aminb/test-priv +notmuch tag -inbox +l/~sircmpwn/sr.ht-admins -- folder:gnu/l/~sircmpwn/sr.ht-admins +notmuch tag -inbox +l/~sircmpwn/sr.ht-announce -- folder:gnu/l/~sircmpwn/sr.ht-announce +notmuch tag -inbox +l/~sircmpwn/sr.ht-dev -- folder:gnu/l/~sircmpwn/sr.ht-dev +notmuch tag -inbox +l/~sircmpwn/sr.ht-discuss -- folder:gnu/l/~sircmpwn/sr.ht-discuss # notmuch tag -inbox -unread +archive/notmuch -- path:archive/notmuch/** @@ -2375,6 +2431,19 @@ if anyof ( fileinto :create "l/${listname}"; } } + +if anyof ( + header :contains "list-id" "<~aminb/test-priv@lists.sr.ht>", + header :contains "list-id" "<~sircmpwn/sr.ht-admins@lists.sr.ht>", + header :contains "list-id" "<~sircmpwn/sr.ht-announce@lists.sr.ht>", + header :contains "list-id" "<~sircmpwn/sr.ht-dev@lists.sr.ht>", + header :contains "list-id" "<~sircmpwn/sr.ht-discuss@lists.sr.ht>") { + if header :regex "list-id" "(~[a-z_0-9-]+)/([a-z_0-9.-]+)@" { + set :lower "username" "${1}"; + set :lower "listname" "${2}"; + fileinto :create "l/${username}/${listname}"; + } +} #+end_src ** polybar @@ -3617,10 +3686,12 @@ insert_pass="Alt+n" #+begin_src conf exec xrdb .Xresources +exec dunst ### Variables -# -# Logo key. Use Mod1 for Alt. +# super set $mod Mod4 +# alt +set $mod2 Mod1 set $left h set $down j set $up k @@ -3654,18 +3725,22 @@ output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill # 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 # @@ -3685,7 +3760,7 @@ output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill # 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 @@ -3697,11 +3772,22 @@ output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill 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: # @@ -3813,7 +3899,7 @@ mode "resize" { bindsym Return mode "default" bindsym Escape mode "default" } -bindsym $mod+r mode "resize" +bindsym $mod+Shift+r mode "resize" # # Status Bar: @@ -3826,7 +3912,7 @@ bar { background #323232 inactive_workspace #32323200 #32323200 #5c5c5c } - status_command i3blocks + status_command i3gs ~/.config/i3gs/config } include /etc/sway/config.d/* @@ -4815,6 +4901,34 @@ Xfce's presentation mode which keeps the screen awake, and =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" @@ -4826,6 +4940,56 @@ val=$(rofi -dmenu -mesg "light $cur" -p "light -S " -l 0 -width 12) 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" @@ -4900,6 +5064,21 @@ import gnomekeyring as gk 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.