Skip to content

Commit

Permalink
Merge branch 'feature/add-command-line-command-to-reload-configuratio…
Browse files Browse the repository at this point in the history
…n' of https://github.com/dantecalderon/terminator into dantecalderon-feature/add-command-line-command-to-reload-configuration
  • Loading branch information
mattrose committed Aug 27, 2023
2 parents f3841c6 + 285022e commit 3c2d1ef
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 0 deletions.
11 changes: 11 additions & 0 deletions terminator
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,12 @@ if __name__ == '__main__':
import dbus
try:
dbus_service = ipc.DBusService()

if(OPTIONS.reload):
# Reload only is executed when exist at least one window,
# if not there is nothing to reload
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
Expand All @@ -105,6 +111,11 @@ if __name__ == '__main__':
elif OPTIONS.toggle_visibility:
dbg('requesting to toggle windows visibility')
ipc.toggle_visibility_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)
Expand Down
10 changes: 10 additions & 0 deletions terminatorlib/ipc.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,12 @@ def new_tab(self, uuid=None):
"""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:
Expand Down Expand Up @@ -353,6 +359,10 @@ def new_tab_cmdline(session, options):
def toggle_visibility_cmdline(session,options):
session.toggle_visibility_cmdline(options)

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)
Expand Down
3 changes: 3 additions & 0 deletions terminatorlib/optionparse.py
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down

0 comments on commit 3c2d1ef

Please sign in to comment.