-
Notifications
You must be signed in to change notification settings - Fork 2
i3status-rust compatibility #4
Comments
About greshake/i3status-rust#1258 it is better to check device type is |
Yeah, that's a way better approach. (8439e50) |
Are there any specific issues with the remaining blocks that require solving before they can be ported? Otherwise perhaps we can all get together and power through the remaining blocks so we can merge back upstream. After that I think we should ask to add @MaxVerevkin as co-maintainer. |
I don't think there are any technical issues with porting the rest of the blocks. The constraining factor is (as always) free time. In addition, I can't port some of the blocks simply because I can't test them. For example, I cannot port |
What do the unchecked boxes mean under the "Compatible" section? |
They are ported but they lack some features and/or config options. |
Hi @GladOSkar, can you please check if the bluetooth block reports correct battery level (if you still have that device of course)? |
Yes, it works @MaxVerevkin. Took me a bit to realize you changed the default format to not have the battery info though ^^ |
Well, after #11 everything is technically incompatible. |
That's fine since it was going to happen anyway. |
Was compatibility for the older version of KDEConnect dropped because it was too hard to implement? |
In contrast to |
I remember mentioning it somewhere but the answer is almost always Debian/Ubuntu since we were looking at LTS releases. By the way can you check your email? ;) |
Thanks for updating the table, very easy to grok the situation now :) From a quick glance, apart from |
If it's going to be a blocker then I wouldn't mind dropping
|
What's missing from music? |
Some little things like filtering, on_collapsed_click, hide_when_empty, and I didn't have time to verify that new formatting covers all use cases. NetworkManager is a double pain because of dbus -> zbus transition. Also, NetworkManager and NvidiaGpu are the only two blocks that seem to use multiple widgets. The issue here is that because of the new formatting (I decided to implement rotating text in a more generic way, so that every block with a format option can benefit form it) blocks don't "own" widgets anymore, because blocks don't know anything about rotating text and that it needs to be scheduled. So all widgets (as well as formatting templates and hashmaps) are owned by the main thread. Some time ago I decided that "one block -> one widget + some buttons (widgets with only icons)" is good enough. Well, no, it's not. |
Is that because it can't be done with netlink? |
Originally more blocks were using multiple widgets, but ended up being merged when adding format strings. Is rotating text the only thing stopping widgets returning to each block? |
I'm sure everything can be done with netlink.
Well, the whole (internal) API was already built around the idea of blocks not owning the widget but instead sending "commands" to the main thread to modify it. To support multiple fully-functional widgets the (internal) API must be changed. Or, there is an option to go back and let every block own the widgets and send their clones on updates, but the scheduling gets a bit tricky. But I'll not drop generic rotating text support. |
Nvidia GPUMigrating to format strings will eliminate the need to use multiple widgets. Network ManagerAs I understand, multiple widgets are being used in order to have multiple states (i.e. colors). It is possible to use one widget with multiple colors, but |
Doesn't that mean we lose per-widget click actions? |
It does... But now that I look at greshake/i3status-rust@714b29f (split format string into multiple widgets) - it might actually be the way to go. Back then I removed it, because it required boilerplate in the blocks' code. Now widgets "own" format templates, so it should be much better. It should work for both Nvidia and NetworkManager (and even Music - for buttons, so I can remove the "buttons API"). |
Just one issue though: if we split format templates into widgets, there is no way to support "short" versions... |
Yeah that's difficult... We could at most collapse each widget to an empty i3 block, right? |
That will just collapse every block, since i3bar and swaybar haven't implemented progressive switching yet (i3/i3#4113). |
Well only if they have a short version set, right? So if widget A hasn't and widget B has a short text (set as icon only or empty) it should only show widget A in short mode, right? |
Ah, yes, we can have |
kbdd
(unable to get it work on my machine), greshake/i3status-rust#1386ip(6)
,bitrate
andhide_(missing/inactive)
format
,format_singular
andformat_everything_done
The text was updated successfully, but these errors were encountered: