-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UI improvements #74
Comments
Make a test UI for how the search in yumex could look like git clone https://github.com/timlau/poc.git |
@genodeftest @gitjod please take a look at this UI |
@gitjod the problem with that it is harder for the user to see what type of searching is active |
I think from a discoverability point of view the radio buttons would be acceptable because as per the implementation in Gnome-Music the Gtk Arrow is inside the search box so in this way every thing relating to search is linked whereas the link between the search box & the search options is still somewhat broken in your current design |
Ok @gitjod , here is another try |
Search barI like the usage of a separate search bar. I'd prefer putting all options into the search bar, but that won't be possible (consider localizations). So your proposal is very good. I like the way the options are visible besides the search field. Quite an improval too. I'd prefer putting those options in a GtkPopover so users actually see where these options belong to. This is more like e.g. gnome-calendar does it. Search bar comments:In both cases I would not use an arrow button since:
As far as I know those options still exist because searching the whole package database is horribly slow. Is there any chance of speeding search up so these buttons won't be necessary any more? To me it looks like these buttons (UI) exist to work around technical limitations. Ideally (in a perfect UI) this won't happen. Is it possible to e.g. load the whole package database into RAM when yumex-dnf/dnfdeamon starts? GtkHeaderBar:
GtkPopoversI'd prefer GtkPopovers instead of menus. They fit better to buttons and have a visual indication to where they belong to. Furthermore you can move to GMenu and don't have to create all the Gtk*Buttons manually. I forked your |
Happy with that. Popover for search option is good |
I have made a new-ui branch of yumex-dnf with the gui changes. Use the following to test it. git clone https://github.com/timlau/yumex-dnf.git It is only the basic seach & filtering is implemented yet. |
Wow, yumex feels way more responsive now! Making the UI not disabled while still adding new packages improves user experience a lot. I hope this change can be permanent! It causes an issue though: If changing the view (left buttons in GtkHeaderBar) while yumex is still adding packages to its GtkTreeView, packages end up in the new GtkTreeView where they don't belong. I see you improved the dark theme handling. I see two issues:
The In GtkHeaderBar, the GtkSpinner is placed most right which will make the search, apply, menu buttons move around. I guess this is not intended. You could remove it completely in my (weak) opinion since there is another progress indication below. |
There is one major thing I don't like yet (but don't have a solution for). Due to its impact on #74 I post it now although it is not finished. Please put it into a separate issue if you think this is better (I am undecided about that). It is affecting the way how views work (and are chosen/activated) in yumex. Current situation:
What is not perfect with that:
So a new layout could look like this:show primary-level view switcher (History, Packages) in GtkHeaderBar instead of current second-level view switcher. If History is active, show history (as yumex does currently) but without all the disabled second-level views. NotesI hope this proposal is not too hard to implement on limited time and will have some upsides on the code (reduced number of views ⇒ less lines of code to maintain). I'm open for suggestions. I'll make some mockups if you are interested. PS: You could use a GtkStackSwitcher for those view switchers. It is supported by F23's glade 3.19.0 and has been in Gtk3 since 3.10, should be available on all dnf-based Linux distributions. |
I agree with it is not logic that the primary views (pages) is not visible but the second-level (filters) is. I have added a StackSwitcher for selecting the pages and is only showing the filters when the Packages page is selected. Maybe the filters shold be moved to a toolbar instead of being shown in the headerbar ? |
I have added all the new UI parts to current master branch there will become yumex-dnf 4.2 git clone https://github.com/timlau/yumex-dnf.git Most features is moved to the new UI. The following is not implemented yet:
|
That's what I suggested in #74 (comment), same with the group thing. Users then would be able (again) to half-maximize yumex-dnf on a fullHD monitor or to maximize on small (≤ 1024 px wide) monitors |
Hm, infobar applies to all views, doesn't it? So I guess it should be displayed in every view. I'm not sure about the search bar. |
If you by infobar, mean the progress bar, then it applies to all views. |
Yes, I mean the GtkRevealer including the progress bar. |
I don't like the latest update. I think it is confused. I think the solution here is a SideBar. The primary filters can remain Packages, Groups, History & Actions and these filters should be located on the HeaderBar. They should be centred. If Packages is selected then the options in the SideBar should be Updates, Installed, Available & All with the list of packages appearing in the main window. As these options in the SideBar are currently searchable then the search icon should be available in the HeaderBar. If Groups is selected then the options in the SideBar should be as currently implemented with the list of packages appearing in the main window. As these options in the SideBar are not currently searchable then the search icon should disappear when the Groups filter has been selected in the HeaderBar. If History is selected then the options in the SideBar should be the History date & time with the list of packages installed/updated/removed appearing in the main window. As these options in the SideBar are not currently searchable then the search icon should disappear when the History filter has been selected in the HeaderBar. If Actions is selected then the options in the SideBar should be Updates, Installed, Available & All with the list of packages appearing in the main window. As these options in the SideBar are currently searchable then the search icon should be available in the HeaderBar. See these screenshots of an implementation of a sidebar in Gnome-Music |
@gitjod: Interesting idea. Only downside I find for that is that it takes quite much horizontal space. I thought about putting the font vertically but I guess that will break readability. |
Investigated the search box used in gnome-music and totem, they use a special Gd.TaggedEntry custom widget defined i a special gnome libgd. https://git.gnome.org/browse/libgd/tree/README This lib has no API/ABI stability and is meant to be included as a private lib in each project. |
I have reworked the the options in the main menu and added a new look for the Preferences and added a new Extra Filter option menu, let me know what you think. |
I have a hard time testing yumex-dnf due to an dnf issue when a mirror is offline. Reporting that against dnf on Fedora Bugzilla. I like this filter option menu. Maybe you could put it above the GtkStackSwitcher? I'd use a 'preferences-other-symbolic' or 'view-list-symbolic' icon instead of 'open-menu-symbolic'. 'open-menu-symbolic' is already in use for the main menu and shouldn't be reused for semething completely different I think. What do you think? Btw: The main menu GtkPopover is nice. It has an issue on wayland though: The GtkPopover gets placed topwards in some cases being painted outside of the screen. See https://bugzilla.gnome.org/show_bug.cgi?id=757474 for a more detailed explanation and a workaround. |
The following placement could be used.
Another idea i have is to have a pref button in the right side of the headerbar where the content is changing based on the selected page. On packages it would show extra filters, on groups something else etc. |
I thought about placing it above filters. I wouldn't change menu contents based on UI state. Besides: I noticed that the search bar filter menu behaves slightly wrong. Steps to reproduce:
What happens: What should happen: |
@genodeftest ok, I have moved the button, check latest copr build to test it. The fields insensitive problem is fixed here: (not in build) |
Oh, nice. I prefer it that way. @gitjod what do you think? |
Hi Tim, I am not convinced by moving the extra filter button from below the filters (updates, installed etc) to the left of the headerbar. I think your first idea of placing it below the filters was correct or you could look at this very similar implementation in the application gitg where there are 2 buttons below some filters: I very much like the bottom bar in the History page where you have placed a button Undo. I think this is a good idea, though it doesn't seem to be very reliable at the moment. Perhaps you could do a similar implementation on the Packages page & on the Queue page with a button called Apply instead of the current button on the headerbar to apply the pending actions. Perhaps the extra filter button could be on this bottom bar on the Packages page. |
Hm, I was just running yumex-dnf in a KDE plasma session with dark Breeze theme. Dark theme detection doesn't work correctly there. Any ideas? |
Sorry for being MIA for a couple of months, Work and Life, has stolen all my time. A button bar could be an option i could try out in the other pages, but could feel a little confusing for the extra filter, but I will give it a try, to see how it feels |
Welcome back! I think the extra filter should go where you had it originally....see your own screenshot of 15th December or my screenshot from the 22nd. The extra filter shouldn't be the first thing a user encounters in the application and given its present location on the top left corner on the headerbar it currently is the first filter you encounter. I think the pending actions button should go on the button bar on the bottom as per the History page where you have placed a button Undo |
I'm sorry, but I disagree on moving the extra filter button down, again. This time for another reason: With "extra filters" on header bar, one could filter in both packages and groups view. With "extra filters" outside of header bar (in this case: In package view below package status selection), one can only filter in package view. This filter is meant for both views though. Since @gitjod doesn't like it on the left for arguable reasons, how about putting it on the right or into the sandwich menu? |
I've got an idea to keep the filter down there without removing it from the "Groups" view:
Upside: Once repositories are available through DNF API, they could be added here too. |
That is a good idea, a group is just a collection of packages, like updates, installed etc. is |
I've created a new proof of concept for my previous comment. Please have a look at it at https://github.com/genodeftest/poc/tree/sidebar/python/gtk/sidebar. You can simply start it using The style probably needs some work, but I'd rather wait to have it implemented. Any feedback on the way this filter looks like? |
A step in the right direction, but we need to work on the look & feel, The UI feels a little confusion a lot of clicking is needed. ex. Version (latest) or like this a big button with content like this And when you click on the button the selections shows in a popover or in a dedicated area in the bottom of the list of Category buttons |
Ok, I've implemented it in a way that it will be shown only when the filter category is collapsed. Yes, you're right, my proposal involves a lot of clicking because only one filter category can be uncollapsed. I did this out of couriosity and because without it, users always have to collapse categories or scroll, this way I wanted to prevent both from happening. Something pretty bad is that the summary label on a collapsed list entry is hard to distinguish visually from a list of choices. I don't really know what to do about that. Always show the "summary" label? Change the font to be "lighter"? Put it on the same line as the title (could be too long)? |
Like the concept that you have a number of filter categories in a sidebar and each category can a number of choices there can be made and the selections is only shown when you highlight it.
I have to do some thinking and looking around in other apps and maybe some mockups to find a good way to present it to the user |
Ok. I've updated my mockups and tried to improve it a bit. See commit df48baddaa0bbe587f67632cfa8f2bb954a7777f plus its description. |
Look: I like the use of a expander which makes it clear which sections are expanded and which are not. Content: I don't like the idea of having the section title removed and only the status displayed. This especially applies to groups and repositories, where it is hard to find a caption for all child items. For other items this could work, I wouldn't like to mix different behaviours though. |
Tracker isssue for make the Search/filter UI better
The text was updated successfully, but these errors were encountered: