Michael Carlberg
dacf36b981
refactor(ipc): Cleanup
2017-01-14 00:27:29 +01:00
Michael Carlberg
15f880eba4
fix(mpd): Handle broken connections
2017-01-13 13:02:51 +01:00
Michael Carlberg
f56bb419d2
fix: Format whitespace handling
...
Refs #325
2017-01-13 10:54:41 +01:00
Michael Carlberg
385572ec64
feat(xrandr): Support for monitors
...
Refs #280
2017-01-13 03:52:57 +01:00
Michael Carlberg
40493497de
fix: Allow size_t narrowing
2017-01-13 01:14:50 +01:00
Michael Carlberg
07c0fbdcb3
fix(timer_module): Sleep at beginning since already warmed up
2017-01-12 23:33:36 +01:00
Michael Carlberg
92cc4d6f40
fix(modules): Warmup module on start
2017-01-12 20:29:08 +01:00
Michael Carlberg
c2ac7fde67
refactor: Filesize strings
2017-01-12 20:28:44 +01:00
Michael Carlberg
f72ddf9294
refactor(signals): Use full namespace
2017-01-12 16:34:14 +01:00
Michael Carlberg
5c9bfc147c
fix(xbacklight): Lower inc/dec value to 5 and fix flooring
2017-01-11 04:40:10 +01:00
Michael Carlberg
8cc885c316
refactor: Cleanup
2017-01-11 03:07:28 +01:00
Michael Carlberg
30f516dd7d
fix(formatting): Make formats parse specs as-is
...
This removes the spacing tinkering when parsing format specs.
The following example uses the old behavoir:
format-test = <label-foo> <label-bar>
format-breaks = <label-foo><label-bar>/<bar-test>
`format-test` would replace all occurences of ' ' with the
a space string with defined `spacing` as its width. `format-breaks` would
not validate as the tags where split with ' ' as delimiter.
All that nonsense has been removed and each tag is extracted as is.
The `spacing` parameter can still be used to apply N extra whitespaces
between the tags, but it is now 0 by default.
2017-01-11 02:43:37 +01:00
Michael Carlberg
f4e8051e9e
refactor(script): Merge back script handling
2017-01-10 05:12:53 +01:00
Michael Carlberg
946843ff59
feat(script): Configurable condition using exec-if
...
Add new config parameter `exec-if = cmd` that needs to
exit successfully before the main exec command will be invoked.
Closes #298
2017-01-10 03:02:00 +01:00
Michael Carlberg
7a26254844
feat(ipc): Initial exec of configured hook
...
Adds a new config parameter `initial = N` that will
make the hook at defined index N execute on start.
2017-01-09 23:06:41 +01:00
Michael Carlberg
5f6a1f5ae6
fix(xkeyboard): Use separate throttle timers
2017-01-09 16:40:26 +01:00
Michael Carlberg
e0688307f3
wip(systray): Add module base
2017-01-01 21:28:28 +01:00
Michael Carlberg
0c39061c98
feat(bspwm): Add option to inline mode indicators
2017-01-01 16:39:25 +01:00
Michael Carlberg
ccddf052ec
refactor(script): Split non-/tail logic
...
Split the script module into one tailing output module and
one exec once module.
Refs #281
2017-01-01 09:05:18 +01:00
Michael Carlberg
acb9ed910d
fix(script): Unlock mutex before terminating command
...
Refs #281
2016-12-31 14:08:45 +01:00
Michael Carlberg
ad0af86a7b
refactor(battery): Abstract value readers
...
Refs #263 , #245
2016-12-31 04:20:48 +01:00
Michael Carlberg
14958bdd23
fix: Correct type for module interval
2016-12-31 03:04:01 +01:00
Michael Carlberg
53f781f527
feat(fs): Add option to remove invalid/unmounted endpoints
2016-12-30 22:44:28 +01:00
Berk Ozbalci
2fdbb6af41
feat(bspwm): Add support for pseudo tiled nodes
2016-12-30 20:49:38 +01:00
Michael Carlberg
db7aa7c490
fix(format): Ignore empty contents
2016-12-27 04:03:46 +01:00
Michael Carlberg
baaba4adf9
refactor(ipc): Rename signals
2016-12-26 10:36:14 +01:00
Michael Carlberg
bb0d6f580d
fix(xkeyboard): Wrap click handler around contents
2016-12-23 22:39:59 +01:00
Michael Carlberg
789800a68f
refactor(signals): Simple types
2016-12-23 22:19:42 +01:00
Michael Carlberg
b422d1d1a4
refactor(modules): Input handling
2016-12-23 20:43:52 +01:00
Michael Carlberg
97fa7052fe
refactor(clang-tidy): Apply fixes
2016-12-23 15:54:06 +01:00
Michael Carlberg
ba757809d0
refactor(modules): Defer cache rebuild
2016-12-23 05:19:45 +01:00
Michael Carlberg
debb3534c7
concurrency_ytil: Thread id
2016-12-23 05:18:58 +01:00
Michael Carlberg
8cff01e3d8
refactor(event_handler): Abstract sink attaching
2016-12-23 05:08:19 +01:00
Michael Carlberg
9479b5abe2
refactor(xwindow): Cleanup
2016-12-23 01:03:38 +01:00
Michael Carlberg
e47e439954
refactor(modules): Replace callbacks with signals
...
Refs #265
2016-12-22 22:11:30 +01:00
Michael Carlberg
bc9b9f0d12
refactor: Cleanup
2016-12-21 23:22:02 +01:00
Michael Carlberg
185363056a
refactor(x11): Cleanup
2016-12-21 15:04:16 +01:00
Michael Carlberg
788a7ca3a3
refactor(modules): Get rid of .inl files
2016-12-21 09:21:35 +01:00
Michael Carlberg
7979f5b3d4
refactor(modules): Handle events using signal_receiver
2016-12-21 08:38:44 +01:00
Michael Carlberg
c01f111e34
refactor(modules): Move setup to constructor
2016-12-21 08:00:09 +01:00
Michael Carlberg
de04fa3eac
feat(github): Option to hide notification count if empty
2016-12-20 05:53:45 +01:00
Michael Carlberg
a89c4ef2dd
refactor: Move all event handling to the controller
2016-12-20 05:16:04 +01:00
Michael Carlberg
b417c9f812
feat(github): New module
...
Module used to query the GitHub API for information.
Currently only supports notification count.
Ref #84
2016-12-19 22:12:31 +01:00
Michael Carlberg
519172b6ec
feat(xkeyboard): Switch layout group on click
...
When serveral layout groups are defined for the keyboard
they can be cycled when clicking on the module.
For example:
$ setxkbmap -layout us,sv,fr
Ref #84
2016-12-16 11:31:08 +01:00
Michael Carlberg
f50f43af02
refactor: Cleanup
2016-12-16 10:23:54 +01:00
Michael Carlberg
09ea07b750
refactor(battery): Use charge_{now,full} to calculate percentage
2016-12-16 09:58:54 +01:00
Michael Carlberg
a0d485f79d
refactor: Initialize data
2016-12-15 09:30:31 +01:00
Michael Carlberg
4870204b4f
feat(bspwm,i3): Configurable scroll direction
2016-12-14 17:18:20 +01:00
Michael Carlberg
b156d1bbf4
refactor(bspwm): Cleanup
2016-12-14 11:01:44 +01:00
Michael Carlberg
80a00bd596
refactor(config): Cleanup and minor tweaks
2016-12-14 11:01:44 +01:00
Michael Carlberg
5e2a0bd298
refactor(alsa): Forward alsa structs and split classes
2016-12-14 11:01:44 +01:00
Michael Carlberg
4fca0c89b4
refactor: Object construction
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
3a6ca90fcb
refactor(i3): Remove wsname-maxlen
2016-12-14 04:45:34 +01:00
Michael Carlberg
f4529dde99
feat(i3): Conditional wrap around on scroll
...
Ref #242
2016-12-14 00:46:54 +01:00
Michael Carlberg
891ff6d80a
fix(xkeyboard): Use current group number
...
Ref #230
2016-12-08 18:35:07 +01:00
Michael Carlberg
ebe1998b19
fix(bspwm): Change event strings
2016-12-05 14:02:16 +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
7d1092db04
refactor(date): Add label and date/time tokens
...
Ref #225
2016-12-05 04:52:00 +01:00
NBonaparte
ffbedf4217
feat: Add support for prefix and suffix to formats
2016-12-04 02:33:38 +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
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
4776ec49df
fix: Use defined event sink priority
2016-12-03 13:00:40 +01:00
Michael Carlberg
9f8dabfc8d
refactor(xwindow): Cleanup
2016-12-01 08:35:59 +01:00
Michael Carlberg
24a2febd59
fix(build): GCC name error
2016-11-30 21:17:30 +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
9cadb681d4
feat(i3): Add mode label
2016-11-30 18:23:11 +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
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
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
ff9be848c7
refactor(clang-tidy): Apply fixes
2016-11-25 21:58:49 +01:00
Michael Carlberg
8db3e79919
refactor(clang-format): Apply fixes
2016-11-25 14:17:41 +01:00
Michael Carlberg
9fdc22843b
refactor: Cleanup rendering
2016-11-25 04:42:27 +01:00
NBonaparte
199a825494
feat(mpd): Add stop toggle ( #191 )
2016-11-25 04:33:58 +01:00
Michael Carlberg
5028779528
fix(network): Change default value of udspeed_minwidth
2016-11-22 20:53:14 +01: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
c6d85b2b92
refactor: Optimize build
2016-11-20 23:04:31 +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
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
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
Edgard Castro
1ea39e562a
feat(bspwm): Additional dimmed states configuration
2016-11-15 04:33:10 -02:00
Michael Carlberg
2301de667b
fix(temperature): Calculate percentage value
2016-11-14 17:56:29 +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
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
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
42bcfd9fa1
feat(bspwm): Configurable scroll/click actions
2016-11-12 13:37:07 +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
NBonaparte
dce81d4266
feat(volume): Added volume mapping
2016-11-05 14:32:09 -07: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
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
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
f83dbf19b1
fix(battery): Poll thread requires running module
...
Closes jaagr/lemonbuddy#140
2016-11-02 18:38:13 +01:00
Michael Carlberg
36d4ee0e67
refactor(battery): Cleanup
2016-10-30 18:47:01 +01:00
Michael Carlberg
d8c309ec35
fix(date): Do not override get_output
2016-10-30 06:18:33 +01: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
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
1e30e4254a
fix(script): Make sure idle is called every iteration
2016-10-28 14:56:11 +02:00
Michael Carlberg
660d06768b
fix(script): Set 2s default interval for timed scripts
2016-10-26 12:20:55 +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
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
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
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
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
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
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
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
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
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
8750894bb3
fix(i3): Ignore ipc read error on shutdown
2016-10-15 14:44:35 +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
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