Commits

784a0fd66dccd1a8dadb48c4ee77ce42886bd6f8
All users
All time
January 2026
Su Mo Tu We Th Fr Sa
28 29 30 31 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1 2 3 4 5 6 7

Commits on January 16, 2026

  1. Try multiple wallpaper paths before using default
    Check common wallpaper locations in order before falling
    back to the hardcoded default path.
    mfwolffe committed
  2. Add tooltips, dynamic cursors, and fix rendering issues
    Add power button tooltips that appear on hover. Implement
    dynamic cursor changes: text cursor over input fields,
    pointer cursor over clickable elements.
    
    Auto-select first user on startup and skip to password field.
    Add login button click handling.
    
    Fix power icon vertical line direction. Clear Cairo path
    state in avatar rendering to prevent path leaks between
    draws.
    mfwolffe committed
  3. Add cursor type support and fix large display rendering
    Implement CursorType enum with Default, Text, and Pointer
    variants using X11 cursor font glyphs. Add set_cursor()
    method that only updates when cursor type changes.
    
    Clear root window on startup to hide leftover content from
    previous sessions (e.g., garbg wallpaper pixmaps).
    
    Chunk put_image into 1MB segments to avoid exceeding X11
    maximum request size on large displays.
    mfwolffe committed
  4. Add cursor positioning and text selection to login form
    Implement proper cursor movement with arrow keys, Home, End,
    and Delete. Support shift+arrow for text selection with
    visual highlight. Handle click-to-place cursor in text fields.
    
    Fix caps lock interaction with shift key for correct case
    handling on letter keys.
    mfwolffe committed
  5. Improve session environment and remove Wayland enumeration
    Add XAUTHORITY, XDG_SESSION_DESKTOP, XDG_CURRENT_DESKTOP,
    XDG_DATA_DIRS, and XDG_CONFIG_DIRS to session environment.
    Expand PATH to include ~/.local/bin and ~/.cargo/bin.
    
    Remove Wayland session enumeration since gardm runs an X
    server and Wayland compositors cannot run on X11.
    mfwolffe committed
  6. Refactor PAM authentication to use pam crate
    Switch from pam-client to pam crate for simpler API. Use
    PasswordConv for non-interactive authentication and add
    debug logging throughout the auth flow.
    
    Simplify PAM config to use pam_unix.so directly instead of
    Fedora-specific includes and SELinux modules.
    mfwolffe committed
  7. mfwolffe committed

Commits on January 15, 2026

  1. power actions via logind and deployment scripts
    Add systemd-logind integration for power actions (shutdown, reboot,
    suspend) via D-Bus. Update system configuration for Fedora compatibility.
    
    Changes:
    - Add zbus dependency for D-Bus communication
    - Add power.rs module with logind integration
    - Update PAM config based on SDDM's Fedora configuration
    - Update systemd service for better compatibility
    - Add deployment scripts:
      - install.sh: installs binaries, configs, and service
      - test-gardm.sh: safe testing on separate VT/display
      - swap-dm.sh: safely swap from SDDM to gardm with rollback
    mfwolffe committed
  2. theme and accessibility support
    Add theming system with customizable colors, fonts, and accessibility
    options for the greeter UI.
    
    Features:
    - theme.rs with Color parsing (hex #RRGGBB, rgba(), rgb())
    - Customizable colors: panel, text, accent, input, button
    - Font family and size configuration
    - High contrast mode with enhanced visibility
    - Large text accessibility option (25% larger)
    - Reduce motion option (disables fade transitions)
    - All widgets updated to use theme values
    mfwolffe committed
  3. multi-monitor support via XRandR
    Add monitor detection module using RandR to detect connected monitors,
    their positions, and primary display. UI elements now center on the
    primary monitor instead of the full virtual screen.
    
    Changes:
    - Add monitors.rs with MonitorConfig and Monitor structs
    - Add randr feature to x11rb dependency
    - Update LoginForm, UserList, PowerButtons to accept center coordinates
    - Add root() accessor to GreeterWindow for RandR queries
    - Add sprint documentation for sprints 5-8
    mfwolffe committed
  4. user list with avatars and click-to-select
    - Avatar loading from ~/.face, AccountsService, and other standard paths
    - Circular avatar rendering with RGBA to BGRA conversion
    - Fallback to colored initials when no avatar found
    - Horizontal user list above login form with hover effects
    - Click user to populate username and focus password field
    - Selection highlight with blue ring
    mfwolffe committed
  5. power buttons and session selector with hover effects
    - Custom Cairo-drawn icons (power, reboot, suspend, chevron, checkmark)
    - Power buttons with color-coded hover highlights
    - Session selector dropdown with list from daemon
    - Mouse tracking for hover states
    - IPC integration for power actions
    mfwolffe committed
  6. garbg integration and fade transitions
    - Read garbg config and playlist state for wallpaper resolution
    - Greeter config with visual settings (blur, brightness, corner radius)
    - Fade-out transition on successful login
    - Relaxed socket permissions for development (0666)
    mfwolffe committed

Commits on January 14, 2026

  1. greeter Cairo/Pango UI with login form
    - X11 window with fullscreen override redirect
    - Cairo rendering surface for drawing
    - Background loader with blur and brightness adjustment
    - Login form widget with username/password fields
    - Keyboard input handling with X11 keycodes
    - IPC integration with gardmd for authentication
    mfwolffe committed
  2. mfwolffe committed
  3. mfwolffe committed
  4. mfwolffe committed
  5. mfwolffe committed
  6. mfwolffe committed
  7. mfwolffe committed