Ещё один простой блог в интернете, одного из жителей Сызрани, который считает себя дизайнером, WEB-мастером и фотографом-любителем

просто блог

QR CODE для записиQR CODE для записи “UltraWide виджет для KDE. Разделение экрана и свои размеры”

UltraWide виджет для KDE. Разделение экрана и свои размеры

После покупки UltraWide монитора для ОС Linux с KDE мне пришлось некоторое время поискать нормальные инструменты для разделения рабочего стола. На данный момент я остановился на виджете UltrawideWindows. Пока она оказалась самой удобной, но, к сожалению, не поддерживает FullScreen в разделённой области. Установка достаточно простая: скопировать архив на комп или склонировать git репозиторий в любое место на компе и запустить в папке с виджетом команду plasmapkg2 —type=kwinscript -i .. После чего зайти в Параметры системы и настроить сочетание клавиш.

Но мне не понравились режимы, которые были заложены. Поэтому я решил попробовать изменить скрипт, добавить свои и у меня это легко получилось, т.к. виджет написан на JavaScript’е.

Параметры разделения экрана находятся в файле contents/code/main.js.

За регистрацию комбинации отвечает функция registerShortcut(), в которую передаются следующие параметры:

  1. Название
  2. Название, которое отображается в Параметрах системы
  3. Комбинация клавиш
  4. Callback функция с действиями, в нашем случае move()

move() сама функция, которая отвечает за разделение экрана:

  1. workspace — не вдавался в подробности, но что-то типа рабочего пространства, то есть KDE стола. Оставляем как есть
  2. numberXslots — количество колонок
  3. numberYslots — количество строк
  4. x — начальная позиция по X (номер колонки)
  5. y — начальная позиция по Y (номер строки)
  6. xSlotToFill — ширина, количество заполненных колоно
  7. ySlotToFill — высота, количество заполненных строк
    • Так для примера в настоящее время я использую разделение 5×1 (пять колонок 1+3+1) и мой код выглядит так:

      // GRID 5x1 1+3+1
      registerShortcut("MoveWindowToLeft5", "UltrawideWindows: 5 left", "", function () {
          move(workspace, 5, 1, 0, 0, 1, 1)
      });
      registerShortcut("MoveWindowToCenter5", "UltrawideWindows: 5 center", "", function () {
          move(workspace, 5, 1, 1, 0, 3, 1)
      });
      registerShortcut("MoveWindowToRight5", "UltrawideWindows: 5 right", "", function () {
          move(workspace, 5, 1, 4, 0, 1, 1)
      });

      Для примера пробовал другой вариант 7×1 (2+5), но мне не понравился:

      // GRID 7x1 (2+5)
      registerShortcut("MoveWindowToLeft5", "UltrawideWindows: 5 left", "", function () {
          move(workspace, 7, 1, 0, 0, 2, 1)
      });
      registerShortcut("MoveWindowToRight5", "UltrawideWindows: 5 right", "", function () {
          move(workspace, 7, 1, 2, 0, 5, 1)
      });
      

      Обратите внимание, что я не указываю сочетания клавиш, потому что у меня назначены медиа клавиши, их выставляю через Параметры системы, вы же можете сразу прописать свои комбинации. Режимы которые вам не нужны — можете закомментировать, чтобы не было лишних в Параметрах системы и не засоряло комбинации клавиш.

      После того, как вы прописали и сохранили файл — необходимо перезапустить виджет. Для этого зайдите через консоль в папку с виджетом и запустите команду ./scripts/update.sh. Возможно у вас будут какие-то не критические ошибки в консоли, но я не обращаю на них внимание.

Рубрики: Разное | Комментариев нет

Оставить комментарий

В блоге включена ручная модерация комментариев. Нет смысла повторно отправлять комментарий.
Поля отмеченный звездочкой * обязательны к заполнению

Перед отправкой формы: