mirror of
https://github.com/Rafostar/clapper.git
synced 2025-08-30 07:42:23 +02:00
Customize web app port
This commit is contained in:
@@ -6,8 +6,10 @@ let { debug } = Debug;
|
||||
var Daemon = GObject.registerClass(
|
||||
class ClapperDaemon extends Gio.SubprocessLauncher
|
||||
{
|
||||
_init()
|
||||
_init(port)
|
||||
{
|
||||
port = port || 8080;
|
||||
|
||||
/* FIXME: show output when debugging is on */
|
||||
const flags = Gio.SubprocessFlags.STDOUT_SILENCE
|
||||
| Gio.SubprocessFlags.STDERR_SILENCE;
|
||||
@@ -17,7 +19,7 @@ class ClapperDaemon extends Gio.SubprocessLauncher
|
||||
this.errMsg = 'exited with error or was forced to close';
|
||||
this.loop = GLib.MainLoop.new(null, false);
|
||||
|
||||
this.broadwayd = this.spawnv(['gtk4-broadwayd', '--port=8086']);
|
||||
this.broadwayd = this.spawnv(['gtk4-broadwayd', '--port=' + port]);
|
||||
this.broadwayd.wait_async(null, this._onBroadwaydClosed.bind(this));
|
||||
|
||||
this.setenv('GDK_BACKEND', 'broadway', true);
|
||||
|
@@ -2,5 +2,5 @@ const { Daemon } = imports.clapper_src.daemon;
|
||||
|
||||
function main()
|
||||
{
|
||||
new Daemon();
|
||||
new Daemon(ARGV[0]);
|
||||
}
|
||||
|
@@ -296,10 +296,8 @@ class ClapperPlayerBase extends GstPlayer.Player
|
||||
if(!this.webapp)
|
||||
this.webapp = new WebApp();
|
||||
|
||||
this.webapp.startDaemonApp();
|
||||
this.webapp.startDaemonApp(settings.get_int('webapp-port'));
|
||||
}
|
||||
else
|
||||
this.webapp.stopDaemonApp();
|
||||
}
|
||||
else if(this.webserver) {
|
||||
/* remote app will close when connection is lost
|
||||
|
@@ -119,8 +119,10 @@ class ClapperNetworkPage extends PrefsBase.Grid
|
||||
let webServer = this.addCheckButton('Control player remotely', 'webserver-enabled');
|
||||
let serverPort = this.addSpinButton('Listening port', 1024, 65535, 'webserver-port');
|
||||
webServer.bind_property('active', serverPort, 'visible', GObject.BindingFlags.SYNC_CREATE);
|
||||
//let webApp = this.addCheckButton('Run built-in web application', 'webapp-enabled');
|
||||
//webServer.bind_property('active', webApp, 'visible', GObject.BindingFlags.SYNC_CREATE);
|
||||
let webApp = this.addCheckButton('Start built-in web application', 'webapp-enabled');
|
||||
webServer.bind_property('active', webApp, 'visible', GObject.BindingFlags.SYNC_CREATE);
|
||||
let webAppPort = this.addSpinButton('Web application port', 1024, 65535, 'webapp-port');
|
||||
webServer.bind_property('active', webAppPort, 'visible', GObject.BindingFlags.SYNC_CREATE);
|
||||
}
|
||||
});
|
||||
|
||||
|
@@ -15,31 +15,19 @@ class ClapperWebApp extends Gio.SubprocessLauncher
|
||||
super._init({ flags });
|
||||
|
||||
this.daemonApp = null;
|
||||
this.isDaemonClosing = false;
|
||||
}
|
||||
|
||||
startDaemonApp()
|
||||
startDaemonApp(port)
|
||||
{
|
||||
if(this.daemonApp)
|
||||
return;
|
||||
|
||||
this.daemonApp = this.spawnv([Misc.appId + '.Daemon']);
|
||||
this.daemonApp = this.spawnv([Misc.appId + '.Daemon', String(port)]);
|
||||
this.daemonApp.wait_async(null, this._onDaemonClosed.bind(this));
|
||||
|
||||
debug('daemon app started');
|
||||
}
|
||||
|
||||
stopDaemonApp()
|
||||
{
|
||||
if(!this.daemonApp || this.isDaemonClosing)
|
||||
return;
|
||||
|
||||
this.isDaemonClosing = true;
|
||||
this.daemonApp.force_exit();
|
||||
|
||||
debug('send stop signal to daemon app');
|
||||
}
|
||||
|
||||
_onDaemonClosed(proc, result)
|
||||
{
|
||||
let hadError;
|
||||
@@ -52,7 +40,6 @@ class ClapperWebApp extends Gio.SubprocessLauncher
|
||||
}
|
||||
|
||||
this.daemonApp = null;
|
||||
this.isDaemonClosing = false;
|
||||
|
||||
if(hadError)
|
||||
debug('daemon app exited with error or was forced to close');
|
||||
|
@@ -62,6 +62,10 @@
|
||||
<default>false</default>
|
||||
<summary>Run built-in broadway based web application</summary>
|
||||
</key>
|
||||
<key name="webapp-port" type="i">
|
||||
<default>8086</default>
|
||||
<summary>Port for running broadwayd service</summary>
|
||||
</key>
|
||||
|
||||
<!-- Tweaks -->
|
||||
<key name="dark-theme" type="b">
|
||||
|
Reference in New Issue
Block a user