Skip to content
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

[GTK+ GUI] Some usability limitations #48

Closed
genodeftest opened this issue May 13, 2017 · 8 comments
Closed

[GTK+ GUI] Some usability limitations #48

genodeftest opened this issue May 13, 2017 · 8 comments

Comments

@genodeftest
Copy link

genodeftest commented May 13, 2017

#Steps to reproduce:

  1. open dnfdragora (the Gtk+ GUI)
  2. use it

Please also have a look at timlau/yumex-dnf-old#74

package metadata widget

I don't know how it is called, but this is the YGtkRichText which shows package name, description, URL, dependencies (on click), file list (on click)

  • the package metadata widget cannot be resized to be larger and it does not auto-size to a reasonable size to make it easy to read. Users should be able to resize it
  • this text view flickers when clicking any link.
  • when expanding a section (such as "Requirements" or "File list"), it is unclear where the content of that section ends. Yumex-dnf had separate buttons for that reason. If you want to keep the text displayed in one text view, please add a frame or border and a hint that this is a section which can be collapsed and uncollapsed (such as a GtkFrame)

the left side YGtkTreeView

This is the widget containing the Item "All" by default and e.g. "Search results" after a search.

  • It is too wide by default, wasting much screen space. It should be auto-sizing and manually resizable.

the filter GtkComboBoxes

The widgets for selecting "All" or "Group", architecture, name:
When one of these comboboxes changes, it will immediately trigger a new search. This disturbes the user workflow since it blocks all UI.

Two possible solutions:

  • If you want to have immediate search, please make it non-blocking (this would be the ideal case). In this case, please get rid of the "Search" button.
  • If immediate search is too hard to do, please do only trigger search when pressing the search button.

the "Search" button

Most GNOME 3 applications use a style where buttons would have either icons or text. The "Search" button should use a different icon ('edit-find' icon name) and be visually connected to the search field and should only show an icon.

Also, this button does expand horizontally, which doesn't look nice.

the "Clear search" button

Gtk+ 3.x provides a GtkEntry which already has a "primary-icon" and "secondary-icon" property for adding a convenient delete button. This does not need extra text but can be shown inside the GtkEntry itself.

Also, this button does expand horizontally, which doesn't look nice.

the search field

If you'd use a GtkSearchEntry, you would get a nice shiny search icon.

the main YGtkTreeView

  • all columns miss a minimum size. Without a minimum size set, one might accidentially make a column so small that it cannot be seen any more, which breaks user experience.
  • columns should be auto-sized by default, so the user does not need to resize columns and there is an effective usage of screen width.
  • some columns should have a fixed size, such as the checkboxes , the "Arch" column and the "Status" column, since their content is known before display.

the "Apply", "Check all" and "Quit" buttons

These buttons expand horizontally, which doesn't look nice.

the windows

One can resize the windows (main window, "Repository Management" window, "User preferences" window) to be so small that it cannot be used any more and can barely seen at all. This is inconvenient. A window should always allocate the size it needs to show all its child widgets. If there is not enough space, think twice about your UI. If the widgets still don't fit the screen, use a GtkScrolledWindow.

Also, windows should not be larger than their content. If you resize the "Repository Management" or "User preferences" windows, they don't show more content.

the "User preferences" window

Putting the options below each other (instead of besides each other) would look nicer.

Installed software versions:

gtk3-3.22.12-2.fc25.x86_64
dnfdragora-1.0.1-5.git20170505.2a3b056.fc25.noarch
libyui-gtk-2.44.9-2.fc25.x86_64

@anaselli
Copy link
Collaborator

I see your frustration, but you should open most of these issues against libyui-gtk, and if you can provide better implementation for those. Consider also that libyui is an abstraction so a widget must work the same using Qt, Gtk and ncurses.

@genodeftest
Copy link
Author

I don't know how to decide whether a bug is in libyui or dnfdragora.

@anaselli
Copy link
Collaborator

Just adding a libyui documentation link for information.
For instance you talked about RichText which is described here . As you can see i don't have to know anything about Gtk, Qt or ncurses

@anaselli
Copy link
Collaborator

btw if you know Gtk you could really help libyui-gtk to be fixed and improved :)

@genodeftest
Copy link
Author

Just adding a libyui documentation link for information.
For instance you talked about RichText which is described here . As you can see i don't have to know anything about Gtk, Qt or ncurses

I know of that project. Seems like I'll have to read into the API to get an idea where to report which bug against.

btw if you know Gtk you could really help libyui-gtk to be fixed and improved :)

Yes, I know Gtk+. But no, I cannot help much, sorry. I'm already putting more time into https://github.com/exaile/exaile and other projects than I should…

@anaselli
Copy link
Collaborator

Please follow the bug there, i seem there is something on search button related to dnfdragora, could you please open a different issue for that and close this one?

@genodeftest
Copy link
Author

Thanks, I subscribed to libyui/libyui-gtk#59.

What exactly is it that can be fixed in dnfdragora? Is #56 ok?

@genodeftest
Copy link
Author

Closing in favor of libyui/libyui-gtk#59 and #56.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants