Commit graph

2703 commits

Author SHA1 Message Date
Tobias Witek
4d34fa9261 [core/input] Use util.cli to execute commands
If the registered callback is not callable (i.e. no Python method),
assume it's a command that should be invoked via a shell.
2020-02-08 13:40:51 +01:00
Tobias Witek
9d4936b596 [util/cli] Add new CLI utilities
For now, this just allows executing commands
2020-02-08 13:39:35 +01:00
Tobias Witek
d2240b4ed9 [README] Add nord-powerline 2020-02-08 12:56:15 +01:00
tobi-wan-kenobi
f952eb33bc Merge pull request #544 from uselessthird/nord-powerline-theme
Add nord-powerline theme
2020-02-08 12:53:18 +01:00
John Young
56a482001e Add nord-powerline theme 2020-02-08 11:23:53 +00:00
Tobias Witek
f9267f2131 [core/widget] fix small bug (wrong indentation) 2020-02-07 21:32:20 +01:00
Tobias Witek
e0df8b84e5 [core] Add input handling
Add a (half-finished) input library, that for now simply allows
registration and triggering of events.

As next steps, the trigger will happen as part of a separate thread that
reads input events.

Additionally, invoking commands via a execute() will be supported.

Thirdly, there is need of a way to selectively update the affected
modules (widgets), which should be possible given that the event
contains both the instance (widget ID) and name (module name).
2020-02-07 21:28:29 +01:00
tobi-wan-kenobi
6cce69ff93
Merge pull request #540 from ginsburgnm/use_resources
using pkg_resources
2020-02-07 21:08:23 +01:00
Tobias Witek
1ddcbc454b [modules/pulseaudio] Only start daemon if not running
Before starting the pulseaudio daemon, ensure that it is not running by
using pulseaudio --check.

fixes #542
2020-02-07 21:05:15 +01:00
nginsburg
a19484289e reversing symlinks 2020-02-07 13:33:22 -05:00
nginsburg
dcc42036e8 using pkg_resources 2020-02-04 19:06:26 -05:00
Tobias Witek
a70c82dc4c [modules] Add date, time, datetime
Add modules to show date, time and date and time. Instead of introducing
a "fancy" aliasing mechanism, simply implement time and date in terms of
datetime, by inheriting and overwriting selectively.
2020-02-04 21:10:05 +01:00
Tobias Witek
6adc497f68 [core] Add support for module parameters
Parse '-p' parameters and make them accessible via 'parameter()' from
within a module (basically, restore the previous configuration
facility).

Still TODO: Add support for configuration files.
2020-02-04 21:09:11 +01:00
Tobias Witek
3a531c359f [core/module] Add config to module
Add access for all modules to the commandline parameters (called
"config" in bumblebee-status)
2020-02-03 21:30:06 +01:00
Tobias Witek
74e74bb78b [core/output] Make bar actually work (flush output)
Seems adding a \n isn't sufficient for flushing, instead explicitly
flush stdout to produce a result reliably in the i3bar.
2020-02-02 21:21:24 +01:00
Tobias Witek
eb38e1ce96 [travis] Exclude codeclimate
doesn't run on development branches anyhow, and for some reason produces
errors on python 3.8
2020-02-02 14:42:32 +01:00
Tobias Witek
1801e83322 [tests] Do not show stdout/stderr by default 2020-02-02 14:41:45 +01:00
Tobias Witek
854d7dc470 [modules] Add first "real" module: kernel
Since 'kernel' is small and shows static information, have this be the
very first module added.
2020-02-02 14:41:22 +01:00
Tobias Witek
445c5a65f1 [core/output] Move widget/module handling inside output
The core.output module now manages the list of modules and retrieves the
widgets inside draw() itself. That way, details of drawing/updating
widgets are not visible from the outside anymore.
2020-02-02 14:18:13 +01:00
Tobias Witek
96c7b762b2 [travis] switch to coverage instead of nosetest 2020-02-02 14:06:44 +01:00
Tobias Witek
69eb1ada0d [tests] Move from nosetests to unittest
Since coverage doc says nosetests hasn't been maintained for a while,
switch to unittest.
2020-02-02 13:27:03 +01:00
Tobias Witek
66537fbe05 [core/output] Rewrite to hide sys.stout
Add generic "draw()" method that redirects internally to the actual
calls. These can now produce JSON, which is nicer because:

