X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Ftint2conf%2Ftintwizard.py;h=aa086b7415a0f91f2965b438c738a8c11dc030b3;hb=a3eabee391c4c2b575ec021bde4e66bd84191f75;hp=da6c2aad8e26665fdbccbb1a623e90302c6f4892;hpb=bb446dc3538a375b96e86fc43e95e70ee183a3bf;p=chaz%2Ftint2 diff --git a/src/tint2conf/tintwizard.py b/src/tint2conf/tintwizard.py index da6c2aa..aa086b7 100755 --- a/src/tint2conf/tintwizard.py +++ b/src/tint2conf/tintwizard.py @@ -1237,11 +1237,24 @@ class TintWizardGUI(gtk.Window): # Add notebook to window and show self.table.attach(self.notebook, 0, 4, 2, 3, xpadding=5, ypadding=5) + if self.oneConfigFile: + # Add button Apply and Close + self.box1 = gtk.HBox(False, 20) + self.table.attach(self.box1, 0, 4, 3, 4, xpadding=5, ypadding=5) + temp = gtk.Button("Apply", gtk.STOCK_APPLY) + temp.set_name("applyBg") + temp.connect("clicked", self.apply) + self.box1.pack_start(temp, True, True, 0) + temp = gtk.Button("Close", gtk.STOCK_CLOSE) + temp.set_name("closeBg") + temp.connect("clicked", self.quit) + self.box1.pack_start(temp, True, True, 0) + # Create and add the status bar to the bottom of the main window self.statusBar = gtk.Statusbar() self.statusBar.set_has_resize_grip(True) self.updateStatusBar("New Config File [*]") - self.table.attach(self.statusBar, 0, 4, 3, 4) + self.table.attach(self.statusBar, 0, 4, 4, 5) self.add(self.table) @@ -1415,39 +1428,52 @@ class TintWizardGUI(gtk.Window): def apply(self, widget, event=None, confirmChange=True): """Applies the current config to tint2.""" - if confirmDialog(self, "This will terminate all currently running instances of tint2 before applying config. Continue?") == gtk.RESPONSE_YES: - if not self.save(): - return - - #shutil.copyfile(self.filename, self.filename+".backup") # Create backup + # Check if tint2 is running + procs = os.popen('pidof "tint2"') # Check list of active processes for tint2 + pids = [] # List of process ids for tint2 - # Check if tint2 is running - procs = os.popen('pidof "tint2"') # Check list of active processes for tint2 - pids = [] # List of process ids for tint2 + for proc in procs.readlines(): + pids += [int(proc.strip().split(" ")[0])] - for proc in procs.readlines(): - pids += [int(proc.strip().split(" ")[0])] + procs.close() - procs.close() - - # If it is - kill it + if self.oneConfigFile: + # Save and copy as default + self.save() + tmpSrc = self.filename + tmpDest = os.path.expandvars("${HOME}") + "/.config/tint2/tint2rc" + try: + shutil.copyfile(tmpSrc, tmpDest) + except shutil.Error: + pass + # Ask tint2 to reload config for pid in pids: - os.kill(pid, signal.SIGTERM) - - # Lastly, start it - os.spawnv(os.P_NOWAIT, self.tint2Bin, [self.tint2Bin, "-c" + self.filename]) - - if confirmChange and self.filename != (os.path.expandvars("${HOME}") + "/.config/tint2/tint2rc") and confirmDialog(self, "Use this as default tint2 config?") == gtk.RESPONSE_YES: - tmp = self.filename - self.filename = os.path.expandvars("${HOME}") + "/.config/tint2/tint2rc" - try: - shutil.copyfile(tmp, self.filename) - except shutil.Error: - pass - - #if confirmChange and confirmDialog(self, "Keep this config?") == gtk.RESPONSE_NO: - # shutil.copyfile(self.filename+".backup", self.filename) # Create backup - # self.apply(widget, event, False) + os.kill(pid, signal.SIGUSR1) + else: + if confirmDialog(self, "This will terminate all currently running instances of tint2 before applying config. Continue?") == gtk.RESPONSE_YES: + if not self.save(): + return + + #shutil.copyfile(self.filename, self.filename+".backup") # Create backup + + # If it is - kill it + for pid in pids: + os.kill(pid, signal.SIGTERM) + + # Lastly, start it + os.spawnv(os.P_NOWAIT, self.tint2Bin, [self.tint2Bin, "-c" + self.filename]) + + if confirmChange and self.filename != (os.path.expandvars("${HOME}") + "/.config/tint2/tint2rc") and confirmDialog(self, "Use this as default tint2 config?") == gtk.RESPONSE_YES: + tmp = self.filename + self.filename = os.path.expandvars("${HOME}") + "/.config/tint2/tint2rc" + try: + shutil.copyfile(tmp, self.filename) + except shutil.Error: + pass + + #if confirmChange and confirmDialog(self, "Keep this config?") == gtk.RESPONSE_NO: + # shutil.copyfile(self.filename+".backup", self.filename) # Create backup + # self.apply(widget, event, False) def changeAllFonts(self, widget): """Changes all fonts at once."""