mirror of
https://github.com/lucannez64/darling-lol.git
synced 2026-10-26 19:47:42 +00:00
fix(launcher): only remove launcher artifacts this project created
Match the legacy entry against this checkout's desktop-run.sh instead of any desktop-run.sh, and delete the legacy icon files only after that entry or the old artwork proves ownership. Quote and escape Exec arguments as the Desktop Entry specification requires, so a checkout path with reserved characters no longer produces an invalid entry, and escape the Path value. Use StartupWMClass=RiotClientServices in both entries: Darling derives WM_CLASS from -[NSProcessInfo processName], the basename of argv[0], and the launcher starts .../RiotClientServices. "Riot Client" is only the bundle display name, so the checkout entry never matched the window. Both entries now share Name/GenericName/Comment/Icon/Keywords/Categories and a test keeps them in sync; Terminal stays different because the checkout entry logs to build/desktop-launch.log while the packaged entry runs the session in a terminal. Also drop the stray top-level icon copies, handle dangling legacy symlinks, name the icon for assistive technology, document the alias and menu entry, and cover the helper with disposable-HOME tests.
This commit is contained in:
1 parent
6dec8e176e
commit
4d0affe1fc
8 files changed
+295
-55
No files matched your search
@@ -91,6 +91,9 @@ darling-lol --installer
|
||||
darling-lol-shell
|
||||
```
|
||||
|
||||
The application menu entry is `Darling Launcher`, and `darling-launcher` is an
|
||||
alias for `darling-lol` for scripts that prefer the neutral name.
|
||||
|
||||
If the desktop entry does not appear, ensure your desktop session includes
|
||||
`~/.nix-profile/share` in `XDG_DATA_DIRS`, then log out and back in. Non-NixOS
|
||||
systems may need this desktop-session integration after installing Nix.
|
||||
|
||||
+9
-4
@@ -61,10 +61,15 @@ The normal launcher starts neither an Electron inspector nor client API/UI helpe
|
||||
|
||||
## Application-menu diagnostics and recovery options
|
||||
|
||||
`scripts/create-desktop-entry.sh` creates an application-menu entry that runs
|
||||
`scripts/desktop-run.sh`, preserving the normal launcher behavior and saving
|
||||
stdout/stderr in `build/desktop-launch.log` with mode 0600. Logs can contain
|
||||
private session details; do not attach raw launcher logs to a public issue.
|
||||
`scripts/create-desktop-entry.sh` creates a `Darling Launcher` application-menu
|
||||
entry that runs `scripts/desktop-run.sh`, preserving the normal launcher behavior
|
||||
and saving stdout/stderr in `build/desktop-launch.log` with mode 0600. Logs can
|
||||
contain private session details; do not attach raw launcher logs to a public
|
||||
issue. The helper also removes the `league-of-legends.*` entry and icons written
|
||||
by older versions, but only when it can prove this project created them. The
|
||||
entry keeps `StartupWMClass=RiotClientServices`: Darling derives `WM_CLASS` from
|
||||
the basename of `argv[0]`, so that is the window class of the client the entry
|
||||
starts, while `Riot Client` is only its bundle display name.
|
||||
Region/locale remain the existing `RCLOL_REGION`/`RCLOL_LOCALE` options.
|
||||
|
||||
`RCLOL_CDN_IPV4_ONLY` defaults to `1` in the Riot launcher and can be set to `0`
|
||||
|
||||
+5
-1
@@ -78,6 +78,7 @@ Host-only checks, which do not start Darling:
|
||||
python3 tools/riot-cdn-dns-offline-check.py
|
||||
python3 -m unittest discover -s tests -p 'test_hidden_riot_recovery.py'
|
||||
python3 -m unittest discover -s tests -p 'test_desktop_run.py'
|
||||
python3 -m unittest discover -s tests -p 'test_desktop_entry.py'
|
||||
python3 -m unittest discover -s tests -p 'test_urlsession_runner.py'
|
||||
```
|
||||
|
||||
@@ -87,7 +88,10 @@ insensitivity, A queries, non-CDN names and misleading domain suffixes without
|
||||
sending a DNS query. Recovery tests use fake `/proc` entries and mock every
|
||||
compositor/shutdown command. The desktop test checks exit/argument forwarding,
|
||||
append-only output and tightening an existing public log to mode 0600. The
|
||||
runner test uses a fake `darling` executable to verify loopback fixtures and
|
||||
desktop-entry test renders the helper against a disposable `HOME` and checks
|
||||
the neutral fields, Exec quoting, icon paths, that only launcher artifacts
|
||||
this project created are removed, and that the checkout and packaged entries
|
||||
share their identity fields. The runner test uses a fake `darling` executable to verify loopback fixtures and
|
||||
private-prefix-only shutdown/cleanup.
|
||||
|
||||
With the pinned Darling sources available, run the host resolver regression:
|
||||
|
||||
Reference in new issue
Block a user