Is there any way to add a launcher to the dock (optimally Slingshot, but any launcher would be great)? It seems odd to me as a matter of design and efficiency to have to go to two different locations to launch applications. A single location in the dock would be great -- either as an option or as the default.
You can use Cardapio - I think it's in the repositories, so type
sudo apt-get install Cardapio.
Then find Cardapio in slingshot and add it to Plank. I know it's not slingshot, but it works just as well, although you may need to use Menu Editor and hide some of the unnecessary entries.
Personally I use DockBarX with Cardapio, but before that I used Plank so I can tell you it works.
You can try Synapse
sudo add-apt-repository ppa:synapse-core/ppa sudo apt update sudo apt install synapse
Also if you want, you can remove slingshot entirely:
sudo apt remove slingshot-launcher
AppEditor will be your friend. You can have it from AppCenter. Easy to use. After first start of the program you can keep your new app on your dock.
You could try doing this via a sh script, then create a .desktop file as a launcher to add to plank. I've never done it myself, but that's where I would start
In scratch create a new file:
!#/bin/bash wingpanel --toggle-indicator app-launcher
save the file as launcher.sh or whatever.
chmod +x launcher.sh
...to make the sh executable.
Then create your desktop file and save it to ~/.loca/share/applications or for all users /usr/share/applications. Make sure the file has a .desktop extension, e.g, launcher.desktop.
[Desktop Entry] Type=Application Encoding=UTF-8 Name=App Launcher Comment=Wingpanel Plank Launcher Exec=/path/to/launcher.sh Icon=/path/to/icon Categories=Utility Terminal=false
I've never done this myself, but it's a place to start. And more fun than installing an app to do it for you!