42fda5b105
feat(plugin): Add initial draft plugin architecture.
...
Modules and other features that require optional libraries are now
dynamically loaded on the construction of the controller via dlopen().
This allows polybar to be built with support for all of the features on
one machine, but gracefully fall back and disable those features on
machines where the required optional shared libraries are not found.
2018-09-20 15:50:51 -05:00
61dba1b2dc
refactor(modules): Use self-registration for modules.
2018-09-20 15:50:51 -05:00
4cb0b18389
fix(controller): don't draw window if writing to stdout ( #1322 )
...
fixes #1314 .
2018-07-24 19:39:32 +02:00
20f3d9a141
refactor: Don't initialize forward declared members
...
Using brace initialization here causes bar.hpp to not compile when
included on its own, forcing all clients to also include
tray_manager.hpp and so on, which defeats the purpose of forward
declaring those classes.
This also allows us to remove the tray_manager.hpp, renderer.hpp and
parser.hpp includes from the clients of bar.hpp
2018-05-10 00:05:18 +02:00
0fd614b0a9
refactor(controller): Print error message on select fail
2018-02-15 19:26:35 -08:00
06dee3dedd
fix(volume): Warn instead of throw
2018-01-23 14:33:11 +01:00
b6c5563b0b
feat(ipc): Add visibility commands
2017-05-12 17:55:05 +02:00
23a7717120
fix(controller): Remove unused function
2017-05-12 17:55:05 +02:00
eb5c82a5c3
fix(modules): Warmup in runner thread to avoid block
2017-01-27 13:29:10 +01:00
6692b4a8da
refactor(x11): Cleanup
2017-01-24 10:49:14 +01:00
a5d6670121
refactor(clang-tidy): Apply fixes
2017-01-24 08:01:04 +01:00
8b9461e63e
wip(refactor): Cairo drawing
2017-01-24 07:41:46 +01:00
5e1886a312
wip(refactor): Cairo drawing
2017-01-24 07:11:14 +01:00
47a2cce03d
fix: Ensure reloading when IN_IGNORED fired on config ( #371 )
...
This fixes a "bug" where polybar wouldn't reload on a configuration
file change on some configurations of vim, which don't actually issue
any IN_MODIFY events because they choose to move the file, replace it
with a new one, and then delete the file instead.
To work around this, we now also listen for IN_IGNORED which fires when
the file we are watching is destroyed. When this happens, we re-attach
the configuration file watcher to the new file and reload.
2017-01-24 07:10:55 +01:00
480c2cb44b
controller: Lower verbosity of uncaught event msg
2017-01-14 00:34:35 +01:00
57e8914fa6
fix: Force update after running input command
2017-01-13 14:33:16 +01:00
f72ddf9294
refactor(signals): Use full namespace
2017-01-12 16:34:14 +01:00
da9f1d90f4
fix(controller): Ensure module runstate
2017-01-12 16:33:41 +01:00
f33d383726
refactor: Wait with tray initialization until ready
2017-01-12 16:12:54 +01:00
f4406783e2
fix(signals): Use pointer to value
...
Only pass pointers to emitted signal value since the signal receivers
will be called on the same thread as the signal emitter.
Refs #302
2017-01-09 18:52:04 +01:00
3d6084f0c0
fix(controller): Always process forced update events
2017-01-09 16:35:28 +01:00
6925415501
fix(tray): Force bar update on change
...
Refs #295
2017-01-09 14:27:56 +01:00
a2bcb1a627
refactor(signals): Avoid reinterpret_cast
2017-01-01 20:31:09 +01:00
dd960cc5b5
refactor(fd_streambuf): Cleanup
2016-12-31 15:42:46 +01:00
78bb3695e6
refactor(config): Deduce return type from default value
2016-12-30 23:32:05 +01:00
a0f1d97c2b
fix(controller): UB sanitizer patch
2016-12-30 23:28:58 +01:00
18cf9df86c
refactor: Cleanup
2016-12-27 04:58:41 +01:00
baaba4adf9
refactor(ipc): Rename signals
2016-12-26 10:36:14 +01:00
11aabac227
refactor(connection: Use custom base
2016-12-26 09:46:48 +01:00
789800a68f
refactor(signals): Simple types
2016-12-23 22:19:42 +01:00
b422d1d1a4
refactor(modules): Input handling
2016-12-23 20:43:52 +01:00
92424f0d49
refactor(cmake): Install components
2016-12-23 18:10:19 +01:00
1cb8e455fb
fix(controller): Invalid move constructions
...
Refs #268 , #265
2016-12-23 13:03:05 +01:00
e551dbfea9
fix(controller): Raise signal on quit from eventqueue
2016-12-23 05:51:33 +01:00
8cc275ccd1
refactor(controller): Process eventqueue concurrently
2016-12-23 05:10:40 +01:00
8cff01e3d8
refactor(event_handler): Abstract sink attaching
2016-12-23 05:08:19 +01:00
417d90f411
refactor(controller): Store module input handlers locally
...
Refs #265 , #262
2016-12-23 00:54:14 +01:00
e47e439954
refactor(modules): Replace callbacks with signals
...
Refs #265
2016-12-22 22:11:30 +01:00
bc9b9f0d12
refactor: Cleanup
2016-12-21 23:22:02 +01:00
185363056a
refactor(x11): Cleanup
2016-12-21 15:04:16 +01:00
7979f5b3d4
refactor(modules): Handle events using signal_receiver
2016-12-21 08:38:44 +01:00
c01f111e34
refactor(modules): Move setup to constructor
2016-12-21 08:00:09 +01:00
81e6fb062f
wip: Window autohide
2016-12-21 04:50:43 +01:00
cd31d92713
fix(controller): Check eventpipe reads/writes
2016-12-20 05:36:10 +01:00
a89c4ef2dd
refactor: Move all event handling to the controller
2016-12-20 05:16:04 +01:00
519172b6ec
feat(xkeyboard): Switch layout group on click
...
When serveral layout groups are defined for the keyboard
they can be cycled when clicking on the module.
For example:
$ setxkbmap -layout us,sv,fr
Ref #84
2016-12-16 11:31:08 +01:00
f50f43af02
refactor: Cleanup
2016-12-16 10:23:54 +01:00
f9062d031c
refactor(clang-tidy): Apply fixes
2016-12-15 03:30:41 +01:00
e11798253a
fix(controller): Module margin require surrounding text
2016-12-14 19:03:59 +01:00
eca870774f
fix: Handle single input events
2016-12-14 11:01:44 +01:00