Commit graph

908 commits

Author SHA1 Message Date
Daniel Eklöf
2d5d1d5a46 module/alsa: disable debug logging 2019-01-02 18:08:32 +01:00
Daniel Eklöf
0d8704737e module/alsa: monitors volume and muted state of selected card/mixer 2019-01-02 18:07:16 +01:00
Daniel Eklöf
cba97a0e65 yml: remove commented out (old) code 2019-01-02 12:32:19 +01:00
Daniel Eklöf
2977af835c yml: add TODO to handle duplicate keys when merging dictionaries 2019-01-02 12:14:23 +01:00
Daniel Eklöf
91fa8a0217 yml: cleanup 2019-01-02 12:09:42 +01:00
Daniel Eklöf
305058deab yml: detect (and report to user) duplicate keys in dictionaries 2019-01-02 12:08:41 +01:00
Daniel Eklöf
de34d734a0 license: MIT 2019-01-02 11:24:28 +01:00
Daniel Eklöf
e159b596d9 bar: ignore XCB_MAPPING_NOTIFY events 2019-01-01 23:32:59 +01:00
Daniel Eklöf
b13305526a yml: apparently, libyaml's line number in the error context is 0 based
Which makes zero sense when reporting the error to the user.
2019-01-01 23:27:54 +01:00
Daniel Eklöf
4d46a14a67 main: print a descriptive error message when yaml parsing fails 2019-01-01 23:26:10 +01:00
Daniel Eklöf
5abd825137 yml: yml_load(): optionally allocates an error string (on error) 2019-01-01 23:25:36 +01:00
Daniel Eklöf
3dc7d0e39d yml: yml_destroy(): return immediately if node is NULL
This can happen for example when destroying a partially created
dictionary entry, where only the key node has been created.
2019-01-01 23:24:27 +01:00
Daniel Eklöf
a9110cc936 config: allow simple lists without actually declaring a list node
That is, instead of writing:

  content:
    list:
      items:
        - string: ..
        - string: ..

It is now possible to write:

  content:
    - string: ...
    - string: ...

Obviously, this means it's not possible to assign spacing, margin or
on-click handlers to such a list.
2019-01-01 20:50:49 +01:00
Daniel Eklöf
ed4716a600 module/removables: remove debug logging 2019-01-01 20:37:04 +01:00
Daniel Eklöf
94dbe3b892 bar: ignore events we're not interrested in 2019-01-01 20:35:36 +01:00
Daniel Eklöf
7dd35f1159 module/xkb: remove assert: variable has been removed 2019-01-01 20:34:39 +01:00
Daniel Eklöf
9351d3b6d9 yml: yml_value_as_bool(): return false if value didn't match any known values 2019-01-01 20:32:12 +01:00
Daniel Eklöf
28b0f150cd xcb: replace asserts with error checks 2019-01-01 20:32:03 +01:00
Daniel Eklöf
aa477eaa32 module/xkb: remove unused variable 2019-01-01 20:31:54 +01:00
Daniel Eklöf
c01806d6fa module/xkb: declare and initialize 'symbols' before first goto err
This ensures we don't free() an invalid value.
2019-01-01 20:31:00 +01:00
Daniel Eklöf
a8a9ab28bd module/removables: log warning if action is something we didn't expect 2019-01-01 20:30:27 +01:00
Daniel Eklöf
410b7635d7 log: ensure variables are always initialized. Fixes gcc warning 2019-01-01 20:30:15 +01:00
Daniel Eklöf
e711a6f103 config: deco_from_config() return NULL if we didn't match a deco 2019-01-01 20:29:55 +01:00
Daniel Eklöf
ba1c52d291 bar: remove unused variable 2019-01-01 20:29:48 +01:00
Daniel Eklöf
bdd760a40b module/removables: cleanup 2019-01-01 20:18:48 +01:00
Daniel Eklöf
14f9aec088 module/removables: monitors removable devices using udev 2019-01-01 20:07:50 +01:00
Daniel Eklöf
0ab8dad7b9 module/network: initialize MAC address to 0
This fixes a valgrind "uninitialized value(s)" warning.
2019-01-01 13:10:44 +01:00
Daniel Eklöf
a96f901a15 module/network: disable debug logging 2019-01-01 13:10:35 +01:00
Daniel Eklöf
ea2cc50194 module/network: process_reply() -> parse_reply() 2018-12-31 13:44:49 +01:00
Daniel Eklöf
b2af90abbc module/network: IFA_ADDRESS: include add/del in log message 2018-12-31 13:42:32 +01:00
Daniel Eklöf
24842d9b28 module/network: RTM_NEWLINK/DELLINK: don't do anything if nothing's changed
We're only interrested in a few of the attributes. Thus, there's no
need to log or update anything, if none of those attributes haven't
changed.
2018-12-31 13:40:43 +01:00
Daniel Eklöf
dcf8051f1a module/network: break out message parsing code
This also allows us to actually handle errors (by aborting run())
2018-12-31 13:36:44 +01:00
Daniel Eklöf
8352d89491 module/network: break out message receiving code 2018-12-31 13:27:37 +01:00
Daniel Eklöf
b3f3f91dc2 module/network: drop libnl dependency, use raw netlink sockets instead 2018-12-31 13:19:01 +01:00
Daniel Eklöf
0ea4e5a2d8 log: LOG_ERRNO_P(), like LOG_ERRNO(), except user provides errno value 2018-12-31 13:18:22 +01:00
Daniel Eklöf
4c4f0ce7a0 module: network: monitor ethernet interfaces
State exposed (tag names):

