mirror of
https://github.com/Rafostar/clapper.git
synced 2025-08-30 07:42:23 +02:00
Auto set floating mode window to be always above
This commit is contained in:
@@ -13,6 +13,7 @@
|
|||||||
"--share=network",
|
"--share=network",
|
||||||
"--device=all",
|
"--device=all",
|
||||||
"--filesystem=xdg-videos",
|
"--filesystem=xdg-videos",
|
||||||
|
"--talk-name=org.gnome.Shell",
|
||||||
"--env=GST_PLUGIN_SYSTEM_PATH=/app/lib/gstreamer-1.0",
|
"--env=GST_PLUGIN_SYSTEM_PATH=/app/lib/gstreamer-1.0",
|
||||||
"--env=GST_VAAPI_ALL_DRIVERS=1"
|
"--env=GST_VAAPI_ALL_DRIVERS=1"
|
||||||
],
|
],
|
||||||
|
37
src/dbus.js
Normal file
37
src/dbus.js
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
const { Gio } = imports.gi;
|
||||||
|
const Debug = imports.src.debug;
|
||||||
|
|
||||||
|
const { debug } = Debug;
|
||||||
|
|
||||||
|
const ShellProxyWrapper = Gio.DBusProxy.makeProxyWrapper(`
|
||||||
|
<node>
|
||||||
|
<interface name="org.gnome.Shell">
|
||||||
|
<method name="Eval">
|
||||||
|
<arg type="s" direction="in" name="script"/>
|
||||||
|
<arg type="b" direction="out" name="success"/>
|
||||||
|
<arg type="s" direction="out" name="result"/>
|
||||||
|
</method>
|
||||||
|
</interface>
|
||||||
|
</node>`
|
||||||
|
);
|
||||||
|
|
||||||
|
let shellProxy = new ShellProxyWrapper(
|
||||||
|
Gio.DBus.session, 'org.gnome.Shell', '/org/gnome/Shell'
|
||||||
|
);
|
||||||
|
|
||||||
|
function callMakeAbove(isAbove)
|
||||||
|
{
|
||||||
|
const un = (isAbove) ? '' : 'un';
|
||||||
|
|
||||||
|
debug('changing window keep above');
|
||||||
|
shellProxy.EvalRemote(
|
||||||
|
`global.display.focus_window.${un}make_above()`,
|
||||||
|
(out) => {
|
||||||
|
const debugMsg = (out[0])
|
||||||
|
? `window keep above: ${isAbove}`
|
||||||
|
: new Error(out[1]);
|
||||||
|
|
||||||
|
debug(debugMsg);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
@@ -1,6 +1,7 @@
|
|||||||
const { GLib, GObject, Gtk, Pango } = imports.gi;
|
const { GLib, GObject, Gtk, Pango } = imports.gi;
|
||||||
const { HeaderBar } = imports.src.headerbar;
|
const { HeaderBar } = imports.src.headerbar;
|
||||||
const Debug = imports.src.debug;
|
const Debug = imports.src.debug;
|
||||||
|
const DBus = imports.src.dbus;
|
||||||
|
|
||||||
const REVEAL_TIME = 800;
|
const REVEAL_TIME = 800;
|
||||||
|
|
||||||
@@ -264,6 +265,8 @@ class ClapperControlsRevealer extends Gtk.Revealer
|
|||||||
|
|
||||||
widget.height_request = widget.get_height();
|
widget.height_request = widget.get_height();
|
||||||
this.reveal_child ^= true;
|
this.reveal_child ^= true;
|
||||||
|
|
||||||
|
DBus.callMakeAbove(!this.reveal_child);
|
||||||
}
|
}
|
||||||
|
|
||||||
_onControlsRevealed()
|
_onControlsRevealed()
|
||||||
|
Reference in New Issue
Block a user