Add CLI command to reload configuration

This commit is contained in:
Dante Calderon 2022-10-24 00:51:53 -05:00
parent c447ae0201
commit 2e1dd1f316
No known key found for this signature in database
GPG Key ID: AE180661805A42AD
3 changed files with 25 additions and 0 deletions

View File

@ -109,6 +109,13 @@ if __name__ == '__main__':
import dbus
try:
dbus_service = ipc.DBusService()
if(OPTIONS.reload):
# Reload only is executed when exist at least one window,
# Check if exist another way to know if master process is not active.
dbg('reload option, killing app')
sys.exit()
except ipc.DBusException:
dbg('Unable to become master process, operating via DBus')
# get rid of the None and True types so dbus can handle them (empty
@ -121,6 +128,10 @@ if __name__ == '__main__':
if OPTIONS.new_tab:
dbg('Requesting a new tab')
ipc.new_tab_cmdline(optionslist)
if OPTIONS.reload:
dbg('requesting to reload configuration for all windows')
ipc.reload_configuration()
elif OPTIONS.unhide:
print('requesting to unhide windows')
ipc.unhide_cmdline(optionslist)

View File

@ -124,6 +124,12 @@ class DBusService(Borg, dbus.service.Object):
"""Create a new tab"""
return self.new_terminal(uuid, 'tab')
@dbus.service.method(BUS_NAME)
def reload_configuration(self):
"""Reload configuration for all terminals"""
self.terminator.config.base.reload()
self.terminator.reconfigure()
@dbus.service.method(BUS_NAME)
def bg_img_all (self,options=dbus.Dictionary()):
for terminal in self.terminator.terminals:
@ -343,6 +349,11 @@ def new_tab_cmdline(session, options):
"""Call the dbus method to open a new tab in the first window"""
session.new_tab_cmdline(options)
@with_proxy
def reload_configuration(session):
"""Call the dbus method to reload configuration for all windows"""
session.reload_configuration()
@with_proxy
def unhide_cmdline(session,options):
session.unhide_cmdline(options)

View File

@ -39,6 +39,9 @@ def parse_options():
parser = argparse.ArgumentParser()
parser.add_argument('-R', '--reload', action='store_true', dest='reload',
help=_('Reload terminator configuration'))
parser.add_argument('-v', '--version', action='store_true', dest='version',
help=_('Display program version'))
parser.add_argument('-m', '--maximise', action='store_true', dest='maximise',