Перемещение текущего окна на другой рабочий стол в Windows 11 с помощью комбинаций клавиш

Вопрос или проблема

Год 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, мне пришлось выяснить несколько дополнительных шагов (в сравнении с тем, что объяснено в существующих ответах), чтобы найти рабочее решение:

  1. Скачайте и установите AutoHotKey
  2. Клонируйте репозиторий VD.ahk (это библиотека AutoHotkey, добавляющая несколько функций для управления виртуальными рабочими столами)
  3. Внутри клонированной директории создайте новый файл (произвольное имя, заканчивающееся на .ahk) и вставьте туда содержимое из ответа @Lorenzo Morelli.
  4. Дважды щелкните по скрипту, чтобы запустить его. Сочетания клавиш (Win+Ctrl+Shift+: Переместить текущее окно на следующий рабочий стол; Win+Ctrl+Shift+: Переместить текущее окно на предыдущий рабочий стол) теперь должны работать.
  5. Чтобы скрипт запускался при каждом старте 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 стало простым.

  1. Выберите иконку VD на панели задач, появится строка активных рабочих столов внизу текущего экрана.
  2. Наведите на нее курсор, затем на исходный рабочий стол, затем наверх, в область, показывающую все активные приложения
  3. Щелкните правой кнопкой мыши на приложении, которое вы хотите переместить, и выберите “Переместить в”. Выберите желаемый виртуальный рабочий стол.

Существует дополнительная удобная и связанная функция, если вы работаете в одном виртуальном рабочем столе, а нужное приложение уже открыто на другом:

  1. Перейдите на панель задач и дважды щелкните на иконке, которая кажется неоткрытой. Вы сразу будете перенаправлены на соответствующий виртуальный рабочий стол и приложение.

Решение с использованием новой версии AutoHotKey 2.x

(так как версия 1.x теперь устарела)

Это позволит вам использовать:

Win+Ctrl+Shift+: Переместить текущее окно на следующий рабочий стол

Win+Ctrl+Shift+: Переместить текущее окно на предыдущий рабочий стол

И когда вы достигнете первого/последнего рабочего стола, он вернется к последнему/первому рабочему столу соответственно.

  1. Скачайте и установите AutoHotKey v2

  2. Скачайте файл библиотеки VD.ah2 (нажмите правой кнопкой мыши и выберите “Сохранить ссылку как”, чтобы скачать оригинальный файл скрипта)

  3. Сохраните следующий код в файл скрипта, например, 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.

  4. Поместите оба файла в одну папку и …

    • дважды щелкните на myscript.ahk, чтобы запустить ваш скрипт;
    • сделайте ярлык на него в папке автозагрузки (Win+X, Выполнить, shell:startup), чтобы он всегда запускался вместе с Windows.

Бонус: Более подробные примеры доступны в репозитории VD GitHub, в ветке для версии AHK 2.

  1. Переключитесь на виртуальный рабочий стол, на котором находится окно, которое вы хотите переместить.
  2. Нажмите Win+Tab и продолжайте удерживать клавишу Win.
  3. Перетащите окно на нужный виртуальный рабочий стол внизу экрана.

Не с сочетаниями клавиш, но это возможно только с клавиатурой:

  1. Нажмите Win + Tab, чтобы открыть Представление задач.
  2. Нажмите Shift + F10, чтобы открыть контекстное меню для выделенного окна.
  3. Используйте клавиши со стрелками для навигации к параметру “Переместить в” и нажмите 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.

Шаги по установке и настройке:

  1. Установите AutoHotkey: скачайте и установите последнюю версию AutoHotkey. Эта утилита позволяет автоматизировать задачи в Windows с помощью скриптов.

  2. Скачайте библиотеку VD.ahk: перейдите в репозиторий VD.ahk и загрузите файлы библиотеки. VD.ahk расширяет возможности работы с виртуальными рабочими столами.

  3. Создайте скрипт: в загрузочной папке создайте новый файл с расширением .ahk, например myscript.ahk.

  4. Введите код скрипта: откройте 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()
  1. Запустите скрипт: дважды щелкните на myscript.ahk, чтобы активировать ваши горячие клавиши. Эти сочетания клавиш позволят перемещать окно на другой рабочий стол, как вы и хотели: Win+Ctrl+Shift+→ и Win+Ctrl+Shift+←.

  2. Добавьте в автозагрузку: чтобы скрипт запускался автоматически при старте Windows, создайте ярлык и поместите его в папку автозагрузки. Откройте ее, используя команду shell:startup в диалоге Win+R.

Преимущества использования AutoHotkey:

  • Гибкость и настройка: возможность кастомизировать скрипты под свои нужды и интегрировать их с другими функциями.
  • Увеличение производительности: сократит время на ручную пересылку окон между рабочими столами.
  • Поддержка других действий: библиотека VD.ahk предлагает расширенные возможности управления виртуальными рабочими столами.

Заключение

Хотя Windows 11 пока не поддерживает перемещение окон между рабочими столами с помощью сочетаний клавиш из коробки, с AutoHotkey вы можете добавить эту функциональность и упростить свой рабочий процесс. Используйте этот удобный инструмент для повышения производительности и большего контроля над своим окружением Windows.

Оцените материал
Добавить комментарий

Капча загружается...