1. Easier to use during testing
2. More flexible
3. Centralizes printing (somewhat)

Still, the "suffix" concept isn't really nice, but so far, I have no
better approach.
2020-02-01 21:37:38 +01:00
Tobias Witek
3431129536 [doc] Add note where binary for PIP install is found 2020-02-01 14:33:19 +01:00
Tobias Witek
e32f2abfad [setup.cfg] Hopefully fix syntax error 2020-02-01 14:27:45 +01:00
Tobias Witek
cb1b0d7708 [setup] Remove download URL
Wrong format, and I cannot figure out how to get the correct format
(including tgz)
2020-02-01 14:11:32 +01:00
Tobias Witek
3f38f0c3ab [pip] Add themes & icons and make lookup work
Really ugly hack (extending the lookup logic in theme.py) to make pip
themes work, but for now, I am unable to come up with anything better.
2020-02-01 14:04:34 +01:00
tobi-wan-kenobi
7ebf32fcc9
Merge pull request #539 from ginsburgnm/setup_config_bin
python packaging and allowing for pip install usage
2020-02-01 13:27:27 +01:00
nginsburg
7a935790e8 python packaging and allowing for pip install usage 2020-01-31 18:19:50 -05:00
me
ed256a960d extract add_prefix_colors() method 2020-01-31 12:31:38 +02:00
me
64c675150e extract escape_amp() method 2020-01-31 12:27:39 +02:00
me
beff99888b extract add_suffix() method 2020-01-31 12:11:51 +02:00
me
4855b1aa0a extract add_prefix() method 2020-01-31 12:09:45 +02:00
me
2166a26967 make full_text an instance variable
it will be used in more than one method
2020-01-31 12:04:44 +02:00
me
1f0f1c1722 make markup an instance variable
it will be used in more than one method
2020-01-31 12:00:15 +02:00
me
ea1c0b7043 query config for markup before processing prefix/suffix 2020-01-31 11:56:07 +02:00
me
333a1f9907 only query config for markup value once 2020-01-31 11:53:25 +02:00
me
a3cfe0abbe create variable just before using it 2020-01-31 11:47:21 +02:00
me
4a7a26456d make prefix/suffix instance variables
they will be used in more than one method
2020-01-31 11:44:07 +02:00
me
9d8c1f910e when there's nothing to return, do it ASAP 2020-01-31 11:37:42 +02:00
me
289a40ff72 add JSON separator block at the beginning of draw() 2020-01-31 11:34:17 +02:00
me
8a16d3cb3a extract method 2020-01-31 11:30:48 +02:00
me
e2bc263520 [fix] always return a list, even empty 2020-01-31 11:19:59 +02:00
me
f5f09bdb1b [core/output] extract I3BarOutput.draw() into a class 2020-01-31 11:16:26 +02:00
me
11f16bd1aa [doc] improve docstring 2020-01-31 10:57:30 +02:00
Tobias Witek
db23da1019 [pypi] Bump version (again...) 2020-01-30 21:31:19 +01:00
Tobias Witek
69ec06f3d6 [pypi] Bump version 2020-01-30 21:30:44 +01:00
Tobias Witek
8adb1c4d38 [doc] Remove obsolete RST doc 2020-01-30 21:29:41 +01:00
Tobias Witek
6c64ec81df [doc] Add installation instructions 2020-01-30 21:28:48 +01:00
Tobias Witek
da3df1769e [modules/pacman] Fix update path for AUR installs
If bumblebee-status is installed from an AUR package, using the relative
binary path might not work, so fall back to the binary installed in
/usr/share.

fixes #536
2020-01-30 21:11:28 +01:00
Tobias Witek
65a9f66b9e [tests] Make tests run when env is passed to subprocess
fixes #538
2020-01-30 21:04:43 +01:00