Skip to content

Port crash fixes and install scripts from cycloarcane/stability-fixes-and-install#7

Open
cycloarcane wants to merge 1 commit intoRainyPixel:mainfrom
cycloarcane:main
Open

Port crash fixes and install scripts from cycloarcane/stability-fixes-and-install#7
cycloarcane wants to merge 1 commit intoRainyPixel:mainfrom
cycloarcane:main

Conversation

@cycloarcane
Copy link

Ports the fixes from cycloarcane/wallpaper-engine-kde-plugin PR #573 upstream.

Changes

Fix 1 — TTYSwitchMonitor: qFatal → qWarning

On systems where D-Bus is unavailable or slow at startup, the two qFatal() calls in TTYSwitchMonitor would call abort() and kill plasmashell immediately. Replaced with qWarning() so the plugin degrades gracefully with sleep/wake detection disabled.

Fix 3 & 4 — install.sh / uninstall.sh

New one-shot install and uninstall scripts supporting Arch, Debian/Ubuntu, Fedora, and openSUSE. The Arch dependency list includes sndio, which is required by libmpv on Arch (without it the plugin fails to load with a missing-library error in the journal).

Submodule cleanup

Repoints .gitmodules back to RainyPixel/wallpaper-scene-renderer (removes the dependency on the third-party CaptSilver fork).

Pending

Fix 2 — Particle wallpaper crash

A separate PR has been opened against your scene renderer:
👉 RainyPixel/wallpaper-scene-renderer#1

Certain particle wallpapers (e.g. workshop item 2609314607) cause a std::out_of_range exception in SpriteAnimation::GetCurFrame which propagates uncaught through LoadMaterial and hits std::terminate. Once that renderer PR is merged the submodule pointer here can be bumped to include it.

Fix 5 — NO TEXT badge

The original Python backend had a analyse_pkg function that detected text objects in .pkg files and showed a warning badge in the wallpaper picker. Since this fork replaced Python with native C++, this needs reimplementing as a FileHelper::analysePkg() method. Will follow up in a separate PR.

Test plan

  • Build on Arch — ./install.sh --skip-restart completes without errors
  • Confirm sndio is pulled in and plugin loads (journalctl /usr/bin/plasmashell shows no missing-library errors)
  • Disconnect D-Bus / run on a system without login1 — plasmashell stays alive, warning appears in journal
  • ./uninstall.sh --yes removes the plugin cleanly

🤖 Generated with Claude Code

…-and-install

- TTYSwitchMonitor: replace qFatal with qWarning so D-Bus failures
  degrade gracefully instead of killing plasmashell (fix RainyPixel#1)

- install.sh / uninstall.sh: new one-shot scripts for Arch, Debian,
  Fedora and openSUSE; adds sndio to Arch deps (required by libmpv);
  uninstaller uses kpackagetool6 with rm fallback (fixes RainyPixel#3 and RainyPixel#4)

- .gitmodules: repoint backend_scene submodule back to
  RainyPixel/wallpaper-scene-renderer (removes CaptSilver dependency)

- submodule: reset to RainyPixel renderer HEAD (70ce49c); particle
  crash fix (fix RainyPixel#2) is pending merge of
  RainyPixel/wallpaper-scene-renderer#1

Ported from catsout/wallpaper-engine-kde-plugin#573

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant