Commit Graph

413 Commits

Author SHA1 Message Date
Peter F. Patel-Schneider 1ace3ef4f4 ui: hide system tray icon when there are no devices to control 2022-01-22 09:57:28 -05:00
Peter F. Patel-Schneider df8e936769 ui: use greyscale solaar icon in tray when using symbolic icons 2022-01-22 09:50:14 -05:00
Peter F. Patel-Schneider 785675d469 ui: handle errors when writing to devices 2022-01-13 18:23:12 -05:00
Peter F. Patel-Schneider 2e94add3e3 ui: use classes for all config widgets 2022-01-13 18:23:12 -05:00
Peter F. Patel-Schneider 9e018fc5bf ui: use classes for several config widgets 2022-01-13 18:23:12 -05:00
Peter F. Patel-Schneider 8a87b9b013 rules: add Solaar rules command to set settings
testing
2022-01-13 18:23:12 -05:00
Peter F. Patel-Schneider 629afbd812 ui: use good battery icon down to 30% charge 2022-01-02 15:29:05 -05:00
Peter F. Patel-Schneider f7a0422956 ui: don't stretch toggles 2021-12-29 09:56:53 -05:00
Christian Tacke 49e9240be9
ui: Use GtkButton for the Lock Icon
Instead of GtkEventBox use GtkButton for the lock icons.

GtkEventBox does not have any visual feedback that it
actually can be pressed. As in: If you don't know that this
is an area for interaction it is not obvious.

Using Gtk.ReliefStyle.NONE on the GtkButton keeps the old
styling but still gives feedback when hovering over the
buttons.

Co-authored-by: Christian Tacke <8560110+ChristianTacke@users.noreply.github.com>
2021-12-28 12:27:03 -05:00
Peter F. Patel-Schneider aa8d2fcac4 ui: don't use new_from_icon_set for tray menu icons as it is deprecated 2021-12-26 10:32:59 -05:00
Christian Tacke d9dbf53868 Keep left Tree at Minimal Size
When resizing the window or switching entries in the left
tree, the width of the tree changes and takes more space
than required.

