Skip to content

main/postmarketos-ui-lxqt: new set of improvements

Jakko requested to merge jakko/pmaports:lxqt_improvements_pmos into master

Dependencies:

  • Add dependency "xfce4-screensaver" to provide virtual keyboard at screen unlock. As a dependency because several settings need to be implemented to integrate it well in LXQt.
  • Add dependency "setxkbmap" to make keyboard layout settings work
  • Add dependency "upower" to make battery icon in panel work

Recommends:

  • Add recommend "pulseaudio" to make sound work
  • Add recommend "adwaita-icon-theme" because that's used by xfce4-screensaver
  • Remove recommend "pavucontrol" because there is already "pavucontrol-qt"

Sources:

  • Add autostart desktop file for xfce4-screensaver
  • Add autostart desktop file to override lxqt-xscreensaver-autostart
  • Modify autostart desktop file for onboard, a startup delay mitigates an issue with the onboard panel icon not showing up at the first boot
  • Modify lxqt-tablet.sh to include custom XDG_DATA_DIRS
  • Add application desktop file to override xfce4-screensaver-preferences, adding it to the menu
  • Add application desktop file to override xscreensaver-settings, removing it from the menu
  • Change install location of "lxqt-tablet" repository configs from /etc/skel/.config to /etc/xdg/lxqt-tablet. That way they are handled as distribution-specific configs and are separated from the user configs in ~/.config.
  • Upgrade to version 0.3 of "lxqt-tablet" repository:
    • Change theme to "Dark" to fix panel look
    • Increase panel size
    • Change wallpaper mode to "zoom" to avoid deforming the picture
    • Disable global single click to not interfere with PCManFM
    • Add terminal and file manager launchers to panel
    • Rename openbox xml file to apply the configs
    • Set lock command to xfce4-screensaver
    • Add xfconf files to configure xfce4-screensaver
    • Clean up configs by removing default values

Housekeeping (as separate commits):

  • Sort recommends and sources alphabetically
  • Enable riscv64: the Alpine builder is back on track

In Alpine Linux xscreensaver is set as a dependency. This one doesn't provide virtual keyboard support. Screen lockers supporting virtual keyboards would be kscreenlocker, xfce4-screensaver or mate-screensaver. kscreenlocker would be the most obvious choice as it's based on Qt – but there were several issues: It takes some seconds to lock in LXQt (at least on my device), it does lock but not blank the screen, it didn't work in combination with xset dpms force off in lock_command in lxqt.conf. xfce4-screensaver was easier to integrate than mate-screensaver and also drew in less dependencies.

As the usage of xfce4-screensaver not an ideal and clean solution, I discussed with @antoni.aloytorrens to keep xscreensaver the default screensaver in Alpine and override this in postmarketOS by xfce4-screensaver.

Other packages are needed to run LXQt well: setxkbmap, upower, pulseaudio. Here as well I discussed with @antoni.aloytorrens to add them to postmarketOS instead of Alpine because we have the impression that Alpine tries to add the absolute minimum dependencies only. I added pulseaudio as recommend instead of dependency to keep the choice of sound server to pmOS users.


Marked as draft because first the MR in https://gitlab.com/antoni.aloytorrens/lxqt-tablet needs to be checked, merged. Then a new tag 0.3 is needed. Finally I'll update this MR here to the new tag.


Cc: @antoni.aloytorrens @gfgit @Ro-Den @Newbyte

Fixes: #2383 (closed)

Edited by Jakko

Merge request reports