-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linux .desktop file improvements #12707
Comments
I seem to remember the |
The 2nd point is about also having that app id stated in the .desktop file. |
It seems that you are a bit mistaken about how some of the .desktop FreeDesktop standards work.
The The name of the .desktop file MUST match the Wayland appId sans the .desktop suffix. If the Wayland appId is If the Wayland appId and the X11 resource class are the same then the You may be using GNOME desktop which adds the value of the |
Ooh, thanks for the clarification @ReillyBrogan ! |
On modern Linux it is preferred to use the fully qualified application ID for naming the desktop, icon, and metainfo files. Add a meson option to capture this variable and set it to `org.dosbox-staging.Dosbox-staging` which better matches that the homepage is dosbox-staging.org. Then ensure that we're setting the X11 `resourceclass` and the Wayland app_id to this value. Those values need to match the name of the .desktop file in order for compositors/window managers to correctly associate windows to the appropriate .desktop file (see [here](zed-industries/zed#12707 (comment)) for an explanation I previously wrote on how that works). Now that we're ensuring that both X11 and Wayland should have correct window associations we can drop `StartupWMClass` from the desktop file as it is now unnecessary. Also, since SDL3 changed how that is done I added some #if statements so that that's ready whenever dosbox-staging is ported to SDL3. Signed-off-by: Reilly Brogan <reilly@reillybrogan.com>
On modern Linux it is preferred to use the fully qualified application ID for naming the desktop, icon, and metainfo files. Add a meson option to capture this variable and set it to `org.dosbox-staging.DOSBoxStaging` which better matches that the homepage is dosbox-staging.org. Then ensure that we're setting the X11 `resourceclass` and the Wayland app_id to this value. Those values need to match the name of the .desktop file in order for compositors/window managers to correctly associate windows to the appropriate .desktop file (see [here](zed-industries/zed#12707 (comment)) for an explanation I previously wrote on how that works). Now that we're ensuring that both X11 and Wayland should have correct window associations we can drop `StartupWMClass` from the desktop file as it is now unnecessary. Also, since SDL3 changed how that is done I added some #if statements so that that's ready whenever dosbox-staging is ported to SDL3. Signed-off-by: Reilly Brogan <reilly@reillybrogan.com>
…n ID for naming the desktop, icon, and metainfo files. Add a meson option to capture this variable and set it to `org.dosbox-staging.DOSBoxStaging` which better matches that the homepage is dosbox-staging.org. Then ensure that we're setting the X11 `resourceclass` and the Wayland app_id to this value. Those values need to match the name of the .desktop file in order for compositors/window managers to correctly associate windows to the appropriate .desktop file (see [here](zed-industries/zed#12707 (comment)) for an explanation). Now that we're ensuring that both X11 and Wayland should have correct window associations we can drop `StartupWMClass` from the desktop file as it is now unnecessary. Also, since SDL3 changed how that is done some #if statements were added so that that's ready whenever dosbox-staging is ported to SDL3. Co-authored--by: Reilly Brogan <reilly@reillybrogan.com>
…n ID for naming the desktop, icon, and metainfo files. Add a meson option to capture this variable and set it to `org.dosbox-staging.DOSBoxStaging` which better matches that the homepage is dosbox-staging.org. Then ensure that we're setting the X11 `resourceclass` and the Wayland app_id to this value. Those values need to match the name of the .desktop file in order for compositors/window managers to correctly associate windows to the appropriate .desktop file (see [here](zed-industries/zed#12707 (comment)) for an explanation). Now that we're ensuring that both X11 and Wayland should have correct window associations we can drop `StartupWMClass` from the desktop file as it is now unnecessary. Also, since SDL3 changed how that is done some #if statements were added so that that's ready whenever dosbox-staging is ported to SDL3. Co-authored-by: Reilly Brogan <reilly@reillybrogan.com>
…n ID for naming the desktop, icon, and metainfo files. Add a meson option to capture this variable and set it to `org.dosbox-staging.DOSBoxStaging` which better matches that the homepage is dosbox-staging.org. Then ensure that we're setting the X11 `resourceclass` and the Wayland app_id to this value. Those values need to match the name of the .desktop file in order for compositors/window managers to correctly associate windows to the appropriate .desktop file (see [here](zed-industries/zed#12707 (comment)) for an explanation). Now that we're ensuring that both X11 and Wayland should have correct window associations we can drop `StartupWMClass` from the desktop file as it is now unnecessary. Also, since SDL3 changed how that is done some #if statements were added so that that's ready whenever dosbox-staging is ported to SDL3. Co-authored-by: Reilly Brogan <reilly@reillybrogan.com>
…n ID for naming the desktop, icon, and metainfo files. Add a meson option to capture this variable and set it to `org.dosbox-staging.DOSBoxStaging` which better matches that the homepage is dosbox-staging.org. Then ensure that we're setting the X11 `resourceclass` and the Wayland app_id to this value. Those values need to match the name of the .desktop file in order for compositors/window managers to correctly associate windows to the appropriate .desktop file (see [here](zed-industries/zed#12707 (comment)) for an explanation). Now that we're ensuring that both X11 and Wayland should have correct window associations we can drop `StartupWMClass` from the desktop file as it is now unnecessary. Also, since SDL3 changed how that is done some #if statements were added so that that's ready whenever dosbox-staging is ported to SDL3. Co-authored-by: Reilly Brogan <reilly@reillybrogan.com>
…n ID for naming the desktop, icon, and metainfo files. Add a meson option to capture this variable and set it to `org.dosbox-staging.DOSBoxStaging` which better matches that the homepage is dosbox-staging.org. Then ensure that we're setting the X11 `resourceclass` and the Wayland app_id to this value. Those values need to match the name of the .desktop file in order for compositors/window managers to correctly associate windows to the appropriate .desktop file (see [here](zed-industries/zed#12707 (comment)) for an explanation). Now that we're ensuring that both X11 and Wayland should have correct window associations we can drop `StartupWMClass` from the desktop file as it is now unnecessary. Also, since SDL3 changed how that is done some #if statements were added so that that's ready whenever dosbox-staging is ported to SDL3. Co-authored-by: Reilly Brogan <reilly@reillybrogan.com>
…n ID for naming the desktop, icon, and metainfo files. Add a meson option to capture this variable and set it to `org.dosbox-staging.DOSBoxStaging` which better matches that the homepage is dosbox-staging.org. Then ensure that we're setting the X11 `resourceclass` and the Wayland app_id to this value. Those values need to match the name of the .desktop file in order for compositors/window managers to correctly associate windows to the appropriate .desktop file (see [here](zed-industries/zed#12707 (comment)) for an explanation). Now that we're ensuring that both X11 and Wayland should have correct window associations we can drop `StartupWMClass` from the desktop file as it is now unnecessary. Also, since SDL3 changed how that is done some #if statements were added so that that's ready whenever dosbox-staging is ported to SDL3. Co-authored-by: Reilly Brogan <reilly@reillybrogan.com>
…n ID for naming the desktop, icon, and metainfo files. Add a meson option to capture this variable and set it to `org.dosbox-staging.DOSBoxStaging` which better matches that the homepage is dosbox-staging.org. Then ensure that we're setting the X11 `resourceclass` and the Wayland app_id to this value. Those values need to match the name of the .desktop file in order for compositors/window managers to correctly associate windows to the appropriate .desktop file (see [here](zed-industries/zed#12707 (comment)) for an explanation). Now that we're ensuring that both X11 and Wayland should have correct window associations we can drop `StartupWMClass` from the desktop file as it is now unnecessary. Also, since SDL3 changed how that is done some #if statements were added so that that's ready whenever dosbox-staging is ported to SDL3. Co-authored-by: Reilly Brogan <reilly@reillybrogan.com>
Check for existing issues
Describe the feature
Exec
line accounted for passing files or URLs as arguments (so "Open With... > Zed" works properly, and for registering as a handler forhttps://zed.dev/channel/*
-URLs). Looks like there is already some preparatory code for this but it's not being used.EDIT: incorporated clarifications from @ReillyBrogan . StartupWMClass is not needed if the wayland app id (and therefore the file name) is identical to the WM_CLASS on X11. This is already the case, so no action is needed on that front.
The text was updated successfully, but these errors were encountered: