Tobias Witek
5ccf60a16b
[modules] Re-added module memory
2020-03-06 14:46:33 +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
d2e8057141
[modules] Add CPU module
...
Also, change minwidth from theme.minwidth to widget property
2020-03-06 14:33:40 +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
28b891ef37
[doc] Extend module migration documentation
2020-03-05 21:13:48 +01:00
Tobias Witek
0a0e39b516
[modules] Re-add load module
2020-03-05 21:13:15 +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
7420434358
[doc] Started module migration guide
2020-03-01 14:32:30 +01:00
Tobias Witek
b839a9eb44
[modules/pulseaudio] Raise if not able to handle error
2020-03-01 14:09:45 +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
162398c6b6
[core/output] Make error widgets critical
2020-02-24 15:07:34 +01:00
Tobias Witek
0cc744ed15
[core/output] Cache widget output for selective redraw
...
To make redraw work correctly and elegantly with supplementary elements
(e.g. prefix, postfix, separators), always do a full redraw of the bar
(to make the theme update correctly, but cache the actual *data* to
display inside the output.
2020-02-24 15:05:58 +01:00
Tobias Witek
1a093a73b1
[core] Add prefix/postfix support
2020-02-24 14:54:11 +01:00
Tobias Witek
37e1deaa6f
[tests] Add (partial) decorator tests
2020-02-24 14:20:54 +01:00
Tobias Witek
0a266b607e
[core/output] Unify common i3 attributes
2020-02-24 14:06:57 +01:00
Tobias Witek
84833dc7db
[core] Add (partial) support for states
...
Add states to the modules and widgets. Widgets are mostly just a
pass-through (backwards compatibility, and ease of use - making states
directly inside the widgets would require more code inside the modules
to ensure that each widget is correctly updated).
Still missing:
- Separators during partial update (right now, it takes one interval
until separators are drawn correctly)
2020-02-23 21:13:49 +01:00
Tobias Witek
fd57af9325
[tests] Make tests pass again
2020-02-23 14:55:13 +01:00
Tobias Witek
5e673482d3
[core] Nicify error widget
2020-02-23 14:52:58 +01:00
Tobias Witek
65186baea6
[core] Make error widget scrollable
...
Restrict error module to 15 characters and make it scrollable.
2020-02-23 14:47:47 +01:00
Tobias Witek
a69e058dd1
[core] Add decorators library
...
For now, simply add a decorator that allows for scrolling of text
2020-02-23 14:47:20 +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
66bdfacf6f
[modules/pulseaudio] Show bar charts
...
Re-enable optional display of barcharts
2020-02-23 13:59:47 +01:00
Tobias Witek
b2064142d0
[util] Add graph library
...
Add a library for drawing horizontal and vertical bar graphs (thanks to
@somospocos for contributing!)
2020-02-23 13:59:22 +01:00
Tobias Witek
3496fa622a
[modules] Add preliminary version of pulseaudio module
...
Add pasink/pasource and __pulseaudio (internal module, not intended for
direct use).
2020-02-23 13:45:42 +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
a9c1c3581a
[core/theme] Iconset needs to be auto by default
2020-02-22 14:11:10 +01:00
Tobias Witek
30d34b12e0
[core/theme] Fix loading of custom iconset
2020-02-22 14:08:28 +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
ef75e593f7
[core/config] Add stub for autohide
...
Add stub for autohide so that my status bar doesn't terminate with an
error (easier testing)
2020-02-22 13:44:44 +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
d3fc648c08
[core/theme] Dynamically create theme accessors
...
Dynamically generate the accessors for a theme's attributes.
NB: This might be even nicer coming from a JSON rather than inside the
code.
2020-02-16 21:15:14 +01:00
Tobias Witek
6143c5e5a1
[doc] NOTES: Add more notes
...
Otherwise, I'll forget about them
2020-02-16 14:55:26 +01:00
Tobias Witek
808c46f551
[core/theme] Add separator-block-width
2020-02-16 14:54:20 +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
a4904d998f
[core] Use core.event to decouple main and output
...
Make output act on events, not on concrete calls.
2020-02-16 14:30:45 +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
f05098a120
[main] Add error widget for 'all' errors
...
One exception: Wrong arguments aren't handled, because argparse doesn't
throw in this circumstance.
2020-02-16 13:50:15 +01:00
Tobias Witek
0bae9e33bb
[themes] restore all themes
2020-02-16 13:43:45 +01:00
Tobias Witek
dc8da374fb
[themes] Re-add gruvbox-powerline-light
2020-02-15 14:06:45 +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
99cca7002c
[core/module] Fix error display
2020-02-15 14:04:53 +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
b157aa9fb5
[core/output] Minor refactoring - widget assembly
2020-02-09 13:30:40 +01:00