You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`scijava.app.executable`| Path to application executable | All | Required for URI schemes and desktop icon |
132
+
|`scijava.app.name`| Application display name | All |`SciJava Application`|
133
+
|`scijava.app.icon`| Icon path or theme name | All | None |
134
+
|`scijava.app.directory`| Application working directory | All | None |
135
+
|`scijava.app.desktop-file`| Override `.desktop` file path | Linux |`~/.local/share/applications/<app>.desktop`|
136
+
|`scijava.app.categories`| Desktop entry categories | Linux |`Science;Education;`|
137
+
|`scijava.app.wmclass`| X11 WM_CLASS for taskbar matching | Linux | None (field omitted if unset) |
135
138
136
139
## User Interface
137
140
@@ -198,7 +201,7 @@ URI schemes are registered by:
198
201
3. Registering with `xdg-mime default <app>.desktop x-scheme-handler/<scheme>`
199
202
4. Updating the desktop database with `update-desktop-database`
200
203
201
-
Desktop icons are created by installing the `.desktop` file with appropriate fields (Name, Exec, Icon, Categories).
204
+
Desktop icons are created by installing the `.desktop` file with appropriate fields (`Name`, `Exec`, `Icon`, `Categories`, `TryExec`, `StartupNotify`, and optionally `StartupWMClass`). Set `scijava.app.wmclass` to the X11 WM_CLASS your application's windows carry (e.g. as set via `sun.awt.X11.XToolkit.awtAppClassName`) so GNOME Shell and other compositors can match the running window to the launcher entry for correct taskbar icons and grouping.
202
205
203
206
### macOS
204
207
@@ -219,26 +222,6 @@ HKCU\Software\Classes\myapp
219
222
(Default) = "C:\Path\To\App.exe" "%1"
220
223
```
221
224
222
-
## Known Issues
223
-
224
-
### Hardcoded Elements (Needs Fixes)
225
-
226
-
1.**Hardcoded "fiji" scheme**: WindowsPlatform:86,102 and LinuxPlatform:112,129 hardcode the "fiji" scheme instead of querying LinkHandler plugins.
227
-
- Impact: Only works for Fiji application
228
-
- Fix: See NEXT.md Work Item #1
229
-
230
-
2.**Hardcoded OS checks**: DefaultLinkService:119-132 directly checks OS name instead of using PlatformService.
231
-
- Impact: Violates plugin architecture
232
-
- Fix: See NEXT.md Work Items #2 and #3
233
-
234
-
### Missing Features
235
-
236
-
- File extension registration
237
-
- Windows desktop icon (Start Menu shortcut)
238
-
- First launch dialog for opt-in
239
-
240
-
See [NEXT.md](NEXT.md) for details on planned improvements.
@@ -252,34 +186,18 @@ Unlike macOS (where the `.app` bundle is code-signed and immutable), Windows all
252
186
- Only writes to `HKEY_CURRENT_USER` (per-user settings)
253
187
- Does not modify system-wide settings in `HKEY_LOCAL_MACHINE`
254
188
- Only registers URI schemes declared by `LinkHandler` plugins
255
-
- Does not expose arbitrary command execution
256
-
257
-
### Command-Line Injection
258
-
259
-
The `%1` parameter in the registry command is properly quoted:
260
-
```
261
-
"C:\Path\To\App.exe" "%1"
262
-
```
263
-
264
-
This prevents command-line injection attacks via malicious URIs.
189
+
- Uses proper quoting to avoid exposing arbitrary command execution
265
190
266
191
## Future Enhancements
267
192
268
193
1.**Start Menu Shortcut**: Implement desktop icon creation
269
-
2.**File Extension Registration**: Register file types in the registry
270
-
3.**Scheme Validation**: Validate scheme names against RFC 3986
271
-
4.**User Prompts**: Optional confirmation before registering schemes
272
-
5.**Uninstallation**: Automatic cleanup on application uninstall
273
-
6.**Icon Support**: Associate icons with schemes and file types
194
+
2.**Scheme Validation**: Validate scheme names against RFC 3986
195
+
3.**User Prompts**: Optional confirmation before registering schemes
196
+
4.**Uninstallation**: Automatic cleanup on application uninstall
197
+
5.**Icon Support**: Associate icons with file type registrations
274
198
275
199
## Resources
276
200
277
201
-[Microsoft URI Scheme Documentation](https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa767914(v=vs.85))
0 commit comments