Comments (18)
Yes, I am using the latest version. When I get off work I'll update qtile with the latest changes
from qtile-extras.
Interesting.
I don't use Wayland so hadn't seen this but I suspect it's due to the changes that were made recently to how we handle certain window types.
I suspect any fix would be at the qtile level, rather than in this repo.
from qtile-extras.
Hmm. Having tested it. Context menu works for me Tested with both vlc and remmina.
from qtile-extras.
Okay. I tried with Steam and OBS, later when I get home from work I'll try with your 2 applications. Maybe it stopped working with apps that use Xwayland
from qtile-extras.
vlc and remmina doesn't even show the icons in my StatusNotifier config, neither Wayland nor X11.
Now in obs it does show the context menu, but in steam it doesn't and when I click on the icon it shows me this message
2022-03-04 23:18:42,162 ERROR libqtile loop.py:_handle_exception():L63 division by zero
Traceback (most recent call last):
File "/usr/lib/python3.9/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/usr/local/lib/python3.9/dist-packages/qtile_extras-0.1.0-py3.9.egg/qtile_extras/widget/statusnotifier.py", line 231, in parse_menu
callback(menu)
File "/usr/local/lib/python3.9/dist-packages/qtile_extras-0.1.0-py3.9.egg/qtile_extras/widget/statusnotifier.py", line 373, in display_menu
self.menu = PopupMenu.from_dbus_menu(self.qtile, menu_items, **self.menu_config)
File "/usr/local/lib/python3.9/dist-packages/qtile_extras-0.1.0-py3.9.egg/qtile_extras/popup/menu.py", line 188, in from_dbus_menu
return cls.generate(qtile, menuitems, **config)
File "/usr/local/lib/python3.9/dist-packages/qtile_extras-0.1.0-py3.9.egg/qtile_extras/popup/menu.py", line 212, in generate
return cls(qtile, controls=menuitems, **menu_config)
File "/usr/local/lib/python3.9/dist-packages/qtile_extras-0.1.0-py3.9.egg/qtile_extras/popup/menu.py", line 146, in __init__
PopupGridLayout.__init__(self, qtile, controls=controls, **config)
File "/usr/local/lib/python3.9/dist-packages/qtile_extras-0.1.0-py3.9.egg/qtile_extras/popup/toolkit.py", line 398, in __init__
self._width = self.rows * round((self.width - 2 * self.margin) / self.rows)
ZeroDivisionError: division by zero
from qtile-extras.
And this is a general log, from my Qtile
2022-03-04 23:06:23,113 ERROR libqtile loop.py:_handle_exception():L63 invalid object path: org.kde.StatusNotifierItem-2880-2
Trace (most recent recent calls):
File "/usr/lib/python3.9/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/usr/local/lib/python3.9/dist-packages/libqtile/widget/statusnotifier.py", line 480, in item_added
success = future.result()
File "/usr/local/lib/python3.9/dist-packages/libqtile/widget/statusnotifier.py", line 97, at start
introspect = expect self.bus.introspect(self.service, self.path)
File "/usr/local/lib/python3.9/dist-packages/dbus_next/aio/message_bus.py", line 214, in introspection
super().introspect(bus_name, route, answer_handler)
File "/usr/local/lib/python3.9/dist-packages/dbus_next/message_bus.py", line 204, in introspection
Message(destination=bus_name,
File "/usr/local/lib/python3.9/dist-packages/dbus_next/message.py", line 92, in __init__
assert_object_path_valid(auto.path)
File "/usr/local/lib/python3.9/dist-packages/dbus_next/validators.py", line 153, in assert_object_path_valid
raise InvalidObjectPathError(path)
dbus_next.errors.InvalidObjectPathError: invalid object path: org.kde.StatusNotifierItem-2880-2
2022-03-04 23:07:37,909 WARNING libqtile lifecycle.py:_atexit():L37 Qtile will now terminate
2022-03-04 23:07:48,850 WARNING libqtile prompt.py:_configure():L429 Prompt widget only supports audible chime on X11
2022-03-04 23:07:48,850 WARNING libqtile tasklist.py:_configure():L294 Tasklist icons are not supported in Wayland.
2022-03-04 23:09:47,211 WARNING libqtile prompt.py:_configure():L429 Prompt widget only supports audible chime on X11
2022-03-04 23:09:47,211 WARNING libqtile tasklist.py:_configure():L294 Tasklist icons are not supported in Wayland.
2022-03-04 23:12:42,298 WARNING libqtile prompt.py:_configure():L429 Prompt widget only supports audible chime on X11
2022-03-04 23:12:42,299 WARNING libqtile tasklist.py:_configure():L294 Tasklist icons are not supported in Wayland.
from qtile-extras.
Thanks for posting more info.
I tried installing obs and steam and the menus work on both of them for me.
Your first error is interesting as it suggests that there are no menu items. I don't think the code currently handles that possibility so I can try adding something there. However, as above, the menus work for me so I'm not sure this is the problem.
from qtile-extras.
I've pushed a change that will stop the widget trying to create a menu when there are no menu items. You could see if that makes any difference here.
from qtile-extras.
I've pushed a change that will stop the widget trying to create a menu when there are no menu items. You could see if that makes any difference here.
Update the repository and do not notice any changes. Also as you say, maybe it's more because of the qtile code, since I'm always updating it and it worked before.
Also do not worry about this issue, but it would be nice if they could incorporate part of the code of your StatusNotifier widget to the official Qtile since yours has context menus, in order to improve it
from qtile-extras.
It will never be merged into the main repo as there's too much extra code required.
If the menus worked before, can you try doing a git bisect
? Again, I'm dubious if that would work because I can't replicate this
from qtile-extras.
I update all pip packages and steam context menu and obs started working. But I have to restart qtile with mod+ctrl+r for it to work. I guess it's some problem with the qtile bar, because sometimes when I move the mouse up in some widget the pointer disappears. Also for the mouse pointer to appear I have to have a window open, but that is already a problem of qtile with wayland. So I'm going to close this issue. Thank you very much
from qtile-extras.
I install nm-tray (QT app) and give me this error in the log file
Traceback (most recent call last): File "/usr/lib/python3.9/asyncio/events.py", line 80, in _run self._context.run(self._callback, *self._args) File "/usr/local/lib/python3.9/dist-packages/libqtile/widget/statusnotifier.py", line 480, in item_added success = future.result() File "/usr/local/lib/python3.9/dist-packages/libqtile/widget/statusnotifier.py", line 97, in start introspection = await self.bus.introspect(self.service, self.path) File "/usr/local/lib/python3.9/dist-packages/dbus_next/aio/message_bus.py", line 214, in introspect super().introspect(bus_name, path, reply_handler) File "/usr/local/lib/python3.9/dist-packages/dbus_next/message_bus.py", line 204, in introspect Message(destination=bus_name, File "/usr/local/lib/python3.9/dist-packages/dbus_next/message.py", line 92, in __init__ assert_object_path_valid(self.path) File "/usr/local/lib/python3.9/dist-packages/dbus_next/validators.py", line 153, in assert_object_path_valid raise InvalidObjectPathError(path) dbus_next.errors.InvalidObjectPathError: invalid object path: org.kde.StatusNotifierItem-1771-1
An this in the app (i launched by kitty)
QSystemTrayIcon::setVisible: No Icon set QDBusTrayIcon encountered a D-Bus error: QDBusError("org.freedesktop.DBus.Error.NoReply", "Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.")
If I use any GTK widget it doesn't give me any error but the widget doesn't appear either
I re-open the issue. If you want, feel free to close it. Thank you
from qtile-extras.
Just to check: are you running latest qtile-extras
now?
The second error message is hopefully fixed by qtile/qtile#3434
I've installed nm-tray
from the AUR but can't get it to run. Get an error No Icon Set
. This happens because they don't provide any fallback icons. There's an unmerged PR that fixes this so I may have to build it manually unless you know how to fix that (the fix in palinek/nm-tray#40 didn't work for me).
from qtile-extras.
OK. Built from git with their PR to add fallback icons.
Menus work for me on both.
from qtile-extras.
I have applied the changes in Qtile, in my case nm-tray still does not show the icon in the system tray, but icons that were not shown before like VLC now do.
The context menus for which I made this issue now work, but first I have to restart qtile with mod4+Ctrl+R for them to do so.
from qtile-extras.
You really shouldn't have to restart. Do any of your widgets respond to mouse clicks before restarting?
from qtile-extras.
No, the mouse does not respond to clicks before restart
from qtile-extras.
Can you check if the same thing happens if you remove the status notifier widget. If it does, post an issue on the qtile repo instead and we'll take a look.
from qtile-extras.
Related Issues (20)
- GlobalMenu error HOT 1
- Make `UPowerWidget` shows text by default and permanently HOT 1
- no setup.py in the repo HOT 8
- Decorations not working properly on PulseWidgetExtra
- Install Error HOT 4
- PulseWidgetExtra behaving weirdly HOT 2
- Can't use keyboard to close popups if the current group has applications HOT 4
- [BUG] Decoration not working with Qtile 0.23 HOT 4
- Struggling to install HOT 15
- RectDecoration stopped working HOT 9
- Issues after Visualiser update HOT 18
- PulseVolumeExtra error HOT 8
- wrong install instruction HOT 1
- `GithubNotifications` errors when not connected to internet HOT 3
- Add support for pango markup to `PopupText`
- Colors of the text in the popup of the bluetooth widget not changing HOT 6
- Bar on a second monitor not working if reusing the same list of widgets HOT 13
- Popup size HOT 1
- After an update to 0.25.0 lazy calls stopped working in custom popup windows HOT 4
- Global Menu dynamic menu width HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qtile-extras.