Commit Graph

1132 Commits

Author SHA1 Message Date
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
42bcfd9fa1 feat(bspwm): Configurable scroll/click actions 2016-11-12 13:37:07 +01:00
Michael Carlberg
171e69bd30 fix: tray-position should be optional 2016-11-12 13:14:08 +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
Michael Carlberg
fd44bcd8f6 fix(bspwm): Do not print empty mode labels 2016-11-11 11:04:53 +01:00
Michael Carlberg
d9707068f9 fix(tray): Disable tray if nodraw is set 2016-11-11 10:23:21 +01:00
NBonaparte
a06b38f534 feat(temperature): Added temp module and examples 2016-11-10 22:54:07 -08:00
Michael Carlberg
a8e902c579 fix(progressbar): Safety check
Fixes #152
2016-11-08 13:55:21 +01:00
NBonaparte
dce81d4266 feat(volume): Added volume mapping 2016-11-05 14:32:09 -07:00
Michael Carlberg
23a57b6226 fix(tray): Ensure minimum window width 2016-11-04 21:08:14 +01:00
Michael Carlberg
0fd89ec358 fix(tray): Reconfigure on re-activate 2016-11-04 20:41:24 +01:00
Michael Carlberg
a1d30ddee3 feat: Configurable _NET_WM_STRUT_PARTIAL
Bspwm just released support for _NET_WM_STRUT_PARTIAL
which can be used to fix the workspace padding

New config section:

[global/wm]
margin-top = 5
margin-bottom = 5
margin-left = 5
margin-right = 5
2016-11-04 20:23:15 +01:00
Michael Carlberg
de2ee4db1b fix(tray): Default to bar background rgb 2016-11-04 19:33:38 +01:00
Michael Carlberg
0814ed381f refactor: Group consecutive ascii chars and render string 2016-11-04 19:22:00 +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
004d499ce3 fix: Make sure background colors are filled
Fixes a bug where alignment changes caused
the previous background to bleed over because
of the shift.

