vinifmor / bauh

Graphical user interface for managing your Linux applications. Supports AppImage, Debian and Arch packages (including AUR), Flatpak, Snap and native Web applications
zlib License
959 stars 71 forks source link

Bottom-cut version strings + the window is too big and cannot be made smaller (version string differences are too long) #261

Open Templayer opened 2 years ago

Templayer commented 2 years ago

I'm using 0.10.3 staging, and the strings for version changes have their bottoms cut.

image

Another problem - some of the version strings are too long - I'm on a 2K screen and I cannot make the window smaller due to the size of the libsmbclient and libwbclient0 package version changes.

It doesn't even fit my laptop monitor now:

image

A nice solution would be to set a maximum (and possibly let the user set the maximum by dragging the column header borders, which is pretty much standard in Windows...) and if the string is bigger, make the item in the list have a multi-row span (if possible).

Templayer commented 2 years ago

Even GitHub goes the "multiple rows" route:

image

vinifmor commented 2 years ago

Are you using any of bauh's scaling properties (available on the interface settings) ? Is this happening with 0.10.2 ? (because I've recently pushed some changes related to the UI resizing on the staging branch).

Templayer commented 2 years ago

It's happening only on 0.10.3 Staging. Settings:

image

Minimum width is also enforced in 0.10.2, but everything is smaller with identical settings:

image

Templayer commented 2 years ago

You know what they say. The last 5% of a coding project takes more time than the previous 95%. :D

vinifmor commented 2 years ago

It might be related to the height changes. I'm going to test some scenarios here.

vinifmor commented 2 years ago

@Templayer, I'm still not able to reproduce this issue.

Does your desktop environment have a different global scale ? What DPI are you currently using ?

Templayer commented 2 years ago

Nope, UI scaling is set to 1x. "Měřítko zobrazení uživatelského rozhraní" is the option.

Work monitor: image

Internal laptop monitor: image

As for the DPI in Cinnamon: "The DPI value of 96x96 appears to be fixed." Source: https://forums.linuxmint.com/viewtopic.php?t=226198

That somewhat sucks, but on the other hand, I've only used DPI settings in Windows to make the UI larger. If I can make the UI larger without affecting DPI, then I have no need of changing DPI, so I'm going to have mercy with Cinnamon on this one. :D

vinifmor commented 2 years ago

Thanks for sharing this. I'm going to test more scenarios here.

Templayer commented 2 years ago

And thanks for doing this for us. We appreciate it.

Dealing with these issues must be very frustrating.

vinifmor commented 2 years ago

No worries. The problem is that I currently don't have a display device that supports HDPI resolutions to confirm the issue has been fixed. I will probably rollback some changes since you said this doesn't happen with 0.10.2.

Templayer commented 2 years ago

I have quite a few pieces of hardware available - besides the integrated screen and the HP screen, I do also have a big 32" Samsung 2K screen at home (and also a 1600x1050 old Samsung screen, but I'm not sure how hard it would be to connect it, as it is a DVI and my laptop with Linux only has HDMI, but I think I have an adapter somewhere). And a shitty television.

vinifmor commented 2 years ago

great... I've published some fixes to the staging branch that should help with this issue. Let me know if it is ok now.

Templayer commented 2 years ago

The issue persists on my work HP screen and my internal laptop monitor:

image

I cannot ascertain if the "version changes that are too long can make the application window not fit the screen and force that as a minimum size, thus it cannot be made smaller to fit the screen" issue persists, as the version changes strings currently available are not long enough to test that problem out.

vinifmor commented 2 years ago

Question: the issue happens on you primary screen ? Because the interface sizing is based on the primary screen.

Templayer commented 2 years ago

Um... both screens have an independent interface sizing option. If it was always based on the primary screen, wouldn't it be greyed out / not available in the options for the secondary screen?

Also, both have interface sizing set at 1x.

I'll try launching the staging version with the HP screen disconnected if there is any change tomorrow.

Templayer commented 2 years ago

As expected, there is no change when disconnecting the primary screen and launching the staging version afterwards. Interface sizing set to 1x on internal (usually non-primary) screen:

image

It's particularly easy to notice when reading "dfsg", because the "g" is all f*cked up.

vinifmor commented 2 years ago

I've installed a clean Linux Mint 20.0.3 Cinnamon virtual machine at 1080p and couldn't reproduce the issue. Also tested with a 720p with no issue.

bauh_cinnamon_1080p

Have you tweaked any Qt settings ?

On the system's display settings: does changing the scaling to "normal" instead of "1x" fix the issue ?

Could you share your system environment variables through a compressed tar.gz file ?

Templayer commented 2 years ago

