76 lines
2.8 KiB
Text
76 lines
2.8 KiB
Text
|
|
# Configures output devices.
|
||
|
|
# (This file is rather device-specific; it was made for roxy but can be used as a base for other devices.)
|
||
|
|
|
||
|
|
# OUTPUT VARIABLES
|
||
|
|
# ~~~~~~~~~~~~~~~~
|
||
|
|
|
||
|
|
# Define short names for screens.
|
||
|
|
set $OUTPUT_INTERNAL eDP-1
|
||
|
|
set $OUTPUT_OFFICE_PRIMARY "LG Electronics LG ULTRAWIDE 0x0008F23D"
|
||
|
|
set $OUTPUT_OFFICE_SECONDARY "Dell Inc. DELL U2422HE 5KTPNM3"
|
||
|
|
|
||
|
|
# Define which outputs are the primary, secondary and tertiary screens. Used to assign workspaces.
|
||
|
|
# Can be a list of output names, in which case the first valid (connected) output in the list will be used.
|
||
|
|
# (Don't specify internal display as fallback, otherwise workspaces might be assigned to it while in docked mode.)
|
||
|
|
set $OUTPUT_PRIMARY $OUTPUT_OFFICE_PRIMARY
|
||
|
|
set $OUTPUT_SECONDARY $OUTPUT_OFFICE_SECONDARY
|
||
|
|
set $OUTPUT_TERTIARY $OUTPUT_INTERNAL
|
||
|
|
|
||
|
|
# Define spatial orientation of screens.
|
||
|
|
# Used for keybindings to switch between outputs (comma, period, slash).
|
||
|
|
# (Only single names allowed, "focus output" sadly doesn't work with fallback output names.)
|
||
|
|
set $OUTPUT_LEFT $OUTPUT_OFFICE_PRIMARY
|
||
|
|
set $OUTPUT_CENTER $OUTPUT_OFFICE_SECONDARY
|
||
|
|
set $OUTPUT_RIGHT $OUTPUT_INTERNAL
|
||
|
|
|
||
|
|
|
||
|
|
# OUTPUT SETTINGS
|
||
|
|
# ~~~~~~~~~~~~~~~
|
||
|
|
|
||
|
|
# Set the wallpaper for all outputs
|
||
|
|
output "*" background ~/.wallpapers/desktop fill #000000
|
||
|
|
|
||
|
|
# Office: Primary screen (LG ultra-wide, 2560x1080)
|
||
|
|
output $OUTPUT_OFFICE_PRIMARY {
|
||
|
|
# Place left-most
|
||
|
|
position 0 0
|
||
|
|
scale 1
|
||
|
|
}
|
||
|
|
|
||
|
|
# Office: Secondary screen (Dell, 1920x1080)
|
||
|
|
output $OUTPUT_OFFICE_SECONDARY {
|
||
|
|
# Place right of primary screen
|
||
|
|
position 2560 0
|
||
|
|
scale 1
|
||
|
|
}
|
||
|
|
|
||
|
|
# Internal laptop screen (1920x1080)
|
||
|
|
# (Standalone if not docked, or tertiary screen when docked in office)
|
||
|
|
output $OUTPUT_INTERNAL {
|
||
|
|
scale 1.25
|
||
|
|
}
|
||
|
|
|
||
|
|
# Switch focus to primary screen on start
|
||
|
|
# (Note: "focus output" sadly doesn't work with fallback outputs (like the workspace assignment),
|
||
|
|
# but that's okay: If we're docked, this works. Otherwise, there's only one screen anyway.)
|
||
|
|
exec swaymsg focus output $OUTPUT_OFFICE_PRIMARY
|
||
|
|
|
||
|
|
|
||
|
|
# OUTPUT KEYBINDINGS
|
||
|
|
# ~~~~~~~~~~~~~~~~~~
|
||
|
|
|
||
|
|
# Keybindings to switch focus between screens
|
||
|
|
bindsym $mod+comma focus output $OUTPUT_LEFT
|
||
|
|
bindsym $mod+period focus output $OUTPUT_CENTER
|
||
|
|
bindsym $mod+slash focus output $OUTPUT_RIGHT
|
||
|
|
|
||
|
|
# Keybindings to move focused window/container between screens
|
||
|
|
bindsym $mod+Shift+comma move container to output $OUTPUT_LEFT; focus output $OUTPUT_LEFT
|
||
|
|
bindsym $mod+Shift+period move container to output $OUTPUT_CENTER; focus output $OUTPUT_CENTER
|
||
|
|
bindsym $mod+Shift+slash move container to output $OUTPUT_RIGHT; focus output $OUTPUT_RIGHT
|
||
|
|
|
||
|
|
# Keybindings to move entire workspace between screens
|
||
|
|
bindsym $mod+Control+comma move workspace to output $OUTPUT_LEFT
|
||
|
|
bindsym $mod+Control+period move workspace to output $OUTPUT_CENTER
|
||
|
|
bindsym $mod+Control+slash move workspace to output $OUTPUT_RIGHT
|