<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotfiles/dot_config/sway/config, branch master</title>
<subtitle>My linux config and rc files</subtitle>
<id>https://git.sommerfeld.dev/dotfiles/atom/dot_config/sway/config?h=master</id>
<link rel='self' href='https://git.sommerfeld.dev/dotfiles/atom/dot_config/sway/config?h=master'/>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/'/>
<updated>2026-08-14T13:21:05Z</updated>
<entry>
<title>Fix Thunderbird scratchpad targeting</title>
<updated>2026-08-14T13:21:05Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-08-14T13:21:05Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=6f75cc55c4a2f55d32984e1e6c05d49dca310762'/>
<id>urn:sha1:6f75cc55c4a2f55d32984e1e6c05d49dca310762</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add locked display recovery binding</title>
<updated>2026-08-14T13:21:05Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-08-14T13:21:05Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=ac632546177ff4b2ebd1d878fea87a3deea0040d'/>
<id>urn:sha1:ac632546177ff4b2ebd1d878fea87a3deea0040d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove former work environment configuration</title>
<updated>2026-08-14T13:21:05Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-08-14T13:21:05Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=315e7580b35f2535319bbd852d443c3c9bcb4d41'/>
<id>urn:sha1:315e7580b35f2535319bbd852d443c3c9bcb4d41</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve Sway display recovery</title>
<updated>2026-08-14T13:21:04Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-08-14T13:21:04Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=c678c19a30f61ab9736e206457b14b26843ae18f'/>
<id>urn:sha1:c678c19a30f61ab9736e206457b14b26843ae18f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update Proton Bridge desktop integration</title>
<updated>2026-07-02T10:35:35Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-07-02T10:35:35Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=9c34010e1dce016d1b31d651dbcd332e747844e7'/>
<id>urn:sha1:9c34010e1dce016d1b31d651dbcd332e747844e7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Disable broken Proton mail startup</title>
<updated>2026-06-17T14:47:38Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-06-17T14:47:38Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=840691690f88711a84abfc4cb05718e9fd5d2255'/>
<id>urn:sha1:840691690f88711a84abfc4cb05718e9fd5d2255</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore(thunderbird): switch flatpak app id to org.mozilla.thunderbird</title>
<updated>2026-05-29T10:18:15Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-29T10:18:15Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=d1536ec455abc28a2bde34281d4b33cdad398436'/>
<id>urn:sha1:d1536ec455abc28a2bde34281d4b33cdad398436</id>
<content type='text'>
Upstream marked org.mozilla.Thunderbird end-of-life. Flathub split it
into two replacement IDs:

  org.mozilla.thunderbird      monthly release channel (new default)
  org.mozilla.thunderbird_esr  ESR / long-term-support channel

Move to the lowercase monthly-release flatpak, which is what Mozilla
now recommends for regular desktop users and gets features at the same
cadence as Firefox.

Renamed references in:

* meta/flatpak.txt          - the package list the user installs from
* meta/base.txt             - comment in the mail-bits section
* dot_config/sway/config    - window-match app_id rule for marking
* dot_config/mimeapps.list  - mailto/ics/webcal handler .desktop names
* run_onchange_after_deploy-thunderbird.sh.tmpl - profile path under
  ~/.var/app/&lt;id&gt;/.thunderbird/
* run_onchange_after_deploy-tb-eer.sh.tmpl - flatpak override target
  and sandbox path for External Editor Revived bridge
* run_onchange_after_deploy-pteid-pkcs11.sh.tmpl - Mozilla-family
  flatpak NSS DB registration list
* README.md                 - doc snippets and xdg-mime example

On-host migration:

  flatpak install -y flathub org.mozilla.thunderbird
  # Preserve accounts, OpenPGP keys, calendars, EER bridge wrapper:
  mv ~/.var/app/org.mozilla.Thunderbird ~/.var/app/org.mozilla.thunderbird
  flatpak uninstall -y org.mozilla.Thunderbird
  chezmoi apply -v
  update-desktop-database ~/.local/share/applications 2&gt;/dev/null || true

Verify mail handler:
  xdg-mime query default x-scheme-handler/mailto
  # -&gt; org.mozilla.thunderbird.desktop