With any other display other than the integrated one disconnected, I have changed it to normal (didn't even know there was a choice like that there beforehand). And then I've removed staging and got staging again to make sure (because I have no idea what would or wouldn't happen if I left bauh running). No change. Then I tried disabling HiDPI in bauh settings, but nothing changed. I have switched from Fusion to the Windows style in the bauh settings. No change. I tried different themes, but nope.

How do I tweak Qt settings? :D

As far as the system environment variables go, is this enough? It isn't long enough to warrant me compressing it, at least this specific output doesn't seem to be (or do you want it as files? Which ones?):

jboksa1@JB-PC:~$ printenv
SHELL=/bin/bash
SESSION_MANAGER=local/JB-PC:@/tmp/.ICE-unix/1836,unix/JB-PC:/tmp/.ICE-unix/1836
QT_ACCESSIBILITY=1
COLORTERM=truecolor
XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon2d:/etc/xdg
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
DERBY_HOME=/usr/lib/jvm/jdk1.8.0_311/db
LANGUAGE=cs_CZ:cs
MANDATORY_PATH=/usr/share/gconf/cinnamon2d.mandatory.path
LC_ADDRESS=cs_CZ.UTF-8
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_311
LC_NAME=cs_CZ.UTF-8
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
DOTNET_CLI_TELEMETRY_OPTOUT=true
CINNAMON_VERSION=5.2.7
DESKTOP_SESSION=cinnamon2d
LC_MONETARY=cs_CZ.UTF-8
SSH_AGENT_PID=1919
GTK_MODULES=gail:atk-bridge
XDG_SEAT=seat0
PWD=/home/jboksa1
XDG_SESSION_DESKTOP=cinnamon2d
LOGNAME=jboksa1
QT_QPA_PLATFORMTHEME=qt5ct
XDG_SESSION_TYPE=x11
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
XAUTHORITY=/home/jboksa1/.Xauthority
J2REDIR=/usr/lib/jvm/jdk1.8.0_311/jre
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/jboksa1
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
GDM_LANG=cs
HOME=/home/jboksa1
LC_PAPER=cs_CZ.UTF-8
LANG=cs_CZ.UTF-8
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
XDG_CURRENT_DESKTOP=X-Cinnamon
VTE_VERSION=6003
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/e55d4b1b_1741_4f48_8e80_ccd6b25a882a
GJS_DEBUG_OUTPUT=stderr
LESSCLOSE=/usr/bin/lesspipe %s %s
XDG_SESSION_CLASS=user
TERM=xterm-256color
LC_IDENTIFICATION=cs_CZ.UTF-8
GTK_OVERLAY_SCROLLING=1
DEFAULTS_PATH=/usr/share/gconf/cinnamon2d.default.path
J2SDKDIR=/usr/lib/jvm/jdk1.8.0_311
LESSOPEN=| /usr/bin/lesspipe %s
USER=jboksa1
GNOME_TERMINAL_SERVICE=:1.184
DISPLAY=:0
SHLVL=1
LC_TELEPHONE=cs_CZ.UTF-8
LC_MEASUREMENT=cs_CZ.UTF-8
XDG_VTNR=7
XDG_SESSION_ID=c1
XDG_RUNTIME_DIR=/run/user/1000
LC_TIME=cs_CZ.UTF-8
GTK3_MODULES=xapp-gtk3-module
XDG_DATA_DIRS=/usr/share/cinnamon2d:/usr/share/gnome:/home/jboksa1/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop
PATH=/home/jboksa1/.local/bin:/home/jboksa1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/jdk1.8.0_311/bin:/usr/lib/jvm/jdk1.8.0_311/db/bin:/usr/lib/jvm/jdk1.8.0_311/jre/bin:/home/jboksa1/.dotnet/tools
GDMSESSION=cinnamon2d
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
LC_NUMERIC=cs_CZ.UTF-8
_=/usr/bin/printenv
vinifmor commented 2 years ago

Try launching bauh with the follow env vars: QT_AUTO_SCREEN_SCALE_FACTOR=0 QT_ACCESSIBILITY=0 bauh

Templayer commented 2 years ago

I just encountered a little different bug, but I haven't tried it in staging (or tried what you have suggested - I'll take a look at that later, but I need to report this now while I can, as I am going to update the packages that allow me to show this to you).

In the following printscreen, how do I get to the item actions part (like the "do not update" checkbox) at the rightmost columns?

image

There is no horizontal scrollbar. It looks like the version differences string broke the GUI (which is something I have partially already reported in this issue - the version string being too long and without limits).

Templayer commented 2 years ago

Also, (and completely offtopic) I've just updated my Linux kernel/firmware/whatever by using bauh for the first time. If I do not return, it is totally your fault. :D :D :D xD

upgrade_2022528_1653771127.log

vinifmor commented 2 years ago

There is a fix on the staging branch that prevents bauh from fully stretching beyond the primary screen limits.

P.S: relax about the upgrade. bauh upgrades my kernel every week :) (you have to worry if there are issues with the back-end itself. In your case: aptitude)

Templayer commented 2 years ago

There is a fix on the staging branch that prevents bauh from fully stretching beyond the primary screen limits.

In the following printscreen, how do I get to the item actions part (like the "do not update" checkbox) at the rightmost columns?

image

That won't solve this problem / specific variant, I think? Granted, that isn't the problem this Issue was created in mind with.

But yeah, I've been sick ever since Tuesday last week and I still am, so it's hard for me to force myself to do ANYTHING.

vinifmor commented 2 years ago

This issue is really odd. Let me know if it happens on the latest release (when you feel better)

Templayer commented 2 years ago

Try launching bauh with the follow env vars: QT_AUTO_SCREEN_SCALE_FACTOR=0 QT_ACCESSIBILITY=0 bauh

No change there - dfsg became dfsq due to the font cropping.

image

Templayer commented 2 years ago

This is the current state - I don't have an app with a version change that would be long enough to test it:

image

vinifmor commented 2 years ago

Ok... I'll check if the table row has a property to preventing this cutting. Thank you for the feedback.