swayphone_saturn_show shows saturn using dbus call
This commit is contained in:
parent
bbba059634
commit
08dd9405e2
@ -9,6 +9,7 @@
|
|||||||
, lua53Packages
|
, lua53Packages
|
||||||
, lua5_3
|
, lua5_3
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
|
, writeText
|
||||||
}:
|
}:
|
||||||
let fennel = fetchurl {
|
let fennel = fetchurl {
|
||||||
name = "fennel.lua";
|
name = "fennel.lua";
|
||||||
@ -35,6 +36,13 @@ let fennel = fetchurl {
|
|||||||
cp inifile.lua "$out/share/lua/${lua.luaversion}/"
|
cp inifile.lua "$out/share/lua/${lua.luaversion}/"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
serviceFile = out: writeText "squeekboard.service" ''
|
||||||
|
[D-BUS Service]
|
||||||
|
Name=net.telent.saturn
|
||||||
|
Exec=${out}/bin/saturn
|
||||||
|
'';
|
||||||
|
|
||||||
lua = lua5_3.withPackages (ps: with ps; [
|
lua = lua5_3.withPackages (ps: with ps; [
|
||||||
dbusProxy
|
dbusProxy
|
||||||
inifile
|
inifile
|
||||||
@ -59,6 +67,8 @@ in stdenv.mkDerivation {
|
|||||||
# This makes a big difference to how many icons are displayed on
|
# This makes a big difference to how many icons are displayed on
|
||||||
# my machine
|
# my machine
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
mkdir -p $out/share/dbus-1/services
|
||||||
|
cp ${serviceFile (placeholder "out")} $out/share/dbus-1/services/net.telent.saturn.service
|
||||||
wrapProgram $out/bin/saturn --set GDK_PIXBUF_MODULE_FILE ${librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache --set GI_TYPELIB_PATH "$GI_TYPELIB_PATH"
|
wrapProgram $out/bin/saturn --set GDK_PIXBUF_MODULE_FILE ${librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache --set GI_TYPELIB_PATH "$GI_TYPELIB_PATH"
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
@ -46,6 +46,12 @@
|
|||||||
|
|
||||||
(local icon-theme (Gtk.IconTheme.get_default))
|
(local icon-theme (Gtk.IconTheme.get_default))
|
||||||
|
|
||||||
|
(local window (Gtk.Window {
|
||||||
|
:title "Saturn V"
|
||||||
|
:default_width 720
|
||||||
|
:default_height 800
|
||||||
|
:on_destroy Gtk.main_quit
|
||||||
|
}))
|
||||||
(fn find-icon [name]
|
(fn find-icon [name]
|
||||||
(var found false)
|
(var found false)
|
||||||
(if (= (name.sub 1 1) "/")
|
(if (= (name.sub 1 1) "/")
|
||||||
@ -97,8 +103,7 @@
|
|||||||
(if app.Terminal
|
(if app.Terminal
|
||||||
(spawn-async ["kitty" cmd])
|
(spawn-async ["kitty" cmd])
|
||||||
(spawn-async ["sh" "-c" cmd]))
|
(spawn-async ["sh" "-c" cmd]))
|
||||||
(Gtk.main_quit)
|
(window:hide)))
|
||||||
(os.exit 0)))
|
|
||||||
|
|
||||||
(fn button-for [app]
|
(fn button-for [app]
|
||||||
(doto (Gtk.Button
|
(doto (Gtk.Button
|
||||||
@ -109,12 +114,7 @@
|
|||||||
:on_clicked #(launch app) })
|
:on_clicked #(launch app) })
|
||||||
(: :set_image app.IconImage)))
|
(: :set_image app.IconImage)))
|
||||||
|
|
||||||
(local window (Gtk.Window {
|
|
||||||
:title "Saturn V"
|
|
||||||
:default_width 720
|
|
||||||
:default_height 800
|
|
||||||
:on_destroy Gtk.main_quit
|
|
||||||
}))
|
|
||||||
(fn handle-dbus-method-call [conn sender path interface method params invocation]
|
(fn handle-dbus-method-call [conn sender path interface method params invocation]
|
||||||
(when (and (= path "/net/telent/saturn")
|
(when (and (= path "/net/telent/saturn")
|
||||||
(= interface "net.telent.saturn")
|
(= interface "net.telent.saturn")
|
||||||
|
Loading…
Reference in New Issue
Block a user