45

I have a custom .desktop file:

[Desktop Entry]
Type=Application
Terminal=false
Icon[en_US]=/home/alex/bin/idea-IC-173.4127.27/bin/idea.png
Name[en_US]=IntelliJ
Exec=/home/alex/bin/idea-IC-173.4127.27/bin/idea.sh
Name=IntelliJ
Icon=/home/alex/bin/idea-IC-173.4127.27/bin/idea.png

Output of ls -lha .local/share/applications/intellij.desktop:

-rwx--x--x 1 alex alex 248 Dez 30 10:54 .local/share/applications/intellij.desktop

Answers posted to a previous question (How can I add custom '.desktop' application launchers to Ubuntu Dock?) don't work for me. I can find this launcher in Activities and I can double click on that file and IntelliJ will start. Nevertheless, I cannot add this launcher as a favorite to the dock. The option does not show up.

pomsky
  • 70,557
kerner1000
  • 4,530

5 Answers5

51

Open Terminal and run

gsettings get org.gnome.shell favorite-apps

You should get the list of .desktop files associated to the apps pinned to Ubuntu dock in order, something like the following:

['appname-1.desktop', 'appname-2.desktop', 'appname-3.desktop', 'appname-4.desktop', 'appname-5.desktop']

Suppose you want to pin the app associated to the intellij.desktop file as the second item in the dock. In that case, run

gsettings set org.gnome.shell favorite-apps "['appname-1.desktop', 'intellij.desktop', 'appname-2.desktop', 'appname-3.desktop', 'appname-4.desktop', 'appname-5.desktop']"
pomsky
  • 70,557
17

The answer from @pomsky is correct, but there is an easier way: use

dconf-editor  

(install it with sudo apt-get install dconf-editor if not installed) and navigate to

org/gnome/shell/favorite-apps.

There it is possible to edit and rearrange the Launcher.

abu_bua
  • 11,313
user866381
  • 211
  • 2
  • 6
11

This can happen when the StartupWMClass doesn't correspond to the WMClass of the application. See this question for details on how it works and how to find the WMClass. In my case, setting the correct StartupWMClass in the .desktop file fixes this issue.

Hypercube
  • 676
0

In my case the file was initially named idea.desktop

I had to rename it to jetbrains-idea.desktop to get this to work

I realized this since hovering over the icon on the dock shows a tooltip of jetbrains-idea

sudo mv /usr/share/applications/idea.desktop /usr/share/applications/jetbrains-idea.desktop
keemahs
  • 133
0

If you want to set the favorites system-wide for all users, there is a guide on Gnome's website (under the heading Set the same favorite applications for all users):

  1. sudo nano /etc/dconf/profile/user

    user-db:user
    system-db:local
    
  2. Ctrl + X, Y, Enter

  3. sudo mkdir /etc/dconf/db/local.d/
    sudo nano /etc/dconf/db/local.d/00-favorite-apps
    
    # Default favorites for all users
    [org/gnome/shell]
    favorite-apps = ['docker-desktop.desktop', 'org.gnome.Nautilus.desktop', 'firefox-esr.desktop', 'github-desktop.desktop', 'org.gnome.Settings.desktop', 'gnome-system-monitor.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.TextEditor.desktop', 'gnome-tweaks.desktop']
    
  4. Ctrl + X, Y, Enter

  5. sudo dconf update

  6. Logout > Login

  7. Observe that the Favourite Applications menu has now been changed to:

    • Docker Desktop
    • Files
    • Firefox ESR
    • GitHub Desktop
    • Settings
    • System Monitor
    • Terminal
    • Text Editor
    • Tweaks

It is also possible to lock the favorites from being edited:

  1. sudo nano /etc/dconf/db/local.db/locks/favorite-apps

    # Lock default favorite applications
    /org/gnome/shell/favorite-apps
    
  2. Ctrl + X, Y, Enter

  3. dconf update

Notes:

  • I did this on Debian not Ubuntu, so the app names could differ
    • I am told that org.gnome.Settings.desktop should read gnome-control-center.desktop on Ubuntu
  • Apps with the wrong name (precisely correct) will not appear in the menu