summaryrefslogtreecommitdiffstats
path: root/pkgs/simple/xextras.nix
blob: c9c030865255ee1e9062b88ab4225f34842aef8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{ pkgs }:

pkgs.write "xextras" {
  "/bin/net-current-desktop".link =
    pkgs.writeDash "net-current-desktop" ''
      # SYNOPSIS
      #   net-current-desktop
      #
      ${pkgs.xorg.xprop}/bin/xprop -notype -root 32i _NET_CURRENT_DESKTOP 8s _NET_DESKTOP_NAMES |
      ${pkgs.jq}/bin/jq -Rrs '
        split("\n") | map(select(.!="") | split(" = ") | { name: .[0], value: .[1] }) | from_entries |
        {
          _NET_CURRENT_DESKTOP: (._NET_CURRENT_DESKTOP | tonumber),
          _NET_DESKTOP_NAMES: (._NET_DESKTOP_NAMES | "[\(ltrimstr("._NET_DESKTOP_NAMES = "))]" | fromjson)
        } |
        ._NET_DESKTOP_NAMES[._NET_CURRENT_DESKTOP]
      '
    '';
}