Fixes #141
2016-11-04 12:06:52 +01:00
Michael Carlberg
d74dd7f3ef fix(build): Remove disabled libs 2016-11-03 19:01:45 +01:00
Michael Carlberg
37ad86fa1c fix(build): GCC warnings 2016-11-03 18:19:47 +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
12a64bd3d6 fix(i3): Trim workspace names
Closes #126
2016-11-03 15:43:46 +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
b9e4ee9b92 fix: Disable modules with error 2016-11-03 14:10:48 +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
e62b545d1c Revert "refactor: Dropping XInitThreads();"
This reverts commit d5515ebcb0.
2016-10-30 19:34:21 +01:00
Michael Carlberg
d5515ebcb0 refactor: Dropping XInitThreads(); 2016-10-30 02:41:18 +01: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
7905f37462 refactor(di): Move configure_T() to anonymous ns 2016-10-25 01:55:59 +02:00
Michael Carlberg
9e22b3e693 refactor(cmake): Target libc++ 2016-10-25 01:46:35 +02:00
Michael Carlberg
c4e9f9d035 wip: Update CMakeLists 2016-10-12 02:16:48 +02:00
Michael Carlberg
eb38fb85ac fix: Make the application work properly using i3wm 2016-10-11 23:42:01 +02:00
Michael Carlberg
bae90cb4a9 fix(cmake): Added empty source file to build lib 2016-10-10 18:10:32 +02:00
Michael Carlberg
d359ab6057 refactor: Application rewrite 2016-10-10 14:52:57 +02:00
Michael Carlberg
99f97b07eb fix(bspwm): Look for socket path in env variable
Fixes jaagr/lemonbuddy#29
2016-06-30 16:12:13 +02:00
Michael Carlberg
e8cb754c27 builder: Get bar options lazily 2016-06-30 05:18:53 +02:00
Michael Carlberg
96179de06a feat: Support alpha using tags %{F#00} 2016-06-29 12:43:13 +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
35d84ccb8d fix(i3): Release wait lock 2016-06-28 17:16:46 +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
f25d26fbd9 fix(mpd): Safety check 2016-06-27 22:55:52 +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
52335d4f63 cmake: Cleanup 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
911b862f06 fix(builder): Cap percentage values 2016-06-22 20:06:30 +02:00
Michael Carlberg
8caa95de7f fix: Initialize token labels in constructor 2016-06-22 19:07:57 +02:00
Michael Carlberg
04bd48d104 fix(volume): Cleanup mixers on early destruct 2016-06-21 16:35:37 +02:00
Michael Carlberg
5f0a90722a fix(battery): Replace debug message with trace 2016-06-21 07:50:05 +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
21290e103c feat(registry): Log module refresh 2016-06-21 05:25:31 +02:00
Michael Carlberg
d8a3d7d5f6 feat(mpd): Format tags for back-/forward seek 2016-06-21 05:10:18 +02:00
Michael Carlberg
006f3f8efd fix(mpd): Default tag values 2016-06-21 04:38:14 +02:00
Michael Carlberg
89ea8d9146 fix(battery): Store paths 2016-06-21 04:38:01 +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
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
d451318bbd fix(mpd): Disconnect on destruct 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
3adcb5fd61 fix(core): Exit with correct status code 2016-06-20 18:44:36 +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
7490841e55 fix(mpd): Ignore timer updates if not playing 2016-06-15 05:16:59 +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
c959d2c7c6 refactor(bar): Make monitor vector local 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
ea15f4a5de fix(battery): Prevent broadcast if values are unchanged 2016-06-14 05:24:56 +02:00
Michael Carlberg
4991e18b19 fix(registry): Offset module loading 2016-06-14 02:55:32 +02:00
Michael Carlberg
f7734de26a feat(script): Option to tail script output 2016-06-13 23:41:59 +02:00
Michael Carlberg
552c0b58a5 fix(command): try to please linter 2016-06-11 13:55:10 +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
0e52c02a5f fix(core): Exit with correct status code on failure 2016-06-10 16:19:27 +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
20ebe00656 fix(volume): Do not require pending events when querying for headphones 2016-06-02 19:00:04 +02:00
Michael Carlberg
8c8d5bc4a8 fix(core): Always initialize input pipe 2016-06-02 18:47:26 +02:00
Michael Carlberg
331c94c248 fix(volume): Handle non synced mute 2016-06-02 18:45:48 +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
a410e182a9 fix(volume): Unit testing would be nice 2016-06-01 16:35:24 +02:00
Michael Carlberg
89a476e94c fix(mpd): Avoid nullptrs 2016-06-01 16:29:17 +02:00
Michael Carlberg
78effb28b8 fix(volume): Prevent nullptr 2016-06-01 16:26:44 +02:00
Michael Carlberg
f1e7991279 fix(battery): Check file existance 2016-06-01 16:06:36 +02:00
Michael Carlberg
9321fb0db9 fix(backlight): Check file existance 2016-06-01 16:06:24 +02:00
Michael Carlberg
af6ef01ea6 fix(cpu): Bad value for total load percentage 2016-06-01 08:18:49 +02:00
Michael Carlberg
f573fcc531 fix(bspwm): Do not output empty click handlers 2016-06-01 07:49:14 +02:00
Michael Carlberg
a6ec504513 feat(core): Throttle writes to stdout 2016-06-01 01:07:23 +02:00
Michael Carlberg
85f9dfd872 fix(network): Remove pointless lock 2016-05-31 16:07:55 +02:00
Michael Carlberg
688ca94658 fix(battery): Remove pointless lock 2016-05-31 15:51:48 +02:00
Michael Carlberg
260519ec55 fix(battery): Better safety checks 2016-05-31 15:40:17 +02:00
Michael Carlberg
9f520dea7a fix(network): Proper handling of connectivity testing 2016-05-31 12:34:49 +02:00
Michael Carlberg
f8c8204a91 fix(core): Expand tilde in config path 2016-05-31 06:27:30 +02:00
Michael Carlberg
d63c0af5f1 fix(core): Safety check 2016-05-31 04:46:34 +02:00
Michael Carlberg
de1d5f3f4a fix(battery): Make it possible to disable polling 2016-05-31 03:05:09 +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
4adb3120d1 fix(core): Remove redundant includes 2016-05-30 23:58:26 +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
40524979d0 fix(script): Do not process empty script output 2016-05-24 23:37:16 +02:00
Michael Carlberg
d1eed705e0 fix(core): Only include network module header if compile flag is set 2016-05-24 12:53:41 +02:00
Michael Carlberg
6a4e8d4196 fix(core): Replace space with dash in lemonbar args 2016-05-24 08:38:03 +02:00
Michael Carlberg
0ec71829e4 task(core): Merge consecutive lemonbar tags 2016-05-24 08:11:17 +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
a6ebd3986f fix(build): Conditionally include network module 2016-05-24 04:37:14 +02:00
Michael Carlberg
34832d8cd8 fix(core): Catch exit codes 2016-05-24 04:00:01 +02:00
Michael Carlberg
a83ecb36db fix(memory): Set vars to 0 if exception is thrown 2016-05-24 03:47:31 +02:00
Michael Carlberg
92e1216574 fix(fonts): Default offset to 0 if not specified 2016-05-24 00:49:35 +02:00
Michael Carlberg
c7b6554668 fix(mpd) Support relative seek percentages 2016-05-20 05:34:07 +02:00
Michael Carlberg
eeefb3c610 init(git): Base commit 2016-05-19 20:23:45 +02:00