8000 Add Linux .desktop file by MichaelMcDonnell · Pull Request #38038 · servo/servo · GitHub
[go: up one dir, main page]

Skip to content

Conversation

MichaelMcDonnell
Copy link
Contributor
@MichaelMcDonnell MichaelMcDonnell commented Jul 13, 2025

I'm trying to use Servo as a daily driver. I like to pin the most often used apps to the my taskbar (Dash to Panel in Gnome). I also launch apps from the menu (Arc Menu). Adding a .desktop file make it show up in the menu. I could not get pinning to work until I set the name with winit. This is because the name is used to match it with the icon. I used the Gnome Looking Glass (lg) command to determine that the name was not set.

Testing: I followed the instructions that I put in the .desktop file. I copied the .desktop file to the right folder, set up a link to the svg icon, and adjusted the paths to point to the compiled executable.

I'm trying to use Servo as a daily driver. I like to pin the most often
used apps to the my taskbar (Dash to Panel in Gnome). I also launch apps
from the menu (Arc Menu). Adding a .desktop file make it show up in the
menu. I could not get pinning to work until I set the name with `winit`.
This is because the name is used to match it with the icon. I used the
Gnome Looking Glass (lg) command to determine that the name was not set.

Testing: I followed the instructions that I put in the .desktop file. I
copied the .desktop file to the right folder, set up a link to the svg
icon, and adjusted the paths to point to the compiled executable.

Signed-off-by: Michael Mc Donnell <michael@mcdonnell.dk>
Two issue came up during the review. I had forgotten to gate the change
for Linux. The other was import the Wayland window attributes or the X11
attributes. They both call the exact same code but I think importing the
Wayland version might be better since X11 is being deprecated by several
distributions.

Signed-off-by: Michael Mc Donnell <michael@mcdonnell.dk>
@webbeef
Copy link
Contributor
webbeef commented Jul 13, 2025

lgtm, thanks!

@MichaelMcDonnell
Copy link
Contributor Author

lgtm, thanks!

Thank you for the review!

@jdm jdm added this pull request to the merge queue Jul 13, 2025
Merged via the queue into servo:main with commit c2df8a1 Jul 13, 2025
21 checks passed
@MichaelMcDonnell
Copy link
Contributor Author

Thanks for merging @jdm!

@MichaelMcDonnell MichaelMcDonnell deleted the add_linux_desktop_file branch July 13, 2025 23:41
PotatoCP added a commit to PotatoCP/servo that referenced this pull request Jul 14, 2025
{"fail_fast": false, "matrix": [{"name": "Linux (WPT)", "workflow": "linux", "wpt": true, "profile": "release", "unit_tests": false, "build_libservo": false, "bencher": false, "build_args": "", "wpt_args": "./tests/wpt/tests/webdriver/tests/classic/ --product servodriver --headless", "number_of_wpt_chunks": 1}]}
longvatrong111 added a commit to longvatrong111/servo that referenced this pull request Jul 14, 2025
{"fail_fast": false, "matrix": [{"name": "Linux (WPT)", "workflow": "linux", "wpt": true, "profile": "release", "unit_tests": false, "build_libservo": false, "bencher": false, "build_args": "", "wpt_args": "./tests/wpt/tests/webdriver/tests/classic/ --product servodriver --headless", "number_of_wpt_chunks": 1}]}
longvatrong111 added a commit to longvatrong111/servo that referenced this pull request Jul 14, 2025
{"fail_fast": false, "matrix": [{"name": "Linux (WPT)", "workflow": "linux", "wpt": true, "profile": "release", "unit_tests": false, "build_libservo": false, "bencher": false, "build_args": "", "wpt_args": "./tests/wpt/tests/webdriver/tests/classic/ --product servodriver --headless", "number_of_wpt_chunks": 1}]}
@mrobinson
Copy link
Member
mrobinson commented Jul 14, 2025

Usually .desktop files are installed on the target system by installers. It's a bit odd to have this file in the repository but not ship it in any way.

@MichaelMcDonnell
Copy link
Contributor Author

Usually .desktop files are installed on the target system by installers. It's a bit odd to have this file in the repository but not ship it in any way.

I can understand why it seems odd. This is not intended for shipping to end users yet. This is focused on improving the developer experience and not the end user experience as a start. I am challenging myself to use Servo more and this makes it easier for me to start Servo. I thought it would be better to have this in the repository for other developers to use instead of me keeping it to myself. It was also a good manual test that showed we need to set the name and wmclass on Linux.

We could add a mach command that installs the .desktop file for developers. We can later also use the .desktop file as a starting point for packaging on Linux for end users.

Does that make more sense? Do you have any suggestions?

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.

4 participants
0