We drop mpv on the TV being fullscreen in favor of having no borders. This makes it look full screen while allowing multiple feeds if needs be. We also remove the swaybar from the TV so it doesn't chew up space.
227 lines
6.9 KiB
Text
227 lines
6.9 KiB
Text
# base16 color scheme
|
||
# %%base16_template: i3##colors %%
|
||
set $base00 #000000
|
||
set $base01 #202020
|
||
set $base02 #311647
|
||
set $base03 #606060
|
||
set $base04 #b0b0b0
|
||
set $base05 #f0f0f0
|
||
set $base06 #c0c0c0
|
||
set $base07 #ffffff
|
||
set $base08 #ed008c
|
||
set $base09 #f7941d
|
||
set $base0A #f7c61d
|
||
set $base0B #8dc73f
|
||
set $base0C #65cdcd
|
||
set $base0D #3f7fff
|
||
set $base0E #9f4fdf
|
||
set $base0F #a16946
|
||
# %%base16_template_end%%
|
||
|
||
# Global font config
|
||
font pango:Terminus (TTF) 12
|
||
|
||
# Property Name Border BG Text Indicator Child Border
|
||
client.focused $base00 $base02 $base05 $base0D $base02
|
||
client.focused_inactive $base01 $base01 $base05 $base03 $base01
|
||
client.unfocused $base01 $base00 $base05 $base01 $base01
|
||
client.urgent $base08 $base08 $base00 $base08 $base08
|
||
client.placeholder $base00 $base00 $base05 $base00 $base00
|
||
client.background $base07
|
||
|
||
# Set mod key to Win key
|
||
set $mod Mod4
|
||
|
||
# status bar declarations
|
||
bar {
|
||
output "Ancor Communications Inc VE247 G6LMQS117385"
|
||
status_command "~/bin/statusbar"
|
||
position bottom
|
||
|
||
font pango:Terminus (TTF) 12
|
||
|
||
colors {
|
||
background $base00
|
||
separator $base01
|
||
statusline $base04
|
||
|
||
# State Border BG Text
|
||
focused_workspace $base00 $base02 $base05
|
||
active_workspace $base05 $base03 $base00
|
||
inactive_workspace $base03 $base01 $base05
|
||
urgent_workspace $base08 $base08 $base00
|
||
binding_mode $base00 $base0A $base00
|
||
}
|
||
}
|
||
|
||
# Use Mouse+$mod to drag windows to their wanted position
|
||
# This used to only work on floating windows in i3. In sway it's any mode
|
||
floating_modifier $mod
|
||
|
||
# start a terminal
|
||
bindsym $mod+Return exec x-terminal-emulator
|
||
|
||
# screenshot on win+shift+s
|
||
bindsym $mod+Shift+s exec "~/bin/screenshot"
|
||
|
||
# open the front door camera on win+shift+f
|
||
bindsym $mod+Shift+f exec "~/bin/view_frontdoor"
|
||
|
||
# kill focused window
|
||
bindsym $mod+Shift+q kill
|
||
|
||
# kill on titlebar midclick
|
||
bindsym button3 kill
|
||
|
||
# rofi launcher
|
||
bindsym $mod+space exec "rofi -show run"
|
||
|
||
# pcmanfm -- file manager
|
||
bindsym $mod+Shift+Return exec "pcmanfm"
|
||
|
||
# open clipboard selection in mpv, for grabbng links from chat/email
|
||
bindsym $mod+m exec "mpv --wayland-app-id=mpv__tv --image-display-duration=inf --force-window --title=`wl-paste` `wl-paste`"
|
||
|
||
# change focus
|
||
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+Left move left
|
||
bindsym $mod+Shift+Down move down
|
||
bindsym $mod+Shift+Up move up
|
||
bindsym $mod+Shift+Right move right
|
||
|
||
# split in horizontal orientation
|
||
bindsym $mod+h split h
|
||
|
||
# split in vertical orientation
|
||
bindsym $mod+v split v
|
||
|
||
# enter fullscreen mode for the focused container
|
||
bindsym $mod+f fullscreen toggle
|
||
|
||
# change container layout (stacked, tabbed, toggle split)
|
||
bindsym $mod+s layout stacking
|
||
bindsym $mod+w layout tabbed
|
||
bindsym $mod+e layout toggle split
|
||
|
||
# toggle tiling / floating
|
||
bindsym $mod+Shift+space floating toggle
|
||
|
||
# toggle sticky (I always call this 'pinned' so I use P)
|
||
bindsym $mod+p sticky toggle
|
||
|
||
# focus the parent container
|
||
bindsym $mod+a focus parent
|
||
|
||
# focus the child container
|
||
bindsym $mod+d focus child
|
||
|
||
# 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"
|
||
set $ws2 "2"
|
||
set $ws3 "3"
|
||
set $ws4 "4"
|
||
set $ws5 "5"
|
||
set $ws6 "6"
|
||
set $ws7 "7"
|
||
set $ws8 "8"
|
||
set $ws9 "9"
|
||
set $ws10 "10"
|
||
|
||
# switch to workspace
|
||
bindsym $mod+1 workspace $ws1
|
||
bindsym $mod+2 workspace $ws2
|
||
bindsym $mod+3 workspace $ws3
|
||
bindsym $mod+4 workspace $ws4
|
||
bindsym $mod+5 workspace $ws5
|
||
bindsym $mod+6 workspace $ws6
|
||
bindsym $mod+7 workspace $ws7
|
||
bindsym $mod+8 workspace $ws8
|
||
bindsym $mod+9 workspace $ws9
|
||
bindsym $mod+0 workspace $ws10
|
||
|
||
# tilda replacement: workspace 10 is a full screen terminal
|
||
# menu key (old tilda hotkey) just swaps to it
|
||
bindsym Menu workspace $ws10
|
||
|
||
# move focused container to workspace
|
||
bindsym $mod+Shift+1 move container to workspace $ws1
|
||
bindsym $mod+Shift+2 move container to workspace $ws2
|
||
bindsym $mod+Shift+3 move container to workspace $ws3
|
||
bindsym $mod+Shift+4 move container to workspace $ws4
|
||
bindsym $mod+Shift+5 move container to workspace $ws5
|
||
bindsym $mod+Shift+6 move container to workspace $ws6
|
||
bindsym $mod+Shift+7 move container to workspace $ws7
|
||
bindsym $mod+Shift+8 move container to workspace $ws8
|
||
bindsym $mod+Shift+9 move container to workspace $ws9
|
||
bindsym $mod+Shift+0 move container to workspace $ws10
|
||
|
||
# reload the configuration file
|
||
bindsym $mod+Shift+c reload
|
||
# exit sway (logs you out of your X session)
|
||
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
|
||
|
||
# Cycle windows in and out of scratchpad
|
||
bindsym $mod+Shift+minus move scratchpad
|
||
bindsym $mod+minus scratchpad show
|
||
|
||
# resize window (you can also use the mouse for that)
|
||
mode "resize" {
|
||
# These bindings trigger as soon as you enter the resize mode
|
||
|
||
# Pressing left will shrink the window’s width.
|
||
# Pressing right will grow the window’s width.
|
||
# Pressing up will shrink the window’s height.
|
||
# Pressing down will grow the window’s height.
|
||
bindsym j resize shrink width 10 px or 10 ppt
|
||
bindsym k resize grow height 10 px or 10 ppt
|
||
bindsym l resize shrink height 10 px or 10 ppt
|
||
bindsym semicolon resize grow width 10 px or 10 ppt
|
||
|
||
# same bindings, but for the arrow keys
|
||
bindsym Left resize shrink width 1 px or 1 ppt
|
||
bindsym Down resize grow height 1 px or 1 ppt
|
||
bindsym Up resize shrink height 1 px or 1 ppt
|
||
bindsym Right resize grow width 1 px or 1 ppt
|
||
|
||
# back to normal: Enter or Escape or $mod+r
|
||
bindsym Return mode "default"
|
||
bindsym Escape mode "default"
|
||
bindsym $mod+r mode "default"
|
||
}
|
||
|
||
bindsym $mod+r mode "resize"
|
||
|
||
# remove extraneous borders
|
||
hide_edge_borders both
|
||
|
||
# allow workspace swap keys to toggle back and forth with prior workspace
|
||
workspace_auto_back_and_forth yes
|
||
|
||
# Make windows created with a special floating class float
|
||
for_window [app_id=".*__user_requests_float"] floating enable, border pixel 1, resize set 800 600
|
||
|
||
# Make mpv earmarked for the TV go to workspace 9, have no decorations and not steal focus
|
||
for_window [app_id="mpv__tv"] border none
|
||
assign [app_id="mpv__tv"] workspace number 9
|
||
no_focus [app_id="mpv__tv"]
|
||
|
||
# Set mouse acceleration to 0 in Sway
|
||
input * {
|
||
accel_profile "flat"
|
||
pointer_accel 0.0
|
||
}
|
||
|
||
# Set up displays (main desktop, main and TV)
|
||
output "Ancor Communications Inc VE247 G6LMQS117385" transform 270 pos 0 0
|
||
output "Synaptics Inc 232-S13 0x000001B0" pos 1080 0
|
||
|
||
# Execute dbus environment stuff
|
||
# This makes the user keychain work among other things
|
||
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
|
||
exec hash dbus-update-activation-environment 2>/dev/null && dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
|