tobi-wan-kenobi
9cd9ff626d
[core] make widget name an attribute
...
first, this fixes #607
also, i think it slightly simplifies code to make "simple" stuff like
names, etc. attributes instead of methods all the time.
so, expect this to be extended to other components, as well.
2020-04-30 12:42:34 +02:00
tobi-wan-kenobi
1f94eab927
[core] Add themes to module constructor
2020-04-26 16:39:13 +02:00
tobi-wan-kenobi
fae06da446
[modules/battery] Rewrite for bigger reuse
2020-04-19 14:07:15 +02:00
tobi-wan-kenobi
74c25ba2ee
[util] Add central geolocation info library
2020-04-15 13:25:51 +02:00
tobi-wan-kenobi
580bb20a9f
[tests/theme] Fix WAL mocked tests
...
Until now, the WAL tests depended on the pyWAL cache file being actually
present on the system.
2020-04-13 13:47:50 +02:00
tobi-wan-kenobi
dc5bfd1fc6
[tests/output] Improve pango tests
2020-04-13 13:43:07 +02:00
tobi-wan-kenobi
9e32cdef5d
[core] Rename events for more clarity
2020-04-12 20:11:02 +02:00
tobi-wan-kenobi
4cd6444bbf
[core/theme] Improve items that are lists
...
Until now, using a list as prefix/suffix didn't work as expected,
because the corresponding method for retrieving the value was called
multiple times, and each time, the next icon would be retrieved.
Changed the logic inside the theme to only update the indices every time
that an actual update was happening.
2020-04-12 14:01:51 +02:00
tobi-wan-kenobi
32e5d633f4
[core/output] Add tests for pango formatting
2020-04-07 20:59:26 +02:00
tobi-wan-kenobi
c0cc1ccd75
[core] Remove "intelligent" theme accessors
...
To simplify code, remove the auto-generated theme accessors for
attributes, and instead use a generic "get" method.
2020-04-07 20:44:01 +02:00
tobi-wan-kenobi
37cca1c3b9
[core/output] Fully switch to i3 block abstraction
...
According to the unit tests, at least, the old functionality is back
again - with the additional i3 block abstraction in output in place.
Also, pango support is temporarily removed again and will be
re-implemented based on the new architecture.
2020-04-05 13:58:59 +02:00
tobi-wan-kenobi
a43917594e
[tests/event] Add some more tests for trigger-time args
2020-04-04 08:44:41 +02:00
tobi-wan-kenobi
52e5ad7b43
[core/input] Handle exceptions for non-existent commands
2020-04-04 08:17:35 +02:00
tobi-wan-kenobi
77443b7802
[tests/theme] Add more theme tests
2020-04-04 08:03:03 +02:00
tobi-wan-kenobi
a71828f0b4
[modules/weather] Small improvements
2020-04-04 07:47:53 +02:00
tobi-wan-kenobi
d0200b656d
[core/config] Allow string formatted intervals
...
Allow users to specify intervals such as '5m', for convenience
2020-04-02 16:55:36 +02:00
tobi-wan-kenobi
0f6dfb3f1a
[core/input] do not throw on wrong event type
...
until now, if a module had registered callbacks, events for nonexistent
buttons caused the trigger mechanism to raise an exception.
2020-04-02 16:21:07 +02:00
tobi-wan-kenobi
885cc09636
[core/output] Add some more tests
2020-03-31 20:57:09 +02:00
tobi-wan-kenobi
95410e4adf
[core/input] __ for private variables, use id as property
2020-03-29 14:43:04 +02:00
tobi-wan-kenobi
11ebcee29a
[tests] Fix kernel module test
2020-03-29 14:35:20 +02:00
tobi-wan-kenobi
2a93a001b2
[theme] Add unit tests for WAL loading
2020-03-28 14:51:48 +01:00
tobi-wan-kenobi
5ade8e47f0
[core/theme] Add some unit tests
2020-03-28 14:03:50 +01:00
tobi-wan-kenobi
908ef67109
[core/widget] bump test coverage
2020-03-27 13:54:22 +01:00
Tobias Witek
9755a70578
[tests] Make tests pass again (configurable update interval)
2020-03-23 15:40:53 +01:00
Tobias Witek
8efa101380
[util/format] Tests and minor renaming
2020-03-07 13:33:28 +01:00
Tobias Witek
7c866f1476
[tests] Add tests for byte formats
2020-03-06 15:00:03 +01:00
Tobias Witek
48c21a902e
[tests/module] Skip failing tests in Python 3.{4,5}
2020-03-06 14:45:09 +01:00
Tobias Witek
51faef9fd4
[modules/kernel] Make widget dynamic (update if kernel changes)
2020-03-06 14:31:08 +01:00
Tobias Witek
efc2e4f94e
[modules] Separate modules into core & contrib
...
Also, improve errors when importing a module fails.
Also, add more tests.
2020-03-06 14:14:34 +01:00
Tobias Witek
47950240d0
[tests/core/module] Add tests for widget retrieval by name
2020-03-05 21:17:06 +01:00
Tobias Witek
d19eb72296
[tests/module] Test generation of error widget
...
When a module/widget throws, an error widget should be produced.
2020-03-04 21:06:09 +01:00
Tobias Witek
533b8ca0cc
[modules] Re-add module nic
2020-03-01 14:36:12 +01:00
Tobias Witek
a1aec8fff6
[core/module] Add error widgets if a module throws
...
Module should have to care less about thrown exceptions.
2020-03-01 14:08:16 +01:00
Tobias Witek
cb3482ae27
[core/decorators] Simplify and test scrolling
2020-02-29 14:05:02 +01:00
Tobias Witek
b99ac07ef0
[core/decorators] Add more tests
2020-02-27 21:39:04 +01:00
Tobias Witek
37e1deaa6f
[tests] Add (partial) decorator tests
2020-02-24 14:20:54 +01:00
Tobias Witek
fd57af9325
[tests] Make tests pass again
2020-02-23 14:55:13 +01:00
Tobias Witek
a2446a36af
[core/theme] Better separator handling
...
Add a generic method to the theme to get the "previous" value of an
attribute.
2020-02-23 14:31:30 +01:00
Tobias Witek
30c539f1f2
[util/cli] Add option to ignore return codes
...
Add an option that ignores the return code of an execute, instead of
throwing an error (which sometimes causes ugly try/except blocks in
client code)
2020-02-23 13:44:49 +01:00
Tobias Witek
7a1cd4b613
[util] Add 'formatting' utility methods
...
Add helpers to unify formatting of bool/list/int values.
2020-02-23 13:43:44 +01:00
Tobias Witek
3bb857f250
[core/theme] Add iconset support
...
Allow themes to specify iconsets. To do so, add a new util library
"util.algorithm", which currently contains support for deep merging of
dicts.
2020-02-22 14:07:24 +01:00
Tobias Witek
38410adcb8
[core/theme|output] Add separators
...
Add a way for themes to specify custom separators. Doing that, make
nicer interfaces for drawing "supplementary" components (separators)
for widgets and generalize the attribute retrieval within the theme.
2020-02-22 13:42:44 +01:00
Tobias Witek
6e5e297d93
[core/theme] Add true cycling support
...
Using the freshly introduced eventing system, enable cycling of widget
attributes.
2020-02-16 14:39:10 +01:00
Tobias Witek
c1df1686c1
[core/event] Initial commit of simplistic event engine
2020-02-16 14:27:17 +01:00
Tobias Witek
26ae63b5ad
[core/theme] Add preliminary cycling support
...
Add support for cycling values in a theme, for now as long as the cycle
size is 0 :P
2020-02-16 14:02:21 +01:00
Tobias Witek
affeba5b8f
[core/theme] Add simple theme stub
...
Add support for default fg/bg colors
2020-02-15 14:05:27 +01:00
Tobias Witek
5d971267db
[core/theme] Add preparatory work for themes
...
Add two new parameters: theme and iconset
Add a placeholder class core.theme.Theme, an instance of which is passed
in to the i3 output object (which is the only object that should ever
have need of the theme, hopefully).
2020-02-09 13:46:56 +01:00
Tobias Witek
4e2a645bd3
[core/input] Separate module/widget update and retrieval
...
To make it easier to update individual modules, separate the call to
update() and the call to actually drawing the status.
Additionally, this avoids the "side effect" of updating when drawing the
status line.
2020-02-09 13:25:34 +01:00
Tobias Witek
cc0139e517
[tests/input] Add test for non-callable callback
2020-02-08 14:09:14 +01:00
Tobias Witek
fca364554e
[core/output] Add id of widget and module to output
...
In the process of that, fix a bug in how the parent class constructors
were invoked.
2020-02-08 13:45:52 +01:00