+ self.createTaskbarWidgets()
+
+ # Tasks
+ self.createTaskSettingsWidgets()
+ self.createNormalTasksWidgets()
+ self.createActiveTasksWidgets()
+ self.createUrgentTasksWidgets()
+ self.createIconifiedTasksWidgets()
+
+ # System Tray
+ self.createSystemTrayWidgets()
+
+ # Clock
+ self.createClockDisplayWidgets()
+ self.createClockSettingsWidgets()
+
+ # Mouse
+ self.createMouseWidgets()
+
+ # Tooltips
+ self.createTooltipsWidgets()
+
+ # Battery
+ self.createBatteryWidgets()
+
+ # View Config
+ self.configArea = gtk.ScrolledWindow()
+ self.configBuf = gtk.TextBuffer()
+ self.configTextView = gtk.TextView(self.configBuf)
+ self.configArea.add_with_viewport(self.configTextView)
+
+ # Add backgrounds to notebooks
+ for i in range(self.defaults["bgCount"]):
+ self.addBgClick(None, init=True)
+
+ self.bgNotebook.set_current_page(0)
+
+ # Create sub-notebooks
+ self.panelNotebook = gtk.Notebook()
+ self.panelNotebook.set_tab_pos(gtk.POS_TOP)
+ self.panelNotebook.set_current_page(0)
+
+ self.panelNotebook.append_page(self.tablePanelDisplay, gtk.Label("Panel Display"))
+ self.panelNotebook.append_page(self.tablePanelSettings, gtk.Label("Panel Settings"))
+ self.panelNotebook.append_page(self.tablePanelAutohide, gtk.Label("Panel Autohide"))
+
+ self.taskNotebook = gtk.Notebook()
+ self.taskNotebook.set_tab_pos(gtk.POS_TOP)
+ self.taskNotebook.set_current_page(0)
+
+ self.taskNotebook.append_page(self.tableTask, gtk.Label("Task Settings"))
+ self.taskNotebook.append_page(self.tableTaskDefault, gtk.Label("Normal Tasks"))
+ self.taskNotebook.append_page(self.tableTaskActive, gtk.Label("Active Tasks"))
+ self.taskNotebook.append_page(self.tableTaskUrgent, gtk.Label("Urgent Tasks"))
+ self.taskNotebook.append_page(self.tableTaskIconified, gtk.Label("Iconified Tasks"))
+
+ self.clockNotebook = gtk.Notebook()
+ self.clockNotebook.set_tab_pos(gtk.POS_TOP)
+ self.clockNotebook.set_current_page(0)
+
+ self.clockNotebook.append_page(self.tableClockDisplays, gtk.Label("Clock Display"))
+ self.clockNotebook.append_page(self.tableClockSettings, gtk.Label("Clock Settings"))
+
+ # Add pages to notebook
+ self.notebook.append_page(self.tableBgs, gtk.Label("Backgrounds"))
+ self.notebook.append_page(self.panelNotebook, gtk.Label("Panel"))
+ self.notebook.append_page(self.tableTaskbar, gtk.Label("Taskbar"))
+ self.notebook.append_page(self.taskNotebook, gtk.Label("Tasks"))
+ self.notebook.append_page(self.tableTray, gtk.Label("System Tray"))
+ self.notebook.append_page(self.clockNotebook, gtk.Label("Clock"))
+ self.notebook.append_page(self.tableMouse, gtk.Label("Mouse"))
+ self.notebook.append_page(self.tableTooltip, gtk.Label("Tooltips"))
+ self.notebook.append_page(self.tableBattery, gtk.Label("Battery"))
+ self.notebook.append_page(self.configArea, gtk.Label("View Config"))
+
+ self.notebook.connect("switch-page", self.switchPage)
+
+ # 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, 4, 5)
+
+ self.add(self.table)
+
+ self.show_all()
+
+ # If tintwizard was launched with a tint2 config filename
+ # as an argument, load that config.
+ if self.oneConfigFile:
+ self.readTint2Config()
+
+ self.generateConfig()
+
+ def createPanelDisplayWidgets(self):
+ """Create the Panel Display widgets."""
+ self.tablePanelDisplay = gtk.Table(rows=6, columns=3, homogeneous=False)
+ self.tablePanelDisplay.set_row_spacings(5)
+ self.tablePanelDisplay.set_col_spacings(5)
+
+ createLabel(self.tablePanelDisplay, text="Position", gridX=0, gridY=0, xPadding=10)
+ self.panelPosY = createComboBox(self.tablePanelDisplay, ["bottom", "top", "center"], gridX=1, gridY=0, handler=self.changeOccurred)
+ self.panelPosX = createComboBox(self.tablePanelDisplay, ["left", "right", "center"], gridX=2, gridY=0, handler=self.changeOccurred)
+ # Note: registered below
+
+ createLabel(self.tablePanelDisplay, text="Panel Orientation", gridX=0, gridY=1, xPadding=10)
+ self.panelOrientation = createComboBox(self.tablePanelDisplay, ["horizontal", "vertical"], gridX=1, gridY=1, handler=self.changeOccurred)
+ self.registerComponent("panel_position", (self.panelPosY, self.panelPosX, self.panelOrientation))
+
+ self.panelSizeLabel = createLabel(self.tablePanelDisplay, text="Size (width, height)", gridX=0, gridY=2, xPadding=10)
+ self.panelSizeX = createEntry(self.tablePanelDisplay, maxSize=6, width=8, text=PANEL_SIZE_X, gridX=1, gridY=2, xExpand=True, yExpand=False, handler=self.changeOccurred)
+ self.panelSizeY = createEntry(self.tablePanelDisplay, maxSize=6, width=8, text=PANEL_SIZE_Y, gridX=2, gridY=2, xExpand=True, yExpand=False, handler=self.changeOccurred)
+ self.registerComponent("panel_size", (self.panelSizeX, self.panelSizeY))
+
+ createLabel(self.tablePanelDisplay, text="Margin (x, y)", gridX=0, gridY=3, xPadding=10)
+ self.panelMarginX = createEntry(self.tablePanelDisplay, maxSize=6, width=8, text=PANEL_MARGIN_X, gridX=1, gridY=3, xExpand=True, yExpand=False, handler=self.changeOccurred)
+ self.panelMarginY = createEntry(self.tablePanelDisplay, maxSize=6, width=8, text=PANEL_MARGIN_Y, gridX=2, gridY=3, xExpand=True, yExpand=False, handler=self.changeOccurred)
+ self.registerComponent("panel_margin", (self.panelMarginX, self.panelMarginY))
+
+ createLabel(self.tablePanelDisplay, text="Padding (x, y)", gridX=0, gridY=4, xPadding=10)
+ self.panelPadX = createEntry(self.tablePanelDisplay, maxSize=6, width=8, text=PANEL_PADDING_X, gridX=1, gridY=4, xExpand=True, yExpand=False, handler=self.changeOccurred)
+ self.panelPadY = createEntry(self.tablePanelDisplay, maxSize=6, width=8, text=PANEL_PADDING_Y, gridX=2, gridY=4, xExpand=True, yExpand=False, handler=self.changeOccurred)
+ # Note: added below
+
+ createLabel(self.tablePanelDisplay, text="Horizontal Spacing", gridX=0, gridY=5, xPadding=10)
+ self.panelSpacing = createEntry(self.tablePanelDisplay, maxSize=6, width=8, text=TASKBAR_SPACING, gridX=1, gridY=5, xExpand=True, yExpand=False, handler=self.changeOccurred)
+ self.registerComponent("panel_padding", (self.panelPadX, self.panelPadY, self.panelSpacing))
+
+ createLabel(self.tablePanelDisplay, text="Panel Background ID", gridX=0, gridY=6, xPadding=10)
+ self.panelBg = createComboBox(self.tablePanelDisplay, ["0 (fully transparent)"] + range(1, len(self.bgs)), gridX=1, gridY=6, handler=self.changeOccurred)
+ self.registerComponent("panel_background_id", self.panelBg)
+
+ def createPanelSettingsWidgets(self):
+ """Create the Panel Settings widgets."""
+ self.tablePanelSettings = gtk.Table(rows=5, columns=3, homogeneous=False)
+ self.tablePanelSettings.set_row_spacings(5)
+ self.tablePanelSettings.set_col_spacings(5)
+
+ createLabel(self.tablePanelSettings, text="Window Manager Menu", gridX=0, gridY=0, xPadding=10)
+ self.panelMenu = createCheckButton(self.tablePanelSettings, active=False, gridX=1, gridY=0, xExpand=True, yExpand=False, handler=self.changeOccurred)
+ self.registerComponent("wm_menu", self.panelMenu)
+
+ createLabel(self.tablePanelSettings, text="Place In Window Manager Dock", gridX=0, gridY=1, xPadding=10)
+ self.panelDock = createCheckButton(self.tablePanelSettings, active=False, gridX=1, gridY=1, xExpand=True, yExpand=False, handler=self.changeOccurred)
+ self.registerComponent("panel_dock", self.panelDock)
+
+ createLabel(self.tablePanelSettings, text="Panel Layer", gridX=0, gridY=2, xPadding=10)
+ self.panelLayer = createComboBox(self.tablePanelSettings, ["bottom", "top", "normal"], gridX=1, gridY=2, handler=self.changeOccurred)
+ self.registerComponent("panel_layer", self.panelLayer)
+
+ createLabel(self.tablePanelSettings, text="Strut Policy", gridX=0, gridY=3, xPadding=10)
+ self.panelAutohideStrut = createComboBox(self.tablePanelSettings, ["none", "minimum", "follow_size"], gridX=1, gridY=3, handler=self.changeOccurred)
+ self.registerComponent("strut_policy", self.panelAutohideStrut)
+
+ createLabel(self.tablePanelSettings, text="Panel Monitor (all, 1, 2, ...)", gridX=0, gridY=4, xPadding=10)
+ self.panelMonitor = createEntry(self.tablePanelSettings, maxSize=6, width=8, text=PANEL_MONITOR, gridX=1, gridY=4, xExpand=True, yExpand=False, handler=self.changeOccurred)
+ self.registerComponent("panel_monitor", self.panelMonitor)
+
+ def createPanelAutohideWidgets(self):
+ """Create the Panel Autohide widgets."""
+ self.tablePanelAutohide = gtk.Table(rows=4, columns=3, homogeneous=False)
+ self.tablePanelAutohide.set_row_spacings(5)
+ self.tablePanelAutohide.set_col_spacings(5)
+
+ createLabel(self.tablePanelAutohide, text="Autohide Panel", gridX=0, gridY=0, xPadding=10)
+ self.panelAutohide = createCheckButton(self.tablePanelAutohide, active=False, gridX=1, gridY=0, xExpand=True, yExpand=False, handler=self.changeOccurred)
+ self.registerComponent("autohide", self.panelAutohide)
+
+ createLabel(self.tablePanelAutohide, text="Autohide Show Timeout (seconds)", gridX=0, gridY=1, xPadding=10)
+ self.panelAutohideShow = createEntry(self.tablePanelAutohide, maxSize=6, width=8, text=PANEL_AUTOHIDE_SHOW, gridX=1, gridY=1, xExpand=True, yExpand=False, handler=self.changeOccurred)
+ self.registerComponent("autohide_show_timeout", self.panelAutohideShow)
+
+ createLabel(self.tablePanelAutohide, text="Autohide Hide Timeout (seconds)", gridX=0, gridY=2, xPadding=10)
+ self.panelAutohideHide = createEntry(self.tablePanelAutohide, maxSize=6, width=8, text=PANEL_AUTOHIDE_HIDE, gridX=1, gridY=2, xExpand=True, yExpand=False, handler=self.changeOccurred)
+ self.registerComponent("autohide_hide_timeout", self.panelAutohideHide)
+
+ createLabel(self.tablePanelAutohide, text="Autohide Hidden Height", gridX=0, gridY=3, xPadding=10)
+ self.panelAutohideHeight = createEntry(self.tablePanelAutohide, maxSize=6, width=8, text=PANEL_AUTOHIDE_HEIGHT, gridX=1, gridY=3, xExpand=True, yExpand=False, handler=self.changeOccurred)
+ self.registerComponent("autohide_height", self.panelAutohideHeight)
+
+ def createTaskbarWidgets(self):
+ """Create the Taskbar widgets."""
+ self.tableTaskbar = gtk.Table(rows=5, columns=3, homogeneous=False)