diff --git a/.local/libexec/daemons/lf-dbus b/.local/libexec/daemons/lf-dbus
new file mode 100755
index 00000000..3da6ddde
--- /dev/null
+++ b/.local/libexec/daemons/lf-dbus
@@ -0,0 +1,46 @@
+#!/bin/env python3
+
+import subprocess
+import urllib.parse
+
+from gi.repository import GLib
+from pydbus import SessionBus
+
+terminal_cmd = ["st", "-e"]
+
+
+class FMService(object):
+    """
+    <node>
+        <interface name='org.freedesktop.FileManager1'>
+            <method name='ShowFolders'>
+                <arg type='as' name='URIs' direction='in'/>
+                <arg type='s' name='StartupId' direction='in'/>
+            </method>
+            <method name='ShowItems'>
+                <arg type='as' name='URIs' direction='in'/>
+                <arg type='s' name='StartupId' direction='in'/>
+            </method>
+            <method name='ShowItemProperties'>
+                <arg type='as' name='URIs' direction='in'/>
+                <arg type='s' name='StartupId' direction='in'/>
+            </method>
+        </interface>
+    </node>
+    """
+
+    def ShowItems(self, uris, startup_id):
+        uri = urllib.parse.unquote(uris[0]).replace("file://", "")
+        subprocess.Popen([*terminal_cmd, "lf", uri])
+
+    def ShowFolders(self, uris, startup_id):
+        self.ShowItems(uris, startup_id)
+
+    def ShowItemProperties(self, uris, startup_id):
+        self.ShowItems(uris, startup_id)
+
+
+session_bus = SessionBus()
+session_bus.publish("org.freedesktop.FileManager1", FMService())
+loop = GLib.MainLoop()
+loop.run()
diff --git a/.local/share/service/lf-dbus/log/run b/.local/share/service/lf-dbus/log/run
new file mode 100755
index 00000000..ad70fb02
--- /dev/null
+++ b/.local/share/service/lf-dbus/log/run
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec vlogger -t lf-dbus
diff --git a/.local/share/service/lf-dbus/run b/.local/share/service/lf-dbus/run
new file mode 100755
index 00000000..896340e9
--- /dev/null
+++ b/.local/share/service/lf-dbus/run
@@ -0,0 +1,6 @@
+#!/bin/sh
+exec 2>&1
+
+. "$XDG_STATE_HOME/dbus"
+
+exec $HOME/.local/libexec/daemons/lf-dbus