@@ -11,19 +11,19 @@ struct configuration {
11
11
char sort_by [20 ];
12
12
int max_windows ;
13
13
14
- char active_window_fg_color [20 ];
15
- char inactive_window_fg_color [20 ];
16
- char separator_fg_color [20 ];
17
- char overflow_fg_color [20 ];
18
-
19
- char separator_string [200 ];
20
- int spaces ;
21
-
22
14
char name [20 ];
23
15
char name_case [20 ];
24
16
int name_max_length ;
25
17
26
- // TODO: window_nicknames
18
+ char empty_desktop_string [200 ];
19
+ char separator_string [200 ];
20
+ int spaces ;
21
+
22
+ char active_window_fg_color [20 ];
23
+ char inactive_window_fg_color [20 ];
24
+ char empty_desktop_fg_color [20 ];
25
+ char separator_fg_color [20 ];
26
+ char overflow_fg_color [20 ];
27
27
} config ;
28
28
29
29
void copy_config_str (toml_table_t * tbl , char * option , char * config_field ) {
@@ -52,17 +52,19 @@ void parse_config(char* filename, char* executable_path) {
52
52
copy_config_str (tbl , "sort_by" , config .sort_by );
53
53
config .max_windows = toml_table_int (tbl , "max_windows" ).u .i ;
54
54
55
- copy_config_str (tbl , "active_window_fg_color" , config .active_window_fg_color );
56
- copy_config_str (tbl , "inactive_window_fg_color" , config .inactive_window_fg_color );
57
- copy_config_str (tbl , "separator_fg_color" , config .separator_fg_color );
58
- copy_config_str (tbl , "overflow_fg_color" , config .overflow_fg_color );
55
+ copy_config_str (tbl , "name" , config .name );
56
+ copy_config_str (tbl , "name_case" , config .name_case );
57
+ config .name_max_length = toml_table_int (tbl , "name_max_length" ).u .i ;
59
58
59
+ copy_config_str (tbl , "empty_desktop_string" , config .empty_desktop_string );
60
60
copy_config_str (tbl , "separator_string" , config .separator_string );
61
61
config .spaces = toml_table_int (tbl , "spaces" ).u .i ;
62
62
63
- copy_config_str (tbl , "name" , config .name );
64
- copy_config_str (tbl , "name_case" , config .name_case );
65
- config .name_max_length = toml_table_int (tbl , "name_max_length" ).u .i ;
63
+ copy_config_str (tbl , "active_window_fg_color" , config .active_window_fg_color );
64
+ copy_config_str (tbl , "inactive_window_fg_color" , config .inactive_window_fg_color );
65
+ copy_config_str (tbl , "empty_desktop_fg_color" , config .empty_desktop_fg_color );
66
+ copy_config_str (tbl , "separator_fg_color" , config .separator_fg_color );
67
+ copy_config_str (tbl , "overflow_fg_color" , config .overflow_fg_color );
66
68
67
69
toml_free (tbl );
68
70
}
@@ -176,6 +178,12 @@ void output(struct window_props* wlist, int n, Window active_window, char* execu
176
178
free (wlist [i ].title );
177
179
}
178
180
181
+ if (window_count == 0 ) {
182
+ printf ("%%{F%s}" , config .empty_desktop_fg_color );
183
+ printf (config .empty_desktop_string );
184
+ printf ("%%{F-}" );
185
+ }
186
+
179
187
if (window_count > config .max_windows ) {
180
188
printf ("%%{F%s}" , config .overflow_fg_color );
181
189
printf ("(+%d)" , window_count - config .max_windows );
0 commit comments