</content>
</entry>
<entry>
<title>feat(suspend): re-enable suspend on s2idle, drop diagnostic scaffolding</title>
<updated>2026-05-29T10:18:15Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-29T10:18:15Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=6e0c5c33438e5e898bd075c33a45b3abf9d1b26b'/>
<id>urn:sha1:6e0c5c33438e5e898bd075c33a45b3abf9d1b26b</id>
<content type='text'>
Confirmed root cause: this hardware's S3 (deep) firmware path triggers a
fatal wake-from-suspend hang only on linux-hardened. INIT_ON_FREE + slab
hardening + tighter locking turn a latent driver race that stock linux
gets away with into an unrecoverable panic so early the journal isn't
even flushed. mem_sleep_default=s2idle bypasses the BIOS S3 path
entirely (s0ix is a pure-kernel low-power state) and suspends/resumes
reliably under hardened.

This is a widespread Lenovo S3 firmware issue across post-2018
ThinkPads (see Ubuntu T560, X1C9/10/11 reports). Lenovo themselves
moved newer firmwares to s2idle-only. Not a linux-hardened bug per se;
just hardened being a strict enough kernel to make the bug fatal.

Keep:
* mem_sleep_default=s2idle in etc/kernel/cmdline-linux-hardened.tmpl
  (only the hardened UKI; stock linux keeps unchanged shared cmdline)

Revert (all the diagnostic / speculative scaffolding from the last
few commits):
* MODULES=(intel_lpss_pci) → MODULES=()  — Arch wiki touchpad fix was
  not the cause here
* nmi_watchdog=panic softlockup_panic=1 panic=10 — only needed to
  auto-reboot during diagnosis
* no_console_suspend — diagnostic-only
* etc/systemd/logind.conf.d/20-no-suspend.conf  — masking workaround
* sleep-target masking block in run_onchange_after_deploy-etc.sh.tmpl,
  replaced with a one-shot cleanup that removes any leftover
  /dev/null symlinks from systems that ran the previous version
* systemd-pstore.service from systemd-units/system.txt — added only to
  catch the diagnostic panic
* diagnose-suspend.sh helper (and its .gitignore/.chezmoiignore entries)
* sway suspend → lock-session keybind workaround
* power-menu.sh Suspend entry restoration
* KEYBINDS.md docs
</content>
</entry>
<entry>
<title>feat(suspend): disable system suspend until hardened kernel resume issue is fixed</title>
<updated>2026-05-29T10:18:14Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-29T10:18:14Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=3be68c032c864fa98ed85e54ea5af19976c55ed7'/>
<id>urn:sha1:3be68c032c864fa98ed85e54ea5af19976c55ed7</id>
<content type='text'>
linux-hardened wedges on resume from S3 (NVMe/i915/iwlwifi driver UAF
exposed by INIT_ON_FREE + slab hardening). Until root-caused, take
suspend off the table while keeping lock + DPMS intact.

- etc/systemd/logind.conf.d/20-no-suspend.conf: lid close, suspend
  key, hibernate key all map to 'lock'; IdleAction=ignore (swayidle
  drives DPMS+swaylock independently).
- run_onchange_after_deploy-etc.sh.tmpl: mask sleep.target,
  suspend.target, hibernate.target, hybrid-sleep.target,
  suspend-then-hibernate.target via /etc/systemd/system -&gt; /dev/null
  symlinks. Catches 'systemctl suspend' from any source.
- dot_config/sway/config: XF86Sleep and system-mode 's' now run
  loginctl lock-session instead of systemctl suspend.
- dot_config/sway/executable_power-menu.sh: drop Suspend entry.
- KEYBINDS.md: reflect new behaviour.

To re-enable later: remove the logind drop-in + symlink loop, then
sudo systemctl daemon-reload.
</content>
</entry>
<entry>
<title>fix(sway): disable shortcut inhibitor for waydroid windows</title>
<updated>2026-05-22T13:28:18Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-22T13:28:18Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=d674ce8b2050ba472b81d6258b7fc7628d52799e'/>
<id>urn:sha1:d674ce8b2050ba472b81d6258b7fc7628d52799e</id>
<content type='text'>
</content>
</entry>
</feed>
