Set (un)inhibit screen earlier

This commit is contained in:
Rafostar
2020-11-10 23:16:45 +01:00
parent e7937162e7
commit 7226a59cea
3 changed files with 15 additions and 18 deletions

View File

@@ -35,14 +35,14 @@ function getClapperVersion()
function inhibitForState(state, window)
{
let isInhibited = false;
let flags = Gtk.ApplicationInhibitFlags.SUSPEND
| Gtk.ApplicationInhibitFlags.IDLE;
if(state === GstPlayer.PlayerState.PLAYING) {
if(inhibitCookie)
return;
let app = window.get_application();
let flags = Gtk.ApplicationInhibitFlags.SUSPEND
| Gtk.ApplicationInhibitFlags.IDLE;
inhibitCookie = app.inhibit(
window,
@@ -58,8 +58,9 @@ function inhibitForState(state, window)
//if(!inhibitCookie)
return;
/* Uninhibit seems to be broken as of GTK 3.99.2
this.uninhibit(inhibitCookie);
/* Uninhibit seems to be broken as of GTK 3.99.4
let app = window.get_application();
app.uninhibit(inhibitCookie);
inhibitCookie = null;
*/
}

View File

@@ -309,14 +309,16 @@ class ClapperPlayer extends PlayerBase
{
this.state = state;
if(this.quitOnStop) {
if(state === GstPlayer.PlayerState.STOPPED) {
let root = player.widget.get_root();
if(root)
root.run_dispose();
}
if(state !== GstPlayer.PlayerState.BUFFERING) {
let root = player.widget.get_root();
Misc.inhibitForState(state, root);
return;
if(this.quitOnStop) {
if(state === GstPlayer.PlayerState.STOPPED)
root.run_dispose();
return;
}
}
let clapperWidget = player.widget.get_ancestor(Gtk.Grid);

View File

@@ -414,14 +414,8 @@ var Widget = GObject.registerClass({
break;
}
let isNotStopped = (state !== GstPlayer.PlayerState.STOPPED)
let isNotStopped = (state !== GstPlayer.PlayerState.STOPPED);
this.revealerTop.endTime.set_visible(isNotStopped);
if(state === GstPlayer.PlayerState.BUFFERING)
return;
let window = this.get_root();
Misc.inhibitForState(state, window);
}
_onPlayerDurationChanged(player)