Commit Graph

413 Commits

Author SHA1 Message Date
Michael Carlberg
9cadb681d4 feat(i3): Add mode label 2016-11-30 18:23:11 +01:00
Michael Carlberg
eddda10c23 fix(alsa): Replace full alsalib.h 2016-11-30 14:27:37 +01:00
Michael Carlberg
f6ae5bd191 fix(build): Optional XKB 2016-11-30 14:26:11 +01:00
Michael Carlberg
d67515d575 fix(xwindow): Look for unicode wm_name
Ref #205
2016-11-30 13:38:41 +01:00
Michael Carlberg
6aba583c3e refactor(build): Rename X extension flags 2016-11-30 12:48:13 +01:00
Michael Carlberg
2f3c2e952e fix(xkeyboard): Minor tweaks 2016-11-30 11:29:41 +01:00
Michael Carlberg
608519363d feat(xkeyboard): New module
New module that uses the X keyboard extension
to show keyboard layout and indicators.

Ref #84, #200
2016-11-30 10:08:44 +01:00
Michael Carlberg
6f6c5b7459 fix(string_util): Join vector of strings 2016-11-27 01:32:21 +01:00
Michael Carlberg
4852f2817c feat: Reload on XCB_RANDR_SCREEN_CHANGE_NOTIFY 2016-11-27 01:14:02 +01:00
Michael Carlberg
340add5c40 build: Bump version to 2.3.5 2016-11-26 17:27:59 +01:00
Michael Carlberg
4fb7c98455 build: Optional X extensions 2016-11-26 15:42:48 +01:00
Michael Carlberg
ad772edc39 fix(build): Update version on configure 2016-11-26 15:30:08 +01:00
Michael Carlberg
c5bc338ae3 feat(math_util): Templated min/max 2016-11-26 13:09:29 +01:00
Michael Carlberg
12ff82e913 feat(xworkspaces): Change current desktop 2016-11-26 10:33:32 +01:00
Michael Carlberg
3413c4a463 wip(xworkspaces): Monitor support 2016-11-26 09:38:55 +01:00
Michael Carlberg
b25fa46ac2 wip(xworkspaces): EWMH desktops
Ref #84
2016-11-26 06:30:33 +01:00
Michael Carlberg
9f4638f42c refactor: Cleanup 2016-11-26 06:13:20 +01:00
Michael Carlberg
c2acdff7d4 feat(eventloop): Delayed enqueue
A new worker that will block the queue channel
until the delayed event has been processed.

This is used to limit the amount of X button events
within defined time frame and we can't block
the main X thread.
2016-11-25 21:58:51 +01:00
Michael Carlberg
ff9be848c7 refactor(clang-tidy): Apply fixes 2016-11-25 21:58:49 +01:00
Michael Carlberg
6f2b437be3 fix(renderer): Destroy window on deconstruct 2016-11-25 14:17:56 +01:00
Michael Carlberg
4268817c51 fix(config): Trigger reload on correct event
Fixes #85
2016-11-25 14:17:56 +01:00
Michael Carlberg
8db3e79919 refactor(clang-format): Apply fixes 2016-11-25 14:17:41 +01:00
Michael Carlberg
1954f3f74c build: Bump version to 2.3.4 2016-11-25 07:21:29 +01:00
Michael Carlberg
c24dbbd9ce build: Bump version to 2.3.3 2016-11-25 04:46:10 +01:00
Michael Carlberg
9fdc22843b refactor: Cleanup rendering 2016-11-25 04:42:27 +01:00
Michael Carlberg
7018357e47 fix(tray): Add compton atom to exclude shadow 2016-11-25 04:34:24 +01:00
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