Compare commits

..

2 Commits

Author SHA1 Message Date
sam_oneal b148fcc256 hyprland: add SUPER+arrow workspace cycling and overview binds
SUPER+Left/Right cycle existing workspaces on the active monitor
(m+1/m-1 with cycling enabled), SUPER+Up opens the hyprshell overview
scoped to the current monitor (create/manage workspaces there), and
SUPER+Down closes the overview again. Adds binds-help.sh cheat sheet
(SHIFT+SUPER+H) and overview-close.sh helper.
2026-09-07 18:14:27 -06:00
sam_oneal 09c8706f35 fixed issue with lid closing was not being detected 2026-09-07 15:45:44 -06:00
9 changed files with 496 additions and 56 deletions
+54 -40
View File
@@ -1,73 +1,87 @@
-- See https://wiki.hypr.land/Configuring/Basics/Binds/ for more
-- Sound through pactl
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("pactl set-sink-volume @DEFAULT_SINK@ +10%"))
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("pactl set-sink-volume @DEFAULT_SINK@ -10%"))
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("pactl set-sink-mute @DEFAULT_SINK@ toggle"))
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"))
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"))
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"))
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("pactl set-sink-volume @DEFAULT_SINK@ +10%"), { desc = "Raise volume" })
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("pactl set-sink-volume @DEFAULT_SINK@ -10%"), { desc = "Lower volume" })
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("pactl set-sink-mute @DEFAULT_SINK@ toggle"), { desc = "Mute audio" })
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { desc = "Play/pause media" })
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { desc = "Previous track" })
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { desc = "Next track" })
-- Brightness through brightnessctl
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl set +5%"))
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl set 5%-"))
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl set +5%"), { desc = "Increase brightness" })
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl set 5%-"), { desc = "Decrease brightness" })
-- Main modifier binds
hl.bind(mainMod .. " + T", hl.dsp.exec_cmd(terminal))
hl.bind(mainMod .. " + B", hl.dsp.exec_cmd(browser))
hl.bind(mainMod .. " + F", hl.dsp.exec_cmd(fileManager))
hl.bind(mainMod .. " + C", hl.dsp.window.close())
hl.bind(mainMod .. " + Q", hl.dsp.exec_cmd("hyprctl dispatch closewindow \"class:$(hyprctl activewindow -j | jq -r .class)\""))
hl.bind(mainMod .. " + M", hl.dsp.exit())
hl.bind(mainMod .. " + V", hl.dsp.window.float({ action = "toggle" }))
hl.bind(mainMod .. " + space", hl.dsp.exec_cmd(menu))
hl.bind(SUPER_SHIFT .. " + L", hl.dsp.exec_cmd("hyprlock"))
hl.bind(SUPER_SHIFT .. " + R", hl.dsp.exec_cmd("hyprctl reload"))
hl.bind(mainMod .. " + T", hl.dsp.exec_cmd(terminal), { desc = "Open terminal" })
hl.bind(mainMod .. " + B", hl.dsp.exec_cmd(browser), { desc = "Open browser" })
hl.bind(mainMod .. " + F", hl.dsp.exec_cmd(fileManager), { desc = "Open file manager" })
hl.bind(mainMod .. " + C", hl.dsp.window.close(), { desc = "Close active window" })
hl.bind(mainMod .. " + Q", hl.dsp.exec_cmd("hyprctl dispatch closewindow \"class:$(hyprctl activewindow -j | jq -r .class)\""), { desc = "Close active window (by class)" })
hl.bind(mainMod .. " + M", hl.dsp.exit(), { desc = "Exit Hyprland" })
hl.bind(mainMod .. " + V", hl.dsp.window.float({ action = "toggle" }), { desc = "Toggle floating" })
hl.bind(mainMod .. " + space", hl.dsp.exec_cmd(menu), { desc = "Open app menu" })
hl.bind(SUPER_SHIFT .. " + L", hl.dsp.exec_cmd("hyprlock"), { desc = "Lock screen" })
hl.bind(SUPER_SHIFT .. " + R", hl.dsp.exec_cmd("hyprctl reload"), { desc = "Reload config" })
-- Monique: GUI monitor arrangement/display settings
hl.bind(SUPER_SHIFT .. " + M", hl.dsp.exec_cmd("monique"))
hl.bind(SUPER_SHIFT .. " + D", hl.dsp.exec_cmd("hyprctl keyword monitor eDP-1, disable"))
hl.bind(SUPER_SHIFT .. " + F", hl.dsp.exec_cmd("hyprctl keyword monitor eDP-1, enable"))
hl.bind(SUPER_SHIFT .. " + M", hl.dsp.exec_cmd("monique"), { desc = "Open monique (monitor settings)" })
hl.bind(SUPER_SHIFT .. " + D", hl.dsp.exec_cmd("hyprctl keyword monitor eDP-1, disable"), { desc = "Disable eDP-1 (clamshell)" })
hl.bind(SUPER_SHIFT .. " + F", hl.dsp.exec_cmd("hyprctl keyword monitor eDP-1, enable"), { desc = "Enable eDP-1" })
-- Screenshots
hl.bind("Print", hl.dsp.exec_cmd("grim -c -o \"$(hyprctl activeworkspace -j | jq -r '.monitor')\" $(xdg-user-dir PICTURES)/Screenshots/$(date +'%s_grim.png')"))
hl.bind("SHIFT + Print", hl.dsp.exec_cmd("grim -g \"$(slurp)\" $(xdg-user-dir PICTURES)/Screenshots/$(date +'%s_grim.png')"))
hl.bind("Print", hl.dsp.exec_cmd("grim -c -o \"$(hyprctl activeworkspace -j | jq -r '.monitor')\" $(xdg-user-dir PICTURES)/Screenshots/$(date +'%s_grim.png')"), { desc = "Screenshot active monitor" })
hl.bind("SHIFT + Print", hl.dsp.exec_cmd("grim -g \"$(slurp)\" $(xdg-user-dir PICTURES)/Screenshots/$(date +'%s_grim.png')"), { desc = "Screenshot region" })
-- Dwindle layout
hl.bind(mainMod .. " + P", hl.dsp.window.pseudo()) -- dwindle
hl.bind(mainMod .. " + E", hl.dsp.layout("togglesplit")) -- dwindle
hl.bind(mainMod .. " + CTRL + F", hl.dsp.window.fullscreen({ action = "toggle" })) -- dwindle
hl.bind(mainMod .. " + W", hl.dsp.group.toggle()) -- dwindle
hl.bind(mainMod .. " + P", hl.dsp.window.pseudo(), { desc = "Toggle pseudo tiling" }) -- dwindle
hl.bind(mainMod .. " + E", hl.dsp.layout("togglesplit"), { desc = "Toggle split" }) -- dwindle
hl.bind(mainMod .. " + CTRL + F", hl.dsp.window.fullscreen({ action = "toggle" }), { desc = "Toggle fullscreen" }) -- dwindle
hl.bind(mainMod .. " + W", hl.dsp.group.toggle(), { desc = "Toggle window group" }) -- dwindle
-- Move focus with mainMod + vim keys
hl.bind(mainMod .. " + H", hl.dsp.focus({ direction = "l" }))
hl.bind(mainMod .. " + L", hl.dsp.focus({ direction = "r" }))
hl.bind(mainMod .. " + K", hl.dsp.focus({ direction = "u" }))
hl.bind(mainMod .. " + J", hl.dsp.focus({ direction = "d" }))
hl.bind(mainMod .. " + H", hl.dsp.focus({ direction = "l" }), { desc = "Focus left" })
hl.bind(mainMod .. " + L", hl.dsp.focus({ direction = "r" }), { desc = "Focus right" })
hl.bind(mainMod .. " + K", hl.dsp.focus({ direction = "u" }), { desc = "Focus up" })
hl.bind(mainMod .. " + J", hl.dsp.focus({ direction = "d" }), { desc = "Focus down" })
-- Cycle workspaces on the active monitor with mainMod + arrows (m+1/m-1 stay
-- on the current monitor; plain +1/-1 would follow the workspace if it moves
-- to another monitor). These only visit non-empty workspaces.
hl.bind(mainMod .. " + Left", hl.dsp.focus({ workspace = "m-1" }), { desc = "Previous workspace (active monitor)" })
hl.bind(mainMod .. " + Right", hl.dsp.focus({ workspace = "m+1" }), { desc = "Next workspace (active monitor)" })
-- Switch workspaces with mainMod + [0-9]
for i = 1, 10 do
local key = i % 10 -- 10 maps to key 0
hl.bind(mainMod .. " + " .. key, hl.dsp.focus({ workspace = i }))
hl.bind(mainMod .. " + " .. key, hl.dsp.focus({ workspace = i }), { desc = "Go to workspace " .. i })
end
-- Move active window to a workspace with mainMod + SHIFT + [0-9]
for i = 1, 10 do
local key = i % 10 -- 10 maps to key 0
hl.bind(mainMod .. " + SHIFT + " .. key, hl.dsp.window.move({ workspace = i }))
hl.bind(mainMod .. " + SHIFT + " .. key, hl.dsp.window.move({ workspace = i }), { desc = "Move window to workspace " .. i })
end
-- Example special workspace (scratchpad)
hl.bind(mainMod .. " + S", hl.dsp.workspace.toggle_special("magic"))
hl.bind(mainMod .. " + SHIFT + S", hl.dsp.window.move({ workspace = "special:magic" }))
hl.bind(mainMod .. " + S", hl.dsp.workspace.toggle_special("magic"), { desc = "Toggle scratchpad" })
hl.bind(mainMod .. " + SHIFT + S", hl.dsp.window.move({ workspace = "special:magic" }), { desc = "Move window to scratchpad" })
-- Scroll through existing workspaces with mainMod + scroll
hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" }))
hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" }))
hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" }), { desc = "Next workspace (scroll)" })
hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" }), { desc = "Previous workspace (scroll)" })
-- Keybind cheat sheet
hl.bind(SUPER_SHIFT .. " + H", hl.dsp.exec_cmd("binds-help.sh"), { desc = "Keybind cheat sheet" })
-- Workspace overview (macOS Mission Control style). SUPER + Up is registered by
-- the hyprshell daemon itself ("Open Overview with Super + Up"); SUPER + Down
-- closes the overview again without switching.
hl.bind(mainMod .. " + Down", hl.dsp.exec_cmd("overview-close.sh"), { desc = "Close workspace overview" })
-- Move/resize windows with mainMod + LMB/RMB and dragging
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true, desc = "Drag window" })
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true, desc = "Resize window" })
-- Laptop lid is handled by hypr-lid-power.service (delayed lock/suspend when
-- closed undocked; display/clamshell handling is done by moniqued) instead of
-- these binds; see .local/bin/hypr-lid-power.sh.
-- these binds; see .local/bin/hypr-lid-power.sh.
+8
View File
@@ -39,6 +39,14 @@ hl.config({
},
})
hl.config({
binds = {
-- Let SUPER+Left/Right (and scroll) wrap around instead of stopping at the
-- edge when cycling workspaces on the active monitor.
allow_workspace_cycles = true,
},
})
hl.config({
decoration = {
rounding = 4,
+36 -8
View File
@@ -1,8 +1,36 @@
-- Managed by monique (run `monique` or SUPER+SHIFT+M to arrange). The built-in
-- panel is managed at runtime by moniqued's clamshell mode: enabled here, then
-- disabled while the lid is closed with external displays attached.
-- See https://wiki.hypr.land/Configuring/Basics/Monitors/ for more
hl.monitor({ output = "desc:BOE 0x0BC9", mode = "preferred", position = "0x0", scale = 1.0 })
hl.monitor({ output = "desc:Viewteck Co. Ltd. GNV34DB", mode = "3440x1440@50.0", position = "3795x1785", scale = 1.0 })
hl.monitor({ output = "desc:Dell Inc. DELL U2515HX GMDK46C4053L", mode = "2560x1440@59.95", position = "5488x345", scale = 1.0 })
hl.monitor({ output = "desc:Dell Inc. DELL U2518D 0WG2J9C5B3WL", mode = "2560x1440@59.95", position = "2928x345", scale = 1.0 })
-- Generated by Monique - https://github.com/ToRvaLDz/monique
hl.monitor({
output = "desc:BOE 0x0BC9",
disabled = true,
})
hl.monitor({
output = "desc:Dell Inc. DELL U2515HX GMDK46C4053L",
mode = "2560x1440@59.951",
position = "5488x345",
scale = 1,
cm = "srgb",
sdr_min_luminance = 0.2,
sdr_max_luminance = 80,
})
hl.monitor({
output = "desc:Dell Inc. DELL U2518D 0WG2J9C5B3WL",
mode = "2560x1440@59.951",
position = "2928x345",
scale = 1,
cm = "srgb",
sdr_min_luminance = 0.2,
sdr_max_luminance = 80,
})
hl.monitor({
output = "desc:Viewteck Co. Ltd. GNV34DB",
mode = "3440x1440@50",
position = "3795x1785",
scale = 1,
cm = "srgb",
sdr_min_luminance = 0.2,
sdr_max_luminance = 80,
})
+31
View File
@@ -0,0 +1,31 @@
#!/usr/bin/env bash
# Searchable cheat sheet of Hyprland keybindings, shown in wofi.
#
# The descriptions shown here come from the `desc` option passed to hl.bind()
# in ~/.config/hypr/binds.lua, read back at runtime via `hyprctl binds -j`,
# so the cheat sheet always matches the live config.
set -u
mods_from_mask() {
local mask="$1" out=""
(( mask & 1 )) && out="${out:+$out + }SHIFT"
(( mask & 4 )) && out="${out:+$out + }CTRL"
(( mask & 8 )) && out="${out:+$out + }ALT"
(( mask & 64 )) && out="${out:+$out + }SUPER"
(( mask & 128 )) && out="${out:+$out + }MOD5"
printf "%s" "$out"
}
hyprctl binds -j |
jq -rc '.[] | select(.has_description) | select(.description != "") | [.modmask, .key, .description] | @tsv' |
while IFS=$'\t' read -r mask key desc; do
if (( mask )); then
mods="$(mods_from_mask "$mask")"
printf '%s + %s\t%s\n' "$mods" "$key" "$desc"
else
printf '%s\t%s\n' "$key" "$desc"
fi
done |
sort -k1,1 |
column -t -s $'\t' |
wofi --dmenu --prompt "Hyprland keybinds" >/dev/null
+16
View File
@@ -0,0 +1,16 @@
#!/usr/bin/env bash
# macOS-style SUPER+Down: close the hyprshell workspace overview if it is open,
# returning to the current workspace without switching.
#
# hyprshell's overview is a gtk4-layer-shell surface whose namespace is
# "hyprshell_overview", and the OpenOverview IPC message toggles the overview
# closed when it is already open (see OverviewRootInput::OpenOverview).
set -u
if ! hyprctl layers -j | jq -e '
.. | objects | .namespace? // empty | select(. == "hyprshell_overview")
' >/dev/null; then
exit 0
fi
hyprshell socat '"OpenOverview"'
+10 -7
View File
@@ -1,6 +1,6 @@
// Edit with `hyprshell config edit`
(
version: 3,
version: 4,
windows: (
scale: 8.5,
items_per_row: 5,
@@ -69,11 +69,13 @@
),
),
),
key: "Tab",
modifier: "alt",
filter_by: [],
hide_filtered: false,
exclude_special_workspaces: "",
key: "Up",
top_offset: 430,
modifier: "super",
filter_by: [
current_monitor,
],
exclude_workspaces: "special:.*",
),
switch: (
modifier: "alt",
@@ -82,7 +84,8 @@
current_monitor,
],
switch_workspaces: false,
exclude_special_workspaces: "",
exclude_workspaces: "",
kill_key: 'q',
),
switch_2: None,
),
+279
View File
@@ -0,0 +1,279 @@
{
"name": "desk",
"monitors": [
{
"name": "eDP-2",
"description": "BOE 0x0BC9",
"make": "BOE",
"model": "0x0BC9",
"serial": "",
"width": 2560,
"height": 1600,
"refresh_rate": 165.0,
"resolution_mode": "explicit",
"available_modes": [
"2560x1600@165.00Hz",
"2560x1600@60.00Hz",
"1920x1200@165.00Hz",
"1920x1080@165.00Hz",
"1600x1200@165.00Hz",
"1680x1050@165.00Hz",
"1280x1024@165.00Hz",
"1440x900@165.00Hz",
"1280x800@165.00Hz",
"1280x720@165.00Hz",
"1024x768@165.00Hz",
"800x600@165.00Hz",
"640x480@165.00Hz"
],
"x": 0,
"y": 0,
"position_mode": "explicit",
"scale": 1,
"scale_mode": "explicit",
"transform": 0,
"mirror_of": "",
"bitdepth": 8,
"vrr": 0,
"color_management": "srgb",
"icc_profile": "",
"sdr_brightness": 1,
"sdr_saturation": 1,
"sdr_eotf": 0,
"supports_hdr": 0,
"supports_wide_color": 0,
"sdr_min_luminance": 0.2,
"sdr_max_luminance": 80,
"min_luminance": 0.0,
"max_luminance": 0.0,
"max_avg_luminance": 0.0,
"reserved_top": 0,
"reserved_bottom": 0,
"reserved_left": 0,
"reserved_right": 0,
"enabled": false,
"focus_at_startup": false
},
{
"name": "DP-7",
"description": "Dell Inc. DELL U2515HX GMDK46C4053L",
"make": "Dell Inc.",
"model": "DELL U2515HX",
"serial": "GMDK46C4053L",
"width": 2560,
"height": 1440,
"refresh_rate": 59.951,
"resolution_mode": "explicit",
"available_modes": [
"2560x1440@59.95Hz",
"2048x1152@60.00Hz",
"1920x1200@59.88Hz",
"1920x1080@60.00Hz",
"1920x1080@60.00Hz",
"1920x1080@59.94Hz",
"1920x1080@50.00Hz",
"1920x1080@30.00Hz",
"1920x1080@29.97Hz",
"1920x1080@25.00Hz",
"1920x1080@24.00Hz",
"1920x1080@23.98Hz",
"1600x1200@60.00Hz",
"1680x1050@59.95Hz",
"1280x1024@75.03Hz",
"1280x1024@60.02Hz",
"1200x960@59.99Hz",
"1152x864@75.00Hz",
"1280x720@60.00Hz",
"1280x720@60.00Hz",
"1280x720@59.94Hz",
"1280x720@50.00Hz",
"1024x768@75.03Hz",
"1024x768@60.00Hz",
"800x600@75.00Hz",
"800x600@60.32Hz",
"720x576@50.00Hz",
"720x480@60.00Hz",
"720x480@60.00Hz",
"720x480@59.94Hz",
"720x480@59.94Hz",
"720x480@59.94Hz",
"640x480@75.00Hz",
"640x480@60.00Hz",
"640x480@59.94Hz",
"640x480@59.94Hz",
"720x400@70.08Hz"
],
"x": 5488,
"y": 345,
"position_mode": "explicit",
"scale": 1,
"scale_mode": "explicit",
"transform": 0,
"mirror_of": "",
"bitdepth": 8,
"vrr": 0,
"color_management": "srgb",
"icc_profile": "",
"sdr_brightness": 1,
"sdr_saturation": 1,
"sdr_eotf": 0,
"supports_hdr": 0,
"supports_wide_color": 0,
"sdr_min_luminance": 0.2,
"sdr_max_luminance": 80,
"min_luminance": 0.0,
"max_luminance": 0.0,
"max_avg_luminance": 0.0,
"reserved_top": 0,
"reserved_bottom": 0,
"reserved_left": 0,
"reserved_right": 0,
"enabled": true,
"focus_at_startup": false
},
{
"name": "DP-10",
"description": "Dell Inc. DELL U2518D 0WG2J9C5B3WL",
"make": "Dell Inc.",
"model": "DELL U2518D",
"serial": "0WG2J9C5B3WL",
"width": 2560,
"height": 1440,
"refresh_rate": 59.951,
"resolution_mode": "explicit",
"available_modes": [
"2560x1440@59.95Hz",
"2048x1080@60.00Hz",
"2048x1080@24.00Hz",
"1920x1080@60.00Hz",
"1920x1080@60.00Hz",
"1920x1080@59.94Hz",
"1920x1080@50.00Hz",
"1600x1200@60.00Hz",
"1280x1024@75.03Hz",
"1280x1024@60.02Hz",
"1152x864@75.00Hz",
"1280x720@60.00Hz",
"1280x720@60.00Hz",
"1280x720@59.94Hz",
"1280x720@50.00Hz",
"1024x768@75.03Hz",
"1024x768@60.00Hz",
"800x600@75.00Hz",
"800x600@60.32Hz",
"720x576@50.00Hz",
"720x576@50.00Hz",
"720x480@60.00Hz",
"720x480@60.00Hz",
"720x480@59.94Hz",
"720x480@59.94Hz",
"640x480@75.00Hz",
"640x480@60.00Hz",
"640x480@59.94Hz",
"640x480@59.94Hz",
"720x400@70.08Hz"
],
"x": 2928,
"y": 345,
"position_mode": "explicit",
"scale": 1,
"scale_mode": "explicit",
"transform": 0,
"mirror_of": "",
"bitdepth": 8,
"vrr": 0,
"color_management": "srgb",
"icc_profile": "",
"sdr_brightness": 1,
"sdr_saturation": 1,
"sdr_eotf": 0,
"supports_hdr": 0,
"supports_wide_color": 0,
"sdr_min_luminance": 0.2,
"sdr_max_luminance": 80,
"min_luminance": 0.0,
"max_luminance": 0.0,
"max_avg_luminance": 0.0,
"reserved_top": 0,
"reserved_bottom": 0,
"reserved_left": 0,
"reserved_right": 0,
"enabled": true,
"focus_at_startup": false
},
{
"name": "DP-4",
"description": "Viewteck Co. Ltd. GNV34DB",
"make": "Viewteck Co., Ltd.",
"model": "GNV34DB",
"serial": "",
"width": 3440,
"height": 1440,
"refresh_rate": 50.0,
"resolution_mode": "explicit",
"available_modes": [
"3440x1440@30.00Hz",
"3440x1440@50.00Hz",
"3440x1440@50.00Hz",
"2560x1080@60.00Hz",
"2560x1080@59.94Hz",
"1720x1440@60.00Hz",
"1920x1080@60.00Hz",
"1920x1080@60.00Hz",
"1920x1080@59.94Hz",
"1920x1080@50.00Hz",
"1680x1050@59.88Hz",
"1600x900@60.00Hz",
"1280x1024@75.03Hz",
"1280x1024@60.02Hz",
"1440x900@59.90Hz",
"1280x720@60.00Hz",
"1280x720@60.00Hz",
"1280x720@59.94Hz",
"1280x720@50.00Hz",
"1024x768@75.03Hz",
"1024x768@60.00Hz",
"800x600@75.00Hz",
"800x600@60.32Hz",
"720x480@60.00Hz",
"720x480@60.00Hz",
"720x480@59.94Hz",
"720x480@59.94Hz",
"640x480@75.00Hz",
"640x480@60.00Hz",
"640x480@59.94Hz",
"640x480@59.94Hz",
"720x400@70.08Hz"
],
"x": 3795,
"y": 1785,
"position_mode": "explicit",
"scale": 1,
"scale_mode": "explicit",
"transform": 0,
"mirror_of": "",
"bitdepth": 8,
"vrr": 0,
"color_management": "srgb",
"icc_profile": "",
"sdr_brightness": 1,
"sdr_saturation": 1,
"sdr_eotf": 0,
"supports_hdr": 0,
"supports_wide_color": 0,
"sdr_min_luminance": 0.2,
"sdr_max_luminance": 80,
"min_luminance": 0.0,
"max_luminance": 0.0,
"max_avg_luminance": 0.0,
"reserved_top": 0,
"reserved_bottom": 0,
"reserved_left": 0,
"reserved_right": 0,
"enabled": true,
"focus_at_startup": false
}
],
"workspace_rules": [],
"last_applied_time": 1788817484.835665
}
@@ -0,0 +1,60 @@
{
"last_applied_time": 0.0,
"monitors": [
{
"available_modes": [
"2560x1600@165.00Hz",
"2560x1600@60.00Hz",
"1920x1200@165.00Hz",
"1920x1080@165.00Hz",
"1600x1200@165.00Hz",
"1680x1050@165.00Hz",
"1280x1024@165.00Hz",
"1440x900@165.00Hz",
"1280x800@165.00Hz",
"1280x720@165.00Hz",
"1024x768@165.00Hz",
"800x600@165.00Hz",
"640x480@165.00Hz"
],
"bitdepth": 8,
"color_management": "srgb",
"description": "BOE 0x0BC9",
"enabled": true,
"focus_at_startup": false,
"height": 1600,
"icc_profile": "",
"make": "BOE",
"max_avg_luminance": 0.0,
"max_luminance": 0.0,
"min_luminance": 0.0,
"mirror_of": "",
"model": "0x0BC9",
"name": "eDP-2",
"position_mode": "explicit",
"refresh_rate": 165.0,
"reserved_bottom": 0,
"reserved_left": 0,
"reserved_right": 0,
"reserved_top": 0,
"resolution_mode": "explicit",
"scale": 1,
"scale_mode": "explicit",
"sdr_brightness": 1,
"sdr_eotf": 0,
"sdr_max_luminance": 80,
"sdr_min_luminance": 0.2,
"sdr_saturation": 1,
"serial": "",
"supports_hdr": 0,
"supports_wide_color": 0,
"transform": 0,
"vrr": 0,
"width": 2560,
"x": 0,
"y": 0
}
],
"name": "laptop",
"workspace_rules": []
}
+2 -1
View File
@@ -1,5 +1,6 @@
{
"clamshell_mode": true,
"update_sddm": true,
"migrate_workspaces": true
"migrate_workspaces": true,
"active_profile": "desk"
}