Commit graph

384 commits

Author SHA1 Message Date
LtPeriwinkle
6a8d830281 util.format.aslist() for layout 2020-06-25 10:20:02 -07:00
LtPeriwinkle
4b54d1981c fix grammar 2020-06-24 13:53:02 -07:00
LtPeriwinkle
7215a11ffe black -t py34 2020-06-24 12:22:03 -07:00
LtPeriwinkle
e1a9782458 modify comments 2020-06-24 12:18:28 -07:00
LtPeriwinkle
0c32d13e6f fix playback status 2020-06-24 12:15:32 -07:00
LtPeriwinkle
2eee4c390c put text on buttons 2020-06-24 12:14:26 -07:00
Tobias Witek
92ab1a3e00 [util/cli] make sure language is set to "C"
to make parsing of CLI output reliable (i.e. always in english), set
LC_ALL accordingly.

see #662
2020-06-24 07:47:31 +02:00
Tobias Witek
441e7d5041 [core] fix minimize for all modules (nic, traffic, etc.)
make it possible to toggle the display state of a widget between
"displayed" and "minimized" also for modules that re-create their
widgets during each iteration.

see #661
2020-06-23 20:03:17 +02:00
Tobias Witek
34dadadf90 [core] re-enable minimize of widgets
by default, allow toggling the minimized state of a widget via the
middle mouse and draw a single unicode char instead of the actual
widget, maintaining all states.

fixes #661
2020-06-23 15:51:14 +02:00
tobias.hannaske
3558176044 Do not execute iwgetid if the interface is recognized as tunnel 2020-06-22 10:33:49 +02:00
LtPeriwinkle
ca62f68906 create + map widgets for buttons 2020-06-21 12:31:11 -07:00
LtPeriwinkle
f67ef9d64a add spotify-buttons 2020-06-21 10:28:37 -07:00
es80
e17ef8614f
fix a regression for shell subprocess 2020-06-21 17:56:52 +01:00
Tobias Witek
b2e92d816d [tests] add pytest for core.output
see #642
2020-06-20 14:51:49 +02:00
Tobias Witek
542d235c1a [modules/traffic] ignore all errors during update
to investigate whether the assumption that a stray exception causes
issues is correct, temporarily catch all errors.

see #655
2020-06-20 13:52:55 +02:00
tobi-wan-kenobi
1ebbfbae14 [doc] add dev documentation on widget states
fixes #651
2020-06-09 20:45:54 +02:00
tobi-wan-kenobi
16269ff01e [core/input] add variables to custom cli calls
when specifying event bindings via CLI (e.g. disk.left-click=thunar),
allow for variables ({instance} and {name}, in particular).

fixes #650
2020-06-09 20:29:51 +02:00
tobi-wan-kenobi
a394469c0f
Merge pull request #646 from smitajit/master
[module] playerctl to displays information about the current song in …
2020-06-06 16:01:05 +02:00
tobi-wan-kenobi
ba82f5a50f [core/theme] Fix loading of iconsets
* First, make iconsets override anything already present in the "base"
configuration
* Second, make sure that CLI provided iconsets have higher priority than
"built-in" ones

see #648
2020-06-06 15:59:19 +02:00
smitajit
2dff5e2de7 migrated playerctl script to new bumblebee_status APIs 2020-06-06 14:39:50 +02:00
tobi-wan-kenobi
034e8eefb9 [core/theme] make iconsets take precedence over "main" theme
see #648
2020-06-05 20:10:50 +02:00
tobi-wan-kenobi
cb9a60668a [core/theme] Fix detection of "best matching theme"
Previous code accepted the "first" hit in a theme - particularly, if a
module is called "A" and a *different* module "B" uses "A" as state, a
widget of module B with state A would be themed as *module* A, wrongly.

Essentially, made sure that the last (most specific) themeing "wins".

