[Hyprland] Merges monitor configuration
This commit is contained in:
@@ -84,30 +84,10 @@ hl.device({
|
|||||||
sensitivity = -0.200000,
|
sensitivity = -0.200000,
|
||||||
})
|
})
|
||||||
|
|
||||||
-- hl.monitor({
|
-- for i = 1, 10 do
|
||||||
-- output = "DP-2",
|
-- hl.workspace_rule({ workspace = i, monitor = "DP-1", default_name = "L" .. tostring(i) })
|
||||||
-- mode = "3440x1440@164",
|
-- hl.workspace_rule({ workspace = i + 10, monitor = "DP-1", default_name = "R" .. tostring(i) })
|
||||||
-- position = "0x0",
|
-- end
|
||||||
-- })
|
|
||||||
-- hl.monitor({
|
|
||||||
-- output = "DP-1",
|
|
||||||
-- mode = "2560x1440",
|
|
||||||
-- position = "-1440x-510",
|
|
||||||
-- -- 0 -> normal (no transforms)
|
|
||||||
-- -- 1 -> 90 degrees
|
|
||||||
-- -- 2 -> 180 degrees
|
|
||||||
-- -- 3 -> 270 degrees
|
|
||||||
-- -- 4 -> flipped
|
|
||||||
-- -- 5 -> flipped + 90 degrees
|
|
||||||
-- -- 6 -> flipped + 180 degrees
|
|
||||||
-- -- 7 -> flipped + 270 degrees
|
|
||||||
-- transform = 1,
|
|
||||||
-- })
|
|
||||||
|
|
||||||
for i = 1, 10 do
|
|
||||||
hl.workspace_rule({ workspace = i, monitor = "DP-1", default_name = "L" .. tostring(i) })
|
|
||||||
hl.workspace_rule({ workspace = i + 10, monitor = "DP-1", default_name = "R" .. tostring(i) })
|
|
||||||
end
|
|
||||||
|
|
||||||
hl.window_rule({ match = "match:class Rofi", stay_focused = true })
|
hl.window_rule({ match = "match:class Rofi", stay_focused = true })
|
||||||
-- hl.window_rule({ match = { class = "suppress_event maximize" }, "match:class" = ".*" })
|
-- hl.window_rule({ match = { class = "suppress_event maximize" }, "match:class" = ".*" })
|
||||||
|
|||||||
@@ -18,27 +18,6 @@
|
|||||||
recursive = true;
|
recursive = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"hypr/monitors.lua" = {
|
|
||||||
text = lib.concatStrings (
|
|
||||||
lib.imap0 (
|
|
||||||
idx:
|
|
||||||
{ name, value }:
|
|
||||||
let
|
|
||||||
offset = idx * 10;
|
|
||||||
in
|
|
||||||
lib.concatMapStrings (
|
|
||||||
i:
|
|
||||||
let
|
|
||||||
ws = offset + i;
|
|
||||||
in
|
|
||||||
''
|
|
||||||
hl.workspace_rule({ workspace = ${toString ws}, monitor = "${name}", default_name = "${name}_${toString i}" })
|
|
||||||
''
|
|
||||||
) (lib.range 1 10)
|
|
||||||
) (lib.attrsToList config.hardware.monitors)
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
"hypr/config" = {
|
"hypr/config" = {
|
||||||
source = ./config;
|
source = ./config;
|
||||||
recursive = true;
|
recursive = true;
|
||||||
|
|||||||
@@ -35,37 +35,66 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# config = {
|
config = {
|
||||||
# wayland.windowManager.hyprland.settings.monitors =
|
xdg.configFile."hypr/monitors.lua" = lib.mkIf config.wayland.windowManager.hyprland.enable {
|
||||||
# let
|
text =
|
||||||
# transformMap = {
|
let
|
||||||
# "none" = {
|
workspaceSettings = (
|
||||||
# normal = 0;
|
lib.imap0 (
|
||||||
# flipped = 4;
|
idx:
|
||||||
# };
|
{ name, value }:
|
||||||
# "90" = {
|
let
|
||||||
# normal = 1;
|
offset = idx * 10;
|
||||||
# flipped = 5;
|
in
|
||||||
# };
|
lib.concatMapStrings (
|
||||||
# "180" = {
|
i:
|
||||||
# normal = 2;
|
let
|
||||||
# flipped = 6;
|
ws = offset + i;
|
||||||
# };
|
in
|
||||||
# "270" = {
|
''
|
||||||
# normal = 3;
|
hl.workspace_rule({ workspace = ${toString ws}, monitor = "${name}", default_name = "${toString i}" })
|
||||||
# flipped = 7;
|
''
|
||||||
# };
|
) (lib.range 1 10)
|
||||||
# };
|
) (lib.attrsToList config.hardware.monitors)
|
||||||
#
|
);
|
||||||
# monitorTransform =
|
transformMap = {
|
||||||
# m:
|
"none" = {
|
||||||
# let
|
normal = 0;
|
||||||
# t = transformMap.${m.rotation};
|
flipped = 4;
|
||||||
# in
|
};
|
||||||
# if m.flipped then t.flipped else t.normal;
|
"90" = {
|
||||||
# monitorString =
|
normal = 1;
|
||||||
# name: m: "${name}, ${m.mode}, ${m.position}, 1, transform, ${toString (monitorTransform m)}";
|
flipped = 5;
|
||||||
# in
|
};
|
||||||
# lib.mapAttrsToList monitorString config.hardware.monitors;
|
"180" = {
|
||||||
# };
|
normal = 2;
|
||||||
|
flipped = 6;
|
||||||
|
};
|
||||||
|
"270" = {
|
||||||
|
normal = 3;
|
||||||
|
flipped = 7;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
monitorTransform =
|
||||||
|
m:
|
||||||
|
let
|
||||||
|
t = transformMap.${m.rotation};
|
||||||
|
in
|
||||||
|
if m.flipped then t.flipped else t.normal;
|
||||||
|
|
||||||
|
monitorString = name: m: ''
|
||||||
|
hl.monitor({
|
||||||
|
output = "${name}",
|
||||||
|
mode = "${m.mode}",
|
||||||
|
position = "${m.position}",
|
||||||
|
transform = ${toString (monitorTransform m)},
|
||||||
|
})
|
||||||
|
'';
|
||||||
|
|
||||||
|
monitorSettings = lib.mapAttrsToList monitorString config.hardware.monitors;
|
||||||
|
in
|
||||||
|
lib.concatStringsSep "\n" (workspaceSettings ++ monitorSettings);
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
imports = map (x: ../../../home-manager + x) [
|
imports = map (x: ../../../home-manager + x) [
|
||||||
"/features/chat.nix"
|
"/features/chat.nix"
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
hardware.monitors = {
|
hardware.monitors = {
|
||||||
"HDMI-A-1" = {
|
"HDMI-A-1" = {
|
||||||
position = "0x0";
|
position = "0x0";
|
||||||
mode = "3440x1440@75.05t s";
|
mode = "3440x1440@75.05";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user