Sorry, I couldn't let it go... this is what I found out... It took me 15 minutes including writing this reply.
Let's find all files in /usr that contains case insensitive word "launcher"
$ find /usr/ -iname '*launcher*'
/usr/bin/cautious-launcher
/usr/bin/unity-webapps-qml-launcher
/usr/lib/arm-linux-gnueabihf/ubuntu-system-settings/private/Ubuntu/SystemSettings/Launcher
/usr/lib/arm-linux-gnueabihf/ubuntu-system-settings/private/Ubuntu/SystemSettings/Launcher/libUbuntuLauncherPanel.so
/usr/lib/arm-linux-gnueabihf/ubuntu-system-settings/liblauncher-plugin.so
/usr/lib/arm-linux-gnueabihf/unity8/qml/Greeter/Unity/Launcher
/usr/lib/arm-linux-gnueabihf/unity8/qml/Greeter/Unity/Launcher/libUnityLauncherAS-qml.so
/usr/lib/arm-linux-gnueabihf/unity8/qml/Unity/Launcher
/usr/lib/arm-linux-gnueabihf/unity8/qml/Unity/Launcher/libUnityLauncher-qml.so
/usr/lib/python3/dist-packages/libertine/launcher
/usr/share/ubuntu/settings/system/launcher.settings
/usr/share/ubuntu/settings/system/qml-plugins/reset/ResetLauncherHome.qml
/usr/share/ubuntu/settings/system/qml-plugins/launcher
/usr/share/unity/themes/launcher_background_middle.png
/usr/share/unity/themes/launcher_background_top.png
/usr/share/unity/themes/launcher_background_bottom.png
/usr/share/unity/themes/launcher_reflection.png
/usr/share/applications/unitywebappsqmllauncher.desktop
/usr/share/unity8/Launcher
/usr/share/unity8/Launcher/LauncherDelegate.qml
/usr/share/unity8/Launcher/FoldingLauncherDelegate.qml
/usr/share/unity8/Launcher/Launcher.qml
/usr/share/unity8/Launcher/FoldingLauncherDelegate.qmlc
/usr/share/unity8/Launcher/Launcher.qmlc
/usr/share/unity8/Launcher/LauncherPanel.qmlc
/usr/share/unity8/Launcher/LauncherPanel.qml
/usr/share/unity8/Launcher/LauncherDelegate.qmlc
/usr/share/icons/suru/apps/scalable/preferences-desktop-launcher-symbolic.svg
Hmm... the /usr/share/unity8/Launcher folder looks promising...
After reading, what's in the /usr/share/unity8/Launcher/Launcher.qml, there is a parameter that looks promising:
28
29 property bool autohideEnabled: false
30 property bool lockedVisible: false
I mean the autohideEnabled... Let's see, where it's used...
$ grep -nr autohideEnabled /usr/share/unity8/Launcher/
/usr/share/unity8/Launcher/Launcher.qml:29: property bool autohideEnabled: false
/usr/share/unity8/Launcher/Launcher.qml:411: if (root.autohideEnabled && !root.lockedVisible) {
/usr/share/unity8/Launcher/Launcher.qml:607: autohideEnabled: true
Only in three positions... maybe if it was always true, the launcher would stay hidden... try to edit the line 29 (you'll need to remount the / as rw) and restart unity8 via UbuntuTouchTweakTool...
...
This is all the effort I'm willing to invest into this thread for now. Maybe it will help. Happy hacking.
EDIT: maybe the autohideEnabled is not he way to go, maybe it does someting else, I haven't tried...