Commit Graph

804 Commits

Author SHA1 Message Date
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
Michael Carlberg fd88c60b97 fix(network): Use local logger 2016-06-21 07:49:15 +02:00
Michael Carlberg 3ea64e5cbe refactor(registry): Changed naming of wait vars 2016-06-21 07:47:51 +02:00
Michael Carlberg e36cf8518a refactor: Pass by value 2016-06-21 06:01:21 +02:00
Michael Carlberg 957f2e001c task(mpd): Increased default sync interval 2016-06-21 05:27:37 +02:00
Michael Carlberg d8a3d7d5f6 feat(mpd): Format tags for back-/forward seek 2016-06-21 05:10:18 +02:00
Michael Carlberg 4366c36704 feat: Const methods for module broadcast throttle 2016-06-21 05:01:45 +02:00
Michael Carlberg 89ea8d9146 fix(battery): Store paths 2016-06-21 04:38:01 +02:00
Michael Carlberg 0c89775b05 feat: Throttle inotify event polling 2016-06-21 04:34:11 +02:00
Michael Carlberg 4d444da0e4 refactor(logger): Restrict trace logs to debug builds 2016-06-21 04:29:33 +02:00
Michael Carlberg ec2c27a44b fix: Lock all mutexes on destruct 2016-06-21 04:26:42 +02:00
Michael Carlberg f48ab45834 feat: Throttle module broadcasts 2016-06-21 04:23:28 +02:00
Michael Carlberg ac22b59a40 feat: EventThrottler 2016-06-21 04:23:28 +02:00
Michael Carlberg c506829e4e fix(core): Move non-templated method bodies out of header 2016-06-21 04:23:28 +02:00
Michael Carlberg e1f8c001dd refactor: Pass by value 2016-06-21 04:23:23 +02:00
Michael Carlberg b26ab9ce5f task: Removed obsolete timer util 2016-06-20 22:18:53 +02:00
Michael Carlberg ec92ac91ab feat(core): Custom thread sleep
Makes it possible to manually wake up sleeping threads
2016-06-20 22:11:58 +02:00
Michael Carlberg d530da0d50 fix(core): Output more details about defined bars at failure 2016-06-20 18:44:48 +02:00
Michael Carlberg 55f5a6fb70 task: Removed torrent module 2016-06-20 15:08:13 +02:00
Michael Carlberg ff7e15db88 logger: Output INFO messages as default 2016-06-20 14:47:55 +02:00
Michael Carlberg 3319bd10c5 fix(registry): Fixed duplicate refresh calls 2016-06-15 00:57:20 +02:00
Michael Carlberg 939a704764 fix(core): Conform to musl libc 2016-06-14 13:17:03 +02:00
Michael Carlberg 6cae06c4dc refactor(script): Better handling of tail scripts 2016-06-14 12:15:22 +02:00
Michael Carlberg 3bc408e3cf refactor(eventloop): Pipe handling 2016-06-14 12:15:21 +02:00
Michael Carlberg 266705e016 fix: Catch inotify exceptions 2016-06-14 12:15:21 +02:00
Michael Carlberg f7734de26a feat(script): Option to tail script output 2016-06-13 23:41:59 +02:00
Michael Carlberg 2c74cb06de task(dsl): Replace colons with dashes
Colons break ini syntax highlighters and linters.
2016-06-11 07:49:14 +02:00
Michael Carlberg 0e9900db74 fix(volume): Improve mixer event handling
Fixes jaagr/lemonbuddy#14
2016-06-10 01:09:54 +02:00
Michael Carlberg f667b739f0 task(mpd): Move connection settings to config
Closes jaagr/lemonbuddy#16
2016-06-09 13:44:01 +02:00
Michael Carlberg 39d3f61497 refactor(core): Clean-up
- use "#pragma once" instead of the regular include guard
- fix errors and warnings reported by cppcheck
2016-06-02 01:32:06 +02:00
Michael Carlberg b63e25d6e7 fix(core): Nullptr checks 2016-06-01 17:03:11 +02:00
Michael Carlberg 89a476e94c fix(mpd): Avoid nullptrs 2016-06-01 16:29:17 +02:00
Michael Carlberg 9f520dea7a fix(network): Proper handling of connectivity testing 2016-05-31 12:34:49 +02:00
Michael Carlberg 4a6a36f08f fix(battery): Poll capacity level
Some distros doesn't report any inotify event's for
the filesystem where the battery capacity file is located.

Resort to polling for now...
2016-05-31 02:55:08 +02:00
Michael Carlberg 9972d56bb2 fix(build): Dont include old util lib 2016-05-26 23:22:19 +02:00
Michael Carlberg 23b2cc69dd fix(battery): Proper handling of charge animation
Closes jaagr/lemonbuddy#3
2016-05-26 11:50:01 +02:00
Michael Carlberg d75a375538 fix(core): Be more clean why the module is invalid 2016-05-24 06:30:06 +02:00
Michael Carlberg ab31d9885f fix(core): Include build flag in config 2016-05-24 05:30:17 +02:00
Michael Carlberg f5bb87f39a fix(core): Omit trailing semicolon in macro 2016-05-24 04:00:43 +02:00
Michael Carlberg eeefb3c610 init(git): Base commit 2016-05-19 20:23:45 +02:00