diff --git a/bin/pytop-0-0-1-x64.deb b/bin/pytop-0-0-1-x64.deb index fe7e716..5d54ac5 100644 Binary files a/bin/pytop-0-0-1-x64.deb and b/bin/pytop-0-0-1-x64.deb differ diff --git a/src/Pytop/PyTop.py b/src/Pytop/PyTop.py index d487e46..ffd93a7 100755 --- a/src/Pytop/PyTop.py +++ b/src/Pytop/PyTop.py @@ -27,7 +27,33 @@ class Main: builder = gtk.Builder() settings = Settings() settings.attachBuilder(builder) + self.connectBuilder(settings, builder) + window = settings.createWindow() + window.fullscreen() + window.show() + + monitors = settings.returnMonitorsInfo() + i = 1 + if len(monitors) > 1: + for mon in monitors[1:]: + subBuilder = gtk.Builder() + subSettings = Settings(i) + subSettings.attachBuilder(subBuilder) + self.connectBuilder(subSettings, subBuilder) + + win = subSettings.createWindow() + win.set_default_size(mon.width, mon.height) + win.set_size_request(mon.width, mon.height) + win.set_resizable(False) + + + win.move(mon.x, mon.y) + win.show() + i += 1 + + + def connectBuilder(self, settings, builder): # Gets the methods from the classes and sets to handler. # Then, builder connects to any signals it needs. classes = [CrossClassSignals(settings), @@ -40,9 +66,6 @@ class Main: handlers.update(methods) builder.connect_signals(handlers) - window = settings.createWindow() - window.fullscreen() - window.show_all() if __name__ == "__main__": diff --git a/src/Pytop/resources/PyTop.glade_bak b/src/Pytop/resources/PyTop.glade_bak new file mode 100644 index 0000000..9d03206 --- /dev/null +++ b/src/Pytop/resources/PyTop.glade_bak @@ -0,0 +1,436 @@ + + + + + + + inode/directory + + + + False + 800 + 600 + desktop + False + center + + + + + + 256 + True + False + vertical + + + True + False + + + + + + + + + True + False + select-folder + Folders + Directory Chooser + + + + False + True + 1 + + + + + True + True + False + True + + + + + + False + True + end + 3 + + + + + False + True + 0 + + + + + True + False + + + True + True + in + + + True + False + + + True + True + 6 + multiple + + + + + + + True + True + 0 + + + + + 180 + 64 + True + True + never + in + 225 + + + True + False + + + True + False + vertical + + + + + + + + + + False + True + 1 + + + + + True + True + 1 + + + + + True + False + + + 64 + True + True + never + in + + + True + False + + + True + False + + + + + + + + + + True + True + 0 + + + + + True + True + False + True + + + + + + False + True + end + 1 + + + + + False + True + 3 + + + + + + + True + False + gtk-new + + + True + False + icons/trash.png + + + False + False + True + center + True + splashscreen + True + True + False + False + center + + + + + + + 500 + True + False + vertical + + + 500 + 26 + True + True + gtk-edit + + + + False + True + 0 + + + + + True + False + + + gtk-copy + True + True + True + Copy... + True + True + + + + False + True + 0 + + + + + gtk-cut + True + True + True + Cut... + True + True + + + + False + True + 1 + + + + + gtk-delete + True + True + True + Delete... + True + True + + + + False + True + 4 + + + + + Trash + True + True + True + Move to Trash... + trashImage + True + + + + False + True + end + 3 + + + + + False + True + 1 + + + + + True + False + vertical + + + True + False + + + True + False + 15 + Folder + + + + + + True + True + 0 + + + + + True + False + 15 + File + + + + + + True + True + 1 + + + + + False + True + 0 + + + + + True + True + File/Folder + True + + + False + True + 1 + + + + + Create + True + True + True + Create File/Folder... + createImage + True + + + + False + True + 2 + + + + + gtk-paste + True + True + True + Paste... + True + True + + + + False + True + 3 + + + + + False + True + 2 + + + + + + diff --git a/src/Pytop/signal_classes/TaskbarSignals.py b/src/Pytop/signal_classes/TaskbarSignals.py index 7dd3c8a..3217366 100644 --- a/src/Pytop/signal_classes/TaskbarSignals.py +++ b/src/Pytop/signal_classes/TaskbarSignals.py @@ -27,21 +27,24 @@ class TaskbarSignals: def setPagerWidget(self): pager = wnck.Pager() - pager.set_orientation(self.orientation) if self.orientation == 0: self.builder.get_object('taskBarWorkspacesHor').add(pager) else: self.builder.get_object('taskBarWorkspacesVer').add(pager) + pager.show() + def setTasklistWidget(self): - barBtns = wnck.Tasklist() - barBtns.set_scroll_enabled(False) - barBtns.set_button_relief(2) # 0 = normal relief, 2 = no relief - barBtns.set_grouping(1) # 0 = mever group, 1 auto group, 2 = always group + tasklist = wnck.Tasklist() + tasklist.set_scroll_enabled(False) + tasklist.set_button_relief(2) # 0 = normal relief, 2 = no relief + tasklist.set_grouping(1) # 0 = mever group, 1 auto group, 2 = always group - barBtns.set_orientation(self.orientation) + tasklist.set_orientation(self.orientation) if self.orientation == 0: - self.builder.get_object('taskBarButtonsHor').add(barBtns) + self.builder.get_object('taskBarButtonsHor').add(tasklist) else: - self.builder.get_object('taskBarButtonsVer').add(barBtns) + self.builder.get_object('taskBarButtonsVer').add(tasklist) + + tasklist.show() diff --git a/src/Pytop/utils/Settings.py b/src/Pytop/utils/Settings.py index 2d92eef..1afaecc 100644 --- a/src/Pytop/utils/Settings.py +++ b/src/Pytop/utils/Settings.py @@ -13,7 +13,7 @@ import os, json class Settings: - def __init__(self): + def __init__(self, monIndex = 0): self.builder = None # 'Filters' @@ -33,6 +33,7 @@ class Settings: self.iconContainerWxH = [128, 128] self.systemIconImageWxH = [56, 56] self.viIconWxH = [256, 128] + self.monitors = None self.DEFAULTCOLOR = gdk.RGBA(0.0, 0.0, 0.0, 0.0) # ~#00000000 self.MOUSEOVERCOLOR = gdk.RGBA(0.0, 0.9, 1.0, 0.64) # ~#00e8ff @@ -53,7 +54,7 @@ class Settings: self.GTK_ORIENTATION = 1 # HORIZONTAL (0) VERTICAL (1) configFolder = os.path.expanduser('~') + "/.config/pytop/" - self.configFile = configFolder + "settings.ini" + self.configFile = configFolder + "mon_" + str(monIndex) + "_settings.ini" if os.path.isdir(configFolder) == False: os.mkdir(configFolder) @@ -98,8 +99,8 @@ class Settings: styleContext.add_provider_for_screen(screen, cssProvider, gtk.STYLE_PROVIDER_PRIORITY_USER) window.set_app_paintable(True) - monitors = self.getMonitorData(screen) - window.resize(monitors[0].width, monitors[0].height) + self.monitors = self.getMonitorData(screen) + window.resize(self.monitors[0].width, self.monitors[0].height) def getMonitorData(self, screen): monitors = [] @@ -107,7 +108,7 @@ class Settings: monitors.append(screen.get_monitor_geometry(m)) for monitor in monitors: - print(str(monitor.width) + "x" + str(monitor.height) + "+" + str(monitor.x) + "+" + str(monitor.y)) + print(str(monitor.width) + "+" + str(monitor.height) + "+" + str(monitor.x) + "+" + str(monitor.y)) return monitors @@ -124,6 +125,10 @@ class Settings: json.dump(data, outfile) + + def returnMonitorsInfo(self): + return self.monitors + def returnSettings(self): returnData = []