Commit graph

992 commits

Author SHA1 Message Date
Felix Kratz
1563d5b40b update for new default config 2023-10-11 19:17:19 +02:00
Felix Kratz
f36eb7d672 update default config 2023-10-11 19:15:18 +02:00
Felix Kratz
43d5246e01 push version to 2.17.0 2023-10-11 19:02:27 +02:00
Felix Kratz
bb033dba94 chdir process into config dir 2023-10-11 18:58:16 +02:00
Felix Kratz
ddb59412a4 prevent the bar frame from being changed by a draw call 2023-10-10 10:13:41 +02:00
Felix Kratz
25a71a0704 cleanup 2023-10-09 12:03:24 +02:00
Felix Kratz
7e96f4e6ec Revert "Revert "reintroduce transactional window level on Sonoma""
This reverts commit 40152c054c.
2023-10-09 11:46:46 +02:00
Felix Kratz
40152c054c Revert "reintroduce transactional window level on Sonoma"
This reverts commit ef9018bd3f.
2023-10-09 11:39:32 +02:00
Felix Kratz
cda89f3ce2 associated_display and associated_space properties are now equivalent to display and space respectively
the documentation will remove associated_space and associated_display properties in the further in favour of the new properties.
2023-10-08 13:57:25 +02:00
Felix Kratz
ef9018bd3f reintroduce transactional window level on Sonoma 2023-10-06 19:49:08 +02:00
Felix Kratz
8bc95526d8 reintroduce transactional window ordering on Sonoma (#336) 2023-10-06 19:29:36 +02:00
Felix Kratz
0d4b45c710 remove an animation only after it has displayed its last frame (#404) 2023-10-03 17:32:21 +02:00
Felix Kratz
632c44654c cancel previous animation of color property before creating the new one (#404) 2023-10-03 17:31:35 +02:00
Felix Kratz
1a3708c5ad hotfix for mouse problems and select distributed notifications 2023-09-30 13:59:11 +02:00
Felix Kratz
0e4ccc175c Revert "entirely remove Carbon, get all events directly through the event mach port"
This reverts commit 207c4d7b58.

..

..
2023-09-30 13:56:32 +02:00
Felix Kratz
893ed8c3bb hotfix for #391 and float animations 2023-09-04 08:53:50 +02:00
Felix Kratz
e75afe9474 only try locking the mutex for an animation frame
the animation_frame_callback function shall never be blocked by waiting for the mutex to unlock.
This is because the CVDiplayLink* funtions will try to acquire a mutex that is locked during the
call to animation_frame_callback. This can lead to a dead lock scenario when one thread handles an
event, the animation thread waits for this event to be handled but the handling of said event requires
to unlock the CVDisplayLink mutex...
2023-09-01 10:35:08 +02:00
Felix Kratz
baeca7d182 try to fix rare freeze (#391) 2023-08-31 17:23:21 +02:00
Felix Kratz
b5e87a352a perform required bit hacks to get float animations working properly 2023-08-30 18:33:31 +02:00
Felix Kratz
93f567f775 mention related projects such as SbarLua and sketchybar-app-font 2023-08-28 20:15:21 +02:00
Felix Kratz
d6a1a20009 hotfix for deadlock in rare cases 2023-08-27 01:41:14 +02:00
Felix Kratz
1f670b052c revert threaded receiver due to large qlimit
This reverts commit c5f9e7a6c4.
2023-08-27 01:37:28 +02:00
Felix Kratz
07323b8141 use large qlimit for mach port 2023-08-27 01:34:54 +02:00
Felix Kratz
c5f9e7a6c4 receiver thread 2023-08-27 01:03:53 +02:00
Felix Kratz
e48552f724 hotfix for compiling on Monterey and below 2023-08-25 23:41:53 +02:00
Felix Kratz
dba2cd2670 improve final animation frame precision 2023-08-23 15:02:21 +02:00
Felix Kratz
e5e24cb6b6 bump version to 2.16.0 (some days testing until release) 2023-08-22 09:58:57 +02:00
Felix Kratz
9cf86148b6 add missing color subdomains to alias and graph 2023-08-22 09:57:44 +02:00
Felix Kratz
672fe10227 replace wifi icon 2023-08-22 09:18:01 +02:00
Felix Kratz
cf13bed569 add event guards in default config 2023-08-22 09:14:00 +02:00
Felix Kratz
1890f00c7f Use CVDisplayLink to sync the animation refresh to the actual refresh of the display
A CVDiplayLink creates its own thread, where the callback function is invoked. Thus the event logic must be guarded with a recursive mutex to disable two distinct threads from accessing the core memory at the same time.
2023-08-21 18:31:08 +02:00
Felix Kratz
6d053648d4 properly remove items when bar_manager is destroyed 2023-08-21 17:55:13 +02:00
Felix Kratz
e67b96aa7d only listen to mouse events when the mouse is over the bar 2023-08-17 11:19:31 +02:00
Felix Kratz
207c4d7b58 entirely remove Carbon, get all events directly through the event mach port 2023-08-17 11:19:31 +02:00
Felix Kratz
e05fca28cf change event return to void 2023-07-31 19:45:01 +02:00
Felix Kratz
fef2d53f9b remove now unused memory pool 2023-07-19 19:30:38 +02:00
Felix Kratz
ec9c93953e add the new hotload and reload domains to the help section 2023-07-19 18:58:38 +02:00
Felix Kratz
6f736e863c formatting 2023-07-19 18:54:34 +02:00
Felix Kratz
ef14e353fd remove unused field from event 2023-07-19 18:48:45 +02:00
Felix Kratz
5f978a75e3 cleanup event memory management and callbacks 2023-07-19 18:43:50 +02:00
Felix Kratz
c3cd790565 better internal event logic
.

.
2023-07-19 17:02:44 +02:00
Felix Kratz
9bcbb81b22 schedule mach messages with the CFRunLoop instead of using a thread 2023-07-19 16:11:46 +02:00
Felix Kratz
931edf128c add reload domain
The new domain --reload [optional: <path>] allows to reload the current config or reload a different config where the path to the sketchybarrc file of the config is supplied as an optional argument
2023-07-19 12:16:51 +02:00
Felix Kratz
b91c61a520 add hotload functionality
The hotload feature is disabled by default and can be controlled via --hotload <boolean>.
When enabled, a change to any file in the CONFIG_DIR will lead to an automatic reload of the config.
When a hotload event occurs, all items are removed and all settings/defaults are reset.
Then the sketchybarrc is executed again, which gives the same effect as restarting the program manually.
2023-07-18 16:36:35 +02:00
Felix Kratz
bfceb847dd use CONFIG_DIR variable in default config 2023-07-17 15:11:36 +02:00
Felix Kratz
61eacaeb45 simplify function to generate the window id from a CGEvent 2023-07-04 18:25:46 +02:00
Felix Kratz
464b5f25cb clean up libraries and remove Cocoa
cleanup
2023-06-28 22:52:17 +02:00
Felix Kratz
f0c1d8a2b6 adapt mouse scroll events
fixup
2023-06-28 22:14:13 +02:00
Revan Sopher
30a66a6d03 Scroll wheel events 2023-06-28 22:14:13 +02:00
Felix Kratz
cde3bc2fd4 implement a faster method to get the window id from a CGEvent and clean up mouse event handling 2023-06-28 21:56:39 +02:00