mirror of
https://github.com/FelixKratz/SketchyBar
synced 2025-02-17 04:58:28 +00:00
make new topmost and hidden properties toggleable
This commit is contained in:
parent
c1caba4733
commit
71a37b7250
4 changed files with 12 additions and 5 deletions
|
@ -154,8 +154,8 @@ where the settings currently are:
|
|||
* *padding_right*: just as padding_right
|
||||
* *bar_color*: the color of the bar itself
|
||||
* *display*: on which display to show bar (*main* or *all*)
|
||||
* *hidden*: hides and unhides the bar, for hotkey toggling of the bar (*on*, *off*)
|
||||
* *topmost*: draws sketchybar on top of *everything* (even the default menu bar) (*on*, *off*)
|
||||
* *hidden*: hides and unhides the bar, for hotkey toggling of the bar (*on*, *off*, *toggle*)
|
||||
* *topmost*: draws sketchybar on top of *everything* (even the default menu bar) (*on*, *off*, *toggle*)
|
||||
|
||||
### Adding a simple menubar item (items will appear in the bar in the order they are added)
|
||||
```bash
|
||||
|
|
|
@ -135,6 +135,8 @@ void bar_manager_init(struct bar_manager* bar_manager) {
|
|||
bar_manager->padding_right = 20;
|
||||
bar_manager->frozen = false;
|
||||
bar_manager->window_level = NSFloatingWindowLevel;
|
||||
bar_manager->hidden = false;
|
||||
bar_manager->topmost = false;
|
||||
|
||||
bar_item_init(&bar_manager->default_item, NULL);
|
||||
custom_events_init(&bar_manager->custom_events);
|
||||
|
@ -157,8 +159,9 @@ void bar_manager_set_hidden(struct bar_manager *bar_manager, bool hidden) {
|
|||
else {
|
||||
bar_manager_begin(bar_manager);
|
||||
bar_manager_unfreeze(bar_manager);
|
||||
bar_manager_refresh(bar_manager, false);
|
||||
bar_manager_refresh(bar_manager, true);
|
||||
}
|
||||
bar_manager->hidden = hidden;
|
||||
}
|
||||
|
||||
void bar_manager_set_topmost(struct bar_manager *bar_manager, bool topmost) {
|
||||
|
@ -168,6 +171,8 @@ void bar_manager_set_topmost(struct bar_manager *bar_manager, bool topmost) {
|
|||
else bar_manager->window_level = NSFloatingWindowLevel;
|
||||
bar_manager_begin(bar_manager);
|
||||
bar_manager_unfreeze(bar_manager);
|
||||
bar_manager_refresh(bar_manager, true);
|
||||
bar_manager->topmost = topmost;
|
||||
}
|
||||
|
||||
void bar_manager_update_components(struct bar_manager* bar_manager, bool forced) {
|
||||
|
|
|
@ -10,6 +10,8 @@ typedef SHELL_TIMER_CALLBACK(shell_timer_callback);
|
|||
|
||||
struct bar_manager {
|
||||
bool frozen;
|
||||
bool hidden;
|
||||
bool topmost;
|
||||
uint32_t window_level;
|
||||
CFRunLoopTimerRef refresh_timer;
|
||||
CFRunLoopTimerRef shell_refresh_timer;
|
||||
|
|
|
@ -469,10 +469,10 @@ static void handle_domain_config(FILE *rsp, struct token domain, char *message)
|
|||
bar_manager_set_padding_right(&g_bar_manager, atoi(token.text));
|
||||
} else if (token_equals(command, COMMAND_CONFIG_HIDDEN)) {
|
||||
struct token token = get_token(&message);
|
||||
bar_manager_set_hidden(&g_bar_manager, token_equals(token, ARGUMENT_COMMON_VAL_ON));
|
||||
bar_manager_set_hidden(&g_bar_manager, evaluate_boolean_state(token, g_bar_manager.hidden));
|
||||
} else if (token_equals(command, COMMAND_CONFIG_TOPMOST)) {
|
||||
struct token token = get_token(&message);
|
||||
bar_manager_set_topmost(&g_bar_manager, token_equals(token, ARGUMENT_COMMON_VAL_ON));
|
||||
bar_manager_set_topmost(&g_bar_manager, evaluate_boolean_state(token, g_bar_manager.topmost));
|
||||
} else if (token_equals(command, COMMAND_CONFIG_BAR_DISPLAY)) {
|
||||
int length = strlen(message);
|
||||
if (length <= 0) {
|
||||
|
|
Loading…
Add table
Reference in a new issue