From 7af7dadd17a45a22633cad2325ca3cf9ac815ca7 Mon Sep 17 00:00:00 2001
From: David
Date: Mon, 10 Oct 2022 18:23:36 +0100
Subject: Add instructions for gnome desktop support using the `.desktop` file
 (#4165)

---
 README.md           | 27 ++++++++++++++++++++++-----
 book/src/install.md | 34 +++++++++++++++++++++++++---------
 2 files changed, 47 insertions(+), 14 deletions(-)

diff --git a/README.md b/README.md
index ff0699c6..1e12ef2d 100644
--- a/README.md
+++ b/README.md
@@ -48,11 +48,11 @@ tree-sitter grammars may be manually fetched and built with `hx --grammar fetch`
 Helix also needs its runtime files so make sure to copy/symlink the `runtime/` directory into the
 config directory (for example `~/.config/helix/runtime` on Linux/macOS, or `%AppData%/helix/runtime` on Windows).
 
-| OS                   | Command                                      |
-| -------------------- | -------------------------------------------- |
-| Windows (cmd.exe)    | `xcopy /e /i runtime %AppData%\helix\runtime`      |
-| Windows (PowerShell) | `xcopy /e /i runtime $Env:AppData\helix\runtime`   |
-| Linux/macOS          | `ln -s $PWD/runtime ~/.config/helix/runtime` |
+| OS                   | Command                                          |
+| -------------------- | ------------------------------------------------ |
+| Windows (cmd.exe)    | `xcopy /e /i runtime %AppData%\helix\runtime`    |
+| Windows (PowerShell) | `xcopy /e /i runtime $Env:AppData\helix\runtime` |
+| Linux/macOS          | `ln -s $PWD/runtime ~/.config/helix/runtime`     |
 
 This location can be overridden via the `HELIX_RUNTIME` environment variable.
 
@@ -68,6 +68,23 @@ for a language.
 
 [![Packaging status](https://repology.org/badge/vertical-allrepos/helix.svg)](https://repology.org/project/helix/versions)
 
+## Adding Helix to your desktop environment
+
+If installing from source, to use Helix in desktop environments that supports [XDG desktop menu](https://specifications.freedesktop.org/menu-spec/menu-spec-latest.html), including Gnome and KDE, copy the provided `.desktop` file to the correct folder:
+
+```bash
+cp contrib/Helix.desktop ~/.local/share/applications
+```
+
+To use another terminal than the default, you will need to modify the `.desktop` file. For example, to use `kitty`:
+
+```bash
+sed -i "s|Exec=hx %F|Exec=kitty hx %F|g" ~/.local/share/applications/Helix.desktop
+sed -i "s|Terminal=true|Terminal=false|g" ~/.local/share/applications/Helix.desktop
+```
+
+Please note: there is no icon for Helix yet, so the system default will be used.
+
 ## MacOS
 
 Helix can be installed on MacOS through homebrew:
diff --git a/book/src/install.md b/book/src/install.md
index d7a51ac2..136e12c9 100644
--- a/book/src/install.md
+++ b/book/src/install.md
@@ -60,24 +60,40 @@ cargo install --path helix-term
 
 This will install the `hx` binary to `$HOME/.cargo/bin`.
 
-Helix also needs it's runtime files so make sure to copy/symlink the `runtime/` directory into the
+Helix also needs its runtime files so make sure to copy/symlink the `runtime/` directory into the
 config directory (for example `~/.config/helix/runtime` on Linux/macOS). This location can be overridden
 via the `HELIX_RUNTIME` environment variable.
 
-| OS                | command   |
-|-------------------|-----------|
-|windows(cmd.exe)   |`xcopy /e /i runtime %AppData%/helix/runtime`     |
-|windows(powershell)|`xcopy /e /i runtime $Env:AppData\helix\runtime`  |
-|linux/macos        |`ln -s $PWD/runtime ~/.config/helix/runtime`|
+| OS                  | command                                          |
+| ------------------- | ------------------------------------------------ |
+| windows(cmd.exe)    | `xcopy /e /i runtime %AppData%/helix/runtime`    |
+| windows(powershell) | `xcopy /e /i runtime $Env:AppData\helix\runtime` |
+| linux/macos         | `ln -s $PWD/runtime ~/.config/helix/runtime`     |
 
-## Finishing up the installation 
+To use Helix in desktop environments that supports [XDG desktop menu](https://specifications.freedesktop.org/menu-spec/menu-spec-latest.html), including Gnome and KDE, copy the provided `.desktop` file to the correct folder:
+
+```bash
+cp contrib/Helix.desktop ~/.local/share/applications
+```
+
+To use another terminal than the default, you will need to modify the `.desktop` file. For example, to use `kitty`:
+
+```bash
+sed -i "s|Exec=hx %F|Exec=kitty hx %F|g" ~/.local/share/applications/Helix.desktop
+sed -i "s|Terminal=true|Terminal=false|g" ~/.local/share/applications/Helix.desktop
+```
+
+Please note: there is no icon for Helix yet, so the system default will be used.
+
+## Finishing up the installation
+
+To make sure everything is set up as expected you should finally run the helix healthcheck via
 
-To make sure everything is set up as expected you should finally run the helix healthcheck via 
 ```
 hx --health
 ```
-For more information on the information displayed in the healthcheck results refer to [Healthcheck](https://github.com/helix-editor/helix/wiki/Healthcheck).
 
+For more information on the information displayed in the health check results refer to [Healthcheck](https://github.com/helix-editor/helix/wiki/Healthcheck).
 
 ### Building tree-sitter grammars
 
-- 
cgit v1.2.3-70-g09d2