Вопрос или проблема
Год 2021. В Windows 11, как я могу переместить текущее активное окно на следующий рабочий стол, используя только сочетания клавиш?
Я знаю, что могу переключать рабочие столы, используя эти комбинации:
Win+Ctrl+→: Переключиться на следующий рабочий стол
Win+Ctrl+←: Переключиться на предыдущий рабочий стол
Добавление следующих сочетаний клавиш кажется мне наиболее удобным – используются в Ubuntu:
Win+Ctrl+Shift+→: Переместить текущее окно на следующий рабочий стол
Win+Ctrl+Shift+←: Переместить текущее окно на предыдущий рабочий стол
Подобные сочетания клавиш также приемлемы… но будет еще лучше, если я смогу переназначить их на предпочитаемую комбинацию.
Есть ли что-то подобное из коробки? Или мне нужно установить сторонние инструменты?
Win+Ctrl+Shift+→: Переместить текущее окно на следующий рабочий стол
Win+Ctrl+Shift+←: Переместить текущее окно на предыдущий рабочий стол
Этот ahk
скрипт работает для меня:
^#+Left::
n := VD.getCurrentDesktopNum()
if n = 1
{
Return
}
n -= 1
VD.MoveWindowToDesktopNum("A",n), VD.goToDesktopNum(n)
Return
^#+Right::
n := VD.getCurrentDesktopNum()
if n = % VD.getCount()
{
Return
}
n += 1
VD.MoveWindowToDesktopNum("A",n), VD.goToDesktopNum(n)
Return
Вы можете найти больше на https://github.com/FuPeiJiang/VD.ahk и https://www.autohotkey.com/
Так как я раньше не использовал AutoHotkey, мне пришлось выяснить несколько дополнительных шагов (в сравнении с тем, что объяснено в существующих ответах), чтобы найти рабочее решение:
- Скачайте и установите AutoHotKey
- Клонируйте репозиторий VD.ahk (это библиотека AutoHotkey, добавляющая несколько функций для управления виртуальными рабочими столами)
- Внутри клонированной директории создайте новый файл (произвольное имя, заканчивающееся на
.ahk
) и вставьте туда содержимое из ответа @Lorenzo Morelli. - Дважды щелкните по скрипту, чтобы запустить его. Сочетания клавиш (Win+Ctrl+Shift+→: Переместить текущее окно на следующий рабочий стол; Win+Ctrl+Shift+←: Переместить текущее окно на предыдущий рабочий стол) теперь должны работать.
- Чтобы скрипт запускался при каждом старте Windows, создайте ярлык для него и поместите его в папку для ваших программ автозагрузки. Откройте эту папку, введя
shell:startup
в окне, которое появится после нажатия Win + R.
Я разместил полный скрипт AutoHotKey, взятый из ответа @void, для помощи новичкам/ленивым людям 🙂
;#НАСТРОЙКА НАЧАЛО
#NoEnv ; Рекомендуется для повышения производительности и совместимости с будущими версиями AutoHotkey.
#SingleInstance force
ListLines Off
SetBatchLines -1
SendMode Input ; Рекомендуется для новых скриптов из-за его высокой скорости и надежности.
SetWorkingDir %A_ScriptDir% ; Обеспечивает согласованную начальную директорию.
#KeyHistory 0
#WinActivateForce
Process, Priority,, H
SetWinDelay -1
SetControlDelay -1
;включить библиотеку
#Include VD.ahk
; VD.init() ;РАСКОММЕНТИРУЙТЕ 'static dummyStatic1 := VD.init()', если вы не хотите инициализировать при запуске скрипта
;вы должны скрывать окна невидимых программ.
WinHide, % "Malwarebytes Tray Application"
;#НАСТРОЙКА КОНЕЦ
VD.createUntil(3) ;создайте до тех пор, пока у нас не будет как минимум 3 VD
return
^#+Left::
n := VD.getCurrentDesktopNum()
if n = 1
{
Return
}
n -= 1
VD.MoveWindowToDesktopNum("A",n), VD.goToDesktopNum(n)
Return
^#+Right::
n := VD.getCurrentDesktopNum()
if n = % VD.getCount()
{
Return
}
n += 1
VD.MoveWindowToDesktopNum("A",n), VD.goToDesktopNum(n)
Return
Не уверен, какая версия обсуждается в этой теме, но на сегодняшний день (22.07.2022) перемещение окон между виртуальными рабочими столами в Win-11 стало простым.
- Выберите иконку VD на панели задач, появится строка активных рабочих столов внизу текущего экрана.
- Наведите на нее курсор, затем на исходный рабочий стол, затем наверх, в область, показывающую все активные приложения
- Щелкните правой кнопкой мыши на приложении, которое вы хотите переместить, и выберите “Переместить в”. Выберите желаемый виртуальный рабочий стол.
Существует дополнительная удобная и связанная функция, если вы работаете в одном виртуальном рабочем столе, а нужное приложение уже открыто на другом:
- Перейдите на панель задач и дважды щелкните на иконке, которая кажется неоткрытой. Вы сразу будете перенаправлены на соответствующий виртуальный рабочий стол и приложение.
Решение с использованием новой версии AutoHotKey 2.x
(так как версия 1.x теперь устарела)
Это позволит вам использовать:
Win+Ctrl+Shift+→: Переместить текущее окно на следующий рабочий стол
Win+Ctrl+Shift+←: Переместить текущее окно на предыдущий рабочий стол
И когда вы достигнете первого/последнего рабочего стола, он вернется к последнему/первому рабочему столу соответственно.
-
Скачайте и установите AutoHotKey v2
-
Скачайте файл библиотеки VD.ah2 (нажмите правой кнопкой мыши и выберите “Сохранить ссылку как”, чтобы скачать оригинальный файл скрипта)
-
Сохраните следующий код в файл скрипта, например,
myscript.ahk
:#Requires AutoHotkey v2.0 #SingleInstance force ListLines 0 SendMode "Input" SetWorkingDir A_ScriptDir KeyHistory 0 #WinActivateForce ProcessSetPriority "H" SetWinDelay -1 SetControlDelay -1 #Include %A_LineFile%\..\VD.ah2 ; обертывание / циклическое возвращение к первому рабочему столу, когда на последнем ^#left::VD.goToRelativeDesktopNum(-1) ^#right::VD.goToRelativeDesktopNum(+1) ; переместить окно влево и следовать за ним +^#left::VD.MoveWindowToRelativeDesktopNum("A", -1).follow() ; переместить окно вправо и следовать за ним +^#right::VD.MoveWindowToRelativeDesktopNum("A", 1).follow()
Первый блок кода – это оптимизация, как рекомендуется автором скрипта VD, и загружает библиотеку VD.
-
Поместите оба файла в одну папку и …
- дважды щелкните на
myscript.ahk
, чтобы запустить ваш скрипт; - сделайте ярлык на него в папке автозагрузки (Win+X, Выполнить,
shell:startup
), чтобы он всегда запускался вместе с Windows.
- дважды щелкните на
Бонус: Более подробные примеры доступны в репозитории VD GitHub, в ветке для версии AHK 2.
- Переключитесь на виртуальный рабочий стол, на котором находится окно, которое вы хотите переместить.
- Нажмите Win+Tab и продолжайте удерживать клавишу Win.
- Перетащите окно на нужный виртуальный рабочий стол внизу экрана.
Не с сочетаниями клавиш, но это возможно только с клавиатурой:
- Нажмите
Win + Tab
, чтобы открыть Представление задач. - Нажмите
Shift + F10
, чтобы открыть контекстное меню для выделенного окна. - Используйте клавиши со стрелками для навигации к параметру “Переместить в” и нажмите Enter. Выберите нужный рабочий стол с помощью клавиш со стрелками и нажмите Enter снова.
Я не нашел способа сделать это самостоятельно и не нашел никакой информации в интернете по этому поводу. Это было бы полезно, но есть своего рода обходной путь для этого. Если вы перейдете в настройки–>система–>многозадачность, вы можете установить несколько параметров рабочего стола, которые позволяют видеть все ваши приложения на рабочем столе через alt-tab и/или на панели задач.
Лично я оставил alt-tab специфичным для рабочего стола (так как иначе это кажется слишком перегруженным), но мне нравится иметь возможность переключаться на личный чат или что-то еще без необходимости перехода на рабочий стол, а затем к окну.
Просто установите FreeVD из выпуска Github.
вы можете настроить собственное сочетание клавиш для выполнения различных функций перемещения
Репозиторий(До Windows 10): https://github.com/Marcus-L/FreeVD
Для Windows 11 используйте эту форкнутую версию:
Репозиторий(Windows 11): https://github.com/hisbvdis/freevd-win-11/tree/master
Инструкции AHK от @void, @Lorenzo Morelli и @Sejmou отличные. Теперь перепрыгивать окна между виртуальными рабочими столами – это легко.
Одна вещь, которую я хотел бы добавить, если у вас возникли проблемы: когда Windows Explorer падает, ваш счетчик/номер рабочего стола обнуляется в скрипте, что ломает команды горячих клавиш. Перезапуск скрипта это исправляет.
Полезно установить горячие клавиши, чтобы давать вам всплывающее окно с сообщением, информирующим о том, на каком рабочем столе вы находитесь. Если вы видите “0”, то знаете, что вам нужно перезапустить скрипт.
Это не так в Windows 11 (или было добавлено).
На панели меню нажмите кнопку представления задач (справа от поиска). Если ее нет, щелкните правой кнопкой мыши по панели задач, зайдите в настройки и включите ее.
Нажмите на нее. Это покажет все окна и рабочие столы. Вы можете перетащить окно на нужный рабочий стол.
РЕДАКТИРОВАНО: Увидел, что это уже упомянуто выше с использованием комбинации ⊞ Win+Tab для вызова представления задач.
.
Ответ или решение
Для перемещения текущего окна на другой рабочий стол в Windows 11 с помощью сочетаний клавиш, вам потребуется установка дополнительного ПО, так как эта функция не предусмотрена системой по умолчанию. Рассмотрим, как это сделать с использованием AutoHotkey и библиотеки VD.ahk.
Шаги по установке и настройке:
-
Установите AutoHotkey: скачайте и установите последнюю версию AutoHotkey. Эта утилита позволяет автоматизировать задачи в Windows с помощью скриптов.
-
Скачайте библиотеку VD.ahk: перейдите в репозиторий VD.ahk и загрузите файлы библиотеки. VD.ahk расширяет возможности работы с виртуальными рабочими столами.
-
Создайте скрипт: в загрузочной папке создайте новый файл с расширением
.ahk
, напримерmyscript.ahk
. -
Введите код скрипта: откройте
myscript.ahk
в любом текстовом редакторе и вставьте следующий код:
#Requires AutoHotkey v2.0
#SingleInstance force
ListLines 0
SendMode "Input"
SetWorkingDir A_ScriptDir
KeyHistory 0
#WinActivateForce
ProcessSetPriority "H"
SetWinDelay -1
SetControlDelay -1
#Include %A_LineFile%\..\VD.ah2
; Перемещает текущие окно на левый рабочий стол
+^#left::VD.MoveWindowToRelativeDesktopNum("A", -1).follow()
; Перемещает текущие окно на правый рабочий стол
+^#right::VD.MoveWindowToRelativeDesktopNum("A", 1).follow()
-
Запустите скрипт: дважды щелкните на
myscript.ahk
, чтобы активировать ваши горячие клавиши. Эти сочетания клавиш позволят перемещать окно на другой рабочий стол, как вы и хотели:Win+Ctrl+Shift+→
иWin+Ctrl+Shift+←
. -
Добавьте в автозагрузку: чтобы скрипт запускался автоматически при старте Windows, создайте ярлык и поместите его в папку автозагрузки. Откройте ее, используя команду
shell:startup
в диалогеWin+R
.
Преимущества использования AutoHotkey:
- Гибкость и настройка: возможность кастомизировать скрипты под свои нужды и интегрировать их с другими функциями.
- Увеличение производительности: сократит время на ручную пересылку окон между рабочими столами.
- Поддержка других действий: библиотека VD.ahk предлагает расширенные возможности управления виртуальными рабочими столами.
Заключение
Хотя Windows 11 пока не поддерживает перемещение окон между рабочими столами с помощью сочетаний клавиш из коробки, с AutoHotkey вы можете добавить эту функциональность и упростить свой рабочий процесс. Используйте этот удобный инструмент для повышения производительности и большего контроля над своим окружением Windows.