[rc/sway] add original ws switch / window move keys on Mod1 (alt)
[~bandali/configs] / rc.org
diff --git a/rc.org b/rc.org
index 8103397..ff1db79 100644 (file)
--- a/rc.org
+++ b/rc.org
@@ -3616,25 +3616,18 @@ insert_pass="Alt+n"
 :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
 ### 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
 #
@@ -3662,18 +3655,19 @@ 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
+}
+
+input "1:1:AT_Translated_Set_2_keyboard" {
+    repeat_delay 200
+    repeat_rate 45
+}
+
 
 ### Key bindings
 #
@@ -3693,13 +3687,29 @@ 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
 
     # 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
+
+    # bspwm-esque workspace switch and window move
+    bindsym $mod+bracketleft exec sway-ws-util switch prev
+    bindsym $mod+bracketright exec sway-ws-util switch next
+    bindsym $mod+braceleft exec sway-ws-util move prev follow
+    bindsym $mod+braceright exec sway-ws-util move next follow
+
+    # original sway workspace switch and window move
+    bindsym $mod2+bracketleft workspace prev
+    bindsym $mod2+bracketright workspace next
+    bindsym $mod2+braceleft move container to workspace prev
+    bindsym $mod2+braceright move container to workspace next
 #
 # Moving around:
 #
@@ -3818,12 +3828,13 @@ bindsym $mod+r mode "resize"
 #
 # 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 i3blocks
 }
 
 include /etc/sway/config.d/*
@@ -4823,6 +4834,57 @@ 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 XKB_DEFAULT_OPTIONS=ctrl:nocaps,altwin:swap_alt_win,ctrl:rctrl_ralt
+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"