Skip to content

fix: launch Terminal=true apps in a terminal emulator from app launcher - #150

Open
iamjoshuanicholas wants to merge 1 commit into
ilyamiro:masterfrom
iamjoshuanicholas:fix/terminal-app-launch
Open

fix: launch Terminal=true apps in a terminal emulator from app launcher#150
iamjoshuanicholas wants to merge 1 commit into
ilyamiro:masterfrom
iamjoshuanicholas:fix/terminal-app-launch

Conversation

@iamjoshuanicholas

Copy link
Copy Markdown

Problem

Terminal-based apps (anything with Terminal=true in their .desktop entry) silently fail to launch from the app launcher. This is a known Quickshell limitation — DesktopEntry.runInTerminal is exposed but never automatically wrapped into the exec command, so shells built on Quickshell need to handle it themselves.

Fix

  • app_fetcher.py now parses Terminal=true/Terminal=1 from .desktop files and includes it as a terminal field in the JSON output
  • appLauncher.qml's launchApp() now receives the full app object (instead of just the exec string), checks the terminal flag, and wraps the command in kitty -e when set

Testing

Confirmed terminal apps now launch correctly from the launcher, both via Enter key and mouse click. Non-terminal apps unaffected.

Quickshell's DesktopEntry type exposes runInTerminal but does not
automatically wrap the exec command in a terminal, even when the
.desktop file sets Terminal=true. This caused terminal-based apps
to silently fail to launch from the app launcher.

- app_fetcher.py now parses Terminal=true/1 from .desktop files
  and includes it in the JSON output as a 'terminal' field
- appLauncher.qml's launchApp() now accepts the full app object,
  checks the terminal flag, and wraps the exec in 'kitty -e' when set
@ModalesXD

Copy link
Copy Markdown

What happens if the user uses another terminal, such as Alacritty?

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.

2 participants