Skip to content

Commit

Permalink
XDG application desktop launcher & configuration cleanup
Browse files Browse the repository at this point in the history
There were `.desktop` files for applications that are not used anymore
for some time now as well as applications that don't require a
user-level launcher file anymore.

>> Desktop Launchers

- `atom.desktop` - Atom [1] was not used anymore since at least February
  23 2019 and was replaced by Visual Studio Code [2] in GH-179.
- `evolution.desktop` - The usage of Evolution [3] was only temporary
  and for test purposes regarding the compatibility with different
  protocols that could be used through opt-in extensions,
  but it was never the plan to replace the fantasic Thunderbird [4] as
  main mail application.
- `gpick.desktop` - The main reason for a user-level launcher was the
  missing `MimeType` entry for `application/x-gpick-palette` which has
  already been patched in the upstream [5]. Anyway, Gpick is also not
  used anymore since most design related applications include tools to
  pick colors, like e.g. Firefox's Eyedropper [6] or of course GIMP [7].
- `gtkhash.desktop` - GTKHash [8] is also not used anymore,
  the user-level launcher was introduced back then to add more keywords
  for supported hash algorithms.
- `jetbrains-ide.desktop` - The user-level launcher was introduced
  because the used icon name `intellij-idea-ultimate-edition` was not
  provided by the used icon the ("Numix Circle") so it was changed to
  the available `idea` icon. Anyway, a symlink was added a long time ago
  in the icon theme upstream and therefore the custom launcher is not
  required anymore.
- `org.gnome.gedit.desktop` - The user-level launcher was introduced to
  add more _MIME_ types that should be handled by Gedit [9], this was
  then resolved shortly afterwards using the correct way through XDG
  MIME type handling [10].
- `shotwell-viewer.desktop` - The user-level launcher was introduced in
  order to hide the `shotwell-viewer` application, that is not intended
  to be called as standalone application, using the `NoDisplay`
  attribute. Anyway, the launcher is now hidden by default in the
  upstream [11] and therefore doesn't require a custom launcher anymore.

>> XDG Autostart

- `dropbox.desktop` - Dropbox [12] was only used for testing purposes
  and has been replaced by the fantastic and advanced Syncthing [13] and
  Seafile [14] projects.

>> XDG Configurations

The `$XDG_CONFIG_HOME/gtk-*/bookmarks` file was never really useful
since it only support absolute file/directory paths using the `file://`
protocol but doesn't resolve environment variables.
It also takes less than a minute to manually create the bookmarks using
either Nautilus UI or any other GTK application that support the
`GtkPlacesSidebar` API [15]. This also allows to dynamically add or
remove bookmarks based on the current requirements.
Therefore the file has been removed at all.

[1]: https://atom.io
[2]: https://code.visualstudio.com
[3]: https://wiki.gnome.org/Apps/Evolution
[4]: https://www.thunderbird.net
[5]: https://github.com/thezbyg/gpick/blob/6adcd1337416e11959a7bc64829ac63459086416/share/applications/gpick.desktop#L10
[6]: https://developer.mozilla.org/en-US/docs/Tools/Eyedropper
[7]: https://www.gimp.org
[8]: https://github.com/tristanheaven/gtkhash
[9]: https://wiki.gnome.org/Apps/Gedit
[10]: https://wiki.archlinux.org/index.php/XDG_MIME_Applications
[11]: https://gitlab.gnome.org/GNOME/shotwell/-/blob/ca03ce2f8e70670d43be00e9f381f9cd22afbceb/data/org.gnome.Shotwell-Viewer.desktop.in#L9
[12]: https://www.dropbox.com
[13]: https://syncthing.net
[14]: https://www.seafile.com
[15]: https://developer.gnome.org/gtk3/stable/GtkPlacesSidebar.html

GH-246
  • Loading branch information
arcticicestudio committed Apr 14, 2020
1 parent 66852dd commit 8145b93
Show file tree
Hide file tree
Showing 12 changed files with 26 additions and 179 deletions.
19 changes: 0 additions & 19 deletions snowblocks/xdg/applications/atom.desktop

This file was deleted.

21 changes: 0 additions & 21 deletions snowblocks/xdg/applications/evolution.desktop

This file was deleted.

14 changes: 0 additions & 14 deletions snowblocks/xdg/applications/gpick.desktop

This file was deleted.

14 changes: 0 additions & 14 deletions snowblocks/xdg/applications/gtkhash.desktop

This file was deleted.

7 changes: 0 additions & 7 deletions snowblocks/xdg/applications/jetbrains-idea.desktop

This file was deleted.

15 changes: 0 additions & 15 deletions snowblocks/xdg/applications/org.gnome.gedit.desktop

This file was deleted.

