commit 5e826ff1c49975ff6ea4f1777a1507b3e949d561 Author: cho Date: Sun Apr 2 16:58:11 2023 +0700 add sway config diff --git a/home/default/.config/sway/config b/home/default/.config/sway/config new file mode 100644 index 0000000..10dfbf2 --- /dev/null +++ b/home/default/.config/sway/config @@ -0,0 +1,334 @@ +### sway settings + +# logo key. Use Mod1 for Alt. +set $mod Mod4 + +# home row direction keys, like vim +set $left h +set $down j +set $up k +set $right l + +set $term $TERMINAL +set $browser $BROWSER +set $editor $EDITOR +set $lock lock +set $menu dmenu-wl_path | dmenu-wl | xargs swaymsg exec -- + +# wallpaper +output "*" background ~/.local/share/bg fill + + +### daemons + + +# autotype +exec ydotoold + +# display orientation +exec --no-startup-id kanshi + +# input method +exec fcitx5 + +# night light +#exec sleep 3 && gammastep -l LAT:LON + +# mpd (music player daemon) +exec mpd + +# xresources (nsxiv theme, and other programs) +exec xrdb $HOME/.config/x11/xresources + +# Syncthing (sync daemon) +exec syncthing --no-browser + +# polkit +exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 + +exec_always autotiling +exec systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway +exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway + + +# behavior +focus_follows_mouse no +hide_edge_borders smart +workspace_auto_back_and_forth no +show_marks yes + +# looks +default_border pixel 2 +default_floating_border pixel 2 +gaps inner 5 +gaps outer 5 +#bindsym $mod+Shift+y border toggle + +set $cl_high #F5C2E7 +set $cl_indi #888888 +set $cl_back #1E1D2F +set $cl_fore #d9d8d8 +set $cl_urge #FF0000 + +client.focused $cl_high $cl_high $cl_fore $cl_indi $cl_high +client.focused_inactive $cl_back $cl_back $cl_fore $cl_back $cl_back +client.unfocused $cl_back $cl_back $cl_fore $cl_back $cl_back +client.urgent $cl_urge $cl_urge $cl_fore $cl_urge $cl_urge + +# You can get the names of your outputs by running: swaymsg -t get_outputs +output HDMI-A-1 pos 0 0 res 1366x768 +output DVI-D-1 pos 1366 0 transform 0 + +### Idle configuration + +# timeout +exec idle + + +### key bindings + + +# start a terminal +bindsym $mod+Return exec $term + +# kill focused window +bindsym $mod+q kill + +# start your launcher +bindsym $mod+d exec $menu +bindsym $mod+Shift+d exec wofi --show drun + +# drag floating windows by holding down $mod and left mouse button. +# resize them with right mouse button + $mod. +# 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 + +# reload the configuration file +bindsym $mod+Shift+r reload + +# exit sway (logs you out of your wayland session) +bindsym $mod+Shift+backspace exec prompt "Do you really wont to exit sway? This will end your Wayland session" "swaymsg exit" + +# Prompts you options; shutdown, sleep, etc. +bindsym $mod+backspace exec sysact + +# move your focus around +bindsym $mod+$left focus left +bindsym $mod+$down focus down +bindsym $mod+$up focus up +bindsym $mod+$right focus right + +# move the focused window with the same, but add Shift +bindsym $mod+Shift+$left move left +bindsym $mod+Shift+$down move down +bindsym $mod+Shift+$up move up +bindsym $mod+Shift+$right move right + +# screenshot +bindsym Print exec grimshot save output $HOME/pictures/Screenshots/$(date +'%Y-%m-%d_%H.%M.%S_%Z').png +bindsym $mod+Print exec grimshot save active $HOME/pictures/Screenshots/$(date +'%Y-%m-%d_%H.%M.%S_%Z').png +bindsym $mod+Shift+Print exec grimshot save window $HOME/pictures/Screenshots/$(date +'%Y-%m-%d_%H.%M.%S_%Z').png + + +### programs + +# sway config +bindsym $mod+F1 exec $term -e $editor ~/.config/sway/config + +# browser +bindsym $mod+w exec $browser + +# schedule +bindsym $mod+c exec $term -e sc-im $HOME/vimwiki/schedule.sc + +# diary +bindsym $mod+Control+n exec $term -e nvim -c VimwikiMakeDiaryNote + +# vimwiki (notebook) +bindsym $mod+n exec $term -e nvim -c VimwikiIndex + +# newsboat (rss) +bindsym $mod+Shift+n exec $term -e newsboat + +# notifications tab +bindsym $mod+Shift+t exec $term -e swaync-client -t + +# file manager +bindsym $mod+r exec $term -e lf + +# mail +bindsym $mod+e exec $term -e neomutt + +# start tasks in dmenu +bindsym $mod+x exec start-tasks + +# bookmarks +bindsym $mod+b exec $term -e nvim ~/notebook/bookmarks/bookmarks.md +bindsym $mod+shift+b exec bookmark +bindsym $mod+Insert exec ydotool type $(grep -v '^#' $home/notebook/bookmarks/bookmarks.md | dmenu -l 50 | cut -d' ' -f1) + +# kaomiji? +#bindsym $mod+z exec dmenukaomoji + +# keepass dmenu +bindsym $mod+shift+Insert exec keepmenu + +# download script +bindsym $mod+Control+m exec musdl +#bindsym $mod+Shift+y exec $term ytfzf --detach -c youtube-url $(wl-paste) +#bindsym $mod+y exec io.freetubeapp.FreeTube $(wl-paste) +bindsym --no-repeat $mod+t exec todo-wp + +# workspace names +set $wp1 1 +set $wp2 2 +set $wp3 3 +set $wp4 4 +set $wp5 5 +set $wp6 6 +set $wp7 7 +set $wp8 8 +set $wp9 9 +set $wp10 10 + +# switch to workspace +bindsym $mod+1 workspace $wp1 +bindsym $mod+2 workspace $wp2 +bindsym $mod+3 workspace $wp3 +bindsym $mod+4 workspace $wp4 +bindsym $mod+5 workspace $wp5 +bindsym $mod+6 workspace $wp6 +bindsym $mod+7 workspace $wp7 +bindsym $mod+8 workspace $wp8 +bindsym $mod+9 workspace $wp9 +bindsym $mod+0 workspace $wp10 + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace $wp1 +bindsym $mod+Shift+2 move container to workspace $wp2 +bindsym $mod+Shift+3 move container to workspace $wp3 +bindsym $mod+Shift+4 move container to workspace $wp4 +bindsym $mod+Shift+5 move container to workspace $wp5 +bindsym $mod+Shift+6 move container to workspace $wp6 +bindsym $mod+Shift+7 move container to workspace $wp7 +bindsym $mod+Shift+8 move container to workspace $wp8 +bindsym $mod+Shift+9 move container to workspace $wp9 +bindsym $mod+Shift+0 move container to workspace $wp10 + +# move focused container to workspace +# with comma/period () +bindsym $mod+comma focus output left +bindsym $mod+period focus output right +bindsym $mod+Shift+comma move window to output left +bindsym $mod+Shift+period move window to output right +bindsym $mod+Alt+comma move workspace to output left +bindsym $mod+Alt+period move workspace to output right +# with directional pad (up/down/left/right) +bindsym $mod+left focus output left +bindsym $mod+right focus output right +bindsym $mod+up focus output up +bindsym $mod+down focus output down +bindsym $mod+Shift+left move window to output left +bindsym $mod+Shift+right move window to output right +bindsym $mod+Shift+up move window to output up +bindsym $mod+Shift+down move window to output down +bindsym $mod+Alt+left move workspace to output left +bindsym $mod+Alt+right move workspace to output right +bindsym $mod+Alt+up move workspace to output up +bindsym $mod+Alt+down move workspace to output down + +# splits +# bindsym $mod+b splith +# bindsym $mod+v splitv + +# switch the current container between different layout styles +# bindsym $mod+s layout stacking +# bindsym $mod+w layout tabbed +# bindsym $mod+e layout toggle split + +# make the current focus fullscreen +bindsym $mod+f fullscreen + +# toggle the current focus between tiling and floating mode +bindsym $mod+Shift+space floating toggle + +# swap focus between the tiling area and the floating area +bindsym $mod+space focus mode_toggle + +# move focus to the parent container +bindsym $mod+a focus parent + +# move the currently focused window to the scratchpad +bindsym $mod+Shift+grave move scratchpad + +# show the next scratchpad window or hide the focused scratchpad window. +# if there are multiple scratchpad windows, this command cycles through them. +bindsym $mod+grave scratchpad show + +mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym $left resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $right resize grow width 10px + + # ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + + # return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +#bindsym $mod+r mode "resize" + + + +# status bar +include $HOME/.config/sway/bar +#exec_always killall waybar +#exec_always sleep 2 && waybar + + +### special keys + + +# mute +# TODO mic mute and audio mute w/ wpctl +bindsym $mod+Shift+m exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle + +# volume +bindsym $mod+minus exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bindsym $mod+equal exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ +bindsym $mod+Shift+minus exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 15%- +bindsym $mod+Shift+equal exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 15%+ + +# music controls +bindsym $mod+p exec mpc toggle +bindsym $mod+o exec mpc next +bindsym $mod+i exec mpc prev + +# music seeking +bindsym $mod+bracketleft exec mpc seek -10 +bindsym $mod+bracketright exec mpc seek +10 +bindsym $mod+Shift+bracketleft exec mpc seek -60 +bindsym $mod+Shift+bracketright exec mpc seek +60 + +# audio controller +bindsym $mod+Control+p exec $term -e pulsemixer + +# music player +bindsym $mod+m exec $term -e ncmpcpp + +#bindsym $mod+Shift+o exec mpc repeat +#bindsym $mod+Shift+i exec mpc seek 0% + +include /etc/sway/config.d/* +include ~/syncthing/default/config.d/sway/