Skip to content

DeckLock v0.3.6

Latest

Choose a tag to compare

@github-actions github-actions released this 11 Oct 04:11
58f54ec

DeckLock 0.3.6

Added

  • The login can have its own background pool, slideshow interval and layout,
    through a [login] section with same_as_lock = false
    (decklock config set login.same_as_lock false, login.layout.clock_visible,
    login.background_pool). With same_as_lock, the default, the login shows what
    the lock screen shows, as before, and the file keeps no [login] section. Rest
    stays one for both screens. Login setup migrates the login's media to the shared
    library like the others and fails before migrating anything if one is unreadable.
  • Settings have three tabs: Lock screen, Login and Rest. Lock screen holds its
    pool, interval and layout; Login holds "Same as the lock screen" (on by default)
    and, when off, its own pool, interval and layout; Rest is unchanged and applies to
    both screens. Each layout has its own "Restore defaults". The preview shows the
    screen of the open tab, the login included, in an ordinary window. "Layout and
    preferences" keeps the options shared by all screens.
  • "Apply to login" in the Login tab saves the settings and applies them to the login
    screen through polkit: the session's authentication agent asks for the
    administrator password, which DeckLock never sees. It runs the new
    decklock setup login-appearance, which refreshes only the login's appearance and
    media and refuses a login that does not use DeckLock; the greetd command,
    compositor, keyboard and controller stay as they are. Packages install a polkit
    action limited to /usr/bin/decklock setup. Without a polkit agent (common on
    Hyprland, Sway, labwc or Wayfire) or without pkexec, the button shows the terminal
    command instead. Setup run through pkexec finds the desktop user like sudo does.
  • The lock, login and preview screens show the battery level on devices with a
    system battery, in the top-right corner on its own row above the power buttons.
    That row spans the width, so the help button in the top-left corner lines up with
    the power buttons below it; without a battery the row takes no space. It is read
    from the Linux power-supply class every 30 seconds; mains adapters and the
    batteries of peripherals such as a controller are ignored. Rest mode hides it
    together with the power buttons, and the settings preview shows it like the lock
    screen. Themes style it through CSS: #battery, its image and label, the icon
    size with -gtk-icon-size, and the .low (20 % or less, not charging) and
    .charging states. Margins on #battery move it within its row, and margins on
    #top-bar move the whole top bar.
  • Layout option "Show battery percentage" (layout.battery_percentage, on by
    default); off shows the battery icon alone, with the level in its tooltip.
  • The lock screen, login and preview have a question-mark help button in the top-left
    corner. It opens one short page in plain words, about unlocking or signing in,
    inside the screen itself: a session lock shows no other window. F1 opens it too,
    and Esc or its × close it. The full guide stays in settings.

Changed

  • The login no longer shows a "DeckLock — Login" title; its help button takes the
    top-left corner. Help buttons in every window are a plain question mark, which no
    longer depends on the icon theme. The preview's help button opens the short lock
    guide instead of the full guide.
  • The preview no longer shows a "Wayland · Preview" banner; it looks like the lock
    screen. Its window title and the notice shown on submit still say it is a preview.

Fixed

  • decklock setup status recognizes a login generated for Hyprland, which starts
    DeckLock from its Lua file; it reported it as not configured.
  • The A button confirms like Enter while the on-screen keyboard holds the controller,
    at login and on the lock screen. The keyboard captures A along with the other
    buttons and ignored it, so with the keyboard open the password could only be sent
    with the keyboard's own Enter key, or by hiding the keyboard and clicking.

Compatibility and limitations

  • "Apply to login" needs polkit's pkexec and an authentication agent in the
    session. GNOME, KDE Plasma, Xfce and Cinnamon bring one; on Hyprland install and
    start one such as hyprpolkitagent. The real polkit dialog and a root write to
    /etc/greetd through pkexec are not exercised by the suites, which use a fake
    pkexec and run login setup as root through sudo.
  • The A button with a physical controller, the battery on real hardware and the
    login help on a Steam Deck login remain outside what the suites establish.

What's Changed

New features

  • feat: simplify the login corner, confirm with A and show the battery by @yan-vidal in #65
  • feat: lock, login and rest settings, with the login applied from the interface by @yan-vidal in #66

Other changes

  • ci(arm): scale an emulated guest's boot timeouts and name emergency mode by @yan-vidal in #67
  • Release 0.3.6: lock, login and rest settings, and a simpler login corner by @yan-vidal in #68
  • Date the 0.3.6 release 2026-10-11 by @yan-vidal in #69

Full Changelog: v0.3.5...v0.3.6