Pin-Anwendungen an mehrere Desktops in Windows 10

73

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 in 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 der virtuellen Desktops wollte ich den Browser auf einen virtuellen Desktop und eine andere App auf einen anderen virtuellen Desktop stellen und trotzdem das Video ansehen können, wenn ich zwischen Desktops wechsle, sodass es auf beiden virtuellen Desktops effektiv 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 "Pin-to-All-Desktops" -Option ähnlich der "Sticky Window" -Funktion, die ich in vielen Linux-basierten Fenstermanagern gesehen habe.

Gibt es eine Möglichkeit, dies zu erreichen?

Mokubai
quelle
Nicht , dass ich kenne, obwohl ich Erfahrung mit mehreren Systemen haben mit Workspaces (verschiedene Linux - Systeme) keine jemals diese Funktion hatte, welche Art von Pausen das Konzept mit mehreren Arbeitsplätzen.
Daniel
2
@ Daniel Ich habe mit mehreren Leuten gesprochen und sie bezeichnen es als "klebrige Fenster"
Mokubai
2
@ Psychogeek Ich beziehe mich sowohl auf Multi-Monitor- als auch auf virtuelle Desktops, die Multi-Monitor-Seite ist in Ordnung. Ich kann ein Video öffnen, es auf den zweiten Bildschirm stellen und alles ist in Ordnung, aber wenn ich mit der neuen Funktion für virtuelle Desktops zu einem anderen Desktop wechsle, verschwindet das Videofenster und die Wiedergabe wird (in einigen Fällen) ganz eingestellt. Ich hätte gerne eine Möglichkeit, ein Fenster an mehrere virtuelle Desktops anzuheften.
Mokubai
Verstanden, viele der Virtual Desktop-Programme hatten diese Funktion, mit der Sie Programme bestimmten virtuellen Objekten zuweisen konnten. Je nach Methode gab es immer noch viele kleine Buggy-Probleme.
Psycogeek
6
Ich denke, ein ziemlich typisches Beispiel für dieses Bedürfnis ist fast jede Kommunikationsanwendung. Ich möchte separate virtuelle Desktops für verschiedene Projekte verwenden, an denen ich arbeite, aber ich möchte IM-Clients und E-Mails anheften / anheften. Es scheint mir ein ziemlich normaler Anwendungsfall zu sein, dass ich meine Arbeitsbereiche trennen möchte, ohne den Desktop tauschen zu müssen, nur um E-Mail-Benachrichtigungen zu erhalten!
Colin K

Antworten:

100

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 Aufgabenansicht, 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 ein Multi-Mon-Setup haben, können Sie Ihre E-Mail-App möglicherweise auf dem zweiten Monitor anzeigen, unabhängig davon, zu welchem ​​Desktop Sie wechseln.

Bildbeschreibung hier eingeben

Daniel Ballinger
quelle
In dem Beitrag geht es um die Verfügbarkeit auf dem Windows Insider Fast Ring. Haben Sie einen Zeitplan, wann dieser für normale Benutzer gelöscht wird?
Mokubai
1
@Mokubai Soweit ich das beurteilen kann, gibt es noch keinen festen Veröffentlichungstermin. Nur ein vages "This [Northern Hemisphere] Summer".
Daniel Ballinger
aber wie löst du es?
Mikey
@Mikey Funktioniert das Deaktivieren der Option "X auf allen Desktops anzeigen" bei Ihnen nicht?
Daniel Ballinger
Funktioniert auf den Fenstern, auf die ich klicken kann, ist das Problem, wenn sie in der Aufgabenansicht nicht sichtbar sind. Natürlich war es vorher sichtbar, als ich es einschaltete, aber jetzt, wenn ich in die Aufgabenansicht gehe, verschwindet das Fenster. Also, was ist ein anderer Weg, es zu deaktivieren? Gibt es einen Registrierungsschlüssel? Momentan habe ich dieses Problem mit dem Telegramm, das ich für eine QT (Cross Platform App) halte. Nur um klar zu sein, das Fenster ist auf allen Desktops sichtbar, verschwindet aber, wenn ich die Aufgabenansicht betrete
Mikey
18

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
Schleife
{
   WinSet, ExStyle, +% WS_EX_TOOLWINDOW%, ahk_class Chrome_WidgetWin_1
   Schlaf, 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, umschalten, A

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

Hinzufügungstaste - Mit Strg + Klick auf die mittlere Taste wird der Status "Oben" umgeschaltet. Sehr hilfreich.

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

IDj
quelle
Ich habe die Skripte für den mittleren Klick + Hotkeys ausprobiert. Die Strg + mittlere Taste hat gut funktioniert. Ich konnte den across Virtual Desktop jedoch nicht zum Laufen bringen. Keines der Fenster, an denen ich es ausprobiert habe, ist gewechselt.
Daniel Ballinger
Hat für mich gearbeitet. In meinem Fall wollte ich es immer so einstellen, dass es angezeigt wird, also habe ich das Caret ( ^) durch ein Pluszeichen ( +) ersetzt.
Ohaal
1

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);
Noitidart
quelle