diff --git a/sway/config b/sway/config new file mode 100644 index 0000000..b895f20 --- /dev/null +++ b/sway/config @@ -0,0 +1,25 @@ +# Read `man 5 sway` for a complete reference. + +# It's good to keep it handy in case I would like to try it again +# xwayland disable + +# Primary modifier key +# Mod1 for Alt +# Mod4 for Super +set $mod Mod4 + +# Direction keys +set $up i +set $left j +set $down k +set $right l + +set $uifont "pango:Source Sans Pro 11" +font $uifont + +include @sysconfdir@/sway/config.d/* +include $HOME/.config/sway/config.d/* + +# Color Scheme +include $HOME/.config/sway/themes/dracula +# include $HOME/.config/sway/themes/default diff --git a/sway/config.d/bar b/sway/config.d/bar new file mode 100644 index 0000000..8aca0d3 --- /dev/null +++ b/sway/config.d/bar @@ -0,0 +1,11 @@ +# +# Status Bar +# + +# Read `man 5 sway-bar` for more information about this section. + +bar { + font $uifont + position top + swaybar_command waybar +} diff --git a/sway/config.d/displays b/sway/config.d/displays new file mode 100644 index 0000000..fe2b355 --- /dev/null +++ b/sway/config.d/displays @@ -0,0 +1,6 @@ +# +# Display configurations +# + +# Set UI scale to 1.5 on home display (AOC U2790) +output "Unknown U2790B 0x000007CE" scale 1.5 diff --git a/sway/config.d/keys b/sway/config.d/keys new file mode 100644 index 0000000..a700310 --- /dev/null +++ b/sway/config.d/keys @@ -0,0 +1,44 @@ +# +# Misc Keybindings +# + +# Kill focused window +bindsym $mod+Shift+q kill + +# Reload the configuration file +bindsym $mod+Shift+c reload + +# Exit sway (logs you out of your Wayland session) +bindsym $mod+Shift+e exec swaynag -t warning -m 'Do you really want to exit sway?' -b 'Yes, exit sway' 'swaymsg exit' + +# Lock Screen (command is from dotfiles/bin) +bindsym $mod+Alt+l exec screens-lock + +bindsym --locked Alt+F10 exec screens-off +bindsym --locked Alt+F1 exec screens-on + +# Start a terminal +bindsym $mod+Return exec termite + +# Start your launcher +# set $menu dmenu_path | dmenu | xargs swaymsg exec -- +# set $menu bemenu-run --fn $uifont -b -p "▶" --tf "$prompt" --hf "$highlight" --sf "$highlight" --scf "$highlight" | xargs swaymsg exec +# set $menu rofi -show-icons -modi drun -show +set $menu wofi -I -i -W 600 -p 'Launch Application' --show drun +bindsym $mod+d exec $menu + +# Mission Control +bindsym $mod+Shift+d exec mymenu + +# Interactive screenshot menu +bindsym $mod+Shift+p exec sway-interactive-screenshot + +# Pulse Audio controls +bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume +bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume +bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound + +# Media player controls +bindsym XF86AudioPlay exec playerctl -p spotify,plasma-browser-integration play-pause +bindsym XF86AudioNext exec playerctl -p spotify,plasma-browser-integration next +bindsym XF86AudioPrev exec playerctl -p spotify,plasma-browser-integration previous diff --git a/sway/config.d/keys_layout b/sway/config.d/keys_layout new file mode 100644 index 0000000..64791b5 --- /dev/null +++ b/sway/config.d/keys_layout @@ -0,0 +1,31 @@ +# +# Layout +# + +# Horizontal and vertical split +bindsym $mod+n splith +bindsym $mod+m 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 + +# 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 diff --git a/sway/config.d/keys_move b/sway/config.d/keys_move new file mode 100644 index 0000000..c7e77b0 --- /dev/null +++ b/sway/config.d/keys_move @@ -0,0 +1,22 @@ +# +# Moving around +# + +bindsym $mod+$left focus left +bindsym $mod+$down focus down +bindsym $mod+$up focus up +bindsym $mod+$right focus right +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 +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right diff --git a/sway/config.d/keys_resize b/sway/config.d/keys_resize new file mode 100644 index 0000000..9d65d1b --- /dev/null +++ b/sway/config.d/keys_resize @@ -0,0 +1,38 @@ +# +# Resizing +# + +set $step_small 10px +set $step_big 50px +set $part_small 30 +set $part_big 70 + +mode "resize" { + # Small steps + bindsym $left resize shrink width $step_small + bindsym $down resize grow height $step_small + bindsym $up resize shrink height $step_small + bindsym $right resize grow width $step_small + bindsym Left resize shrink width $step_small + bindsym Down resize grow height $step_small + bindsym Up resize shrink height $step_small + bindsym Right resize grow width $step_small + + # Big steps with Shift + bindsym Shift+$left resize shrink width $big_step + bindsym Shift+$down resize grow height $big_step + bindsym Shift+$up resize shrink height $big_step + bindsym Shift+$right resize grow width $big_step + bindsym Shift+Left resize shrink width $big_step + bindsym Shift+Down resize grow height $big_step + bindsym Shift+Up resize shrink height $big_step + bindsym Shift+Right resize grow width $big_step + + bindsym u resize set width $part_small ppt + bindsym o resize set width $part_big ppt + + # Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+r mode "resize" diff --git a/sway/config.d/keys_scratchpad b/sway/config.d/keys_scratchpad new file mode 100644 index 0000000..c837428 --- /dev/null +++ b/sway/config.d/keys_scratchpad @@ -0,0 +1,10 @@ +# +# Scratchpad +# + +# Move the currently focused window to the scratchpad +bindsym $mod+Shift+minus 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+minus scratchpad show diff --git a/sway/config.d/keys_workspaces b/sway/config.d/keys_workspaces new file mode 100644 index 0000000..aed9d34 --- /dev/null +++ b/sway/config.d/keys_workspaces @@ -0,0 +1,31 @@ +# +# Workspaces +# + +# Switch to workspace +bindsym $mod+1 workspace number 1 +bindsym $mod+2 workspace number 2 +bindsym $mod+3 workspace number 3 +bindsym $mod+4 workspace number 4 +bindsym $mod+5 workspace number 5 +bindsym $mod+6 workspace number 6 +bindsym $mod+7 workspace number 7 +bindsym $mod+8 workspace number 8 +bindsym $mod+9 workspace number 9 +bindsym $mod+0 workspace number 10 + +# Move focused container to workspace +bindsym $mod+Shift+1 move container to workspace number 1 +bindsym $mod+Shift+2 move container to workspace number 2 +bindsym $mod+Shift+3 move container to workspace number 3 +bindsym $mod+Shift+4 move container to workspace number 4 +bindsym $mod+Shift+5 move container to workspace number 5 +bindsym $mod+Shift+6 move container to workspace number 6 +bindsym $mod+Shift+7 move container to workspace number 7 +bindsym $mod+Shift+8 move container to workspace number 8 +bindsym $mod+Shift+9 move container to workspace number 9 +bindsym $mod+Shift+0 move container to workspace number 10 + +# Move workspace between outputs +bindsym $mod+Shift+o move workspace to output right +bindsym $mod+Shift+u move workspace to output left diff --git a/sway/config.d/wallpaper b/sway/config.d/wallpaper new file mode 100644 index 0000000..7e0704c --- /dev/null +++ b/sway/config.d/wallpaper @@ -0,0 +1,11 @@ +# +# Wallpaper +# + +set $wallpaper_dir $HOME/Pictures/Wallpapers +set $wallpaper $wallpaper_dir/F29/3-night.png + +output * bg $wallpaper fill + +# Timed wallpaper, disabled due to bugs +# exec settimed -m=fill $wallpaper_dir/F29/fedora29-timed.stw diff --git a/sway/config.d/window_rules b/sway/config.d/window_rules new file mode 100644 index 0000000..7dfffdc --- /dev/null +++ b/sway/config.d/window_rules @@ -0,0 +1,7 @@ +# +# Window rules +# + +for_window [app_id="nm-connection-editor"] floating enable +for_window [app_id="pavucontrol"] floating enable +for_window [app_id="spotify-qt"] floating enable diff --git a/sway/themes/default b/sway/themes/default new file mode 100644 index 0000000..7316ea8 --- /dev/null +++ b/sway/themes/default @@ -0,0 +1,8 @@ +# Default theme that came with sway +# Changed focused background color a bit + +# class border backgr. text wtf . child_border # wtf = indicator? +client.focused #14568c #0e3f66 #ffffff #14568c #14568c +client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a +client.unfocused #333333 #222222 #888888 #292d2e #222222 +client.urgent #2f343a #900000 #ffffff #900000 #900000 \ No newline at end of file diff --git a/sway/themes/dracula b/sway/themes/dracula new file mode 100644 index 0000000..d84f6c1 --- /dev/null +++ b/sway/themes/dracula @@ -0,0 +1,11 @@ +# Dracula theme +# https://github.com/dracula/i3/blob/master/.config/i3/config +# Slightly modified + +client.focused #ffb86c #ffb86c #282a36 #ffb86c #ffb86c +client.focused_inactive #44475A #44475A #F8F8F2 #44475A #44475A +client.unfocused #44475A #282A36 #F8F8F2 #44475A #44475A +client.urgent #44475A #FF5555 #F8F8F2 #FF5555 #FF5555 +client.placeholder #282A36 #282A36 #F8F8F2 #282A36 #282A36 + +client.background #F8F8F2 \ No newline at end of file