From 19ef6c7a1c658884b0d3f45a4f8c5d059800bce8 Mon Sep 17 00:00:00 2001 From: Marc Weber Date: Thu, 30 Apr 2009 11:37:23 +0000 Subject: [PATCH] put wmii in a loop cause it crashes once or twice a month This also let's you change orientation. See comments svn path=/nixos/branches/modular-nixos/; revision=15412 --- upstart-jobs/xserver/windowManager/wmii.nix | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/upstart-jobs/xserver/windowManager/wmii.nix b/upstart-jobs/xserver/windowManager/wmii.nix index 219550c4f0c..191e31af1de 100644 --- a/upstart-jobs/xserver/windowManager/wmii.nix +++ b/upstart-jobs/xserver/windowManager/wmii.nix @@ -22,13 +22,23 @@ mkIf cfg.enable { services = { xserver = { - + # stop wmii by + # $wmiir xwrite /ctl quit + # this will cause wmii exiting with exit code 0 + # + # why this loop? + # wmii crashes once a month here. That doesn't matter that much + # wmii can recover very well. However without loop the x session terminates and then your workspace setup is + # lost and all applications running on X will terminate. + # Another use case is kill -9 wmii; after rotating screen. + # Note: we don't like kill for that purpose. But it works (-> subject "wmii and xrandr" on mailinglist) windowManager = { session = [{ name = "wmii"; start = " - ${pkgs.wmiiSnap}/bin/wmii & - waitPID=$! + while :; do + ${pkgs.wmiiSnap}/bin/wmii && break + done "; }]; };