Skip to content

feat(greeter): add position config for power buttons and scheme selector - #103

Merged
Ly-sec merged 1 commit into
noctalia-dev:mainfrom
Askoth:reposition-scheme-and-power
Aug 29, 2026
Merged

feat(greeter): add position config for power buttons and scheme selector#103
Ly-sec merged 1 commit into
noctalia-dev:mainfrom
Askoth:reposition-scheme-and-power

Conversation

@Askoth

@Askoth Askoth commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds appearance.power_buttons_position and appearance.scheme_selector_position to greeter.toml. Both accept "hidden", "bottom-left", "bottom-right", "top-left", and "top-right". Defaults match current behavior: power buttons at "bottom-right", scheme selector at "top-right".

Keyboard focus ring and the F7 shortcut now respect hidden state, preventing interaction with invisible elements.

Motivation

Pet peeve. Depending on wallpaper, relevant content stays behind the buttons and might look hideous.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Refactoring
  • Build / packaging

Related Issue

N/A

Testing

Built with just build-release and tested under greetd. Verified:

  • "hidden" correctly hides elements and removes them from keyboard focus
  • "bottom-left", "top-left", "top-right", "bottom-right" position correctly
  • Defaults work when keys are omitted from greeter.toml
  • F7 shortcut does not open scheme menu when selector is hidden

Manual Coverage

  • Tested under greetd (real login flow)
  • Tested with just run / just run-local (dev compositor)
  • Tested with multiple monitors
  • Tested appearance sync from Noctalia Shell (Sync Now)
  • Tested on NixOS (programs.noctalia-greeter)
  • Tested with a pinned [output].name
  • Tested with custom [output].layout / [output].transforms

Screenshots / Videos

Before:
noctalia-greeter-PR01
noctalia-greeter-PR02

After:
with:

[appearance]
hide_logo = true
power_buttons_position = "top-right"
scheme_selector_position = "hidden"
noctalia-greeter-PR03 noctalia-greeter-PR04

Checklist

  • This PR is ready for review, or it is marked as Draft.
  • I read and followed the relevant guidance in AGENTS.md and README.md.
  • I ran just format with clang-format v22+ installed, or this PR has no code changes.
  • I ran the relevant build or test commands, or explained why they were not run.
  • I self-reviewed the changes.
  • I checked for new warnings or errors.
  • I will update end-user documentation in noctalia-docs after merge, or this PR does not change user-facing configuration or behavior.
  • I used the existing canonical names for config keys, paths, and identifiers.

Additional Notes

New config keys follow the existing hide_logo precedent (declarative only in greeter.toml, not in sync.toml). no changes to noctalia shell sync are needed — these are purely admin configuration options.

…or position

Add appearance.power_buttons_position and appearance.scheme_selector_position
to greeter.toml. Both accept "hidden", "bottom-left", "bottom-right",
"top-left", and "top-right" (defaults: bottom-right and top-right).

Keyboard focus and F7 shortcut now respect hidden state, preventing
interaction with invisible elements.
@Askoth
Askoth marked this pull request as ready for review August 29, 2026 14:38
@Ly-sec
Ly-sec merged commit c095206 into noctalia-dev:main Aug 29, 2026
2 checks passed
@Askoth
Askoth deleted the reposition-scheme-and-power branch August 29, 2026 18:52
@Ly-sec Ly-sec mentioned this pull request Aug 30, 2026
20 tasks
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

Successfully merging this pull request may close these issues.

2 participants