Michael Carlberg
1075144b00
refactor(eventloop): Use concurrent queue for events
...
Events are now enqueued using a thread safe concurrent queue
which makes the previous eventloop locking redundant.
2016-10-29 06:48:51 +02:00
Michael Carlberg
92900e78d6
fix(mpd): Wake up thread when stopping module
2016-10-28 19:52:20 +02:00
Michael Carlberg
d420fe3a0f
build: Bump version to 2.1.7
2016-10-28 19:25:25 +02:00
Michael Carlberg
17921823e0
fix(controller): Change verbosity of shutdown logging
2016-10-28 18:58:55 +02:00
Michael Carlberg
fa7e3d4430
fix(script): Terminate running commands
...
Make sure the previous command has ended before
executing a new command.
This also fixes the execution block that was
caused by the tailing the command output of
action commands.
Fixes jaagr/lemonbuddy#131
2016-10-28 18:54:08 +02:00
Michael Carlberg
6923e0e288
build: Bump version to 2.1.6
2016-10-28 14:56:43 +02:00
Michael Carlberg
1e30e4254a
fix(script): Make sure idle is called every iteration
2016-10-28 14:56:11 +02:00
Michael Carlberg
2cc6ef662a
fix(config): ${self.key} references the current section
2016-10-28 13:36:53 +02:00
Michael Carlberg
cc253b069a
build: Bump version to 2.1.5
2016-10-28 13:03:26 +02:00
Michael Carlberg
2661e87d83
fix(tray): Synchrounous unmap of empty tray window
2016-10-26 15:17:33 +02:00
Michael Carlberg
a1c018193a
fix(tray): Catch errors caused from invalid X windows
2016-10-26 13:42:40 +02:00
Michael Carlberg
f822865413
build: Bump version to 2.1.4
2016-10-26 12:22:08 +02:00
Michael Carlberg
660d06768b
fix(script): Set 2s default interval for timed scripts
2016-10-26 12:20:55 +02:00
Michael Carlberg
4167c8c11c
fix(bar): Allow true transparency
...
Fixes jaagr/lemonbuddy#119
2016-10-26 02:24:10 +02:00
Michael Carlberg
204ab89921
fix(bar): Use premultiplied rgb color for X fonts
...
Closes jaagr/lemonbuddy#119
2016-10-26 01:50:37 +02:00
Michael Carlberg
fb7a59c6d9
fix(bar): Properly flush xcb connection
...
Closes jaagr/lemonbuddy#114
2016-10-25 23:58:29 +02:00
Michael Carlberg
ec1326f950
build: Bump version to 2.1.3
2016-10-25 23:12:24 +02:00
Michael Carlberg
91a9bb6d95
refactor(tray): Better support for conflicting managers
...
Listen for destroy event on the new manager window when
systray selection is lost. If the window gets destroyed
we can re-activate the manager.
2016-10-25 22:59:02 +02:00
Michael Carlberg
2529ec0520
fix(logger): Add pragmas to silence GCC error
2016-10-25 22:47:31 +02:00
Michael Carlberg
5edfe3729b
build: Bump version to 2.1.2
2016-10-25 21:08:21 +02:00
Michael Carlberg
eac65cdabb
fix(cmake): Make specific c++lib linking optional
...
- Do not enforce linking against libc++
- Fix various linter warnings
2016-10-25 20:47:53 +02:00
Michael Carlberg
d9db7edc72
build: Bump version to 2.1.1
2016-10-25 16:41:56 +02:00
Michael Carlberg
83ae9f6435
fix(xbacklight): Allow larger property values
...
Not all backlight values are within 8 bit range
so do not truncate property values
2016-10-25 16:40:01 +02:00
Michael Carlberg
9496e9aa22
feat(logger): trace_x() for verbose trace logging
2016-10-25 13:10:34 +02:00
Michael Carlberg
e239140db7
build: Bump version to 2.1.0
2016-10-25 08:59:14 +02:00
Michael Carlberg
2776155794
fix(volume): Proper handling of module events
...
When processing module events, a new instance for each
mixer is created so that the module event loop will receive
the mixer update events.
Closes jaagr/lemonbuddy#116
Closes jaagr/lemonbuddy#89
2016-10-25 08:53:55 +02:00
Michael Carlberg
4b2c73452c
fix(ramp): Always load ramp fallback values
2016-10-25 08:53:40 +02:00
Michael Carlberg
7a1193c698
fix: Increase SIGKILL termination timer
2016-10-25 08:45:21 +02:00
Michael Carlberg
d2187f44e0
refactor(drawtypes): Cleanup and fixes
2016-10-25 07:10:05 +02:00
Michael Carlberg
a0f0fc8723
refactor: Add module::halt(error)
2016-10-25 07:07:24 +02:00
Michael Carlberg
bc67e64e79
feat: Add math_util::percentage_to_value
2016-10-25 07:05:01 +02:00
Michael Carlberg
7905f37462
refactor(di): Move configure_T() to anonymous ns
2016-10-25 01:55:59 +02:00
Michael Carlberg
bcf9249dc7
refactor: Use plain std::function callbacks
...
Replace fastdelegate with plain std::function's because
of incomplete clang support
2016-10-25 01:51:57 +02:00
Michael Carlberg
6b9d162981
git: Remove header symlink
2016-10-25 01:47:35 +02:00
Michael Carlberg
56b4657c3f
feat: New module xbacklight
...
Better implementation for showing backlight information.
This one is using the XRandR extension instead of
reading from the raw file handlers.
2016-10-19 14:46:44 +02:00
Michael Carlberg
3a5ee90bb5
fix(string_util): Type error
2016-10-19 10:10:28 +02:00
Michael Carlberg
3c0cc72c55
fix(config): Test type and not value
2016-10-19 10:06:29 +02:00
Michael Carlberg
94ded75756
feat(config): Reference values defined in Xresources
...
Add config tag to reference a value defined in the Xresource db
`parameter = ${xrdb:var_name}`
2016-10-19 09:16:09 +02:00
Michael Carlberg
3eb531b6b5
build: Bump version to 2.0.1
2016-10-19 06:07:55 +02:00
Michael Carlberg
d879d6d42e
fix: Throttle X input events
...
- Limit the amount of allowed input events
- Yield on lock failure
- Cleanup
2016-10-19 06:03:01 +02:00
Michael Carlberg
1c882508ec
fix: Drop superflous prefix when throwing module_error
2016-10-19 02:15:52 +02:00
Michael Carlberg
68f72d69cc
refactor: Drop tokenized labels
...
Handle placeholder tokens inside each label
instead of cloning into a new instance each time
2016-10-19 01:31:17 +02:00
Michael Carlberg
37e367eb79
fix(string_util): Prevent replace_all lock
2016-10-19 01:31:17 +02:00
Michael Carlberg
7e960a3966
fix(script): Rerun tail script when done
...
- Improve handling of command life time proc
- Restart tail command on successful completion
- Should fix jaagr/lemonbuddy#105
2016-10-19 01:31:05 +02:00
Michael Carlberg
01c5dcb6b7
fix: Guarded module teardown
2016-10-18 17:55:34 +02:00
Michael Carlberg
f09858a1ed
fix(controller): Checked request to update root window event mask
2016-10-18 17:53:10 +02:00
Michael Carlberg
5323167b1e
fix(xrandr): Ignore harmless extension errors
...
Closes jaagr/lemonbuddy#106
2016-10-18 17:31:58 +02:00
Michael Carlberg
65b921ecd9
fix: Less verbose debug logging for %{A}
2016-10-18 12:22:14 +02:00
Michael Carlberg
5fd8c50dde
fix(i3): Shutdown on socket disconnect
2016-10-18 11:49:13 +02:00
Michael Carlberg
df93cabf22
fix: Acquire lock when stopping modules
2016-10-18 10:35:15 +02:00
Michael Carlberg
5796bde25d
fix(network): Acquire lock on cleanup
2016-10-18 10:22:48 +02:00
Michael Carlberg
82f311b695
refactor(network): Code cleanup
...
- Cleanup of network module and adapter
- Check operstate instead of carrier when testing the
the current connection state, as suggested by @patrick96 in #44
- Separate signal quality and signal strength
- Log failed attempt to query device driver
2016-10-18 09:41:20 +02:00
Michael Carlberg
334dc7731d
fix(string_util): Ensure find != replace
2016-10-18 06:29:25 +02:00
Michael Carlberg
d7d953d40a
fix(string_util): Proper squeezing
2016-10-18 06:22:44 +02:00
Michael Carlberg
de0c3eb46a
fix(parser): Support default button index for actions
...
Defining an action without a button index caused a segfault since
the parser was treating it as the close of a previously opened action
block. This makes the parser use button LEFT as a fallback.
Also ensure that an action block has been opened before
attempting to close the block.
Fixes jaagr/lemonbuddy#104
2016-10-17 05:55:03 +02:00
Michael Carlberg
3d30aba0e9
fix(volume): Make sure handled event get broadcasted
2016-10-17 03:43:56 +02:00
Michael Carlberg
64d578f23d
fix(modules): Generic method for broadcasting handled events
2016-10-17 03:31:14 +02:00
Michael Carlberg
c1acf6c05f
fix: Clear the pixmap properly when shifting content
...
Closes jaagr/lemonbuddy#100
2016-10-16 12:27:30 +02:00
Michael Carlberg
90dd0b2b9a
fix(volume): Drop unnecessary lock guard
2016-10-16 02:31:07 +02:00
Michael Carlberg
21d91b0d91
refactor(volume): Support Master only setups
2016-10-16 02:22:47 +02:00
Michael Carlberg
8b91852284
fix(cpu): Core 0 should not be ignored
...
Closes jaagr/lemonbuddy#98
2016-10-15 23:37:40 +02:00
Michael Carlberg
ba1939f4ca
fix(script): Make sure the output is passed through the formatter
...
Fixes jaagr/lemonbuddy#97
2016-10-15 21:52:52 +02:00
Michael Carlberg
4a49ba340c
fix(volume): Do not require speaker/headphone for events
...
Closes jaagr/lemonbuddy#96
2016-10-15 21:04:03 +02:00
Michael Carlberg
17e16d18a9
fix(i3): Make tray copy the bar' visibility state
...
This adds a fallback routine where the tray window will
get notified whenever the bar window changes its visibility
state. Required in case of failure to restack the tray container
above the bar window in the window stack.
Fixes jaagr/lemonbuddy#95
2016-10-15 20:10:40 +02:00
Michael Carlberg
0128168c51
fix: Update _NET_WM_* atoms for the bar window
2016-10-15 20:07:05 +02:00
Michael Carlberg
1445b95af8
refactor: Moved global signals to separate namespace
2016-10-15 19:45:17 +02:00
Michael Carlberg
20991a3465
fix(tray): Handle error when trying to restack window
2016-10-15 14:51:37 +02:00
Michael Carlberg
8750894bb3
fix(i3): Ignore ipc read error on shutdown
2016-10-15 14:44:35 +02:00
Michael Carlberg
178b656d08
fix(tray): Catch error while processing docking requests
2016-10-15 14:00:33 +02:00
Michael Carlberg
bcd1774370
fix(tray): Put tray above bar in the window stack
...
Closes jaagr/lemonbuddy#94
2016-10-15 13:59:25 +02:00
Michael Carlberg
dc82d0ed57
refactor(script): Make the module behave as intended
...
Tail script now block execution until there's data
available on the script's output stream.
Running commands are also being terminated properly.
2016-10-15 13:15:56 +02:00
Michael Carlberg
ce93a63cb8
fix: Terminate if there are no configured modules
2016-10-15 13:10:08 +02:00
Michael Carlberg
98b5bae096
fix: Offset initial module update to avoid throttling
2016-10-15 13:09:22 +02:00
Michael Carlberg
0bac9c3f89
fix(tray): Deactivate the tray before removing the bar
2016-10-15 03:58:53 +02:00
Michael Carlberg
1ab0724347
fix(tray): Join notify thread after setting activate state
2016-10-15 03:33:35 +02:00
Michael Carlberg
6b0109e8dd
fix(tray): Make sure stray clients are notified
...
If the tray is being activated while clients are in
the process of getting dismissed by another MANAGER
they will not receive the new MANAGER broadcast.
Delayed broadcasts are sent to make sure they're notified.
2016-10-15 03:20:19 +02:00
Michael Carlberg
048f09abc3
fix(logger): Use correct fd when testing if it's a tty
2016-10-15 02:40:05 +02:00
Kevin Morio
069555e3d4
Scroll through workspaces on same monitor only
2016-10-14 23:54:32 +02:00
Kevin Morio
32ac7a5f38
feat(i3): Scrollable workspaces and strip-wsnumber option
2016-10-14 20:41:36 +02:00
Michael Carlberg
9238f56b72
fix(script): Broadcast empty content once
2016-10-14 17:18:29 +02:00
Michael Carlberg
09a797b637
fix(i3): Stop the module on ipc error
...
Should fix jaagr/lemonbuddy#83
2016-10-14 16:20:58 +02:00
Michael Carlberg
c8def6677d
fix(script): Dispatch subthread on setup
...
Closes jaagr/lemonbuddy#77
2016-10-14 11:36:10 +02:00
Michael Carlberg
6f286055c5
fix(network): Let module fail silently
...
The network module should not terminate the
application on failure
Closes jaagr/lemonbuddy#81
2016-10-14 10:48:22 +02:00
Michael Carlberg
fcd30c5320
fix: Revert to old offset behaviour
...
The offset-x should not affect the width
of the bar window
Closes jaagr/lemonbuddy#79
2016-10-14 10:38:06 +02:00
Michael Carlberg
789345291b
fix(date): Use configured locale if defined
...
Fixes jaagr/lemonbuddy#74
2016-10-12 16:49:53 +02:00
Michael Carlberg
343d1a2ff2
fix(tray): Respond to client XCB_RESIZE_REQUEST
2016-10-12 10:50:14 +02:00
Michael Carlberg
609c2700bf
fix(aur): Update package templates
2016-10-12 07:42:22 +02:00
Michael Carlberg
1d7d45c4cd
fix(i3): Conditionally load i3_utils
2016-10-12 06:19:26 +02:00
Michael Carlberg
2af0d0845d
fix(docs): Updated README and configs
...
Use dash instead of underscore as parameter name separator
Will break alot of configs but people like to work!
2016-10-12 05:19:31 +02:00
Michael Carlberg
a891f3e53b
fix(ci): Do not use ccache
2016-10-12 04:30:03 +02:00
Michael Carlberg
bdb4a0ea1d
fix(i3): Avoid conflicting i3 commands
2016-10-12 04:14:58 +02:00
Michael Carlberg
cba62e7b8e
feat(i3): Added option to sort by workspaces by index
2016-10-12 04:14:06 +02:00
Michael Carlberg
774dec5d17
refactor(i3): Rewrite of the i3 module
2016-10-12 03:57:22 +02:00
Michael Carlberg
eb38fb85ac
fix: Make the application work properly using i3wm
2016-10-11 23:42:01 +02:00
Michael Carlberg
700cc89963
fix(progressbar): Make sure index is within bounds
2016-10-11 19:58:22 +02:00
Michael Carlberg
e1b6238564
feat: Restack-to-root
...
Fixes the issue where the bar window is being
drawn on top of fullscreen window's
2016-10-11 18:55:41 +02:00
Michael Carlberg
44ca3bef2c
fix(controller): Try to acquire lock for 50ms on module update
...
Allow short bursts since we want to handle all events
when starting the modules.
2016-10-11 16:10:26 +02:00
Michael Carlberg
257b73d589
refactor(bspwm): Cleanup
2016-10-11 16:09:18 +02:00
Michael Carlberg
b7f9cb2820
fix(ci): Forward decl. error
2016-10-11 15:31:52 +02:00
Michael Carlberg
e5d981faf9
refactor(menu): Menu module logic
2016-10-11 15:28:14 +02:00
Michael Carlberg
fb6e5ea378
fix(logger): Ignore GCC warning
2016-10-11 14:13:11 +02:00
Michael Carlberg
790059243b
feat(network): Configurable min width for up/down speed
2016-10-11 14:08:59 +02:00
Michael Carlberg
55a5c5d896
fix: Pass xcb_params_t by value
2016-10-11 13:48:50 +02:00
Michael Carlberg
d23119e24e
fix(build): Make project compile using gcc5/gcc6
2016-10-11 12:58:26 +02:00
Michael Carlberg
c79d8dfea4
fix: Handle unsupported modules
2016-10-11 10:05:23 +02:00
Michael Carlberg
990f2a3074
fix(bspwm): Proper dispatch of ipc commands
2016-10-11 09:27:10 +02:00
Michael Carlberg
f05d5678d4
refactor(bspwm): Use defined socket path for ipc connections
2016-10-11 09:23:26 +02:00
Michael Carlberg
4055778468
fix(logger): Use STDERR as default output channel
2016-10-11 08:34:34 +02:00
Michael Carlberg
39bfcb15e1
fix(command_line): Correct handling of long argument value
...
Use correct format for passing values using the long version
of the option, e.g: --arg=value
2016-10-11 08:31:46 +02:00
Michael Carlberg
bcb6894496
refactor: Do not redefine default bar values
2016-10-11 08:18:25 +02:00
Michael Carlberg
12bfa5c89f
fix: Map bar window when fully configured
2016-10-11 08:16:22 +02:00
Michael Carlberg
89d645539c
refactor: Drop modules on failure
...
If a module error occur, just stop the failing
module and let the application keep running.
2016-10-11 08:13:42 +02:00
Michael Carlberg
9754393c49
refactor(volume): Cleanup
2016-10-11 06:00:53 +02:00
Michael Carlberg
6037947b1d
refactor(alsa): Acquire mutex lock for api calls
2016-10-11 05:43:57 +02:00
Michael Carlberg
565a6d7032
refactor(controller): Force shutdown if dead lock
...
If the mutex haven't been successfully locked after
3 seconds, force shutdown by raising SIGKILL.
This to ensure termination in case of a dead lock.
2016-10-11 05:10:34 +02:00
Michael Carlberg
20350e5fe6
fix: Make sure clickable areas are aligned properly
...
- Avoid odd glyph width's for center-aligned text
since it breaks the positioning of clickable area's
- Added visual hints for clickable areas for debugging
2016-10-11 03:19:53 +02:00
Michael Carlberg
2921239833
fix(command_line): Use specific exceptions
2016-10-10 20:23:52 +02:00
Michael Carlberg
7efb2fc47a
fix(command_line): Parse long arguments
2016-10-10 19:18:30 +02:00
Michael Carlberg
a9553ff850
refactor: Cleanup
2016-10-10 18:58:57 +02:00
Michael Carlberg
c687b07cd0
fix: Handle mouse button click/scroll events
2016-10-10 18:05:58 +02:00
Michael Carlberg
8af7388c93
fix: Use module separator from config
2016-10-10 15:50:58 +02:00
Michael Carlberg
d359ab6057
refactor: Application rewrite
2016-10-10 14:52:57 +02:00
Michael Carlberg
d72ff7334e
build: Bump version to 1.4.4
2016-07-27 03:29:29 +02:00
Michael Carlberg
e94bd6a271
feat(config): Reference value in environment var
...
This makes it possible to reference env vars from any
config parameter using ${VARNAME}
Closes jaagr/lemonbuddy#36
2016-07-27 03:21:27 +02:00
Michael Carlberg
3ad583b8d0
build: Bump version to 1.4.2
2016-06-30 05:37:04 +02:00
Michael Carlberg
e8cb754c27
builder: Get bar options lazily
2016-06-30 05:18:53 +02:00
Michael Carlberg
80e6936cdc
refactor: Use shared_ptr for Bar/Opts
2016-06-29 12:42:54 +02:00
Michael Carlberg
f406f1eb9f
Cleanup and compiler check fixes
2016-06-29 11:06:44 +02:00
Michael Carlberg
f2999b7272
fix(date): Do not trigger updates when unchanged
2016-06-29 11:05:30 +02:00
Michael Carlberg
16cc82d920
refactor(cmake): Specify compile opts on target
2016-06-28 22:25:31 +02:00
Michael Carlberg
bfb5874354
refactor(i3ipcpp): Use patched standalone version
2016-06-28 21:56:28 +02:00
Michael Carlberg
a94fcec245
build: Bump version to 1.3.2
2016-06-28 17:16:48 +02:00
Michael Carlberg
35d84ccb8d
fix(i3): Release wait lock
2016-06-28 17:16:46 +02:00
Michael Carlberg
3d8d28a2db
build: Bump version to 1.3.1
2016-06-28 16:16:31 +02:00
Michael Carlberg
3edb476ed0
build: Bump version to 1.3.0
2016-06-28 15:25:51 +02:00
Michael Carlberg
4c83b363bf
feat(build): Build with version
2016-06-28 15:06:30 +02:00
Michael Carlberg
e1279d6582
refactor(xcb): Namespacing
2016-06-28 06:18:17 +02:00
Michael Carlberg
b8a1dd628e
refactor(bspwm): Better socket handling
...
- Reconnect on POLLHUP
- Switch desktop using socket instead of std::system()
Fixes jaagr/lemonbuddy#27
2016-06-28 05:11:14 +02:00
Michael Carlberg
99cb53a565
fix(logger): Use local ptr
2016-06-28 04:59:07 +02:00
Michael Carlberg
8b030930af
refactor: Better handling of spaces between format tags
...
Ignore spaces if the previous tag was not outputted
2016-06-28 01:05:48 +02:00
Michael Carlberg
ab06ed2c16
refactor(mpd): Cleanup
2016-06-28 01:05:45 +02:00
Michael Carlberg
78823fda6d
fix(mpd): Broadcast connection state changes once
2016-06-27 22:23:42 +02:00
Michael Carlberg
26daf744bb
fix: Conditional modules
2016-06-27 21:52:21 +02:00
Michael Carlberg
718cfd294d
fix(xcb): Use xcb_rectangle for monitor bounds
2016-06-24 01:42:58 +02:00
Michael Carlberg
825b47b7d4
Cleanup of bar::load
2016-06-24 00:26:08 +02:00
Michael Carlberg
ee1c980be1
xpp: Type aliases
2016-06-24 00:26:08 +02:00
Michael Carlberg
8b7f2b7268
refactor: Replace X11 handling with xpp+xcb
...
xrandr 1.5 is no longer required for the monitor
handling to work
fixes jaagr/lemonbuddy#12
fixes jaagr/lemonbuddy#24
2016-06-24 00:22:33 +02:00
Michael Carlberg
04bd48d104
fix(volume): Cleanup mixers on early destruct
2016-06-21 16:35:37 +02:00
Michael Carlberg
1e5fc993a4
fix: Revert nested locking in module destruct
2016-06-21 16:35:27 +02:00
Michael Carlberg
2b39fcd7dd
fix: Use native wait timeout
2016-06-21 08:26:48 +02:00