I tried searching prior to me asking here, the best I could find was: https://old.reddit.com/r/kde/comments/sej9no/configure_sddm_to_show_password/

https://forum.manjaro.org/t/login-screen-no-longer-has-show-password-icon-in-password-form-text-box/78041

Unfortunately the SDDM page on Archlinux is devoid of any solutions to this so I thought someone here might know better.

And for clarification I’m looking to modify SDDM to show the reveal password button during the first chance users have to input in their password. This is the same button that appears on the right-hand side of the password box during an incorrect attempt.

  • bisby@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    9 hours ago

    Which version of of SDDM (and presumably KDE) are you using?

    One of the comments one of those threads you linked points out that the bugs you’re sharing are for has changed.

    The components have been reworked since the button was disabled so maybe that helped. It used to be a PlasmaComponents2.TextField, now it’s a PlasmaExtras.PasswordField.

    PlasmaExtras.PasswordField has the button enabled! However, the implementation in the theme explicitly disables it.

    If you open up /usr/share/sddm/themes/breeze/Login.qml and scroll down to line 106. You’ll see rightActions: [] – this bit of code basically overrides the default behavior. It says "normally you have some actions here, but instead use this list, but [] is an empty list.

    So if you just comment that line out by adding // to the front of it… Everything should just work, since it will then revert back to using the built in value.

    However, the reason this was removed in the first place is in a comment on line 105: // Disable reveal password action because SDDM does not have the breeze icon set loaded

    If the icon set fails to load for whatever reason (if youre using a custom icon theme or something, i dunno why it might not be loaded), the button will fail to load again.

    You can test drive the SDDM lockscreen by running sddm-greeter-qt6 --test-mode --theme /usr/share/sddm/themes/breeze/ from the terminal.

    And this all assumes that you’re using the default breeze theme. If you are trying to use a different theme, not sure if any of this applies.