* name: the interface name ("eth0" etc)
* index: the interface index, "ifindex"
* state: operational state (down, up etc)
* mac: the Ethernet hardware address
* ipv4: the *last* IPv4 address added to the interface
* ipv6: the *last* IPv6 address added to the interface

State we monitor (for changes):

* state
* ipv4 addresses
* ipv6 addresses
2018-12-30 20:40:10 +01:00
Daniel Eklöf
c795718ad7 config: i3: handle the 'spacing' attribute 2018-12-30 20:39:45 +01:00
Daniel Eklöf
500aebe9ef module/mpd: free connection object when failing to connect 2018-12-30 14:04:40 +01:00
Daniel Eklöf
07d6564e79 module/mpd: raise connection retry interval from 1s -> 10s 2018-12-30 12:40:58 +01:00
Daniel Eklöf
b7e7ad522f remove module subfolders 2018-12-29 22:18:08 +01:00
Daniel Eklöf
52f13dec3d dynlist: move to particles folder 2018-12-29 22:13:00 +01:00
Daniel Eklöf
86425fbe48 config: all particles now take a 'on_click_template' argument 2018-12-29 21:23:27 +01:00
Daniel Eklöf
3eebdbb5b0 particle/ramp: fix on_mouse() regression
Now that we have a wrapper exposable, we need to implement
on_mouse(). In it, we need to check if we have our own on-click
handler, or else, check if mouse is inside the sub-exposable, or in
the left- or right margin.
2018-12-29 21:18:07 +01:00
Daniel Eklöf
e4fab9a20b particle/map: fix on_mouse() regression
Now that we have a wrapper exposable, we need to implement
on_mouse(). In it, we need to check if we have our own on-click
handler, or else, check if mouse is inside the sub-exposable, or in
the left- or right margin.
2018-12-29 21:17:08 +01:00
Daniel Eklöf
22507ae26c particle: add utility function to render a particle's decoration 2018-12-29 21:00:03 +01:00
Daniel Eklöf
6f5572ff6b particle/map: implement left/right margin
This is done by wrapping the selected particle/exposable in a
ramp-specific exposable. This way, we can add the margins before
delegating begin_expose() and expose() to the selected exposable.
2018-12-29 20:54:41 +01:00
Daniel Eklöf
a3322b0a8a particle/ramp: implement left/right margin
This is done by wrapping the selected particle/exposable in a
ramp-specific exposable. This way, we can add the margins before
delegating begin_expose() and expose() to the selected exposable.
2018-12-29 20:50:23 +01:00
Daniel Eklöf
5fc29f7bbe particles: name private structs and variables consistently 2018-12-29 20:40:25 +01:00
Daniel Eklöf
3135f1d36d particle: all particles now take margin arguments
Ramp and map however, doesn't allow any values other than 0 (yet).
2018-12-29 20:33:38 +01:00
Daniel Eklöf
bd251cbf9f module/mpd: only auto-progress 'elapsed' when state is PLAYING 2018-12-29 18:33:00 +01:00