fixes #647
2020-06-04 20:56:31 +02:00
Smitajit Biswal
4912fcc57b [module] playerctl to displays information about the current song in vlc, audacious, bmp, xmms2, spotify and others 2020-06-03 21:50:36 +02:00
tobi-wan-kenobi
23d7222576 [core/theme] take alias into consideration when themeing
see #643
2020-06-03 07:59:09 +02:00
tobi-wan-kenobi
20866ca7c0 [modules/arch-update] perform update in background 2020-06-03 07:51:44 +02:00
tobi-wan-kenobi
cb30b7175d [tests] update test_config for pytests
see #642
2020-06-02 20:34:49 +02:00
tobi-wan-kenobi
800d603c1f
Merge pull request #644 from ammgws/patch-1
contrib/apt: amend typo
2020-06-02 20:15:32 +02:00
tobi-wan-kenobi
5e40dfb28a [all] small fixed picked up by pytest
- unicode stuff
- make all regexps regex strings
2020-06-02 20:13:39 +02:00
Jason
cd0d97791e
contrib/apt: amend typo 2020-06-02 23:20:20 +09:00
tobi-wan-kenobi
9cadcee844 [core/events] simplify args/kwargs detection 2020-06-01 11:35:26 +02:00
tobi-wan-kenobi
d38a21983c [modules/ping] Use framework background update functionality
see #640
2020-05-30 17:25:47 +02:00
tobi-wan-kenobi
547874dafd [core/module] allow modules to perform updates in background
a module can now set `self.background = True` in its `__init__()` method
to make sure its update method is invoked in a separate thread.

also, do a PoC implementation of this for the github module.

TODO: add this to dev doc

see #640
2020-05-30 17:22:02 +02:00
tobi-wan-kenobi
55121c86d4 [util/popup] add generic "close" on root menu
add a "close" entry for the root menu of all popup menus (if they are
not automatically destroyed when leaving the menu).

fixes #633
2020-05-30 15:19:31 +02:00
tobi-wan-kenobi
1c04068f89 [util/popup] replace mainloop with custom loop
add a custom event loop for popups that closes the menu on mouse button
release events and - most importantly - propagates this event back to
any parent menu.

