From a585f989f5e953d3bedeb2ff7a60cbf62db83d1b Mon Sep 17 00:00:00 2001 From: thek4n Date: Thu, 13 Nov 2025 01:05:57 +0300 Subject: [PATCH] remove i3 + fix sway mappings --- .gitignore | 3 - README.md | 4 +- TARGETS.sh | 3 +- home/user/.config/i3/config | 266 -------------------- home/user/.config/i3/config.d/.gitkeep | 0 home/user/.config/sway/bindings.conf | 3 +- home/user/.local/bin/i3_swap_workspaces | 26 -- home/user/.local/bin/i3_switch_workspace.sh | 13 - home/user/.local/bin/sway_swap_workspaces | 26 ++ home/user/.xinitrc | 11 - install-hooks/i3/pre-install | 3 - 11 files changed, 31 insertions(+), 327 deletions(-) delete mode 100644 home/user/.config/i3/config delete mode 100644 home/user/.config/i3/config.d/.gitkeep delete mode 100755 home/user/.local/bin/i3_swap_workspaces delete mode 100755 home/user/.local/bin/i3_switch_workspace.sh create mode 100755 home/user/.local/bin/sway_swap_workspaces delete mode 100644 home/user/.xinitrc delete mode 100755 install-hooks/i3/pre-install diff --git a/.gitignore b/.gitignore index 4a8bba0..db66ad3 100644 --- a/.gitignore +++ b/.gitignore @@ -40,8 +40,5 @@ home/user/.tmux/* home/user/.config/git/local -home/user/.config/i3/config.d/* -!home/user/.config/i3/config.d/.gitkeep - home/user/.config/sway/config.d/* !home/user/.config/sway/config.d/.gitkeep diff --git a/README.md b/README.md index 19eb7d4..20d3cbc 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Config files for: * ssh * git * ranger -* i3 +* sway * vim * nvim @@ -65,4 +65,4 @@ Per-user dotfiles "package" manager 5. Does not overwrite your configs -

\ No newline at end of file +

diff --git a/TARGETS.sh b/TARGETS.sh index 2cc6552..cc438f7 100644 --- a/TARGETS.sh +++ b/TARGETS.sh @@ -12,8 +12,7 @@ ssh: git:.config/git .local/bin/ga ranger:.config/ranger gpg: -i3:.xinitrc .xprofile .Xresources .config/i3 .config/i3blocks .config/rofi .config/picom .local/bin/slm .local/bin/slm_rofi.sh .local/bin/power_rofi.sh .local/bin/i3_switch_workspace.sh .config/mimeapps.list .local/bin/screenshot .local/bin/i3_swap_workspaces .local/bin/i3blocks_helper .local/bin/switch-layout %pomodoro -sway:.config/sway .config/i3blocks .config/mako .config/mimeapps.list .config/rofi .local/bin/screenshot .local/bin/i3blocks_helper .local/bin/layout_change_handler .config/swaylock .Xresources %pomodoro +sway:.config/sway .config/i3blocks .config/mako .config/mimeapps.list .config/rofi .local/bin/screenshot .local/bin/i3blocks_helper .local/bin/layout_change_handler .config/swaylock .Xresources .local/bin/sway_swap_workspaces %pomodoro pomodoro: bat:.config/bat font: diff --git a/home/user/.config/i3/config b/home/user/.config/i3/config deleted file mode 100644 index a1d20d3..0000000 --- a/home/user/.config/i3/config +++ /dev/null @@ -1,266 +0,0 @@ -# Screen layout -exec --no-startup-id ~/.screenlayout/default - -for_window [tiling] border pixel 3 -smart_borders on - -set $mod Mod4 - - -# Screensaver -set $i3lock_cmd "i3lock -enf -c 1e1e1e" -exec --no-startup-id xset s off -exec --no-startup-id xset +dpms dpms 600 600 600 -exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock -enf -c 1e1e1e -exec --no-startup-id pomodoro daemon - - -# Notifications -#systemctl --user enable --now dbus.service -exec --no-startup-id dunst - - -# Hide cursor -exec --no-startup-id unclutter -idle 0.3 -root - - -exec_always --no-startup-id xset r rate 250 100 -exec_always --no-startup-id setxkbmap -model pc105 -layout us,ru -option grp:win_space_toggle -option ctrl:nocaps - - -# Wallpapers -exec --no-startup-id nitrogen --restore; sleep 1; picom -b --config ~/.config/picom/picom.conf -exec --no-startup-id hsetroot -exec --no-startup-id feh --randomize --no-fehbg --bg-scale $HOME/.wallpaper/* - -set $font_size 11 -font xft:FiraCode $font_size - -# use pactl to adjust volume in PulseAudio. -set $refresh_i3blocks exec pkill -SIGRTMIN+10 i3blocks -set $refresh_i3blocks_language exec pkill -SIGRTMIN+11 i3blocks - -# bindsym $mod+space exec --no-startup-id switch-layout && $refresh_i3blocks_language - -bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3blocks -bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3blocks -bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3blocks - -bindsym XF86AudioPlay exec playerctl play-pause -bindsym XF86AudioPause exec playerctl play-pause -bindsym XF86AudioNext exec playerctl next -bindsym XF86AudioPrev exec playerctl previous - -bindsym XF86MonBrightnessUp exec xbacklight -inc 20 -bindsym XF86MonBrightnessDown exec xbacklight -dec 20 - - -bindsym $mod+p exec pomodoro toggle && $refresh_i3blocks - -bindsym $mod+z exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 0 ## Hold to talk -bindsym --release $mod+z exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 1 ## Release to mute - -bindsym $mod+Shift+z exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3blocks -bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3blocks - -bindsym XF86PickupPhone exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 0 ## Hold to talk -bindsym --release XF86PickupPhone exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 1 ## Release to mute - -bindsym XF86Go exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 0 ## Hold to talk, x1carb11 -bindsym --release XF86Go exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 1 ## Release to mute, x1carb11 - - -bindsym $mod+XF86AudioMicMute exec --no-startup-id pactl list short sources | awk '/input.*RUNNING/ {system("pactl set-source-mute " $1 " toggle")}' ## Find and mute mics - - -bindsym $mod+m exec i3-input -F 'mark %s' -l 1 -P 'Mark: ' -bindsym $mod+g exec i3-input -F '[con_mark="%s"] focus' -l 1 -P 'Goto: ' - -focus_follows_mouse no -mouse_warping none -popup_during_fullscreen smart - -# kill focused window -bindsym $mod+Shift+q kill - -bindsym $mod+d exec --no-startup-id rofi -show drun -m -1 -bindsym $mod+i exec --no-startup-id i3_switch_workspace.sh -bindsym $mod+o exec --no-startup-id slm_rofi.sh - -# change focus -bindsym $mod+h focus left -bindsym $mod+j focus down -bindsym $mod+k focus up -bindsym $mod+l focus right - -# alternatively, you can use the cursor keys: -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right - -# move focused window -bindsym $mod+Shift+h move left -bindsym $mod+Shift+j move down -bindsym $mod+Shift+k move up -bindsym $mod+Shift+l move right - -bindsym $mod+Ctrl+Shift+l move workspace to output right -bindsym $mod+Ctrl+Shift+h move workspace to output left -bindsym $mod+Ctrl+Shift+k move workspace to output up -bindsym $mod+Ctrl+Shift+j move workspace to output down - -# alternatively, you can use the cursor keys: -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right - - -# enter fullscreen mode for the focused container -bindsym $mod+f fullscreen toggle - -# change container layout (tabbed, toggle split) -bindsym $mod+t layout tabbed -bindsym $mod+v layout toggle split -bindsym $mod+a focus parent - -# toggle tiling / floating -bindsym $mod+Shift+slash floating toggle -bindsym $mod+Shift+comma sticky toggle - -for_window [title="Picture-in-Picture"] sticky enable -for_window [title="Picture-in-Picture"] border pixel 0 - -# change focus between tiling / floating windows -bindsym $mod+slash focus mode_toggle - -# Use Mouse+$mod to drag floating windows to their wanted position -floating_modifier $mod - -# Define names for default workspaces for which we configure key bindings later on. -# We use variables to avoid repeating the names in multiple places. -set $ws1 "1 Browser" -set $ws2 "2  Code" -set $ws3 "3  Code" -set $ws4 "4" -set $ws5 "5" -set $ws6 "6" -set $ws7 "7" -set $ws8 "8💬Social" -set $ws9 "9🎵Music" -set $ws10 "10🍿Media" - -# switch to workspace -bindsym $mod+1 workspace number $ws1 -bindsym $mod+2 workspace number $ws2 -bindsym $mod+3 workspace number $ws3 -bindsym $mod+4 workspace number $ws4 -bindsym $mod+5 workspace number $ws5 -bindsym $mod+6 workspace number $ws6 -bindsym $mod+7 workspace number $ws7 -bindsym $mod+8 workspace number $ws8 -bindsym $mod+9 workspace number $ws9 -bindsym $mod+0 workspace number $ws10 - -# move focused container to workspace -bindsym $mod+Shift+1 move container to workspace number $ws1 -bindsym $mod+Shift+2 move container to workspace number $ws2 -bindsym $mod+Shift+3 move container to workspace number $ws3 -bindsym $mod+Shift+4 move container to workspace number $ws4 -bindsym $mod+Shift+5 move container to workspace number $ws5 -bindsym $mod+Shift+6 move container to workspace number $ws6 -bindsym $mod+Shift+7 move container to workspace number $ws7 -bindsym $mod+Shift+8 move container to workspace number $ws8 -bindsym $mod+Shift+9 move container to workspace number $ws9 -bindsym $mod+Shift+0 move container to workspace number $ws10 - -bindsym $mod+u workspace prev -bindsym $mod+Shift+u workspace next - -workspace_auto_back_and_forth no -bindsym $mod+Tab workspace back_and_forth - -# resize window (you can also use the mouse for that) -bindsym $mod+r mode "resize" -mode "resize" { - bindsym h resize shrink width 10 px or 10 ppt - bindsym j resize grow height 10 px or 10 ppt - bindsym k resize shrink height 10 px or 10 ppt - bindsym l resize grow width 10 px or 10 ppt - - bindsym $mod+r mode "default" - bindsym p mode "resize_precise" - - bindsym Return mode "default" - bindsym Escape mode "default" -} -mode "resize_precise" { - bindsym h resize shrink width 1 px or 1 ppt - bindsym j resize grow height 1 px or 1 ppt - bindsym k resize shrink height 1 px or 1 ppt - bindsym l resize grow width 1 px or 1 ppt - - bindsym $mod+r mode "default" - bindsym p mode "resize" - - bindsym Return mode "default" - bindsym Escape mode "default" -} - -set $exitmode "Power: [e]xit, [r]eboot, [s]hutdown, s[u]spend, [l]ock, [b]lack" -mode $exitmode { - bindsym e exit - bindsym r exec reboot - bindsym s exec shutdown -h now - bindsym u exec systemctl suspend; mode "default" - bindsym l exec $i3lock_cmd; mode "default" - bindsym b exec magick canvas:none PNG:- | feh -YFx -; mode "default" - - bindsym Escape mode "default" - bindsym Return mode "default" -} -bindsym $mod+x mode $exitmode - - -# reload the configuration file -bindsym $mod+Shift+c reload -# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) -bindsym $mod+Shift+r restart - -bar { - output primary - output nonprimary - tray_output primary - - # disable scroll - bindsym button4 nop - bindsym button5 nop - status_command i3blocks -} - -bindsym Print exec --no-startup-id screenshot select copy -bindsym $mod+Print exec --no-startup-id screenshot window copy -bindsym Ctrl+Print exec --no-startup-id screenshot entire copy - -bindsym Shift+Print exec --no-startup-id screenshot select save -bindsym Shift+$mod+Print exec --no-startup-id screenshot window save -bindsym Shift+Ctrl+Print exec --no-startup-id screenshot entire save - -bindsym $mod+s exec --no-startup-id i3_swap_workspaces - -# default workspaces for monitors in setup -workspace $ws1 output primary -workspace $ws2 output primary -workspace $ws3 output primary -workspace $ws9 output nonprimary -workspace $ws10 output nonprimary - -workspace hide1 output primary -workspace hide2 output nonprimary -bindsym $mod+q exec --no-startup-id i3-msg workspace hide1; workspace hide2 - -no_focus [title="^Peek preview$"] -no_focus [class="feh"] - -include ~/.config/i3/config.d/*.conf diff --git a/home/user/.config/i3/config.d/.gitkeep b/home/user/.config/i3/config.d/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/home/user/.config/sway/bindings.conf b/home/user/.config/sway/bindings.conf index 460257a..819fef1 100644 --- a/home/user/.config/sway/bindings.conf +++ b/home/user/.config/sway/bindings.conf @@ -33,12 +33,13 @@ bindsym $mod+XF86AudioMicMute exec --no-startup-id pactl list short sources | aw bindsym $mod+Return exec alacritty +bindsym --to-code $mod+s exec sway_swap_workspaces + bindsym --to-code $mod+Shift+q kill bindsym --to-code $mod+Shift+r reload set $menu rofi -show drun -m -1 bindsym --to-code $mod+d exec $menu -# bindsym $mod+i exec --no-startup-id i3_switch_workspace.sh # bindsym $mod+o exec --no-startup-id slm_rofi.sh # Change focus diff --git a/home/user/.local/bin/i3_swap_workspaces b/home/user/.local/bin/i3_swap_workspaces deleted file mode 100755 index 252d229..0000000 --- a/home/user/.local/bin/i3_swap_workspaces +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - - -set -eu - - -current_monitor=$(i3-msg -t get_workspaces | jq '.[] | select(.focused).output' | tr -d '"') -other_monitor=$(i3-msg -t get_outputs | jq -r ".[] | select(.active and .name != \"${current_monitor}\").name" | head -n 1) - -if [ -z "${other_monitor}" ]; then - echo "No other active monitor found." - exit 1 -fi - -current_workspace=$(i3-msg -t get_workspaces | jq '.[] | select(.focused).name' | tr -d '"') -other_workspace=$(i3-msg -t get_workspaces | jq -r ".[] | select(.visible and .output == \"${other_monitor}\").name" | head -n 1) - -if [ -n "${other_workspace}" ]; then - # Swap workspaces - i3-msg "workspace ${other_workspace}; move workspace to output ${current_monitor}" - i3-msg "workspace ${current_workspace}; move workspace to output ${other_monitor}" - i3-msg "workspace ${other_workspace}" -else - # Just move current workspace if target is empty - i3-msg "move workspace to output ${other_monitor}" -fi diff --git a/home/user/.local/bin/i3_switch_workspace.sh b/home/user/.local/bin/i3_switch_workspace.sh deleted file mode 100755 index 8eeae96..0000000 --- a/home/user/.local/bin/i3_switch_workspace.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -gen_workspaces() -{ - i3-msg -t get_workspaces | tr ',' '\n' | grep "name" | sed 's/"name":"\(.*\)"/\1/g' -} - -choosed_workspace=$(gen_workspaces | rofi -dmenu -m -1 -i -p "Select workspace") - -if [ -n "${choosed_workspace}" ] -then - i3-msg workspace "${choosed_workspace}" -fi \ No newline at end of file diff --git a/home/user/.local/bin/sway_swap_workspaces b/home/user/.local/bin/sway_swap_workspaces new file mode 100755 index 0000000..e63cdc7 --- /dev/null +++ b/home/user/.local/bin/sway_swap_workspaces @@ -0,0 +1,26 @@ +#!/bin/bash + + +set -eu + + +current_monitor=$(swaymsg -r -t get_workspaces | jq '.[] | select(.focused).output' | tr -d '"') +other_monitor=$(swaymsg -r -t get_outputs | jq -r ".[] | select(.active and .name != \"${current_monitor}\").name" | head -n 1) + +if [ -z "${other_monitor}" ]; then + echo "No other active monitor found." + exit 1 +fi + +current_workspace=$(swaymsg -r -t get_workspaces | jq '.[] | select(.focused).name' | tr -d '"') +other_workspace=$(swaymsg -r -t get_workspaces | jq -r ".[] | select(.visible and .output == \"${other_monitor}\").name" | head -n 1) + +if [ -n "${other_workspace}" ]; then + # Swap workspaces + swaymsg "workspace ${other_workspace}; move workspace to output ${current_monitor}" + swaymsg "workspace ${current_workspace}; move workspace to output ${other_monitor}" + swaymsg "workspace ${other_workspace}" +else + # Just move current workspace if target is empty + swaymsg "move workspace to output ${other_monitor}" +fi diff --git a/home/user/.xinitrc b/home/user/.xinitrc deleted file mode 100644 index 3f766b2..0000000 --- a/home/user/.xinitrc +++ /dev/null @@ -1,11 +0,0 @@ -[[ -r ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources -[[ -r ~/.xprofile ]] && source ~/.xprofile - -session=${1:-i3} - -case $session in - i3|i3wm ) exec i3;; - kde ) exec startplasma-x11;; - xfce|xfce4 ) exec startxfce4;; - * ) exec $1;; -esac diff --git a/install-hooks/i3/pre-install b/install-hooks/i3/pre-install deleted file mode 100755 index 1644717..0000000 --- a/install-hooks/i3/pre-install +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -echo "sudo pacman -S nitrogen picom compton ttf-font-awesome xdotool xclip maim playerctl rofi unclutter"