Switch it over to only take the minimal amount of space and
do not extend when resizing the window.
2021-12-25 12:19:29 -05:00
Peter F. Patel-Schneider 174d0388ca ui: display percentage estimates from battery voltage 2021-12-20 11:30:29 -05:00
Peter F. Patel-Schneider 07e55c188a ui: don't include separator after receiver in tray menu 2021-11-29 19:15:41 -05:00
Peter F. Patel-Schneider c515de9b09 ui: harmonize order of tray items and main window items 2021-11-29 19:15:41 -05:00
Peter F. Patel-Schneider adae5a2e2b ui: add option to specify use of explict tray icon files and their size 2021-11-29 17:54:31 -05:00
Peter F. Patel-Schneider 4c9d9e17d6 gui: fix bug when adding new receiver to tray menu 2021-11-22 11:32:25 -05:00
Peter F. Patel-Schneider 603fbe96e0 ui: add pairing for Bolt receivers 2021-11-11 10:48:12 -05:00
Peter F. Patel-Schneider 0df6acd67a ui: better code for adding devices to tray menu 2021-11-09 09:08:16 -05:00
Hugo Osvaldo Barrera 22bf4fafff Drop unnecessary __future__ imports
These are all active by default on all recent Python versions.
2021-10-30 16:49:41 -04:00
Hugo Osvaldo Barrera b96d16672b Drop obsolete encoding declaration
This was only parsed in Python 2.
Python 3 only supports UTF-8 for source files, and that's what it uses.
2021-10-30 16:49:41 -04:00
Jocelyn Thode 138fe4c756 ui: fix device not always castable as bool 2021-10-28 12:49:20 -04:00
Peter F. Patel-Schneider c763886248 ui: use file names for tray icon to not end up with small icons 2021-10-11 20:45:01 -04:00
Peter F. Patel-Schneider 116adf9959 ui: better computation of tray index when adding devices 2021-10-11 20:42:36 -04:00
Peter F. Patel-Schneider 453be19356 ui: make about and quit buttons more translatable 2021-10-01 12:35:33 -04:00
Peter F. Patel-Schneider a9adc06b7a ui: correctly determine setting box in change_click method 2021-09-24 10:17:59 -04:00
Peter F. Patel-Schneider 30f56a1c0f device: use 0xFF instead of 0 for direct-connected devices 2021-08-22 11:16:41 -04:00
Vinícius 4b97ebd649 po/i18n: update pt_BR translation 2021-08-20 18:44:04 -04:00
Peter F. Patel-Schneider 14c2ac6959 po: make common button names translatable and show translations 2021-08-06 18:30:52 -04:00
Peter F. Patel-Schneider a1874c572b i18n: mark more strings as translatable 2021-08-06 13:41:22 -04:00
Peter F. Patel-Schneider cdc7a27c9e rules: add rule condition for process under mouse 2021-07-22 10:46:31 -04:00
Karthik Nishanth 85a86ec3c5
diversion: implement pressed and released action on Key condition (#1189)
- Track `key_up` key in addition to `key_down`
- Support `pressed` or `released` action in `Key` condition
- Add radio button to KeyUI to represent `pressed` or `released`
2021-07-12 15:51:57 -04:00
ApeironTsuka 011f3f556b
rules: allow sequence of mouse moves as mouse gestures
* Add more robust mouse gesture support
- Remove existing mouse-* Test types
- Add new 'Mouse Gesture' Condition
- Implement Rule Editor UI for it
- Add support for diverted buttons
- Added diagonal mouse gesture directions

Allows you to chain multiple movements/buttons (for instance, moving the mouse up and then left) together into a single mappable gesture.

* Update docs

* Cleanup
Fix inconsistent indenting
Fix possible overwriting of built-in
Fix 'Mouse Gesture' Condition rule not starting with an initial Action field

* Make flake8 happy

* yapf

* Document no-op and make it more apparent

* Make changes to Mouse Gesture UI suggested/submitted by viniciusbm.

Co-authored-by: Apeiron <apeiron@none>
Co-authored-by: Peter F. Patel-Schneider <pfpschneider@gmail.com>
2021-07-04 08:52:38 -04:00
Peter F. Patel-Schneider 9495cc03c2 misc: update about window 2021-04-25 14:48:28 -04:00
Peter F. Patel-Schneider 9deb7d66aa misc: update about window 2021-04-25 09:14:59 -04:00
Peter F. Patel-Schneider 42624c7102 ui: write persisted value when changing from ignoring a setting 2021-04-17 10:32:24 -04:00
Peter F. Patel-Schneider b3a6dc5b2e ui: update map all settings that are not None 2021-04-17 10:32:24 -04:00
Peter F. Patel-Schneider a1dc69d203 ui: make ignore settings not sensitive at startup 2021-04-13 13:27:59 -04:00
Peter F. Patel-Schneider 33a4bf8bf5 ui: read current value of setting when switching away from ignore 2021-04-12 07:39:35 -04:00
Peter F. Patel-Schneider b34061c766 ui: add ability to ignore a Solaar setting 2021-04-12 07:39:35 -04:00
Peter F. Patel-Schneider 6099df1b42 ui: do not set attention icon - gets around bug in XFCE 16 2021-04-09 07:28:23 -04:00
Peter F. Patel-Schneider 55ed173c39 ui: replace deprecated GTK stock values 2021-04-09 07:28:23 -04:00
Peter F. Patel-Schneider 593d27770d ui: only use first element of theme path for appindicator extra path 2021-04-09 07:28:23 -04:00
Peter F. Patel-Schneider 0dbb93e6a5 ui: only prepend one icon path to theme search paths 2021-04-09 07:28:23 -04:00
Peter F. Patel-Schneider 68049efc41 ui: better handling of tray icons 2021-04-09 07:28:23 -04:00
Peter F. Patel-Schneider 1cb8f0c874 ui: correctly set icon theme value when regular battery icons are missiong 2021-04-07 19:59:25 -04:00
Peter F. Patel-Schneider 9842972d8b receiver: handle exception when device is not available while being added 2021-04-04 22:33:38 -04:00
Alexander Huck 2ea92db3ca remove trailing whitespace 2021-02-01 12:54:32 -05:00
Alexander Huck 205047e278 Update about.py 2021-02-01 12:54:32 -05:00
Alexander Huck c268ff7a45 Update about.py to bump copyright years
Update Copyright Timeframe
2021-02-01 12:54:32 -05:00
Peter F. Patel-Schneider 1c6f289d91 ui: add option to not use battery icons for tray icon 2021-01-04 09:53:46 -05:00
Marián Kyral b722eccf04 Fix typo 2020-12-30 12:22:09 -05:00
Peter F. Patel-Schneider 52049af8e1 receiver: add remote device type 2020-11-30 08:18:09 -05:00
Peter F. Patel-Schneider 419a7722ad rules: make rule processing conditional on X11 being available 2020-11-27 10:48:16 -05:00
Peter F. Patel-Schneider 244d48d245 rules: remove use of pynput 2020-11-27 10:12:21 -05:00
Peter F. Patel-Schneider 6b8e7a2d9c ui: only emit warning on path mismatch between device and recevier in main window 2020-11-21 12:32:33 -05:00
Peter F. Patel-Schneider 504d23fab7 ui: only emit warning when updating tray for inactive device 2020-11-21 12:32:33 -05:00
Vinícius 52109ade91 ui: ignore Ctrl+Delete shortcut if root is selected 2020-11-21 12:23:41 -05:00
Vinícius daafe5ebca ui: don't offer to delete/cut root element and don't offer to paste non-Rule at the top level 2020-11-21 12:23:41 -05:00
Vinícius 8be0e21ac7 ui: delete method that is no longer used 2020-11-21 12:23:41 -05:00
Vinícius 9c04bfad92 ui: fixed unnecessary dialogue when window is closed after discarding changes 2020-11-21 12:23:41 -05:00
Vinícius 4025b83dfd ui: add icons to rule editor buttons and implement Ctrl+S shortcut 2020-11-21 12:23:41 -05:00
Vinícius bc51117f59 ui: use readable names on the left column of rule editor 2020-11-21 12:23:41 -05:00
Vinícius a8819b06c8 ui: make KeyPress entry larger (relative to window size) 2020-11-21 12:23:41 -05:00
Vinícius 6f973cdc27 ui: fix bug that prevented copying from a built-in rule for the first time 2020-11-21 12:23:41 -05:00
Vinícius b548d05cad ui: change diversion editor window title and button label 2020-11-21 12:23:41 -05:00
Vinícius ef3d3e5290 ui: fix feature entry bug when feature is not on the list 2020-11-21 12:23:41 -05:00
Vinícius 487e1a3ded ui: show Feature completion matches for all features 2020-11-21 12:23:41 -05:00
Vinícius 4206d370f1 ui: add delete button for every Execute argument 2020-11-21 12:23:41 -05:00
Vinícius 29ccd55210 ui: improve validation of FeatureUI and KeyUI diversion rule components 2020-11-21 12:23:41 -05:00
Vinícius b399380445 ui: diversion rule editor - move save and discard buttons to the top 2020-11-21 12:23:41 -05:00
Vinícius 1d68ef858e ui: make rule editing buttons larger and add delete buttons for KeyPress. 2020-11-21 12:23:41 -05:00
Vinícius 717213c506 ui: move diversion button to the right 2020-11-21 12:23:41 -05:00
Vinícius 0b5c263799 receiver: fix and improve diversion load/save functions 2020-11-21 12:23:41 -05:00
Vinícius 1379da70a8 ui: add GUI for diversion rules (draft) 2020-11-21 12:23:41 -05:00
Vinícius 8141fafb4b ui: create attributes to access children in settings with multiple items 2020-11-02 09:28:12 -05:00
Peter F. Patel-Schneider 93b5a0008b ui: add lock icon to control whether setting can be changed 2020-10-25 14:13:58 -04:00
Antony Kellermann 98b4aff33d Fix warning 2020-10-25 14:02:25 -04:00
Peter F. Patel-Schneider 7a7aad8977 device: use FRIENDLY NAME for codename if needed and available 2020-10-07 05:30:34 -04:00
Peter F. Patel-Schneider 7908a4f5a4 ui: ensure that Gtk 3.0 is the version loaded 2020-10-01 17:45:49 -04:00
Peter F. Patel-Schneider 1e7050595e receiver: add model and node ID and use in configurations 2020-09-29 11:26:34 -04:00
Peter F. Patel-Schneider 2654b6bbe0 ui: add forced-refresh argument to window update 2020-09-28 12:59:04 -04:00
Wojciech Nawrocki 41fb08c059 notify: allow displaying progress 2020-09-28 12:59:04 -04:00
Peter F. Patel-Schneider 58823763ea ui: handle wired devices 2020-09-23 18:03:47 -04:00
Peter F. Patel-Schneider 377e44c624 ui: add separator before device settings 2020-09-21 07:44:55 -04:00
Peter F. Patel-Schneider 2153035c30 ui: add device path to information panel for non-receivers 2020-09-18 05:49:43 -04:00
Ali Sabzevari 9de4d392d4 Fix broken link to about website 2020-09-04 14:39:25 -04:00
Vinícius 7fdba7fe75 ui: disabled ListBoxRow background colour on hover 2020-09-01 18:38:00 -04:00
Vinícius 708edbc444 ui: make collapsible sections start collapsed 2020-09-01 18:38:00 -04:00
Vinícius d87bc594f4 ui: fixed vertical alignment of panel after collapsing widgets 2020-09-01 18:38:00 -04:00
Vinícius 7a65c40312 ui: removed GESTURE2 specs from the panel 2020-09-01 18:38:00 -04:00
Vinícius 6994e1e41c receiver/ui: added labels and tooltips to some settings 2020-09-01 18:38:00 -04:00
Vinícius 1e8956ff96 ui: fixed horizontal alignment and size of multiple toggle/range widgets 2020-09-01 18:38:00 -04:00
Vinícius c8fe87ee2d receiver: implementation of GESTURE 2 params; improved UI for multiple toggle 2020-09-01 18:38:00 -04:00
Vinícius aa067b2774 receiver: show GESTURE2 specs on the panel 2020-09-01 18:38:00 -04:00
Vinícius 4a5c0ea523 receiver: initial implementation of boolean GESTURE 2 settings 2020-09-01 18:38:00 -04:00
Peter F. Patel-Schneider f5c63ccc39 ui: better display of battery information in main window 2020-08-22 10:43:10 -04:00
Peter F. Patel-Schneider fd02b33971 ui: use ngettext for translatable strings with number dependencies 2020-08-02 11:56:56 -04:00
Peter F. Patel-Schneider 4ce2abca0a ui: turn off write-backs for values obtained from device 2020-07-16 15:06:08 -04:00
Peter F. Patel-Schneider bc6b1de472 gui: correctly show initial value for choice settings 2020-07-16 15:06:08 -04:00
Peter F. Patel-Schneider c9c472e391 receiver: add setting for MULTIPLATFORM and DUALPLATFORM feature 2020-07-12 17:38:00 -04:00
Filipe Laíns 27c90fa736 yapf: adjust style to not indent closing brackets
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2020-07-07 15:11:15 +01:00
Filipe Laíns 8e89aa0038 yapf: set max line lenght to 127
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2020-07-07 15:11:15 +01:00
Filipe Laíns 627185079f flake8: initial fix
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2020-07-07 15:11:15 +01:00
Filipe Laíns 33521558ed pre-commit: initial fix
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2020-07-07 15:11:15 +01:00
Filipe Laíns e6369e0c3c isort: intial import fix
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2020-07-07 15:11:15 +01:00
Filipe Laíns 72a8d311bc yapf: change code style to yapf
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2020-07-07 15:11:15 +01:00
Vinícius ef54a750dc receiver: implement KEYBOARD_DISABLE_KEYS feature
(the UI needs some improvement)
2020-06-20 13:30:32 -04:00
Peter F. Patel-Schneider 922414ae04 ui: add map choice control to ui 2020-06-16 15:21:10 -04:00
Peter F. Patel-Schneider 784661bbc0 ui: remove maximum window size 2020-06-07 13:33:42 +01:00
Peter F. Patel-Schneider 013f383bc8 ui: display battery voltage in ui if available 2020-06-06 12:59:26 -04:00
Peter F. Patel-Schneider cb84d3b797 ui: remove translation for several strings that should not be translated in window.py 2020-06-06 12:59:26 -04:00
Peter F. Patel-Schneider 79947dca6c receiver: gather and show battery next level where available 2020-06-06 12:59:26 -04:00
Peter F. Patel-Schneider 302720b0db ui: add --battery-icons=symbolic option to prefer symbolic icons 2020-05-17 16:29:14 +01:00
Peter F. Patel-Schneider 5411e43b77 ui: use Solaar icon instead of missing battery icons 2020-05-07 19:33:57 +01:00
Peter F. Patel-Schneider 88a0dfff6f ui: add environment variable to switch to symbolic battery icons in tray 2020-05-02 10:28:51 -04:00
Peter F. Patel-Schneider 5290980ac8 ui: only use standard battery icons 2020-05-02 10:28:51 -04:00
Peter F. Patel-Schneider d487a0d889 ui: remove assert that updated receiver is still in window 2020-05-02 14:07:42 +01:00
Roshan Shariff 65824a4c08 ui: add 'desktop-entry' hint to indicate notification source.
GNOME requires that notifications have a 'desktop-entry' hint to be
able to filter notifications by application. See
https://wiki.gnome.org/Initiatives/GnomeGoals/NotificationSource.

Fixes pwr-Solaar/Solaar#734
2020-05-01 13:56:22 -04:00
Peter F. Patel-Schneider b5e1f47c50 ui: add setuptools global install share directory to icon directories 2020-04-20 10:32:40 -04:00
Peter F. Patel-Schneider f6b0cc59ed ui: only use file path for tray icon if icon name is file in current directory 2020-04-20 15:21:19 +01:00
Peter F. Patel-Schneider 0324fd9a1e ui: more flexible way to determine icon from battery level 2020-04-18 14:27:42 +01:00
Thomas Uhle ca9f9b3447 ui: add support for Ayatana AppIndicator 2020-04-07 18:58:18 -04:00
Thomas Uhle 5f8dbdeb6d ui: fix tooltip description
The program's name is printed twice if AppIndicator is used and no receiver
is found because AppIndicator always adds the program's name as a title to
the tooltip.
2020-04-01 11:10:54 -04:00
Thomas Uhle 2bdb844557 ui: fix end of iterative calls to _blink()
Prepare _icon_before_attention for the next iteration by reinitializing it
at the end of the current iteration.
2020-04-01 11:10:54 -04:00
Thomas Uhle 422f336d70 ui: add missing parentheses to function call
Compare function's return value to AppIndicator3.IndicatorStatus.ATTENTION
instead of the function object reference.
2020-04-01 11:10:54 -04:00
Peter F. Patel-Schneider 3a85c4f64b UI: lookup attention icon filename directly to get around bug in libappindicator 2020-03-17 23:17:59 +00:00
Peter F. Patel-Schneider 072f932206 ui: handle devices and receivers with no firmware information 2020-03-16 20:55:18 +00:00
Peter F. Patel-Schneider 687a28d2c2 UI: lookup icon filenames directly to get around bug in libappindicator 2020-03-15 22:00:56 +00:00
Peter F. Patel-Schneider e23de2ee9f ui: add quit button to main window 2020-02-18 13:14:10 +00:00
Peter F. Patel-Schneider 8fb52a3f37 ui: don't show warning in pairing window for receivers with unlimited pairing 2020-02-18 12:19:45 +00:00
Peter F. Patel-Schneider 3edac85b90 ui: turn on window manager notifications again 2020-02-18 12:17:49 +00:00
Peter F. Patel-Schneider 64c76e51ef receiver,cli,ui: minor code cleanup 2020-02-17 11:53:39 +00:00
Peter F. Patel-Schneider 4afe8c893b ui: add option to show the main window or run solaar without tray 2020-02-17 08:35:47 +00:00
Peter F. Patel-Schneider 5afa094175 ui: Add message about remaining pairings to pairing window when receiver has limited pairings 2020-02-17 08:34:53 +00:00
Peter F. Patel-Schneider 22d37c4c1c ui: Better determination in GUI of when receiver may pair (still might be conservative) 2020-02-17 08:34:53 +00:00
Peter F. Patel-Schneider 546ccb7ac2 receiver: determine remaining pairings (if receiver has this) and display in solaar show and main window 2020-02-17 08:34:53 +00:00
Peter F. Patel-Schneider 1bc189e2fe ui: add --tray option to start without window visible 2020-01-22 22:22:14 +00:00
Peter F. Patel-Schneider 77e21a0b63 ui: fix crash when styles add padding by not setting 1-pixel columns; slightly better window layout; add style class to window 2020-01-21 03:11:35 +00:00
Peter F. Patel-Schneider d6fa5269c5 ui: don't ignore offline devices when determining whether pairing is possible 2020-01-21 03:08:49 +00:00
Peter F. Patel-Schneider 4678f52293 don't have window always be on top 2019-12-24 18:54:12 +00:00
Tom Swartz ae9e862f19 Fix typos in comments 2019-10-20 23:53:45 +01:00
Alex Cherkayev 6981555804 notifications: fix battery status notification parsing
Fix indicator tooltip (duplicate Solaar line, python list instead of battery status).
2019-08-20 09:40:39 +02:00
Zachary Cook a06ea6de11 data: fix icon theme for battery level
It was previously assigning levels 1-89 to caution and 90+ to full, which was unintended due to the floor division by 100
2019-08-20 09:35:31 +02:00
Daehyeok Mun 7a4f7bbb84 docs: fix broken github.io link to new repo url
Signed-off-by: Daehyeok Mun <daehyeok@gmail.com>
2019-07-26 15:38:16 +02:00
Patrick Decat 6c0acee645 Fix UnicodeDecodeError with ngettext and python2 2019-06-29 18:01:54 +02:00
Markus Heiser 932164458a icons: add application icons from repo's $git-toplevel/share/solaar/
Add application path from the repository to the search paths.

When you Install a project in editable mode (i.e. setuptools "develop mode")
from a local project path, the application path is ``./share``, relative to
git's top level folder. Add this path at the end of search path::

  echo "$(git rev-parse --show-toplevel)/share"
2019-01-30 12:38:54 +01:00
Peter Wu f0fc63e5b7
Merge pull request #295 from cschreib/master
Added support for MintX icon set (for Linux Mint integration)
2018-08-13 11:33:10 +02:00
Ben Wolsieffer 2c0ea34694 Fix device tree GUI hierarchy. 2018-08-11 16:24:15 -04:00
Peter Wu 867edf8516
Merge pull request #146 from tristianc/master
Added border around tree view.
2018-08-11 17:55:37 +02:00
Jason Tibbitts d021d87656 Python 3.7 compatibility fixes
This fixes the python 3.7 incompatibilities arising from 'async'
becoming a reserved word.

The file lib/solaar/async.py is renamed to asks.py.  I picked the name
because it defines the TaskRunner class and it's the best I could come
up in fifteen seconds.

The async function in solar/ui/__init__.py is renamed to ui_async, and
the various imports of that function are changed to match.

Without this patch it doesn't build at all.  I am running with this
patch applied and everything appears to work as expected.

Signed-off-by: Jason Tibbitts <tibbs@math.uh.edu>
2018-08-07 12:51:32 -04:00