feat(hypr): track Hyprland config
monitors.lua stays untracked since it's machine-specific (monitor names/resolutions won't transfer to another host).
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
-- Default curves and animations, see https://wiki.hypr.land/Configuring/Advanced-and-Cool/Animations/
|
||||
|
||||
-- Default beziers
|
||||
hl.curve("easeOutQuint", { type = "bezier", points = { {0.23, 1}, {0.32, 1} } })
|
||||
hl.curve("easeInOutCubic", { type = "bezier", points = { {0.65, 0.05}, {0.36, 1} } })
|
||||
hl.curve("linear", { type = "bezier", points = { {0, 0}, {1, 1} } })
|
||||
hl.curve("almostLinear", { type = "bezier", points = { {0.5, 0.5}, {0.75, 1} } })
|
||||
hl.curve("quick", { type = "bezier", points = { {0.15, 0}, {0.1, 1} } })
|
||||
hl.curve("overshoot", { type = "bezier", points = { {0.5, 0.9}, {0.1, 1.1} } })
|
||||
|
||||
-- Default springs
|
||||
hl.curve("easy", { type = "spring", mass = 1, stiffness = 500, dampening = 35 })
|
||||
hl.curve("rubber", { type = "spring", mass = 1, stiffness = 200, dampening = 15 })
|
||||
|
||||
-- Animations
|
||||
hl.animation({ leaf = "global", enabled = true, speed = 3, bezier = "quick" })
|
||||
hl.animation({ leaf = "windows", enabled = true, speed = 3, spring = "easy", style = "slide" })
|
||||
hl.animation({ leaf = "workspaces", enabled = true, speed = 5, bezier = "quick", style = "slide" })
|
||||
hl.animation({ leaf = "specialWorkspaceIn", enabled = true, speed = 2, bezier = "quick", style = "slide top"})
|
||||
hl.animation({ leaf = "specialWorkspaceOut", enabled = true, speed = 2, bezier = "quick", style = "slide bottom"})
|
||||
@@ -0,0 +1,8 @@
|
||||
-- Auto-start config
|
||||
-- if you dont use UWSM add your auto start programs here, otherwise use XDG autostart https://wiki.archlinux.org/title/XDG_Autostart
|
||||
|
||||
hl.on("hyprland.start", function ()
|
||||
hl.exec_cmd("dbus-update-activation-environment --systemd --all")
|
||||
hl.exec_cmd("noctalia")
|
||||
hl.exec_cmd("xhost +SI:localuser:root")
|
||||
end)
|
||||
@@ -0,0 +1,138 @@
|
||||
local mainMod = "SUPER"
|
||||
local noctCall = "noctalia msg "
|
||||
local launchPrefix = "uwsm app -- " -- if you are not using UWSM, make this empty (e.g. "")
|
||||
|
||||
---------------------------
|
||||
---- WINDOW MANAGEMENT ----
|
||||
---------------------------
|
||||
|
||||
-- Window manipulation
|
||||
hl.bind(mainMod .. " + Escape", hl.dsp.exec_cmd("hyprctl kill"))
|
||||
hl.bind(mainMod .. " + Q", hl.dsp.window.close())
|
||||
hl.bind(mainMod .. " + ALT + Space", hl.dsp.window.float({ action = "toggle" }))
|
||||
hl.bind(mainMod .. " + D", hl.dsp.window.fullscreen({ mode = 1 }))
|
||||
hl.bind(mainMod .. " + F", hl.dsp.window.fullscreen())
|
||||
hl.bind(mainMod .. " + J", hl.dsp.layout("togglesplit"))
|
||||
|
||||
-- Change focus
|
||||
hl.bind(mainMod .. " + Left", hl.dsp.focus({ direction = "left" }))
|
||||
hl.bind(mainMod .. " + Right", hl.dsp.focus({ direction = "right" }))
|
||||
hl.bind(mainMod .. " + Up", hl.dsp.focus({ direction = "up" }))
|
||||
hl.bind(mainMod .. " + Down", hl.dsp.focus({ direction = "down" }))
|
||||
hl.bind("ALT + Tab", hl.dsp.window.cycle_next())
|
||||
hl.bind(mainMod .. " + Tab", hl.dsp.exec_cmd(noctCall .. "window-switcher"))
|
||||
|
||||
-- Move active window around workspaces & monitors
|
||||
hl.bind(mainMod .. " + SHIFT + Up", hl.dsp.window.move({ direction = "u" }))
|
||||
hl.bind(mainMod .. " + SHIFT + Right", hl.dsp.window.move({ direction = "r" }))
|
||||
hl.bind(mainMod .. " + SHIFT + Left", hl.dsp.window.move({ direction = "l" }))
|
||||
hl.bind(mainMod .. " + SHIFT + Down", hl.dsp.window.move({ direction = "d" }))
|
||||
hl.bind(mainMod .. " + SHIFT + 1", hl.dsp.window.move({ monitor = MONITOR1 }))
|
||||
hl.bind(mainMod .. " + SHIFT + 2", hl.dsp.window.move({ monitor = MONITOR2 }))
|
||||
hl.bind(mainMod .. " + SHIFT + 3", hl.dsp.window.move({ monitor = MONITOR3 }))
|
||||
hl.bind(mainMod .. " + SHIFT + mouse_up", hl.dsp.window.move({ monitor = "-1" }))
|
||||
hl.bind(mainMod .. " + SHIFT + mouse_down", hl.dsp.window.move({ monitor = "+1" }))
|
||||
hl.bind(mainMod .. " + CONTROL + SHIFT + Right", hl.dsp.window.move({ workspace = "m+1" }))
|
||||
hl.bind(mainMod .. " + CONTROL + SHIFT + Left", hl.dsp.window.move({ workspace = "m-1" }))
|
||||
hl.bind(mainMod .. " + CONTROL + SHIFT + mouse_up", hl.dsp.window.move({ workspace = "m-1" }))
|
||||
hl.bind(mainMod .. " + CONTROL + SHIFT + mouse_down", hl.dsp.window.move({ workspace = "m+1" }))
|
||||
for i = 1, NUM_WPM do
|
||||
local key = i % 10
|
||||
hl.bind(mainMod .. " + SHIFT + CONTROL + " .. key, hl.dsp.window.move({ workspace = "m~" .. i }))
|
||||
end
|
||||
|
||||
-- Move & Resize with mouse
|
||||
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag())
|
||||
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize())
|
||||
|
||||
------------------
|
||||
---- LAUNCHER ----
|
||||
------------------
|
||||
|
||||
hl.bind(mainMod .. " + Return", hl.dsp.exec_cmd(launchPrefix .. TERMINAL))
|
||||
hl.bind(mainMod .. " + E", hl.dsp.exec_cmd(launchPrefix .. FILE_MANAGER))
|
||||
hl.bind(mainMod .. " + T", hl.dsp.exec_cmd(launchPrefix .. EDITOR))
|
||||
hl.bind(mainMod .. " + C", hl.dsp.exec_cmd(launchPrefix .. CALCULATOR))
|
||||
hl.bind("XF86Calculator", hl.dsp.exec_cmd(launchPrefix .. CALCULATOR))
|
||||
hl.bind(mainMod .. " + W", hl.dsp.exec_cmd(launchPrefix .. BROWSER))
|
||||
hl.bind("CONTROL + SHIFT + Escape", hl.dsp.exec_cmd(launchPrefix .. TERMINAL .. " -e btop"))
|
||||
hl.bind(mainMod .. " + Z", hl.dsp.exec_cmd(noctCall .. "settings-toggle"))
|
||||
hl.bind(mainMod .. " + X", hl.dsp.exec_cmd(noctCall .. "panel-toggle control-center"))
|
||||
hl.bind(mainMod .. " + Space", hl.dsp.exec_cmd(noctCall .. "panel-toggle launcher"))
|
||||
hl.bind(mainMod .. " + period", hl.dsp.exec_cmd(noctCall .. "panel-toggle launcher /emo"))
|
||||
hl.bind(mainMod .. " + L", hl.dsp.exec_cmd(noctCall .. "session lock"))
|
||||
hl.bind(mainMod .. " + ALT + C", hl.dsp.exec_cmd(noctCall .. "panel-toggle session"))
|
||||
|
||||
---------------------------
|
||||
---- HARDWARE CONTROLS ----
|
||||
---------------------------
|
||||
|
||||
-- Audio
|
||||
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd(noctCall .. "volume-up"), { locked = true, repeating = true })
|
||||
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd(noctCall .. "volume-down"), { locked = true, repeating = true })
|
||||
hl.bind("XF86AudioMute", hl.dsp.exec_cmd(noctCall .. "volume-mute"), { locked = true })
|
||||
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd(noctCall .. "mic-mute"), { locked = true })
|
||||
|
||||
-- Media
|
||||
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd(noctCall .. "media toggle"), { locked = true })
|
||||
hl.bind("XF86AudioPause", hl.dsp.exec_cmd(noctCall .. "media toggle"), { locked = true })
|
||||
hl.bind("XF86AudioNext", hl.dsp.exec_cmd(noctCall .. "media next"), { locked = true })
|
||||
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd(noctCall .. "media previous"), { locked = true })
|
||||
|
||||
-- Brightness
|
||||
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd(noctCall .. "brightness-up"), { locked = true, repeating = true })
|
||||
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd(noctCall .. "brightness-down"), { locked = true, repeating = true })
|
||||
|
||||
-------------------
|
||||
---- UTILITIES ----
|
||||
-------------------
|
||||
|
||||
-- Screen Capture
|
||||
hl.bind(mainMod .. " + P", hl.dsp.exec_cmd("hyprpicker -a -n"))
|
||||
hl.bind("Print", hl.dsp.exec_cmd(noctCall .. "screenshot-region"))
|
||||
hl.bind(mainMod .. " + Print", hl.dsp.exec_cmd(noctCall .. "screenshot-fullscreen"))
|
||||
|
||||
-- Theming and Wallpaper
|
||||
hl.bind(mainMod .. " + SHIFT + W", hl.dsp.exec_cmd(noctCall .. "panel-toggle wallpaper"))
|
||||
|
||||
-- Clipboard
|
||||
hl.bind(mainMod .. " + V", hl.dsp.exec_cmd(noctCall .. "panel-toggle clipboard"))
|
||||
|
||||
-- Notifications
|
||||
hl.bind(mainMod .. " + A", hl.dsp.exec_cmd(noctCall .. "panel-toggle control-center notifications"))
|
||||
|
||||
-------------------------------
|
||||
---- WORKSPACES & MONITORS ----
|
||||
-------------------------------
|
||||
|
||||
-- Focus on monitors
|
||||
hl.bind(mainMod .. " + 1", hl.dsp.focus({ monitor = MONITOR1 }))
|
||||
hl.bind(mainMod .. " + 2", hl.dsp.focus({ monitor = MONITOR2 }))
|
||||
hl.bind(mainMod .. " + 3", hl.dsp.focus({ monitor = MONITOR3 }))
|
||||
|
||||
-- Focus on workspace number
|
||||
-- Absolute
|
||||
for i = 1, NUM_WPM do
|
||||
local key = i % 10
|
||||
hl.bind(mainMod .. " + TAB + " .. key, hl.dsp.focus({ workspace = i }))
|
||||
end
|
||||
-- Relative
|
||||
for i = 1, NUM_WPM do
|
||||
local key = i % 10
|
||||
hl.bind(mainMod .. " + CONTROL + " .. key, hl.dsp.focus({ workspace = "m~" .. i }))
|
||||
end
|
||||
|
||||
-- Move to adjacent workspaces and next empty on a given monitor
|
||||
hl.bind(mainMod .. " + CONTROL + Right", hl.dsp.focus({ workspace = "m+1" }))
|
||||
hl.bind(mainMod .. " + CONTROL + Left", hl.dsp.focus({ workspace = "m-1" }))
|
||||
hl.bind(mainMod .. " + CONTROL + Down", hl.dsp.focus({ workspace = "emptym" }))
|
||||
|
||||
-- Scroll through existing workspaces & monitors
|
||||
hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "m-1" }))
|
||||
hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "m+1" }))
|
||||
hl.bind(mainMod .. " + CONTROL + mouse_up", hl.dsp.focus({ workspace = "m-1" }))
|
||||
hl.bind(mainMod .. " + CONTROL + mouse_down", hl.dsp.focus({ workspace = "m+1" }))
|
||||
|
||||
-- Special workspace (scratchpad)
|
||||
hl.bind(mainMod .. " + SHIFT + S", hl.dsp.window.move({ workspace = "special" }))
|
||||
hl.bind(mainMod .. " + S", hl.dsp.workspace.toggle_special())
|
||||
@@ -0,0 +1,11 @@
|
||||
-- Cachy colors
|
||||
|
||||
CACHYLGREEN = "rgba(82dcccff)"
|
||||
CACHYMGREEN = "rgba(00aa84ff)"
|
||||
CACHYDGREEN = "rgba(007d6fff)"
|
||||
CACHYLBLUE = "rgba(01ccffff)"
|
||||
CACHYMBLUE = "rgba(182545ff)"
|
||||
CACHYDBLUE = "rgba(111826ff)"
|
||||
CACHYWHITE = "rgba(ffffffff)"
|
||||
CACHYGREY = "rgba(ddddddff)"
|
||||
CACHYGRAY = "rgba(798bb2ff)"
|
||||
@@ -0,0 +1,46 @@
|
||||
-- Look and feel configuration
|
||||
|
||||
hl.config({
|
||||
general = {
|
||||
gaps_in = 3,
|
||||
gaps_out = 8,
|
||||
border_size = 2,
|
||||
extend_border_grab_area = 10,
|
||||
resize_on_border = true,
|
||||
col = {
|
||||
active_border = {
|
||||
colors = { CACHYLGREEN, CACHYDGREEN },
|
||||
angle = 45,
|
||||
},
|
||||
inactive_border = CACHYGRAY,
|
||||
},
|
||||
},
|
||||
group = {
|
||||
col = {
|
||||
border_active = CACHYLBLUE,
|
||||
border_inactive = CACHYGRAY,
|
||||
border_locked_active = CACHYDBLUE,
|
||||
border_locked_inactive = CACHYGRAY,
|
||||
},
|
||||
groupbar = {
|
||||
col = {
|
||||
active = CACHYLGREEN,
|
||||
inactive = CACHYGRAY,
|
||||
locked_active = CACHYDBLUE,
|
||||
locked_inactive = CACHYGRAY,
|
||||
},
|
||||
},
|
||||
},
|
||||
decoration = {
|
||||
dim_special = 0.3,
|
||||
rounding = 10,
|
||||
active_opacity = 0.95,
|
||||
inactive_opacity = 0.85,
|
||||
fullscreen_opacity = 1,
|
||||
blur = {
|
||||
size = 5,
|
||||
passes = 4,
|
||||
special = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
@@ -0,0 +1,10 @@
|
||||
-- Environmental variables (for reference https://wiki.hypr.land/Configuring/Advanced-and-Cool/Environment-variables/)
|
||||
-- if you use UWSM, define your variables in ~/.config/uwsm/env
|
||||
-- if you don't use UWSM, define your variables here (e.g. hl.env("QT_QPA_PLATFORM", "wayland"))
|
||||
|
||||
-- if you have an NVIDIA GPU uncomment the following lines:
|
||||
|
||||
-- hl.env("GBM_BACKEND", "nvidia-drm") -- force GBM as a backend
|
||||
-- hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia") -- force GBM as a backend
|
||||
-- hl.env("LIBVA_DRIVER_NAME", "nvidia") -- Hardware acceleration on NVIDIA GPUs
|
||||
-- hl.env("__GL_GSYNC_ALLOWED", "1") -- Controls if G-Sync capable monitors should use Variable Refresh Rate (VRR)
|
||||
@@ -0,0 +1,18 @@
|
||||
-- Input configuration
|
||||
|
||||
hl.config({
|
||||
input = {
|
||||
-- sensitivity = -0.25,
|
||||
accel_profile = "flat",
|
||||
kb_layout = "de",
|
||||
},
|
||||
-- Uncomment the section below to enable software cursors; this can help with cursor display or behavior issues
|
||||
-- cursor = {
|
||||
-- no_hardware_cursors = 1,
|
||||
-- },
|
||||
})
|
||||
|
||||
hl.gesture({ fingers = 4, direction = "horizontal", action = "workspace" })
|
||||
hl.gesture({ fingers = 3, direction = "down", action = "close" })
|
||||
hl.gesture({ fingers = 3, direction = "up", action = "fullscreen" })
|
||||
hl.gesture({ fingers = 3, direction = "left", action = "float" })
|
||||
@@ -0,0 +1,21 @@
|
||||
hl.config({
|
||||
dwindle = {
|
||||
preserve_split = true,
|
||||
},
|
||||
misc = {
|
||||
col = {
|
||||
splash = CACHYLGREEN,
|
||||
},
|
||||
middle_click_paste = false,
|
||||
enable_swallow = true,
|
||||
swallow_regex = "(kitty|ghostty|[Kk]onsole|Alacritty|gnome-terminal|xfce[0-9]?-terminal)",
|
||||
vrr = 3,
|
||||
},
|
||||
xwayland = {
|
||||
force_zero_scaling = true
|
||||
},
|
||||
ecosystem = {
|
||||
no_update_news = true,
|
||||
no_donation_nag = true,
|
||||
},
|
||||
})
|
||||
@@ -0,0 +1,16 @@
|
||||
-- Hyprland default apps
|
||||
|
||||
TERMINAL = "kitty"
|
||||
FILE_MANAGER = "dolphin"
|
||||
BROWSER = "firefox"
|
||||
EDITOR = "gnome-text-editor --new-window"
|
||||
CALCULATOR = "gnome-calculator"
|
||||
|
||||
-- Monitors
|
||||
MONITOR1 = ""
|
||||
MONITOR2 = ""
|
||||
MONITOR3 = ""
|
||||
PRIMARY_MONITOR = MONITOR1
|
||||
|
||||
-- Workspaces
|
||||
NUM_WPM = 3 -- Number of workspaces per monitor (Max 10)
|
||||
@@ -0,0 +1,116 @@
|
||||
-- Window rules wiki https://wiki.hypr.land/Configuring/Basics/Window-Rules/
|
||||
|
||||
-- Generic floating position
|
||||
hl.window_rule({ match = { float = true }, center = true, persistent_size = true })
|
||||
|
||||
-- Picture-in-Picture
|
||||
hl.window_rule({
|
||||
match = { title = "^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$" },
|
||||
float = true,
|
||||
keep_aspect_ratio = true,
|
||||
size = { "max(monitor_w, monitor_h)*0.25", "min(monitor_w, monitor_h)*0.25" },
|
||||
pin = true,
|
||||
})
|
||||
|
||||
-- Gaming
|
||||
local gamingApps = "^(steam_app.*|gamescope)$"
|
||||
local gamingWorkspace = "name:gaming"
|
||||
|
||||
hl.window_rule({ match = { content = "game" }, workspace = gamingWorkspace })
|
||||
hl.window_rule({ match = { xdg_tag = "^(.*game.*)$" }, workspace = gamingWorkspace, fullscreen_state = 2, content = "game", sync_fullscreen = true })
|
||||
hl.window_rule({ match = { class = gamingApps }, workspace = gamingWorkspace })
|
||||
hl.window_rule({ match = { class = "^(steam)$", title = "^(Friends List)$" }, float = true })
|
||||
hl.window_rule({ match = { class = "^(steam)$", title = "^(Launching\\.{3})$" }, float = true, center = true, workspace = gamingWorkspace })
|
||||
hl.window_rule({
|
||||
match = {
|
||||
class = gamingApps,
|
||||
title = "^(.+)$",
|
||||
initial_title = "negative:^(.*\\\\home\\\\.*)$",
|
||||
},
|
||||
content = "game",
|
||||
decorate = false,
|
||||
fullscreen_state = 2,
|
||||
size = { "monitor_w", "monitor_h" },
|
||||
sync_fullscreen = true,
|
||||
})
|
||||
hl.window_rule({
|
||||
match = {
|
||||
class = "^(steam_app.*)$",
|
||||
initial_title = "^$",
|
||||
},
|
||||
center = true,
|
||||
float = true,
|
||||
fullscreen = false,
|
||||
fullscreen_state = 0,
|
||||
workspace = gamingWorkspace,
|
||||
})
|
||||
|
||||
-- Apps
|
||||
hl.window_rule({ match = { class = "^(.*\\.exe)$", float = true }, monitor = PRIMARY_MONITOR, center = true, fullscreen_state = 0 })
|
||||
hl.window_rule({ match = { class = "^(.*[Ll]auncher.*)$" }, float = true, monitor = PRIMARY_MONITOR })
|
||||
hl.window_rule({ match = { class = "^(vesktop|discord)$" }, monitor = PRIMARY_MONITOR })
|
||||
hl.window_rule({ match = { class = "^(.*[Cc]alc.*)$" }, float = true, size = { "max(monitor_w, monitor_h)*0.17", "min(monitor_w, monitor_h)*0.43" } })
|
||||
hl.window_rule({ match = { class = "^(org\\.kde\\.keditfiletype)$" }, float = true })
|
||||
hl.window_rule({ match = { class = "^(org\\.kde\\.ark)$" }, size = { "max(monitor_w, monitor_h)*0.40", "min(monitor_w, monitor_h)*0.40" } })
|
||||
hl.window_rule({ match = { class = "^(.*satty.*)$", title = "^(Satty)$" }, min_size = { "max(monitor_w, monitor_h)*0.35", "min(monitor_w, monitor_h)*0.35" }, float = true })
|
||||
hl.window_rule({ match = { class = "^(dev\\.)?(noctalia\\.Noctalia(\\.Settings)?)$" }, float = true, size = { "monitor_w*0.70", "monitor_h*0.70" } })
|
||||
hl.window_rule({
|
||||
match = {
|
||||
class = "^(org\\.kde\\.dolphin)$",
|
||||
title = "negative:^(Moving.*|Create New.*|Extract.*|Compress.*|Copying.*|Progress.*|Configure.*|Properties.*|Choose\\sApplication.*)$",
|
||||
},
|
||||
float = true,
|
||||
size = { "max(monitor_w, monitor_h)*0.50", "min(monitor_w, monitor_h)*0.55" },
|
||||
move = {
|
||||
"max(20, min(cursor_x - (window_w*0.50), monitor_w - window_w + 20))", -- X axis clamping
|
||||
"max(20, min(cursor_y - 50, monitor_h - window_h + 20))" -- Y axis clamping
|
||||
},
|
||||
})
|
||||
|
||||
-- Opacity Overrides
|
||||
local terminals = "^(kitty|ghostty|[Kk]onsole|Alacritty|gnome-terminal|xfce[0-9]?-terminal)$"
|
||||
|
||||
hl.window_rule({ match = { class = "^(firefox|zen)$" }, opacity = "1.0 override" })
|
||||
hl.window_rule({ match = { class = terminals }, opacity = "1.0 override" }) -- Override opacity in favor of terminal settings for opacity. If your terminal doesn't support transparency, you can remove this rule.
|
||||
hl.window_rule({ match = { class = "^(mpv|org.kde.haruna|.*plex.*|org\\.kde\\.gwenview|.*vlc.*)$" }, opacity = "1.0 override" })
|
||||
|
||||
-- Float Utility Windows
|
||||
local floatApps = {
|
||||
{ class = "^(kvantummanager|qt[56]ct|nwg-look)$" },
|
||||
{ class = "^(org.pulseaudio.pavucontrol|blueman-manager|nm-applet|nm-connection-editor)$" },
|
||||
{ title = "^(Winetricks.*|Protontricks.*)$" },
|
||||
}
|
||||
for _, m in ipairs(floatApps) do hl.window_rule({ match = m, float = true }) end
|
||||
|
||||
-- Float Common Modals
|
||||
local modalMatches = {
|
||||
{ title = "^(Open|Authentication Required|Add Folder to Workspace|Choose Files|Save As|Confirm to replace files|File Operation Progress)$" },
|
||||
{ initial_title = "^(Open File)$" },
|
||||
{ class = "^([Xx]dg-desktop-portal-gtk)$" },
|
||||
{ title = "^(File Upload|Choose wallpaper|Library)(.*)$" },
|
||||
{ class = "^(.*dialog.*)$" },
|
||||
{ title = "^(.*dialog.*)$" },
|
||||
{ class = "^(hyprland-share-picker)$"},
|
||||
}
|
||||
for _, m in ipairs(modalMatches) do hl.window_rule({ match = m, float = true }) end
|
||||
|
||||
-- Ignore maximize requests from all apps. You'll probably like this.
|
||||
hl.window_rule({
|
||||
name = "suppress-maximize-events",
|
||||
match = { class = ".*" },
|
||||
suppress_event = "maximize",
|
||||
})
|
||||
|
||||
-- Fix some dragging issues with XWayland
|
||||
hl.window_rule({
|
||||
name = "fix-xwayland-drags",
|
||||
match = {
|
||||
class = "^$",
|
||||
title = "^$",
|
||||
xwayland = true,
|
||||
float = true,
|
||||
fullscreen = false,
|
||||
pin = false,
|
||||
},
|
||||
no_focus = true,
|
||||
})
|
||||
@@ -0,0 +1,9 @@
|
||||
-- Workspace rules wiki https://wiki.hypr.land/Configuring/Basics/Workspace-Rules/
|
||||
-- Add your workspace rules here. Increment the workspace number as you go. Do not have duplicate workspaces.
|
||||
hl.workspace_rule({ workspace = "name:gaming", monitor = PRIMARY_MONITOR, default = true })
|
||||
hl.workspace_rule({ workspace = "1", monitor = MONITOR1, default = true, persistent = true })
|
||||
hl.workspace_rule({ workspace = "2", monitor = MONITOR1, default = true, persistent = true })
|
||||
hl.workspace_rule({ workspace = "3", monitor = MONITOR1, default = true, persistent = true })
|
||||
-- hl.workspace_rule({ workspace = "4", monitor = MONITOR2, default = true, persistent = true })
|
||||
-- hl.workspace_rule({ workspace = "5", monitor = MONITOR2, default = true, persistent = true })
|
||||
-- hl.workspace_rule({ workspace = "6", monitor = MONITOR2, default = true, persistent = true })
|
||||
@@ -0,0 +1,14 @@
|
||||
-- CachyOS Hyprland Configuration
|
||||
|
||||
require("config.animations")
|
||||
require("config.autostart")
|
||||
require("config.colors")
|
||||
require("config.decorations")
|
||||
require("config.variables")
|
||||
require("config.environment")
|
||||
require("config.inputs")
|
||||
require("config.binds")
|
||||
require("config.misc")
|
||||
require("config.monitors")
|
||||
require("config.windowrules")
|
||||
require("config.workspaces")
|
||||
@@ -0,0 +1,3 @@
|
||||
screencopy {
|
||||
allow_token_by_default = true
|
||||
}
|
||||
+15
@@ -36,5 +36,20 @@
|
||||
!.config/glow/glow.yml
|
||||
!.config/noctalia/
|
||||
!.config/noctalia/config.toml
|
||||
!.config/hypr/
|
||||
!.config/hypr/hyprland.lua
|
||||
!.config/hypr/xdph.conf
|
||||
!.config/hypr/config/
|
||||
!.config/hypr/config/animations.lua
|
||||
!.config/hypr/config/autostart.lua
|
||||
!.config/hypr/config/binds.lua
|
||||
!.config/hypr/config/colors.lua
|
||||
!.config/hypr/config/decorations.lua
|
||||
!.config/hypr/config/environment.lua
|
||||
!.config/hypr/config/inputs.lua
|
||||
!.config/hypr/config/misc.lua
|
||||
!.config/hypr/config/variables.lua
|
||||
!.config/hypr/config/windowrules.lua
|
||||
!.config/hypr/config/workspaces.lua
|
||||
!LICENSE
|
||||
!README.md
|
||||
|
||||
Reference in New Issue
Block a user