Integrate native Rime and stabilize input, output, and rendering

- Add optional modifier-only Super binding whose tap is cancelled by
  other input, focus changes, grabs, locks, and session teardown.
- Ship the native ferese-rime user service, Rime defaults, installer
  inventory, package dependencies, session environment, and docs.
- Vendor Smithay 8a27023 with the SHM texture-cache format fix and add
  GPU regressions for format changes and resize snapshots.
- Release reused CRTC owners before staging output modes, then restore
  changed outputs before former owners when a transaction fails.
- Wait for resize-capture GPU completion, expand filtered surface
  damage, and preserve IME popup origin under fractional scaling.
- Mark weekends like holidays in both calendar layouts.
This commit is contained in:
aria committed 2026-10-30 03:13:43 +09:00
1 parent a2be421974
commit 993bc0f88f
391 files changed
+130908 -76

No files matched your search

+12
View File
@@ -141,6 +141,18 @@ m.main()
self.assertEqual(os.readlink(self.base / 'current'), 'releases/first')
self.assertEqual(installer.Installation(self.root).manifest('first')['release'], 'first')
def test_upgrade_and_rollback_accept_installed_release_before_native_rime(self):
self.install()
self.without_files(self.base / 'releases/first', {'ferese-rime', 'rime/default.custom.yaml'})
# Older releases did not publish the native input command either.
(self.root / 'usr/local/bin/ferese-rime').unlink()
self.install(1)
self.assertTrue((self.root / 'usr/local/bin/ferese-rime').is_symlink())
self.assertTrue((self.base / 'releases/second/ferese-rime').is_file())
self.run_command('rollback')
self.assertFalse((self.root / 'usr/local/bin/ferese-rime').exists())
self.assertEqual(installer.Installation(self.root).manifest('first')['release'], 'first')
def test_upgrade_and_rollback_accept_installed_release_before_appearance_wallpapers(self):
self.install()
legacy = self.base / 'releases/first'