Commits

trunk
Switch branches/tags
All users
All time
February 2026
Su Mo Tu We Th Fr Sa
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
1 2 3 4 5 6 7
8 9 10 11 12 13 14

Commits on February 18, 2026

  1. mfwolffe committed
  2. mfwolffe committed

Commits on February 11, 2026

  1. fix CRTC transform scaling and improve display change UX
    - Fix scaling apply flow to match xrandr: apply CRTCs first, then
      shrink screen (instead of disable-all → resize → apply which broke
      on appledrm)
    - Fix ensure_screen_size to use root window geometry instead of
      GetScreenInfo discrete sizes
    - Fix confirm overlay: remove black backdrop, center dialog properly
      with shared layout computation for render and hit-testing
    - Refit window after display changes using actual root geometry and
      X server sync, preventing zoom/cutoff artifacts
    - Fix transform ordering: set pending transform before SetCrtcConfig
    - Track mode_width/mode_height separately from effective dimensions
    - Generate virtual resolution entries for single-mode drivers
    mfwolffe committed

Commits on February 9, 2026

  1. switch from RandR transform to DPI-based scaling
    RandR transforms don't work for HiDPI "make content larger" use case -
    they're designed for expanding virtual screen space, not zooming.
    
    - Add dpi.rs module using xrdb to set Xft.dpi
    - Remove RandR transform scaling code from randr/manager.rs
    - Integrate DPI scaling in app.rs apply_layout() and revert_to_pre_change()
    - Update watchdog to reset DPI via xrdb instead of xrandr --scale
    - Capture and restore current DPI scale during configuration changes
    
    Note: DPI changes require apps to restart to take effect. This is a
    fundamental X11 limitation (X11 has one global DPI).
    mfwolffe committed
  2. fix scaling: validate profile monitors and always reset scale transform
    - Don't apply profile positions when monitor set doesn't match current
    - Add sanity check for clearly invalid positions (negative or >10000)
    - Watchdog now always includes --scale NxN to reset transforms
    - Fixes issue where stale multi-monitor profile caused wrong positions
    mfwolffe committed
  3. implement display scaling via RandR CRTC transform
    - Add randr_set_crtc_transform call with scale matrix
    - Scale > 1.0 makes content appear larger (lower effective resolution)
    - Use bilinear filter for smooth scaling
    - Reset to identity transform when scale is 1.0
    - Include scale in watchdog xrandr revert commands
    mfwolffe committed
  4. add watchdog process for robust auto-revert and file logging
    - Add watchdog module that spawns separate bash process to revert
    - Watchdog survives main process crash by using xrandr commands
    - Add file logging to ~/.cache/gardisplay/gardisplay.log
    - Cancel watchdog when user confirms or manually reverts
    mfwolffe committed
  5. fix rotation by ensuring screen size before applying RandR configs
    - Add ensure_screen_size() to resize virtual screen before CRTC changes
    - Calculate effective dimensions after rotation (90/270 swap width/height)
    - Prepare screen for all monitors before applying any configurations
    - Shrink screen to fit after applying configurations
    - Add prepare_screen_for_configs() for revert operation as well
    - Add refresh_randr_outputs() to dynamically update mode information
    - Add debug logging for timeout and RandR operations
    mfwolffe committed
  6. mfwolffe committed
  7. mfwolffe committed

Commits on February 8, 2026

  1. mfwolffe committed
  2. mfwolffe committed
  3. mfwolffe committed
  4. mfwolffe committed
  5. mfwolffe committed
  6. mfwolffe committed
  7. mfwolffe committed