Commit graph

2259 commits

Author SHA1 Message Date
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
tobi-wan-kenobi
7c210eeac7
Merge pull request #558 from somospocos/pasink-bug
[modules/pulseaudio] fix bug #557
2020-02-20 20:45:58 +01:00
tobi-wan-kenobi
c4df758240
Merge pull request #559 from somospocos/cpu2-themecolors
Cpu2 themecolors
2020-02-20 20:45:43 +01:00
tobi-wan-kenobi
414418a922
Merge pull request #560 from ljupchokotev/patch-1
Remove print statement when aligning text
2020-02-20 20:45:24 +01:00
Ljupcho Kotev
ef1c56480e
Remove print statement when aligning text
Fixes #550. The print statement results in a "Could not parse JSON" error.
2020-02-20 14:24:06 +01:00
me
bf03ad7184 [modules/cpu2] use theme palette colors for core load bars
As discussed in #556.

- added palette red, orange, yellow, green to nord-powerline

- when used with nord-powerline (or any other theme that has these
  palette colors) and cpu2.colored=1, the cpu2 module will use these
  custom colors to display core load graphs; when colors are missing
  from a theme - it will use default colors
2020-02-20 01:24:15 +02:00
me
d0418446e1 [theme/nord-powerline] add palette colors 2020-02-20 01:10:28 +02:00
me
04e31897d4 [modules/pulseaudio] fix bug #557
most likely a copy/paste blunder. sorry
2020-02-20 00:57:07 +02:00
Tobias Witek
0751b7c084 [core/theme] Add inline named color support
Add named colors that can be specified directly in the "colors" array
within a theme.

fixes #556
2020-02-19 21:39:44 +01:00
Tobias Witek
5134ce3b5b [core/output] Add option to align scrolling
Use -p <module>.theme.align=<left|center|right> to align scrolling
output.

fixes #550
2020-02-17 20:58:42 +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
2cc6fcc5dc [doc] Add bumblebee-ctl
fixes #547
2020-02-16 13:40:51 +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
57e1b1eb81 [modules/battery-upower] Fix capacity default value
If the capacity isn't set, get() returns None, which is not comparable.

Use -1 instead, which makes the capacity unknown.

fixes #555
2020-02-15 11:39:00 +01:00
Tobias Witek
6da755ab84 [core] Fix error widget
The parameters for the error widget were wrong (dict vs. Config)
2020-02-15 11:38:36 +01:00
Tobias Witek
6f6ac97726 [bumblebee-ctl] replace name with module
see #547
2020-02-14 21:56:35 +01:00
Tobias Witek
95ac72d305 [core] Add bumblebee-ctl to trigger remote commands
see #547
2020-02-14 21:54:06 +01:00
Tobias Witek
65137f294e [engine] Small bugfix if no IDs are configured
see #547
2020-02-14 21:52:23 +01:00
Tobias Witek
ef35c957b2 [input] Add per-PID UNIX socket for additional commands
Allow passing in commands / events via a unix socket. This should allow
for "emulating" input events.

see #547
2020-02-14 21:39:55 +01:00
Tobias Witek
8ae8fbb989 [engine] Add override for widget IDs
Add a generic "<module>.id" parameter that allows a user to override the
auto-generated IDs for a widget - the parameter is a list of IDs that
will replace each widget's ID in turn.

see #547
2020-02-14 21:39:37 +01:00
Tobias Witek
bff7788514 [doc] Add missing executables to README.md
fixes #551
2020-02-14 20:54:08 +01:00
Tobias Witek
6784aaa0d5 [doc] Add user-contrib link
fixes #554
2020-02-14 20:48:09 +01:00
Tobias Witek
59663e9d1c [doc] Update Module.md (escaping)
fixes #546
2020-02-12 21:17:29 +01:00
tobi-wan-kenobi
b9cdb0e12a
Merge pull request #549 from somospocos/iconmarkup
Iconmarkup
2020-02-12 21:10:08 +01:00
me
89c6afb493 implement --iconmarkup argument
WARNING: highly experimental
This allows fine tuning of icons via raw Pango markup. Is backwards
compatible with icon foreground/background support in themes (if those
settings are present in the theme but are missing from the icon markup
template - they are merged in).
2020-02-12 19:43:01 +02:00
me
f44d48e7bd [core/output] micro-optimization refactoring
If markup isn't pango, skip the add_prefix_colors() call entirely
2020-02-12 18:11:22 +02:00
me
d1238f9dca [core/output] make prefix bg/fg variables instance variables
There are plans to use them in more than one method
2020-02-12 18:08:03 +02:00
me
f988be041f [core/output] rename variables to more suggestive names
Getting ready for next small refactoring.
2020-02-12 18:04:45 +02: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