Перемещение окон с помощью клавиатуры ... быстрее?

8

Мне нравится использовать сочетания клавиш, потому что это быстрее, так как не заставляет меня убирать руки с клавиатуры.

В Windows я могу использовать их для перемещения окон вокруг рабочего стола:

  1. Нажмите Alt + Космос открыть общее меню окон
  2. Нажмите M выбрать команду «Переместить»
  3. Перемещаться по окну с помощью клавиш курсора
  4. Подтвердите новую позицию с Войти

Кроме того, чтобы добиться большей точности, я могу держать Ctrl во время навигации.

Теперь проблема в том, что обычный «шаг» при перемещении составляет около 20 пикселей, а мой рабочий стол довольно большой, поэтому «ходьба» по всей длине занимает довольно много времени. Этот вид поражает цель использования клавиатуры для этих задач.

Можно ли изменить размер этого шага так, чтобы проходить одинаковое расстояние меньше? (Я представляю скрытый параметр в реестре Windows ...?)

Я пытался держать Alt во время навигации, но это, похоже, не влияет на скорость.

Alois Mahdal
источник
Не знал о модификаторе Ctrl для этого! Но в любом случае, я обычно использую это, только когда нет мыши или если по какой-то причине окно исчезло за пределами моего экрана. Я нахожу движущиеся окна с помощью мыши намного проще и быстрее. Однако я использую стрелки Win + Left / Right для «максимизации» окон в левой и правой части экрана и стрелки Win + Shift + Left / Right для перемещения окон между мониторами :)
Svish

Ответы:

2

Если вы чувствуете, что полностью переделываете парадигмы управления окнами в сторону динамического тайлинга, рассмотрите скрипт AutoHotkey, который называется « bug.n Msgstr "Вам понравится, если вы предпочитаете манипулировать окнами с помощью клавиатуры.

souser12345
источник
Спасибо! Это выглядит красиво, я обязательно попробую. Однако на данный момент я не уверен, как это будет работать с моими текущими настройками монитора «Лорел-Харди»: D (классический 4: 3 слева и 9:16 справа)
Alois Mahdal
Сама парадигма великолепно работает в любой конфигурации монитора, но я не использовал Windows (с bug.n), поэтому я не могу быть уверен в настройке нескольких дисплеев.
souser12345
1

Перемещение с клавиатуры, как и вы, является точным, но утомительным.

Если вы обычно перемещаете окна в определенные позиции и размеры, попробуйте GridMove , Вы можете определить свою собственную сетку (положение окна и размеры) или использовать предопределенные. Каждый из них называется плиткой. После этого вы можете привязать любое активное окно, нажав Win + 2, где 2 - это номер плитки, к которому вы хотите привязать. Нажмите Win + G, чтобы увидеть плитки и их номера в текущей сетке.

Ashwin Nanjappa
источник
0

В Windows 7 вы можете использовать клавишу Windows + стрелка для перемещения окон.

Я не уверен, сколько пикселей он сдвигает их за раз, но это больше, чем 20.

Adam Thompson
источник
Как и говорил Свиш, они используются для максимизации и перемещения между Windows. Я часто их использую, но они не помогут мне, если мне нужно будет произвольно расположить несколько меньших окон, что я часто и делаю при кодировании (например, я лежу вокруг нескольких меньших окон с заметками, тестами и подобными вещами и кодом в одно или несколько больших окон, постоянно заглядывая в маленькие).
Alois Mahdal
Клавиша Windows + вверх или вниз максимизирует или минимизирует окно, но влево / вправо очень быстро сместит их по экрану.
Adam Thompson
0

Не совсем по теме, но я чувствую, что это все еще актуально и стоит поделиться.

я использую AutoHotKey и Скрипт "KDEStyle" что я нашел давно и адаптировал для улучшения использования мыши для этой цели.

  • Выиграть + Щелчок левой кнопкой мыши
    • Позволяет переместить окно, нажав в любом месте внутри него.
  • Выиграть + Правый клик
    • Позволяет изменить размер окна, используя ближайший угол - снова нажав в любом месте внутри него.

Это значительно снижает требуемую точность и, на мой взгляд, значительно упрощает и ускоряет использование мыши для таких целей.

#LButton::
    MouseGetPos,KDE_X1,KDE_Y1,KDE_id
    WinGet,KDE_Win,MinMax,ahk_id %KDE_id%
    if KDE_Win
        return
    WinGetPos,KDE_WinX1,KDE_WinY1,,,ahk_id %KDE_id%
    loop {
        GetKeyState,KDE_Button,LButton,P
        if KDE_Button = U
            break
        MouseGetPos,KDE_X2,KDE_Y2
        KDE_X2 -= KDE_X1
        KDE_Y2 -= KDE_Y1
        KDE_WinX2 := (KDE_WinX1 + KDE_X2)
        KDE_WinY2 := (KDE_WinY1 + KDE_Y2)
        WinMove,ahk_id %KDE_id%,,%KDE_WinX2%,%KDE_WinY2%
    }
    return

#RButton::
    MouseGetPos,KDE_X1,KDE_Y1,KDE_id
    WinGet,KDE_Win,MinMax,ahk_id %KDE_id%
    if KDE_Win
        return
    WinGetPos,KDE_WinX1,KDE_WinY1,KDE_WinW,KDE_WinH,ahk_id %KDE_id%
    if (KDE_X1 < KDE_WinX1 + KDE_WinW / 2) {
        KDE_WinLeft := 1
    } else {
        KDE_WinLeft := -1
    }
    if (KDE_Y1 < KDE_WinY1 + KDE_WinH / 2) {
        KDE_WinUp := 1
    } else {
        KDE_WinUp := -1
    }
    loop {
        GetKeyState,KDE_Button,RButton,P
        if KDE_Button = U
            break
        MouseGetPos,KDE_X2,KDE_Y2
        WinGetPos,KDE_WinX1,KDE_WinY1,KDE_WinW,KDE_WinH,ahk_id %KDE_id%
        KDE_X2 -= KDE_X1
        KDE_Y2 -= KDE_Y1
        WinMove,ahk_id %KDE_id%,, KDE_WinX1 + (KDE_WinLeft+1)/2*KDE_X2
                                , KDE_WinY1 +   (KDE_WinUp+1)/2*KDE_Y2
                                , KDE_WinW  -     KDE_WinLeft  *KDE_X2
                                , KDE_WinH  -       KDE_WinUp  *KDE_Y2
        KDE_X1 := (KDE_X2 + KDE_X1)
        KDE_Y1 := (KDE_Y2 + KDE_Y1)
    }
    return

Стандартные комбинации клавиш Windows дополняют это и позволяют:

  • Выиграть + вверх / вниз
    • Развернуть / Восстановить / Свернуть
  • Выиграть + Оставил / Правильно
    • Изменить размер левой / правой половины экрана
  • Выиграть + сдвиг + Оставил / Правильно
    • Переместить один монитор влево / вправо
  • так далее...
Attie
источник