mirror of
https://github.com/FelixKratz/SketchyBar
synced 2024-11-10 13:54:16 +00:00
fix multi item aliasing from single owner
This commit is contained in:
parent
6a61e3ef2d
commit
91a9a694d5
3 changed files with 15 additions and 4 deletions
13
README.md
13
README.md
|
@ -46,7 +46,9 @@ Table of Contents
|
|||
* [Scripting](#scripting)
|
||||
* [Experimental Features](#experimental-features)
|
||||
* [Default Menu Bar Item Alias](#default-menu-bar-item-alias)
|
||||
* [Credits](#credits)## Description
|
||||
* [Credits](#credits)
|
||||
|
||||
## Description
|
||||
|
||||
This bar project aims to create a highly flexible, customizable and fast statusbar for users that like playing around with
|
||||
shell scripts and want to make their statusbar show exactly the information they need for their workflow.
|
||||
|
@ -401,7 +403,7 @@ sketchybar -m add alias <application_name> <position>
|
|||
```
|
||||
this operation requires screen capture permissions, which should be granted in the system preferences.
|
||||
This will put the default item into sketchybar.
|
||||
Aliases currently are not clickable.
|
||||
Aliases currently are not clickable but can be modified with all the options available for simple items.
|
||||
|
||||
The command can be overloaded by providing a *window_owner* and a *window_name*
|
||||
```bash
|
||||
|
@ -411,9 +413,16 @@ this way the default system items can also be slurped into sketchybar, e.g.:
|
|||
|
||||
Owner: Control Center, Name: Bluetooth <br>
|
||||
Owner: Control Center, Name: WiFi <br>
|
||||
Owner: Control Center Name: Sound
|
||||
Owner: Control Center, Name: UserSwitcher <br>
|
||||
Owner: TextInputSwitcher, Name: Keyboard Input <br>
|
||||
Owner: SystemUIServer, Name: AppleTimeMachineExtra <br>
|
||||
|
||||
Or the individual widgets of [Stats](https://github.com/exelban/stats):<br>
|
||||
Owner: Stats Name: CPU_Mini<br>
|
||||
Owner: Stats Name: RAM_Mini<br>
|
||||
Owner: Stats Name: Network_Speed<br>
|
||||
etc...
|
||||
## Credits
|
||||
yabai,
|
||||
spacebar,
|
||||
|
|
|
@ -30,7 +30,7 @@ void alias_find_window(struct alias* alias) {
|
|||
if (!owner_ref) continue;
|
||||
char* owner = cfstring_copy(owner_ref);
|
||||
char* name = cfstring_copy(name_ref);
|
||||
if (!owner) continue;
|
||||
//printf("Owner: %s Name: %s \n", owner, name);
|
||||
|
||||
if (!(alias->owner && strcmp(alias->owner, owner) == 0 && ((alias->name && strcmp(alias->name, name) == 0) || !alias->name))) { free(owner); free(name); continue; }
|
||||
free(owner);
|
||||
|
|
|
@ -319,11 +319,13 @@ static void handle_domain_add(FILE* rsp, struct token domain, char* message) {
|
|||
else if (bar_item->type == BAR_COMPONENT_ALIAS) {
|
||||
char* owner = NULL;
|
||||
char* nme = NULL;
|
||||
get_key_value_pair(name.text, &owner, &nme, ',');
|
||||
char* tmp_name = string_copy(name.text);
|
||||
get_key_value_pair(tmp_name, &owner, &nme, ',');
|
||||
if (!nme || !owner)
|
||||
alias_init(&bar_item->alias, token_to_string(name), NULL);
|
||||
else
|
||||
alias_init(&bar_item->alias, string_copy(owner), string_copy(nme));
|
||||
free(tmp_name);
|
||||
bar_item->has_alias = true;
|
||||
}
|
||||
} else if (token_equals(command, COMMAND_ADD_PLUGIN)) {
|
||||
|
|
Loading…
Reference in a new issue