it-swarm.com.de

Pin-Anwendungen an mehrere Desktops in Windows 10

Eine der großen Neuerungen für Windows ist die Tatsache, dass jetzt mehrere "virtuelle" Desktops nativ unterstützt werden, sodass Sie Sammlungen von Fenstern zusammen organisieren und Gruppen von Aufgaben trennen können.

Das ist gut.

Sie können Fenster zwischen Desktops verschieben, indem Sie auf die Schaltfläche "Aufgaben" klicken, mit der rechten Maustaste auf ein Anwendungsfenster klicken und "Verschieben nach ..." auswählen.

Das ist ein bisschen klobig und nicht ganz so gut.

Ich habe zwei Monitore und möchte häufig einen Film auf meinem zweiten Monitor abspielen, entweder in einem Webbrowser oder einem Mediaplayer, während ich einen Browser und einige andere Anwendungen auf dem Hauptbildschirm habe. Dies zu tun ist in meinem aktuellen Setup kein Problem, es funktioniert einfach.

Mit dem Aufkommen virtueller Desktops wollte ich den Browser auf einen virtuellen Desktop und eine andere App auf einen anderen virtuellen Desktop stellen und das Video trotzdem ansehen können, wenn ich zwischen Desktops wechsle, sodass es effektiv auf beiden virtuellen Desktops sichtbar ist. Wenn Sie die Standard-Film- und TV-App zum Abspielen eines Videos und anschließend zum Wechseln auf einen anderen Desktop verwenden, wird das Video ohne Warnung angehalten.

Das ist nicht gut.

Ich hatte gehofft, dass die beiden Monitore entweder einen eigenen virtuellen Desktop haben oder eine Art "Pin an alle Desktops" -Option haben, ähnlich der "Sticky Window" -Funktion, die ich in vielen Linux-basierten Fenstermanagern gesehen habe.

Gibt es eine Möglichkeit, dies zu erreichen?

68
Mokubai

Die Funktion wurde jetzt als eine von mehreren "Verbesserungen des virtuellen Desktops" im Windows 10 Anniversary Update (Build 14316) veröffentlicht:

Sie können jetzt ein Fenster anheften, damit es auf jedem Desktop verfügbar ist. Starten Sie dazu die Task-Ansicht, klicken Sie mit der rechten Maustaste auf das Fenster, das Sie fixieren möchten, und wählen Sie "Dieses Fenster auf allen Desktops anzeigen". Versuchen Sie, Skype- oder Groove-Musik festzuhalten, damit Sie sie immer zur Hand haben. Und wenn Sie über ein Multi-Mon-Setup verfügen, können Sie Ihre E-Mail-App möglicherweise auf dem zweiten Monitor anzeigen, unabhängig davon, auf welchen Desktop Sie wechseln.

 enter image description here

92

Ja. [fast :)] Jedes Fenster mit dem WS_EX_TOOLWINDOW-Attribut ist auf allen Desktops sichtbar.

Autohotkey ist dabei eine große Hilfe. Beispielskript - MyLoop.ahk:

 WS_EX_TOOLWINDOW: = 0x00000080 
 Loop 
 {
 WinSet, ExStyle, +% WS_EX_TOOLWINDOW%, ahk_class Chrome_WidgetWin_1 
 Sleep, 100 
 } 

Setzen Sie dies in Windows-Start und Google Chrome-Fenster wird auf allen virtuellen Desktops "haften".

Oder weisen Sie dies als Hotkey zu: Beispielskript - MyHotkeys.ahk:

 WS_EX_TOOLWINDOW: = 0x00000080 
 + MButton :: WinSet, ExStyle, ^% WS_EX_TOOLWINDOW%, A 
 ^ MButton :: WinSet, AlwaysOnTop, toggle, A 

Wenn Sie dies in den Windows-Startmodus setzen, können Sie den "Sticky" -Zustand für jedes Fenster umschalten, indem Sie die Umschalttaste und die mittlere Maustaste darauf klicken.

Hinzufügungstaste - Strg + Klicken mit der mittleren Taste schaltet den Status "Oben" um. Sehr hilfreich.

PS: Moderne Anwendungen (z. B. Windows 10-Rechner) ignorieren dies irgendwie. Ich weiß nicht warum. Aber für Windows Explorer-Fenster und die meisten "alten Anwendungen" - es funktioniert alles in Ordnung

17
IDj

Basierend auf der obigen @ idj-Lösung wird dies in C durchgeführt:

exstyle = GetWindowLongPtr(hwndPtr, GWL_EXSTYLE);
exstyle |= WS_EX_TOOLWINDOW
SetWindowLongPtr(hwndPtr, GWL_EXSTYLE, exstyle);
1
Noitidart