diff --git a/TARGETS.sh b/TARGETS.sh index a796191..92640c2 100644 --- a/TARGETS.sh +++ b/TARGETS.sh @@ -13,6 +13,7 @@ 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/waybar pomodoro: bat:.config/bat font: diff --git a/home/user/.config/sway/config b/home/user/.config/sway/config new file mode 100644 index 0000000..a1d20d3 --- /dev/null +++ b/home/user/.config/sway/config @@ -0,0 +1,266 @@ +# 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/waybar/config b/home/user/.config/waybar/config new file mode 100644 index 0000000..7991956 --- /dev/null +++ b/home/user/.config/waybar/config @@ -0,0 +1,13 @@ +{ + "layer": "bottom", + "position": "bottom", + "modules-left": ["sway/workspaces", "sway/mode"], + "modules-center": ["sway/window"], + "modules-right": ["clock", "battery", "cpu", "memory", "network", "pulseaudio", "backlight"], + "sway/workspaces": { + "disable-scroll": true + }, + "clock": { + "format": "{ %d.%m.%y %a  %H:%M}" + } +}