Commit Graph

382 Commits

Author SHA1 Message Date
Michael Carlberg
4fca0c89b4 refactor: Object construction 2016-12-14 11:01:44 +01:00
Michael Carlberg
1a2a6e5fab refactor: Construction methods 2016-12-14 11:01:44 +01:00
Michael Carlberg
08be86fbe1 wip(refactor): Improve signal and event handling 2016-12-14 11:01:44 +01:00
Michael Carlberg
d45fd76dcd refactor(config): Drop boost::property_tree 2016-12-14 10:57:45 +01:00
Michael Carlberg
8da52af6a2 fix(tray): Attached offset relative to inner area 2016-12-14 10:55:40 +01:00
Michael Carlberg
24df9e30a3 fix(tray): Correct alignment coords 2016-12-14 10:55:40 +01:00
Michael Carlberg
4c2d710169 fix(tray): Adjust action coords
Ref #241
2016-12-14 10:55:36 +01:00
Michael Carlberg
3a6ca90fcb refactor(i3): Remove wsname-maxlen 2016-12-14 04:45:34 +01:00
Michael Carlberg
0ed173b96e refactor(i3): Output based wrapping 2016-12-14 04:45:31 +01:00
Michael Carlberg
c57273e682 fix(alsa): Deallocate mixer element using wrapper 2016-12-14 00:53:49 +01:00
Michael Carlberg
f4529dde99 feat(i3): Conditional wrap around on scroll
Ref #242
2016-12-14 00:46:54 +01:00
Michael Carlberg
1b00993cb9 fix(net): Initialize request struct 2016-12-13 14:33:06 +01:00
Michael Carlberg
b303492759 fix(alsa): Avoid dangling pointers 2016-12-13 14:31:17 +01:00
Michael Carlberg
cab2d49532 fix: Module margin
Only output module margin right when there are
preceeding modules.
2016-12-13 14:30:06 +01:00
Michael Carlberg
891ff6d80a fix(xkeyboard): Use current group number
Ref #230
2016-12-08 18:35:07 +01:00
Michael Carlberg
60503734ac fix(bspwm): Send monitor local focus commands 2016-12-05 13:21:28 +01:00
Michael Carlberg
ec39859093 feat: Window click handlers
New parameters for defining fallback click handlers
that will be triggered for the whole window unless
a module action is matched.

Parameters added to all [bar/foo] sections:

- `click-left = ...`
- `click-middle= ...`
- `click-right= ...`
- `scroll-up= ...`
- `scroll-down= ...`

Ref #226
2016-12-05 13:17:15 +01:00
Michael Carlberg
3854515521 fix: Wrap format pre/suffix within cmd 2016-12-05 05:32:10 +01:00
Michael Carlberg
1a48f825d1 fix(progressbar): Pass label to builder
Ref #224
2016-12-05 05:04:43 +01:00
Michael Carlberg
7d1092db04 refactor(date): Add label and date/time tokens
Ref #225
2016-12-05 04:52:00 +01:00
Michael Carlberg
d561b9cb2d fix(builder): Remove surrounding quotes for raw strings
Ref #221
2016-12-05 04:15:21 +01:00
Michael Carlberg
7f5117b7cc fix(tray): Improve pseudo-transparency handling
- Make sure previously drawn content is cleared
- Redraw tray clients on XCB_EXPOSE
- Prevent void parts of the root pixmap being copied

