From 6199740653743e7483b886ea85c3ba75bddd2f21 Mon Sep 17 00:00:00 2001 From: Roland Thomas Date: Sun, 19 Feb 2023 00:00:26 -0500 Subject: [PATCH] Update --- .config/qtile/dhk | 132 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100755 .config/qtile/dhk diff --git a/.config/qtile/dhk b/.config/qtile/dhk new file mode 100755 index 0000000..c94bab6 --- /dev/null +++ b/.config/qtile/dhk @@ -0,0 +1,132 @@ +#!/usr/bin/env python3 +import sys +from PyQt5.QtWidgets import QApplication, QMainWindow, QTabWidget, QWidget, QGridLayout, QLabel, QShortcut +from PyQt5.QtGui import QKeySequence + +class TabbedWindow(QMainWindow): + def __init__(self): + super().__init__() + + # Set the main window title and size + self.setWindowTitle("Display Hotkeys") + self.resize(300, 300) + + # Create a tab widget + self.tab_widget = QTabWidget() + self.setCentralWidget(self.tab_widget) + + # Create the first tab + self.tab1 = QWidget() + self.tab_widget.addTab(self.tab1, "Hot Keys") + + # Create a vertical layout for the first tab + layout1 = QGridLayout() + layout1.setHorizontalSpacing(30) + layout1.setVerticalSpacing(10) + + with open('/home/roland/.config/qtile/hotkeys.txt', 'r') as file: + lines = file.readlines() + length = len(lines) + + # Add the numbers 1-100 to the layout + column = 0 + row = 0 + switch = False + even_odd = 0 + for i in range(length): + #print(lines[i]) + if lines[i] == "0000\n": + column += 1 + row = 0 + continue + if lines[i] == "Super + 1: Switch to group 1\n": + switch = True + even_odd = i % 2 + if switch and even_odd == 0: + if i % 2 == 0: + label = QLabel(lines[i].strip()) + layout1.addWidget(label, row, column) + column += 1 + # layout1.addWidget(QLabel(' '), row, column) + # column += 1 + continue + else: + label = QLabel(lines[i].strip()) + layout1.addWidget(label, row, column) + row += 1 + column -= 1 + continue + elif switch and even_odd == 1: + if i % 2 == 1: + label = QLabel(lines[i].strip()) + layout1.addWidget(label, row, column) + column += 1 + # layout1.addWidget(QLabel(' '), row, column) + # column += 1 + continue + else: + label = QLabel(lines[i].strip()) + layout1.addWidget(label, row, column) + row += 1 + column -= 1 + continue + else: + label = QLabel(lines[i].strip()) + layout1.addWidget(label, row, column) + row += 1 + + # Set the layout for the first tab + self.tab1.setLayout(layout1) + + # Create the second tab + self.tab2 = QWidget() + self.tab_widget.addTab(self.tab2, "Key Chords") + + # Create a vertical layout for the second tab + layout2 = QGridLayout() + layout2.setHorizontalSpacing(10) + layout2.setVerticalSpacing(10) + + with open('/home/roland/.config/qtile/keychords.txt', 'r') as file: + lines = file.readlines() + length = len(lines) + + # Add the numbers 101-200 to the layout + column = 0 + row = 0 + for i in range(length): + #print(lines[i]) + if lines[i] == "0000\n": + column += 1 + row = 0 + continue + row += 1 + label = QLabel(lines[i].rstrip()) + layout2.addWidget(label, row, column) + + # Set the layout for the second tab + self.tab2.setLayout(layout2) + + # Assign hotkeys to open each tab + self.hotkey1 = QShortcut(QKeySequence("Alt+1"), self) + self.hotkey1.activated.connect(lambda: self.tab_widget.setCurrentWidget(self.tab1)) + + self.hotkey2 = QShortcut(QKeySequence("Alt+2"), self) + self.hotkey2.activated.connect(lambda: self.tab_widget.setCurrentWidget(self.tab2)) + + # Assign a hotkey to toggle between the tabs + self.toggle_key = QShortcut(QKeySequence("Alt+n"), self) + self.toggle_key.activated.connect(self.toggle_tabs) + + def toggle_tabs(self): + current_index = self.tab_widget.currentIndex() + num_tabs = self.tab_widget.count() + next_index = (current_index + 1) % num_tabs + self.tab_widget.setCurrentIndex(next_index) + + +if __name__ == '__main__': + app = QApplication(sys.argv) + window = TabbedWindow() + window.show() + sys.exit(app.exec_())