Commit graph

2555 commits

Author SHA1 Message Date
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
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
tobi-wan-kenobi
75cf28a1ea
Merge pull request #545 from somospocos/refactor-draw
Refactor draw
2020-02-09 13:08:31 +01:00
Tobias Witek
5810a12944 [core/output] Start implementation of a partial update
Add a "patch()" method that eventually will only update affected
modules.
2020-02-08 14:22:43 +01:00
Tobias Witek
cc0139e517 [tests/input] Add test for non-callable callback 2020-02-08 14:09:14 +01:00