Commit Graph

487 Commits

Author SHA1 Message Date
Michael Carlberg 84d58e7619 refactor: Cleanup handling of syntax tags 2016-11-25 04:34:24 +01:00
NBonaparte 199a825494 feat(mpd): Add stop toggle (#191) 2016-11-25 04:33:58 +01:00
Michael Carlberg ad510eb768 fix(builder): Default to non-lazy mode
Ref #181
2016-11-22 23:31:08 +01:00
Michael Carlberg 4794ef653c refactor(renderer): Separate methods 2016-11-22 23:18:47 +01:00
Michael Carlberg c6e861083b fix: Avoid unnecessary color change
Ref #181
2016-11-22 22:45:12 +01:00
Michael Carlberg 5028779528 fix(network): Change default value of udspeed_minwidth 2016-11-22 20:53:14 +01:00
Michael Carlberg 4ef0c55dda fix(label): Support variable token order
Bound specifiers required the tokens to be
replaced in the same order they were defined.

This fixes that by storing and comparing
the token string.
2016-11-22 03:42:42 +01:00
Michael Carlberg 09e0ea1932 config: Print deprecation warnings 2016-11-22 03:01:50 +01:00
Michael Carlberg ac654423aa build: Bump version to 2.3.2 2016-11-22 01:25:49 +01:00
Michael Carlberg 0c64b64ff8 refactor: Cleanup 2016-11-22 01:22:47 +01:00
Michael Carlberg 83ef8bcd0c fix(build): Size type 2016-11-21 16:32:56 +01:00
Michael Carlberg ebf1bd1129 feat: Support different under-/overline
Make it possible to set different size
and color values for the two properties.

`overline-size = 2`
`overline-color = #f00`
`underline-size = 5`
`underline-size = #00f`
2016-11-21 16:16:06 +01:00
Michael Carlberg 25e33b6aab refactor: Separate render component 2016-11-21 16:16:02 +01:00
Michael Carlberg c1162960cc fix(battery): Try several value files
Fixes #177
2016-11-21 08:30:25 +01:00
NBonaparte 4179f8b7f9 feat: added max and min values to tokens 2016-11-20 16:37:48 -08:00
Michael Carlberg cf22468503 fix(build): Optional module fallback
Ref #176
2016-11-21 01:14:05 +01:00
Michael Carlberg d616a7d351 fix(build): Move chrono namespace to correct level
Ref #176
2016-11-21 00:19:22 +01:00
Michael Carlberg d6a5212ef3 fix(volume): Handle alsa playback range
Ref #174
2016-11-20 23:49:08 +01:00
Michael Carlberg 002eb08b20 fix(build): Explicit type for list initialization 2016-11-20 23:29:42 +01:00
Michael Carlberg c6d85b2b92 refactor: Optimize build 2016-11-20 23:04:31 +01:00
Michael Carlberg 376c483dd4 build: Bump version to 2.3.1 2016-11-20 03:00:36 +01:00
Michael Carlberg 40fcabd644 fix(config): Proper dereference of ${self.key} 2016-11-19 19:18:28 +01:00
Michael Carlberg 88c8bbd940 refactor: Fwd declare drawtypes
Ref #164
2016-11-19 15:49:06 +01:00
Michael Carlberg 38f9ba81cd feat(battery): Estimated time remaining
Adds a new token %time% that will display an
estimate of the remaining time until fully
charged/discharged
2016-11-19 15:42:31 +01:00
Michael Carlberg 3251543d6e build: Bump version to 2.3.0 2016-11-19 06:51:34 +01:00
Michael Carlberg fd57ab0f3d fix: project rename 2016-11-19 06:26:07 +01:00
Michael Carlberg 6a6796160a build: Bump version to 2.2.8 2016-11-19 04:35:03 +01:00
Michael Carlberg 1b159786f0 fix(xwindow): Ignore xcb timestamp 2016-11-19 04:34:46 +01:00
Michael Carlberg 51d8f289fa feat(xwindow): New module "xwindow"
Add module to display title of active window.
Requires WM with support for the _NET_ACTIVE_WINDOW hint.

Ref #84
2016-11-19 04:05:13 +01:00
Michael Carlberg 2fd88c4f60 feat(ipc): New message type "action:"
Adds a new message type, prefixed "action:"
that will perform the same task as mouse actions.

This could be used to control menu modules:

  echo action:menu-open-1 > /tmp/lemonbuddy_mqueue.<pid>
  echo action:menu-close > /tmp/lemonbuddy_mqueue.<pid>

Ref #84
2016-11-18 18:37:53 +01:00
Michael Carlberg 1b5979ba10 feat(config): Default reference values
- Add fallback values to env/xrdb references:

  ${env:UNEXISTING:fallback value}
  ${xrdb:UNEXISTING:fallback value}

- Replace ${BAR.key} with ${root.key} and display
  deprecation warning if the former is used
2016-11-18 18:04:24 +01:00
Edgard Castro 1ea39e562a feat(bspwm): Additional dimmed states configuration 2016-11-15 04:33:10 -02:00
Michael Carlberg 70a5f1d41e fix: Bottom strut relative to screen 2016-11-15 02:28:42 +01:00
Michael Carlberg ffe76b0556 fix(tray): Avoid tray redraw on bar update 2016-11-15 01:00:51 +01:00
Michael Carlberg 7551a7d126 build: Bump version to 2.2.7 2016-11-14 18:36:08 +01:00
Michael Carlberg 2301de667b fix(temperature): Calculate percentage value 2016-11-14 17:56:29 +01:00
Michael Carlberg e22ec91101 fix(network): Check for TUN/TAP devices
Ref #159
2016-11-14 17:55:35 +01:00
Michael Carlberg 983963d4e4 feat(network): Accumulate stats from all interfaces
Add config setting that will display accumulated
values for up-/downspeed (accumulate-stats = true)

Closes #144
2016-11-14 12:42:59 +01:00
Michael Carlberg 611dbcd6cd build: Bump version to 2.2.6 2016-11-14 12:06:08 +01:00
Michael Carlberg e3065d0e6c feat(ipc): New ipc module
Add a new module that allow users to configure hooks
on received ipc messages. The hook will execute the defined
shell script and the output of the script will be used
as the module content.

Ref #84
2016-11-14 09:26:40 +01:00
Michael Carlberg 04fac96d78 fix(mpd): Hide module on empty playlist
Closes #149
2016-11-14 01:21:58 +01:00
Michael Carlberg 4b0e648cb8 refactor: Cleanup 2016-11-14 00:46:50 +01:00
Michael Carlberg 489f3ce480 wip: Inter-process messaging 2016-11-13 19:05:30 +01:00
Michael Carlberg c480f6fd1e refactor: Move strut handling to window class 2016-11-13 16:10:20 +01:00
Michael Carlberg 4224d838a8 refactor(bar): Strut values based on EMWH spec 2016-11-13 13:25:57 +01:00
Michael Carlberg c8f2a934b1 refactor(fs): Update naming to reflect actual usage
The module currently only handle mounted filesystem
and not block devices or partitions. Change naming
to be more clear.
2016-11-13 08:50:14 +01:00
Michael Carlberg 9a0df75a91 feat(fs): New filesystem module
Module that displays details about
mounted filesystems, #84

Closes #153
2016-11-13 06:14:34 +01:00
Michael Carlberg 4d7f6c14e6 fix(xrandr): Less strict monitor matching
Be less strict when matching randr outputs
against specified name. This is a workaround
to fix the output naming issue when switching
between graphic drivers.

On my system the output names include a dash
when using the nvidia drivers but the intel
driver does not.

   nvidia:
      HDMI-1
      eDP-1
   xf86-video-intel:
      HDMI1
      eDP1

When strict mode is disabled the matching
won't care about the connection state.

The user can re-enable exact matching and
connection state testing by setting the
config parameter `monitor-strict = true`
2016-11-12 20:42:56 +01:00
Michael Carlberg 3edd33be99 fix(build): Include poll.h instead of sys/poll.h
- Include <poll.h> to get rid of musl warnings
2016-11-12 15:50:18 +01:00
Michael Carlberg d02e2a47fb build: Bump version to 2.2.5 2016-11-12 13:55:06 +01:00
Michael Carlberg 42bcfd9fa1 feat(bspwm): Configurable scroll/click actions 2016-11-12 13:37:07 +01:00
Michael Carlberg 23996fdcdc refactor: Tray transparency and code cleaning
- Make pseudo-transparency work as intended, fixes #158
- Fill tray pixmap in case a root pixmap is not found
- Split up bar bootstrap routine
- Formatting (clang-format)
2016-11-12 13:09:50 +01:00
Michael Carlberg f2bbd301f2 feat(xbacklight): Change value on scroll
- Add action handlers for scroll up/down (conf: enable-sroll = true)
- Use xcb_timestamps instead of the throttle util
2016-11-12 13:07:05 +01:00
Michael Carlberg 2740e69a38 refactor(i3): Cleanup and configurable actions
- Do not throw on handle_event failure
- Add settings to disable mouse scroll/click actions
- Add fold markers
- Misc cleanup
2016-11-12 13:07:05 +01:00
Michael Carlberg 1e08aa455b feat(temperature): Support for <ramp> 2016-11-12 13:07:05 +01:00
NBonaparte fbd957bf33 feat(bspwm): added scrolling 2016-11-11 10:55:37 -08:00
Michael Carlberg dc2d33ceba fix(bspwm): Remove monitor property
- Use the bar settings stored in the base class.
- Add fold markers
2016-11-11 11:05:22 +01:00
NBonaparte a06b38f534 feat(temperature): Added temp module and examples 2016-11-10 22:54:07 -08:00
Michael Carlberg ee68aea773 build: Bump version to 2.2.4 2016-11-08 13:56:40 +01:00
NBonaparte dce81d4266 feat(volume): Added volume mapping 2016-11-05 14:32:09 -07:00
Michael Carlberg b470337e0a build: Bump version to 2.2.3 2016-11-04 21:08:34 +01:00
Michael Carlberg 70c3e55dba build: Bump version to 2.2.2 2016-11-04 20:43:45 +01:00
Michael Carlberg e1f637dd4f build: Bump version to 2.2.1 2016-11-04 20:29:46 +01:00
Michael Carlberg 7d2e8adf59 build: Bump version to 2.2.0 2016-11-04 19:37:04 +01:00
Michael Carlberg 869c5fe718 refactor: Code cleanup 2016-11-04 19:21:56 +01:00
Michael Carlberg ae501d6ae1 fix(tray): Support for pseudo transparency
Copy contents from the root pixmap onto the background

Fixes #125
2016-11-04 19:01:51 +01:00
Michael Carlberg 2a59236441 build: Bump version to 2.1.15 2016-11-03 19:02:12 +01:00
Michael Carlberg d74dd7f3ef fix(build): Remove disabled libs 2016-11-03 19:01:45 +01:00
Michael Carlberg 5f21d7d440 feat(bspwm): Support for multi monitors listing
- All available workspaces can now be listed, grouped
by monitor, by setting the module config `pin-workspaces`
to false

- Adds a new format tag <label-monitor>

- Treat <label-mode> as a normal format tag
2016-11-03 17:56:07 +01:00
Michael Carlberg d71e5b909b build: Bump version to 2.1.14 2016-11-03 15:29:17 +01:00
Michael Carlberg a1472dfd0f refactor(battery): Poll values by default
Fixes jaagr/lemonbuddy#140
2016-11-03 15:21:46 +01:00
Michael Carlberg 52c08675e6 fix(battery): Ignore the fake inotify event
Assume fake event if polling flag is set.

Fixes jaagr/lemonbuddy#140
2016-11-03 14:40:12 +01:00
Michael Carlberg f3b3db9854 build: Bump version to 2.1.13 2016-11-03 13:00:03 +01:00
Michael Carlberg af2289e397 fix(battery): Poll until real inotify event occurs
Fixes jaagr/lemonbuddy#140
2016-11-03 12:56:35 +01:00
Michael Carlberg e7cb345cec wip: Separate source from definitions 2016-11-03 12:54:32 +01:00
Michael Carlberg 566f33b8b2 build: Bump version to 2.1.12 2016-11-02 18:42:15 +01:00
Michael Carlberg f83dbf19b1 fix(battery): Poll thread requires running module
Closes jaagr/lemonbuddy#140
2016-11-02 18:38:13 +01:00
Michael Carlberg 5d00f0bdce build: Bump version to 2.1.11 2016-11-01 01:26:29 +01:00
Michael Carlberg de3e0458a6 fix(tray): Catch restack failure 2016-10-31 05:37:51 +01:00
Michael Carlberg 738fc2a216 feat: Offset window position using % 2016-10-31 05:13:59 +01:00
Michael Carlberg fe03570b5a fix(tray): Target correct atom 2016-10-31 02:36:43 +01:00
Michael Carlberg 94298741b6 tray: Align center and extend configuration
- The tray can now be centered in the bar
- Set window atoms:
  * _NET_SYSTEM_TRAY_COLORS
  * _NET_SYSTEM_TRAY_VISUAL
- New parameters added:
  * tray-background: Define background color
  * tray-offset-x: X position offset
  * tray-offset-y: Y position offset
  * tray-padding: Add spacing on the side of each icon
  * tray-maxsize: Size limit for tray icons, default: 16
  * tray-scale: Icon zoom, default: 1.0
  * tray-detached: The bar will ignore tray updates
2016-10-31 01:41:15 +01:00
Michael Carlberg dd7967dede fix(controller): Check for connection error in eventloop 2016-10-31 01:25:45 +01:00
Michael Carlberg 26c308cc19 feat(color_util): Utility functions for color handling 2016-10-31 01:25:19 +01:00
Michael Carlberg 55c9bf27ba fix(controller): Uninstall sigmask on blocked term signal 2016-10-30 18:48:15 +01:00
Michael Carlberg 36d4ee0e67 refactor(battery): Cleanup 2016-10-30 18:47:01 +01:00
Michael Carlberg 2f7ec4ceee fix: Alpha channel out of line 2016-10-30 08:04:59 +01:00
Michael Carlberg c9af239516 fix: Widen color channels 2016-10-30 07:46:28 +01:00
Michael Carlberg d8c309ec35 fix(date): Do not override get_output 2016-10-30 06:18:33 +01:00
Michael Carlberg efba06dc2d fix(xft): Allocate xft color by value
- Solves the issue with transparency using Xft.
- X11 fonts are still affected by the alpha issue.

Closes jaagr/lemonbuddy#119
2016-10-30 02:37:56 +01:00
Michael Carlberg 41ba9beeee fix(fontmanager): Make sure font contains characters 2016-10-29 21:27:51 +02:00
Michael Carlberg c3969e85ef fix(fontmanager): Add safety check 2016-10-29 21:06:56 +02:00
Michael Carlberg 7a790aa87d build: Bump version to 2.1.10 2016-10-29 19:49:03 +02:00
Michael Carlberg c1be785be7 fix(progressbar): Add safety check
Fixes jaagr/lemonbuddy#132
2016-10-29 19:37:49 +02:00
Michael Carlberg f0eb7e00c6 build: Bump version to 2.1.9 2016-10-29 12:39:13 +02:00
Michael Carlberg d8c64fbce1 build: Bump version to 2.1.8 2016-10-29 08:28:46 +02:00
Michael Carlberg 2768041d7c fix(network): Connection state
Closes jaagr/lemonbuddy#118
2016-10-29 07:26:57 +02:00
Michael Carlberg e21d084fdd fix(mpd): Connection state broadcasting 2016-10-29 06:52:48 +02:00
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
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