Ref #187
2016-12-05 03:56:04 +01:00
NBonaparte
a22e84204d fix(script): set default tag to label (#223) 2016-12-04 22:09:57 +01:00
Soham Chowdhury
16b7d09d63 feat(mpd): Add support for date (#222) 2016-12-04 19:33:04 +01:00
Michael Carlberg
d93bd635b4 fix(label): Remove surrounding quotes
Fixes #221
2016-12-04 17:28:58 +01:00
Michael Carlberg
9eee27544d fix(renderer): Improve precision when shifting action blocks
Fixes #220
2016-12-04 13:50:30 +01:00
NBonaparte
d888f1b331 feat: Add left and right padding and margins (#219)
* feat: Add left and right padding and margins

* fix: use side_values and change precedence

* fix: cast to uint16_t
2016-12-04 11:57:33 +01:00
Michael Carlberg
c870a9efa7 fix(tray): Do not reserve space when detached
Ref #218
2016-12-04 05:53:45 +01:00
Michael Carlberg
44da14755d refactor(clang-tidy): Apply fixes 2016-12-04 04:11:47 +01:00
Michael Carlberg
0cfddf7d72 feat(token): Add optional suffix to label tokens 2016-12-04 04:03:17 +01:00
NBonaparte
ffbedf4217 feat: Add support for prefix and suffix to formats 2016-12-04 02:33:38 +01:00
Michael Carlberg
fbca73a83b fix: Check ptr before accessing 2016-12-04 01:15:00 +01:00
Michael Carlberg
9f16e3fff7 refactor: Rename dock to override-redirect 2016-12-03 23:21:40 +01:00
Michael Carlberg
d6a0c84e0b refactor(tray): Update using eventloop 2016-12-03 23:01:21 +01:00
Michael Carlberg
df85a6492e refactor(eventloop): Typed events 2016-12-03 23:00:41 +01:00
Michael Carlberg
aca249727a fix(tray): Emit visibility state before activate 2016-12-03 21:19:39 +01:00
Michael Carlberg
604e926924 refactor(script): Format tag <label>
Mark <output> and maxlen as deprecated
2016-12-03 21:10:01 +01:00
Michael Carlberg
5f6d73a415 fix(command): Use execlp()
Ref #214
2016-12-03 20:52:43 +01:00
Michael Carlberg
bb0cfcf033 fix(tray): Visibility change 2016-12-03 20:26:29 +01:00
Michael Carlberg
a3f2e8aa51 fix: Reconfigure position after mapping
Ref #212
2016-12-03 18:38:35 +01:00
Michael Carlberg
22f3af96b9 fix(tray): Handle visibility change
Ref #211
2016-12-03 17:00:19 +01:00
Michael Carlberg
6b51234f23 fix(screen): Only reload if changed 2016-12-03 16:44:37 +01:00
Michael Carlberg
ef9b37447b fix(xcb): Deallocate using deleter 2016-12-03 16:44:08 +01:00
Michael Carlberg
086e498388 fix: Replace process on reload 2016-12-03 15:46:48 +01:00
Michael Carlberg
0f91d3d8df fix(ewmh): Use deleter to deallocate atoms 2016-12-03 15:45:11 +01:00
Michael Carlberg
158d4dd515 fix(controller): Handle connection error 2016-12-03 15:12:11 +01:00
Michael Carlberg
91ee4c825b fix(xworkspaces): Safety check 2016-12-03 14:53:53 +01:00
Michael Carlberg
d4eaf21052 fix(xworkspaces): Correct desktop index for pinned workspaces
- Use the correct desktop index when only displaying
workspaces for the configured monitor/viewport.

- Wrapping scroll
2016-12-03 13:45:26 +01:00
Michael Carlberg
edbefbd8fa fix(controller): Check runstate when handling X event 2016-12-03 13:01:10 +01:00
Michael Carlberg
4776ec49df fix: Use defined event sink priority 2016-12-03 13:00:40 +01:00
Michael Carlberg
a1ad4de470 fix: Fill background for initial draw
Ref #179
2016-12-03 12:58:43 +01:00
Michael Carlberg
e9db3fab3a fix: Only escape delimiter within action blocks
Ref #197
2016-12-01 14:30:47 +01:00
Michael Carlberg
0ef2615af2 fix(config): Boost error
Ref #208
2016-12-01 13:00:38 +01:00
Michael Carlberg
c6540a8950 refactor: Signaling 2016-12-01 08:56:16 +01:00
Michael Carlberg
9f8dabfc8d refactor(xwindow): Cleanup 2016-12-01 08:35:59 +01:00
Michael Carlberg
121d367205 fix(config): Use KEY_INHERIT 2016-12-01 08:30:48 +01:00
Michael Carlberg
0c6937edae feat(config): Inheritance
Add support for basic inheritance. The parser will
look for `inherit = base/section` and copy all undefined
values from the base section.

Ref #84
2016-12-01 07:57:30 +01:00
Michael Carlberg
4f76d917f8 fix(build): GCC name error 2016-12-01 03:35:54 +01:00
Michael Carlberg
d34263d850 fix(progressbar): Generate less data
Build the format sub-strings (%fill%, %indicator%, %empty%)
before adding it to the builder to avoid having it generate
alot of duplicate content (tags, etc)
2016-11-30 22:17:55 +01:00
Michael Carlberg
be8805be1e fix(renderer): Draw under-/overline after glyph 2016-11-30 22:15:01 +01:00
Michael Carlberg
6db66896bd refactor(bspwm): Cleanup states 2016-11-30 21:12:47 +01:00
Franklin Delehelle
466e9e212f feat(bspwm): Separate focused/unfocused states
Closes #201
2016-11-30 21:04:22 +01:00
Michael Carlberg
43350c484e fix(bspwm): Cleanup 2016-11-30 18:23:18 +01:00
Michael Carlberg
9cadb681d4 feat(i3): Add mode label 2016-11-30 18:23:11 +01:00
Michael Carlberg
d5587bf6f6 fix(i3): Filter root window
Ref #207
2016-11-30 16:56:49 +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
c4822b713f fix(renderer): Remove superflous clear 2016-11-26 17:26:35 +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
12ff82e913 feat(xworkspaces): Change current desktop 2016-11-26 10:33:32 +01:00
Michael Carlberg
0d4a24ef8e fix(ewmh): Check success of reply 2016-11-26 09:51:06 +01:00
Michael Carlberg
3413c4a463 wip(xworkspaces): Monitor support 2016-11-26 09:38:55 +01:00
Michael Carlberg
6fe411ea9e fix(ewmh): Include last desktop name 2016-11-26 06:39:37 +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
19868041e1 fix(connection): Query atoms and extensions once 2016-11-25 14:17:57 +01:00
Michael Carlberg
20c00936a9 fix(bspwm_util): Memory leak 2016-11-25 14:17:57 +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
d76003256f fix: Do not parse module tags twice
Ref #192
2016-11-25 07:14:27 +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
48c709eb58 fix(builder): Always close open tags on flush
Ref #186
2016-11-23 21:59:05 +01:00
Michael Carlberg
4794ef653c refactor(renderer): Separate methods 2016-11-22 23:18:47 +01:00
Michael Carlberg
b14e55f729 fix(label): Do not erase false positives 2016-11-22 23:10:36 +01:00
Michael Carlberg
c6e861083b fix: Avoid unnecessary color change
Ref #181
2016-11-22 22:45:12 +01:00
Michael Carlberg
cd005a9ce6 fix(renderer): Avoid false positives
Ref #181
2016-11-22 22:44:28 +01:00
Michael Carlberg
0983167510 fix(builder): Erase full tag
Ref #180
2016-11-22 21:33:27 +01:00
Michael Carlberg
7c60998459 fix(label): Patch token extraction
Ref #182
2016-11-22 21:14:35 +01:00
Michael Carlberg
6e35bcd183 fix(bar): Draw empty window at launch
Ref #179
2016-11-22 20:52:07 +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
733341d62b fix: Skip button events unless lock acquired 2016-11-22 02:06:25 +01:00
Michael Carlberg
0c64b64ff8 refactor: Cleanup 2016-11-22 01:22:47 +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
c658d22925 fix(token): more patches 2016-11-20 22:44:35 -08:00
NBonaparte
d66c16674c feat(tokens): added patch by @jaagr 2016-11-20 21:33:50 -08:00
NBonaparte
4179f8b7f9 feat: added max and min values to tokens 2016-11-20 16:37:48 -08:00
Michael Carlberg
d0915b82f4 fix: Only include optional module fallback if needed 2016-11-21 01:19:44 +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
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
30c1cb3d50 fix(animation): Use defined base values 2016-11-19 12:23:31 +01:00
Michael Carlberg
489d429644 refactor(ci): Split into scripts 2016-11-19 12:23:02 +01:00
Michael Carlberg
bf23086687 fix(builder): Always close raw syntax tags
The lazy closing doesn't work well with raw
syntax tags so ignore it when closing tags.
2016-11-19 08:11:18 +01:00
Michael Carlberg
fd57ab0f3d fix: project rename 2016-11-19 06:26:07 +01:00
Michael Carlberg
1b159786f0 fix(xwindow): Ignore xcb timestamp 2016-11-19 04:34:46 +01:00
Michael Carlberg
ab5666a7ea fix: Memory leak 2016-11-19 04:06:05 +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
0a1e9c86c4 fix: Add monitor y to strut top value 2016-11-18 18:04:43 +01:00
Michael Carlberg
2140e11369 fix: Do not require custom font list 2016-11-18 18:04:43 +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
Michael Carlberg
8758206ba3 fix: Strut end values should be inclusive 2016-11-16 12:00:52 +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
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
7b293a42cd fix(network): Check for nullptr values
Ref #159
2016-11-14 14:54:49 +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
39b4f50c65 fix: Terminate on X connection error 2016-11-14 10:37:13 +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
910baaecb2 fix(string_util): Use binary base for file sizes 2016-11-13 08:15:53 +01:00
Michael Carlberg
d2a6773c26 fix(fs): Remove unmounted format tags 2016-11-13 06:40:35 +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
ed5b7a508a fix(bspwm): Wrap the scroll handlers around workspaces 2016-11-13 01:13:41 +01:00