sway: auto-fullscreen everything on the TV

This commit is contained in:
Colin 2024-03-08 09:42:07 +00:00
parent 3282b40e9b
commit a4ab60b836

View File

@ -111,6 +111,7 @@ 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 TV
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
@ -120,6 +121,7 @@ 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 TV
#### "scratchpad" = ??
# bindsym $mod+Shift+minus move scratchpad
@ -144,6 +146,9 @@ mode "resize" {
for_window [title="megapixels"] inhibit_idle open
# workspace assignments
workspace TV output "LG Electronics LG TV 0x01010101"
for_window [workspace="TV"] fullscreen enable
# mostly, messengers belong on WS 1
for_window [app_id="im.dino.Dino"] move container to workspace number 1
for_window [app_id="org.gnome.Fractal"] move container to workspace number 1
@ -165,27 +170,10 @@ for_window [app_id="deadd-notification-center"] {
move left 360
}
for_window [app_id="mpv"] {
move to output "LG Electronics LG TV 0x01010101"
# TODO: auto-fullscreen ONLY if rendering to an external display.
# otherwise, hijacking fullscreen when i launch youtube videos, podcasts, etc, is not great.
# options:
# 1. fake fullscreen by just not rendering the waybar on external displays, but then i wouldn't know which workspace to put stuff on...
# 2.
# - assign workspace 10 to external outputs
# - then `move to output ...` will put the app onto workspace 10 *only* if the output is connected
# - then add `workspace 10` as a `for_window` condition for the fullscreen.
# could generalize this part to *any* app_id.
# fullscreen enable
}
for_window [app_id="Celeste64"] {
# this only works if Celeste doesn't itself request fullscreen (else, random chance of which display it gets).
# so enter in-game options and disable "Fullscreen", then we manage it here ourselves
move to output "LG Electronics LG TV 0x01010101"
fullscreen enable
# move to output "HDMI-A-2"
# move output right
}
for_window [app_id="mpv"] move to output "LG Electronics LG TV 0x01010101"
# this only works if Celeste doesn't itself request fullscreen (else, random chance of which display it gets).
# so enter in-game options and disable "Fullscreen", then we manage it here ourselves
for_window [app_id="Celeste64"] move to output "LG Electronics LG TV 0x01010101"
### displays