made waybar and hyprland configs more compatible with the single-monitor layout

This commit is contained in:
2024-11-11 17:52:20 -05:00
parent 0d2d48af5c
commit b78f3a54f0
6 changed files with 94 additions and 59 deletions

View File

@@ -67,30 +67,26 @@ in {
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP &"
];
workspace = if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
== "dualmonitor") then [
workspace = if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "dualmonitor") then [
"1,persistent=true,monitor:${builtins.elemAt mons 0}"
"2,persistent=true,monitor:${builtins.elemAt mons 0}"
"3,persistent=true,monitor:${builtins.elemAt mons 0}"
"4,persistent=true,monitor:${builtins.elemAt mons 1}"
"5,persistent=true,monitor:${builtins.elemAt mons 1}"
"6,persistent=true,monitor:${builtins.elemAt mons 1}"
] else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
== "singlemonitor") then [
] else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "singlemonitor") then [
"1,persistent=true,monitor:${builtins.elemAt mons 0} "
"2,persistent=true,monitor:${builtins.elemAt mons 0}"
"3,persistent=true,monitor:${builtins.elemAt mons 0}"
"4,persistent=true,monitor:${builtins.elemAt mons 0}"
] else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
== "trimonitor") then [
] else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout == "trimonitor") then [
"1,persistent=true,monitor:${builtins.elemAt mons 2}"
"2,persistent=true,monitor:${builtins.elemAt mons 2}"
"3,persistent=true,monitor:${builtins.elemAt mons 1}"
"4,persistent=true,monitor:${builtins.elemAt mons 1}"
"5,persistent=true,monitor:${builtins.elemAt mons 0}"
"6,persistent=true,monitor:${builtins.elemAt mons 0}"
] else
[ ];
] else [ ];
env = [
"XDG_CONFIG_HOME,$HOME/.config"

View File

@@ -1,7 +1,8 @@
{ pkgs, host, lib, config, ... }:
let
desktop = host == "oganesson";
desktop = (host == "oganesson");
layout = config.movOpts.envConfig.hyprlandConfig.workspaceLayout;
workspaces = {
format = "{icon}";
format-icons = {
@@ -13,15 +14,12 @@ let
"6" = "";
};
persistent-workspaces =
if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
== "singlemonitor") then {
if (layout == "singlemonitor") then {
"${builtins.elemAt monitors 0}" = [ 1 2 3 4 ];
} else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
== "dualmonitor") then {
} else if (layout == "dualmonitor") then {
"${builtins.elemAt monitors 0}" = [ 1 2 3 ];
"${builtins.elemAt monitors 1}" = [ 4 5 6 ];
} else if (config.movOpts.envConfig.hyprlandConfig.workspaceLayout
== "trimonitor") then {
} else if (layout == "trimonitor") then {
"${builtins.elemAt monitors 2}" = [ 1 2 ];
"${builtins.elemAt monitors 1}" = [ 3 4 ];
"${builtins.elemAt monitors 0}" = [ 5 6 ];
@@ -71,7 +69,8 @@ in {
settings = {
mainBar = {
layer = "bottom";
output = builtins.elemAt monitors 1;
output = if layout == "singlemonitor" then builtins.elemAt monitors 0
else builtins.elemAt monitors 1;
position = "top";
name = "mainBar";
margin-left = 8;
@@ -193,10 +192,7 @@ in {
};
sideBar = {
layer = "bottom";
output = if desktop then
builtins.elemAt monitors 0
else
builtins.elemAt monitors 1;
output = builtins.elemAt monitors 0;
position = "right";
margin-top = 8;
margin-right = 5;