Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/display.c
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ CGRect display_bounds_constrained(uint32_t did)
}

if (display_manager_menu_bar_hidden()) {
int notch_height = workspace_display_notch_height(did);
int notch_height = g_display_manager.notch ? workspace_display_notch_height(did) : 0;
if (notch_height > effective_ext_top_padding) {
frame.origin.y += (notch_height - effective_ext_top_padding);
frame.size.height -= (notch_height - effective_ext_top_padding);
Expand Down
1 change: 1 addition & 0 deletions src/display_manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -336,5 +336,6 @@ bool display_manager_begin(struct display_manager *dm)
dm->mode = EXTERNAL_BAR_OFF;
dm->top_padding = 0;
dm->bottom_padding = 0;
dm->notch = true;
return CGDisplayRegisterReconfigurationCallback(display_handler, NULL) == kCGErrorSuccess;
}
1 change: 1 addition & 0 deletions src/display_manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ struct display_manager
int top_padding;
int bottom_padding;
enum external_bar_mode mode;
bool notch;
};

bool display_manager_query_displays(FILE *rsp);
Expand Down
18 changes: 18 additions & 0 deletions src/message.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ extern bool g_verbose;
#define COMMAND_CONFIG_MOUSE_ACTION2 "mouse_action2"
#define COMMAND_CONFIG_MOUSE_DROP_ACTION "mouse_drop_action"
#define COMMAND_CONFIG_EXTERNAL_BAR "external_bar"
#define COMMAND_CONFIG_NOTCH "notch"

#define SELECTOR_CONFIG_SPACE "--space"

Expand Down Expand Up @@ -1458,6 +1459,23 @@ static void handle_domain_config(FILE *rsp, struct token domain, char *message)
} else {
fprintf(rsp, "%s:%d:%d\n", external_bar_mode_str[g_display_manager.mode], g_display_manager.top_padding, g_display_manager.bottom_padding);
}
} else if (token_equals(command, COMMAND_CONFIG_NOTCH)) {
struct token value = get_token(&message);
if (!token_is_valid(value)) {
fprintf(rsp, "%s\n", bool_str[g_display_manager.notch]);
} else if (token_equals(value, ARGUMENT_COMMON_VAL_OFF)) {
g_display_manager.notch = false;
space_manager_mark_spaces_invalid(&g_space_manager);
}
else if (token_equals(value, ARGUMENT_COMMON_VAL_ON))
{
g_display_manager.notch = true;
space_manager_mark_spaces_invalid(&g_space_manager);
}
else
{
daemon_fail(rsp, "unknown value '%.*s' given to command '%.*s' for domain '%.*s'\n", value.length, value.text, command.length, command.text, domain.length, domain.text);
}
} else {
daemon_fail(rsp, "unknown command '%.*s' for domain '%.*s'\n", command.length, command.text, domain.length, domain.text);
}
Expand Down