[PYTHON] Teilen Sie den Bildschirm mit Keyhac in 3 Teile

Windows verfügt über eine "Fangfunktion", mit der Sie den Bildschirm durch gleichzeitiges Drücken der Win-Taste und der Pfeiltasten in zwei linke und rechte (vier, wenn Sie die oberen und unteren einschließen) aufteilen können. Dieses Mal werde ich diese Funktion mit keyhac erweitern, damit sie auch im Verhältnis 1: 2 einrasten kann.

Es wird für diejenigen empfohlen, die die Fenster nebeneinander durchsuchen möchten, aber die Hälfte von ihnen ist zu klein, aber es ist mühsam, die Größe jedes Mal von Hand zu ändern.

(Abgeschlossenes Bild ↓) fig1.png

Code

Wir werden den Inhalt der Funktion configure von config.py schreiben.

def configure(keymap):

    keymap.replaceKey("(28)", 236)      #Weisen Sie dem Konvertierungsschlüssel den virtuellen Code 236 zu
    keymap.defineModifier(236, "User1") #Praktisch qualifizierter Schlüssel für den Konvertierungsschlüssel"U1"Benutzen als

    def triple_snap(position = "center", Narrow = False):
        main_monitor_info = (pyauto.Window.getMonitorInfo())[0]
        non_taskbar_area = main_monitor_info[1]
        [monitor_left, monitor_top, monitor_right,monitor_bottom] = non_taskbar_area
        monitor_width = monitor_right - monitor_left
        ratio = 3
        if Narrow:
            wnd_width = int(monitor_width / ratio)
            wnd_pos_table = {
                "center": {
                    "left": wnd_width,
                    "right": wnd_width * 2,
                },
                "left": {
                    "left": monitor_left,
                    "right": wnd_width,
                },
                "right": {
                    "left": wnd_width * 2,
                    "right": monitor_right,
                },
            }
        else:
            wnd_width = int(monitor_width / ratio) * 2
            wnd_pos_table = {
                "center": {
                    "left": int(monitor_width / ratio / 2),
                    "right": int(monitor_width / ratio / 2) + wnd_width,
                },
                "left": {
                    "left": monitor_left,
                    "right": wnd_width,
                },
                "right": {
                    "left": int(monitor_width / ratio),
                    "right": monitor_right,
                },
            }
        wnd_area = wnd_pos_table[position]
        rect = [wnd_area["left"], monitor_top, wnd_area["right"], monitor_bottom]
        wnd = keymap.getTopLevelWindow()
        if list(wnd.getRect()) == rect:
            wnd.maximize()
        else:
            if wnd.isMaximized():
                wnd.restore()
            wnd.setRect(rect)

    for k in [
        ("U1-M"  , lambda: triple_snap("center", False)),
        ("S-U1-H", lambda: triple_snap("left"  , False)),
        ("S-U1-L", lambda: triple_snap("right" , False)),
        ("C-U1-H", lambda: triple_snap("left"  , True)),
        ("C-U1-L", lambda: triple_snap("right" , True)),
        ("C-U1-M", lambda: triple_snap("center", True)),
        ("U1-H"  , "Win-Left"),
        ("U1-L"  , "Win-Right"),
    ]:
        keymap_global[k[0]] = k[1]

Ausführungsbild

Verwenden Sie die Konvertierungstaste und M, um das Fenster mit 2/3 der Monitorbreite in die Mitte des Bildschirms zu bringen. Drücken Sie dieselbe Taste erneut, um zu maximieren.

fig2.png

Wenn Sie gleichzeitig die Strg-Taste gedrückt halten, wird die Breite auf 1/3 reduziert. fig3.png

Weisen Sie den Konvertierungstasten und H / L normale Links- / Rechts-Schnappschüsse zu und drücken Sie die Umschalttaste, um 2/3 und Strg auf 1/3 Breite zu fangen.


(Erstens, wenn Sie es Multi-Monitor machen können, wird alles gelöst sein)

Recommended Posts

Teilen Sie den Bildschirm mit Keyhac in 3 Teile
Bildschirm und geteilter Bildschirm mit Python- und SSH-Anmeldung am Remote-Server
Bildschirmumschaltung / Bildschirmübergang mit Tkinter
Teilen Sie PDF in beliebige Seiten auf
Erstellen Sie eine Bildlaufrolle mit Pythonista + -Szene
[Blender] Teilen Sie das Blender-Skript in mehrere Dateien auf
Holen Sie sich Web-Screen-Capture mit Python