diff options
| author | tv <tv@krebsco.de> | 2022-12-09 04:42:09 +0100 | 
|---|---|---|
| committer | tv <tv@krebsco.de> | 2022-12-09 04:42:48 +0100 | 
| commit | be9274b6c2b213c376bf9f0efeefb6275d0224fd (patch) | |
| tree | e6c1c720752abbd2b8e780b84abb7b5167b3f0ba | |
| parent | c82942bb7b872765d109d5cc5fccec5f945f1200 (diff) | |
tv: XMONAD_SPAWN_WORKSPACE → _CURRENT_DESKTOP_NAME
| -rw-r--r-- | tv/2configs/bash/default.nix | 16 | ||||
| -rw-r--r-- | tv/2configs/default.nix | 2 | ||||
| -rw-r--r-- | tv/5pkgs/haskell/xmonad-tv/src/main.hs | 9 | 
3 files changed, 16 insertions, 11 deletions
| diff --git a/tv/2configs/bash/default.nix b/tv/2configs/bash/default.nix index c0855bb..e38566b 100644 --- a/tv/2configs/bash/default.nix +++ b/tv/2configs/bash/default.nix @@ -14,8 +14,20 @@ with import ./lib;        case $UID in          ${shell.escape (toString config.krebs.users.tv.uid)}) -          if test ''${SHLVL-1} = 1; then -            case ''${XMONAD_SPAWN_WORKSPACE-} in +          if test ''${SHLVL-1} = 1 && test -n "''${DISPLAY-}"; then +            _CURRENT_DESKTOP_NAME=''${_CURRENT_DESKTOP_NAME-$( +              ${pkgs.xorg.xprop}/bin/xprop -notype -root \ +                  32i _NET_CURRENT_DESKTOP \ +                  8s _NET_DESKTOP_NAMES \ +                | +              ${pkgs.gnused}/bin/sed -r 's/.* = //;s/"//g;s/, /\a/g' | +              { +                read -r _NET_CURRENT_DESKTOP +                IFS=$'\a' read -ra _NET_DESKTOP_NAMES +                echo "''${_NET_DESKTOP_NAMES[$_NET_CURRENT_DESKTOP]}" +              } +            )} +            case $_CURRENT_DESKTOP_NAME in                stockholm)                  cd ~/stockholm                ;; diff --git a/tv/2configs/default.nix b/tv/2configs/default.nix index 5710f28..9babb92 100644 --- a/tv/2configs/default.nix +++ b/tv/2configs/default.nix @@ -37,7 +37,7 @@ with import ./lib;      {        i18n.defaultLocale = mkDefault "C.UTF-8";        security.sudo.extraConfig = '' -        Defaults env_keep+="SSH_CLIENT XMONAD_SPAWN_WORKSPACE" +        Defaults env_keep+="SSH_CLIENT _CURRENT_DESKTOP_NAME"          Defaults mailto="${config.krebs.users.tv.mail}"          Defaults !lecture        ''; diff --git a/tv/5pkgs/haskell/xmonad-tv/src/main.hs b/tv/5pkgs/haskell/xmonad-tv/src/main.hs index d346bfd..c921d42 100644 --- a/tv/5pkgs/haskell/xmonad-tv/src/main.hs +++ b/tv/5pkgs/haskell/xmonad-tv/src/main.hs @@ -118,13 +118,6 @@ spawnRootTerm =          Nothing -spawnTermAt :: String -> X () -spawnTermAt ws = do -    env <- io getEnvironment -    let env' = ("XMONAD_SPAWN_WORKSPACE", ws) : env -    forkFile {-pkg:rxvt_unicode-}"urxvtc" [] (Just env') - -  myKeys :: XConfig Layout -> Map (KeyMask, KeySym) (X ())  myKeys conf = Map.fromList $      [ ((_4  , xK_Escape ), forkFile {-pkg-}"slock" [] Nothing) @@ -133,7 +126,7 @@ myKeys conf = Map.fromList $      , ((_4  , xK_o      ), forkFile {-pkg:fzmenu-}"otpmenu" [] Nothing)      , ((_4  , xK_p      ), forkFile {-pkg:fzmenu-}"passmenu" [] Nothing) -    , ((_4  , xK_x      ), chooseAction spawnTermAt) +    , ((_4  , xK_x      ), forkFile {-pkg:rxvt_unicode-}"urxvtc" [] Nothing)      , ((_4C , xK_x      ), spawnRootTerm)      , ((_C  , xK_Menu   ), toggleWS) | 
