summaryrefslogtreecommitdiffstats
path: root/usecases/desktop/graphical/rofi.nix
blob: 0013f5cea422e1db3dce886f5cc8072d6759caca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
inputs:

{ config, ... }:

{
  home-manager.users.minijackson.programs.rofi = {
    enable = true;

    # TODO: there is a better way
    theme = with config.theme.colors; builtins.toFile "theme.rasi" ''
      * {
        dominant: ${dominant};

        foreground: ${foreground};
        dim-foreground: ${dimForeground};

        text-color: @foreground;
        border-color: @dim-foreground;

        background-color: ${background};
        light-background: ${lightBackground};
      }

      #window {
        padding: 8px;

        border:  1px solid;
        background-color: @background;
      }

      #mainbox {
        border:  0;
        padding: 0;
      }

      #inputbar {
        spacing: 0;
        padding: 5px;
        border: 0 0 1px 0;
        margin: 0 0 8px 0;
        children: [ prompt, textbox-prompt-sep, entry ];
      }

      #prompt {
        background-color: @background;
        text-color: @dim-foreground;
      }

      textbox-prompt-sep {
        expand: false;
        str: ":";
        text-color: @dim-foreground;
        margin: 0 8px 0 0;
      }

      #message {
        spacing: 0;
        padding: 5px;
        border: 0 0 1px 0;
        margin: 0 0 8px 0;
      }

      #listview {
        spacing: 0;
      }

      #element {
        border:  0;
        padding: 5px;

        background-color: @background;
      }

      #element.selected.normal {
        background-color: @dominant;
      }

      #element.urgent {
        background-color: ${fadedRed};
      }

      #element.selected.urgent {
        background-color: ${neutralRed};
      }

      #element.active {
        background-color: ${dimForeground};
        text-color: ${background};
      }

      #element.selected.active {
        background-color: ${foreground};
        text-color: ${background};
      }

      #scrollbar {
        width: 4px;
        handle-width: 8px;
      }
    '';
  };
}