jozamudi 078f9acf71 fix(display): target the Framework 13 Pro panel
Migration from the ThinkPad X1 Carbon (2880x1800) to the Framework Laptop
13 Pro, whose panel is CSOT MND508ZB1-1 = 2880x1920 3:2 @120Hz and exposes
only 2880x1920@120000Hz / @60000Hz.

shikane was requesting [email protected], a mode this panel cannot provide,
so the variant could never be satisfied: it sat in NoVariantApplied for the
whole session, with 61 historical "Discarded" events. Both profiles now use
2880x1920@120Hz (including the disabled eDP-1 block, whose mode string still
has to resolve). Verified: profile now reaches VariantApplied.

Scale is 1.75 -> 1645x1097 logical, ~147 effective DPI, chosen to reproduce
the ~145 DPI of the old panel at 1.67. 1.75 is exactly representable as
float32, which sway stores scale in; 1.6 and 1.67 are not. 2.0 would be the
only integer (1:1, unresampled) scale but yields just 1440x960 logical.

The .config/sway/config hunk also adds the matching `output $laptop` baseline
so sway does not start at scale 2.0 and re-flow when shikane applies 1.75,
and carries previously-uncommitted session wiring for the scripts below.

shikane's config.toml was previously unversioned; it now lives in this repo
and ~/.config/shikane is a symlink, matching the existing convention.
2026-10-27 18:32:21 -07:00
2025-07-04 19:57:35 -07:00
2025-03-21 13:06:13 -07:00
2026-02-06 10:28:14 -08:00

Josue's dotfiles

Uses GNU Stow to manage simlink. Place files as they where in $HOME

Usage

clone into $HOME
cd dotfiles
stow .

If stow is not installed use ./install.sh from .dotfiles repo

User services

shikane-watchdog

.config/systemd/user/shikane-watchdog.timer (every 2 min, user unit) runs .config/sway/scripts/shikane-watchdog.sh, which restarts the shikane user service if its state machine is stuck.

Why: shikane 1.1.1 deadlocks when a profile application is discarded mid-way (e.g. by a failing DP atomic commit on the external display). The daemon then keeps logging [WARN shikane::variant] Received invalid input AtomicChangeDone at state Discarded and shikanectl reload no longer recovers it. The watchdog detects that signature in the journal and runs systemctl --user restart shikane (re-applies the active profile in ~1s). It never restarts a healthy or legitimately transitioning daemon.

systemctl --user status shikane-watchdog.timer      # check it's active
systemctl --user disable --now shikane-watchdog.timer  # disable
S
Description
No description provided
Readme
315 KiB
0 Stars 1 Watchers 0 Forks
Languages
Lua 43.4%
Lua 43.4%
Shell 8.3%
Vim Script 5.1%