fixes #633
2020-05-30 10:02:12 +02:00
tobi-wan-kenobi
7f7f464193 Merge remote-tracking branch 'origin/development' 2020-05-29 11:11:56 +02:00
Cristian Miranda
c2d869278a [modules/github] - New module supporting unread notifications count by reason with backward compatibility 2020-05-28 17:45:57 -03:00
tobi-wan-kenobi
4f2b283a55 [modules/vault] Emit leave events for submenus
this seems to at least partially fix #633
2020-05-28 21:06:22 +02:00
tobi-wan-kenobi
ebd98663c6 [modules/vault] fix copy of wrong password
- fix bad errors (missing "show" in pass command)
- pass in whole environment (otherwise clipboard doesn't work)
- generate lambda to avoid late binding

fixes #593
2020-05-28 21:05:58 +02:00
Cristian Miranda
f7e37ef7d7 [modules/github] - Removed legacy module 2020-05-28 15:59:39 -03:00
tobi-wan-kenobi
8cdc84871f [modules] move amixer2 to amixer 2020-05-28 08:23:47 +02:00
tobi-wan-kenobi
006a1d05a9
Merge pull request #635 from ardadem/pr-amixer2
[modules] New amixer module with input support
2020-05-28 08:20:28 +02:00
tobi-wan-kenobi
caf2fea04b [modules/battery] gracefully handle "no batteries" case
if no batteries are found, assume the machine is running on AC.

fixes #636
2020-05-28 08:17:35 +02:00
Arda Demir
3df0b7047f [modules] New amixer module with input support 2020-05-26 18:23:58 +03:00
Tobias Witek
f23566f5d0 [modules/arch-update] fix log error 2020-05-26 08:15:15 +02:00
Tobias Witek
f1ce5e162a [theme] load custom iconset first
the "merge" algorithm only fills in missing elements - i.e. the most
important pieces of a data structure must be filled in first. since the
iconset specified on the CLI takes precedence over anything present in
the config, load the CLI-provided iconset *first*.

hopefully fixes #634
2020-05-26 07:56:04 +02:00
tobi-wan-kenobi
3d14931cb7 [docs] add new module 2020-05-23 16:55:24 +02:00
tobi-wan-kenobi
20f9ac3ae0 [modules/arandr] add contribution 2020-05-23 16:53:10 +02:00
tobi-wan-kenobi
d393da47ed Merge remote-tracking branch 'origin/development' 2020-05-23 16:52:34 +02:00
Zero Rust
f944d7c489 Merge branch 'development' into arandr 2020-05-23 08:03:34 -04:00
Zero Rust
8c8fef61eb linting 2020-05-23 07:58:50 -04:00
Zero Rust
3921bab32e added display toggling to the arandr module 2020-05-23 07:53:28 -04:00
Zero Rust
90fbc249af cleaner way to activate a layout 2020-05-23 07:28:00 -04:00
Zero Rust
ffd04e9710 full menu and command for arandr scripts 2020-05-23 07:13:47 -04:00
Zero Rust
de00f9bdce getting display and layout state for populating menu 2020-05-22 23:53:38 -04:00
Zero Rust
1b34993fa9 adding separator addition to popup 2020-05-22 23:53:21 -04:00
Zero Rust
f5c9272291 first go at popup functionality for arandr 2020-05-22 22:44:38 -04:00
tobi-wan-kenobi
5dec4fd371 [docs] add psutil dependency to cpu module 2020-05-21 13:10:53 +02:00
tobi-wan-kenobi
922575fcda [core/widget] make arbitrary modules scrollable
Use a boolean parameter "scrolling" that's applied generically to
modules to allow arbitrary modules to scroll.

see #606

TODO: Add to documentation
2020-05-18 13:13:06 +02:00
tobi-wan-kenobi
e359c75603 [core/widget] remove module from widget initializer 2020-05-18 12:59:47 +02:00
Zero Rust
2fcd277cf9 Merge branch 'development' into arandr 2020-05-18 06:58:07 -04:00
tobi-wan-kenobi
fbbd95b7a8 [modules/network_traffic] Minor refactoring 2020-05-18 12:56:41 +02:00
tobi-wan-kenobi
172781d2c4
Merge pull request #631 from zerorust/fix_network_traffic
Fix network_traffic mobule on development
2020-05-17 14:15:00 +02:00
Zero Rust
f5d296df80 adding first version of arandr module to contrib 2020-05-17 08:03:03 -04:00
Zero Rust
6d89cef600 cleaning up to match style 2020-05-17 07:16:33 -04:00
tobi-wan-kenobi
1355a7e5d3 [core/decorators] add docstrings 2020-05-16 15:28:15 +02:00
tobi-wan-kenobi
a697500491 [core] add debugging around click events
log commandline outputs and errors. allow input handlers to be
configured as "waiting" for debugging purposes.

see #628
2020-05-16 15:16:23 +02:00
Zero Rust
f2d6f2f319 moving the module setter to after module init 2020-05-16 07:24:14 -04:00
tobi-wan-kenobi
02a80840a1 [core] more black'ing 2020-05-16 12:00:55 +02:00
tobi-wan-kenobi
eea3c758de [core/input] Invoke commands in a subshell
add shell capability to util.cli and make sure that the input module
uses that to reliably spawn whatever command the user wants to run.

see #628
2020-05-16 11:43:43 +02:00
Pavle Portic
a8df4a5f9d
Handle n+1 characters in the scrolling decorator 2020-05-15 20:31:37 +02:00
tobi-wan-kenobi
3bb2fb8247 [core/module] add missing registration of input events via CLI
see #628
2020-05-15 19:59:13 +02:00
tobi-wan-kenobi
bfe5d8f493 [module/battery] exception typo
see #628
2020-05-15 19:48:10 +02:00
tobi-wan-kenobi
835ed070e5 [core/module] Add docstrings 2020-05-15 10:22:10 +02:00
tobi-wan-kenobi
1b53e7ecf2 [util/popup] add docstrings 2020-05-15 10:07:07 +02:00
tobi-wan-kenobi
bc382e67d3 [general] black code some more 2020-05-14 20:36:01 +02:00
tobi-wan-kenobi
526560ea54 [core/decorators] use difflib to make scrolling reset detection fuzzy
when scrolling text that is subject to *slight* changes (e.g. a song
that contains the current position within the song), allow for slight
variations in the displayed text.

fixes #629
2020-05-14 20:35:09 +02:00
tobi-wan-kenobi
3fdd2d2be6 [modules/arch-update] Gracefully handle exit code 2
fixes #624
2020-05-11 15:10:20 +02:00
tobi-wan-kenobi
b4f8870a95 [doc] update API docs 2020-05-10 13:25:13 +02:00
tobi-wan-kenobi
8ca036bc4c [util/graph] Add API documentation 2020-05-10 13:15:47 +02:00
tobi-wan-kenobi
106bb9e8c3 [util/graph] Remove docstrings in prep for more complete documentation 2020-05-10 13:07:08 +02:00
tobi-wan-kenobi
b803f385a1 [tests] Fix failing tests 2020-05-10 12:56:30 +02:00
tobi-wan-kenobi
c560c07890 [packaging/pip] Make binary utility tools functional 2020-05-10 12:52:20 +02:00
tobi-wan-kenobi
92577e7d26 [all] black code :) 2020-05-09 21:24:28 +02:00
tobi-wan-kenobi
320827d577 [core] restructure to allow PIP packaging
OK - so I have to admit I *hate* the fact that PIP seems to require a
subdirectory named like the library.

But since the PIP package is something really nifty to have (thanks to
@tony again!!!), I updated the codebase to hopefully conform with what
PIP expects. Testruns so far look promising...
2020-05-09 21:22:00 +02:00