diff --git a/ports/servoshell/desktop/headed_window.rs b/ports/servoshell/desktop/headed_window.rs index 01835d40e1d..473b512f0d6 100644 --- a/ports/servoshell/desktop/headed_window.rs +++ b/ports/servoshell/desktop/headed_window.rs @@ -33,6 +33,8 @@ use winit::event::{ }; use winit::event_loop::ActiveEventLoop; use winit::keyboard::{Key as LogicalKey, ModifiersState, NamedKey}; +#[cfg(target_os = "linux")] +use winit::platform::wayland::WindowAttributesExtWayland; #[cfg(any(target_os = "linux", target_os = "windows"))] use winit::window::Icon; #[cfg(target_os = "macos")] @@ -96,6 +98,10 @@ impl Window { // happen before the window is shown for the first time. .with_visible(false); + // Set a name so it can be pinned to taskbars in Linux. + #[cfg(target_os = "linux")] + let window_attr = window_attr.with_name("org.servo.Servo", "Servo"); + #[allow(deprecated)] let winit_window = event_loop .create_window(window_attr) diff --git a/resources/org.servo.Servo.desktop b/resources/org.servo.Servo.desktop new file mode 100644 index 00000000000..3cc963343bb --- /dev/null +++ b/resources/org.servo.Servo.desktop @@ -0,0 +1,33 @@ +# You can use this file to get a menu entry on Linux and so you can pin Servo to your taskbar. +# +# Steps: +# 1. Create the applications folder if it doesn't exist: +# mkdir -p ~/.local/share/applications/ +# 2. Copy this file: +# cp org.servo.Servo.desktop ~/.local/share/applications +# 3. Edit the copied file and replace the two SERVO_SRC_PATH occurrences +# with the path to the Servo sources. +# 4. Create the icons folder if it doesn't exist: +# mkdir -p ~/.local/share/icons/hicolor/scalable/apps +# 5. Create a link for the icon: +# ln -s servo.svg ~/.local/share/icons/hicolor/scalable/apps/servo.svg +[Desktop Entry] +Version=1.0 +Name=Servo +GenericName=Web Browser +Comment=Browse the Web +# TODO: Replace SERVO_SRC_PATH with the path to the Servo sources +Exec=SERVO_SRC_PATH/target/release/servo %u +Icon=servo +Terminal=false +Type=Application +MimeType=text/html;text/xml;application/xhtml+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; +StartupNotify=true +Categories=Network;WebBrowser; +Keywords=web;browser;internet; +Actions=new-window; + +[Desktop Action new-window] +Name=Open a New Window +# TODO: Replace SERVO_SRC_PATH with the path to the Servo sources +Exec=SERVO_SRC_PATH/target/release/servo %u