12 changes: 0 additions & 12 deletions snowblocks/xdg/applications/shotwell-viewer.desktop

This file was deleted.

12 changes: 0 additions & 12 deletions snowblocks/xdg/autostart/dropbox.desktop

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@
[Desktop Entry]
Name=Plank
Type=Application
Exec=plank -n igloo
Exec=plank -n polarbear
Icon=plank
Binary file removed snowblocks/xdg/gtk-3.0/bookmarks-igloo.igloocrypt
Binary file not shown.
84 changes: 24 additions & 60 deletions snowblocks/xdg/snowblock.json
Original file line number Diff line number Diff line change
@@ -1,86 +1,50 @@
[
{
"clean": [
"~/.config",
"~/.config/autostart",
"~/.config/gtk-3.0",
"~/.local/share/applications"
"$XDG_CONFIG_HOME",
"$XDG_CONFIG_HOME/autostart",
"$XDG_CONFIG_HOME/gtk-3.0",
"$XDG_DATA_HOME/applications"
]
},
{
"link": {
"~/.config/user-dirs.conf": {
"force": true
},
"~/.config/user-dirs.dirs": {
"force": true
},
"~/.config/user-dirs.locale": {
"force": true
},
"~/.config/gtk-3.0/bookmarks": {
"$XDG_DATA_HOME/applications/minecraft.desktop": {
"create": true,
"force": true,
"hosts": {
"igloo": "gtk-3.0/bookmarks-igloo.igloocrypt"
"polarbear": "applications/minecraft.desktop"
}
},
"~/.local/share/applications/atom.desktop": {
"create": true,
"force": true,
"path": "applications/atom.desktop"
},
"~/.local/share/applications/evolution.desktop": {
"create": true,
"force": true,
"path": "applications/evolution.desktop"
},
"~/.local/share/applications/gpick.desktop": {
"create": true,
"force": true,
"path": "applications/gpick.desktop"
},
"~/.local/share/applications/gtkhash.desktop": {
"create": true,
"force": true,
"path": "applications/gtkhash.desktop"
},
"~/.local/share/applications/minecraft.desktop": {
"create": true,
"force": true,
"path": "applications/minecraft.desktop"
},
"~/.local/share/applications/org.gnome.gedit.desktop": {
"create": true,
"force": true,
"path": "applications/org.gnome.gedit.desktop"
},
"~/.local/share/applications/org.gnome.Screenshot.desktop": {
"$XDG_DATA_HOME/applications/org.gnome.Screenshot.desktop": {
"create": true,
"force": true,
"path": "applications/org.gnome.Screenshot.desktop"
},
"~/.local/share/applications/shotwell-viewer.desktop": {
"create": true,
"force": true,
"path": "applications/shotwell-viewer.desktop"
"hosts": {
"polarbear": "applications/org.gnome.Screenshot.desktop"
}
},
"~/.config/autostart/dropbox.desktop": {
"$XDG_CONFIG_HOME/autostart/plank.desktop": {
"create": true,
"force": true,
"path": "autostart/dropbox.desktop"
"hosts": {
"polarbear": "autostart/plank.desktop.polarbear"
}
},
"~/.config/autostart/plank.desktop": {
"$XDG_CONFIG_HOME/gtk-3.0/settings.ini": {
"create": true,
"force": true,
"hosts": {
"igloo": "autostart/plank.desktop.igloo"
"polarbear": "gtk-3.0/settings.ini"
}
},
"~/.config/gtk-3.0/settings.ini": {
"create": true,
"force": true,
"path": "gtk-3.0/settings.ini"
"$XDG_CONFIG_HOME/user-dirs.conf": {
"force": true
},
"$XDG_CONFIG_HOME/user-dirs.dirs": {
"force": true
},
"$XDG_CONFIG_HOME/user-dirs.locale": {
"force": true
}
}
}
Expand Down
5 changes: 1 addition & 4 deletions snowblocks/xdg/user-dirs.dirs
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,8 @@

XDG_DESKTOP_DIR="$HOME/desktop" Desktop
XDG_DOCUMENTS_DIR="$HOME/documents" Documents
XDG_TEMPLATES_DIR="$HOME/code/snippetbox/gists"
XDG_DOWNLOAD_DIR="$HOME/downloads" Downloads
XDG_MUSIC_DIR="$HOME/music" Music
XDG_PICTURES_DIR="$HOME/images" Images
XDG_TEMPLATES_DIR="$HOME/code/snippetbox/gists"
XDG_VIDEOS_DIR="$HOME/videos" Videos

# Public share directory is currently disabled
#XDG_PUBLICSHARE_DIR="$HOME/public/share"

0 comments on commit 8145b93

Please sign in to comment.