From a897b0cfd3c8d2551ea239080731e4a95164da50 Mon Sep 17 00:00:00 2001 From: ediblerope Date: Sun, 11 Jan 2026 23:13:07 +0000 Subject: [PATCH] Update gdm-monitor.nix --- settings/gdm-monitor.nix | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/settings/gdm-monitor.nix b/settings/gdm-monitor.nix index aea2c52..adfaec1 100644 --- a/settings/gdm-monitor.nix +++ b/settings/gdm-monitor.nix @@ -1,10 +1,7 @@ -# settings/gdm-monitor-sync.nix +# Update settings/gdm-monitor-sync.nix { config, pkgs, lib, ... }: { - # Copy monitors.xml to GDM's config directory to prevent display mode changes during login - # This eliminates the black screen/signal loss when transitioning from GDM to user session config = lib.mkIf (config.networking.hostName == "FredOS-Gaming") { - # Copy monitors.xml to GDM's config directory environment.etc."gdm-monitors.xml" = { source = pkgs.writeText "monitors.xml" '' @@ -40,20 +37,22 @@ "L+ /var/lib/gdm/.config/monitors.xml - - - - /etc/gdm-monitors.xml" ]; - # Log what GDM is actually using + # Log what GDM is actually using - trigger on display-manager instead systemd.services.gdm-display-check = { description = "Log GDM display settings"; - wantedBy = [ "gdm.service" ]; - after = [ "gdm.service" ]; + wantedBy = [ "display-manager.service" ]; + after = [ "display-manager.service" ]; serviceConfig = { Type = "oneshot"; ExecStart = "${pkgs.writeShellScript "check-gdm-display" '' - sleep 5 - DISPLAY=:1024 ${pkgs.xorg.xrandr}/bin/xrandr > /tmp/gdm-display-info.txt 2>&1 || true + sleep 8 + for display in :0 :1 :1024; do + DISPLAY=$display ${pkgs.xorg.xrandr}/bin/xrandr >> /tmp/gdm-display-info.txt 2>&1 && break + done echo "=== GDM monitors.xml ===" >> /tmp/gdm-display-info.txt cat /var/lib/gdm/.config/monitors.xml >> /tmp/gdm-display-info.txt 2>&1 || true ''}"; }; }; - }; # <-- This was missing + }; }