Настройка Hyprland в соответствии с вашими предпочтениями

Итак, вы установили Hyprland и теперь хотите насладиться аккуратным оформлением окна? Hyprland очень хорошо настраивается.

Я понимаю, что вы можете не захотеть изучать все это, особенно в начале, и поэтому я делюсь некоторыми базовыми настройками Hyprland в качестве руководства для новичков.

В этой статье предполагается, что вы установили ванильный Hyprland. Тем, кто установил Hyprland с помощью других dot-файлов, возможно, не понадобятся все шаги, упомянутые в этой статье.

1. Удалите предупреждение об автогенерируемой конфигурации

Первое, что вы заметите, когда войдете в только что установленную систему Hyprland, это предупреждение «Вы используете автогенерируемый файл конфигурации».

Чтобы удалить его, откройте файл конфигурации Hyprland.

nano ~/.config/hypr/hyprland.config

Теперь удалите строку:

autogenerated = 1

Она находится в самом начале файла. После удаления сохраните файл, чтобы сразу увидеть эффект.

Конфигурационный файл Hyprland находится по адресу /home/$USER/.config/hypr/hyprland.config.

2. Использование Hyprpaper для обоев

Если вы установили Hyprland с помощью скрипта archinstall, есть вероятность, что у вас нет обоев.

Сначала я подумал, что моя установка была неудачной, потому что при входе в систему появлялось предупреждение об автогенерируемой конфигурации и черный экран.

В Hyprland для установки обоев можно использовать утилиту Hyprpaper. Она позволяет устанавливать обои на несколько экранов, а также обладает другими замечательными функциями.

Установите Hyprpaper в Arch Linux с помощью команды:

sudo pacman -Syu hyprpaper

После установки найдите файл конфигурации по адресу ~/.config/hypr/hyprpaper.conf. Если его там нет, создайте его и откройте.

nano ~/.config/hypr/hyprpaper.conf

Откройте новый терминал и выполните команду:

hyprctl monitors

С этого момента, когда я говорю «список мониторов», подразумевается hyprctl monitors. Поскольку я использую Hyprland внутри GNOME Boxes, имя моего монитора будет Virtual-1.

Внутри конфигурации Hyprpaper предварительно загрузите обои и примените их:

preload = <Path to the wallpaper>
wallpaper = <Monitor-name>, <path to wallpaper>
wallpaper = Virtual-1, /home/team/Pictures/wallpaper.png

Все обои, которые вы хотите установить, должны быть предварительно загружены. В то же время ограничьте количество изображений до минимума, чтобы не занимать память.После завершения настройки сохраните файл и выйдите. Теперь откройте Hyprland config и введите строку:

exec-once hyprpaper

Ключевое слово exec-once используется для определения приложений, которые должны запускаться при запуске Hyprland. Вы можете автозапустить несколько приложений одной командой exec-once, используя оператор &. После нужно перелогиниться в Hyprland, чтобы увидеть эффект.

Используйте сочетание клавиш Super + M, чтобы выйти из сеанса Hyprland на экран входа в систему.

3. Настройте мониторы

Этот пункт больше подходит для настройки двух или нескольких мониторов.

Сначала составьте список мониторов и узнайте названия подключенных мониторов. Получив имена, откройте конфигурацию Hyprland и добавьте строку в раздел MONITORS:

monitor=<monitor_name>,<resolution>@fps,<position>,<scaling>
monitor=Virtual-1,1920x1080@60,0x0,1.5

В этой конфигурации <position> – это место, где отображается ваш текущий монитор в многомониторной установке. Это означает, что если у вас есть монитор с разрешением 3860×2160 и еще один 1920×1080, то положение второго монитора может быть 3860×0, чтобы он находился справа от первого.

monitor=monitor2-name,1920x1080@60,3860x0,1

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

4. Добавьте панель

Панель – это неотъемлемая часть любого окна/рабочего стола. Здесь размещаются все необходимые утилиты, такие как панель задач, системный трей, индикаторы рабочего пространства и т. д.

В Hyprland можно использовать такие приложения для работы с панелями, как Waybar.

Hyprland – это исключительно Wayland. Поэтому рассмотрите возможность использования приложения для панели Wayland. У нас есть подробное руководство по установке и настройке Waybar. Обратитесь к нему за дополнительной информацией.

5. Установите демон уведомлений

Популярные окружения рабочего стола, такие как GNOME, KDE Plasma и т. д., заботятся об этой части автоматически. В Hyprland вам нужно настроить его вручную, и вы ДОЛЖНЫ это сделать.

Без демона уведомлений вы упустите жизненно важную часть современных настольных компьютеров.

Для меня dunst демон уведомлений с широкими возможностями настройки был установлен автоматически, и я решил придерживаться этого. Вы можете установить то же самое, используя:

sudo pacman -Syu dunst

После установки dunst проверьте его, отправив тестовое уведомление:

notify-send "Hello World!"

Да, он работает. Если нет, попробуйте автозапуск в конфигурации Hyprland:

exec-once dunst

И заново войти в систему.

6. Менеджер буфера обмена

Менеджеры буфера обмена необходимы для любой системы. Я предлагаю использовать CopyQ, простую и мощную утилиту для работы с буфером обмена.

В ней нет ничего сложного. Установите CopyQ с помощью:

sudo pacman -Syu copyq

Автозапуск в конфигурации Hyprland:

exec-once copyq --start-server

Теперь перейдите в Copyq File → Preferences и выберите опцию Hide Main Window на вкладке Layout.

7. Установите Hyprshot, утилиту для создания скриншотов.

Кто не хочет поделиться своими настройками Hyprland с сообществом? Чтобы сделать скриншот, вам нужен инструмент. Hyprshot – это то, что вам нужно.

Для того чтобы Hyprshot работал правильно, необходимо настроить демон уведомлений. О настройке демона говорилось ранее. Чтобы установить Hyprshot, убедитесь, что у вас установлены все зависимости. В Arch Linux выполните команду:

sudo pacman -Syu jq grim slurp wl-clipboard libnotify

Теперь установите Hyprshot из AUR. Вы можете использовать помощники AUR, такие как Yay здесь.

yay -S hyprshot

Или следуйте традиционным методам установки AUR.

Если вы используете другие дистрибутивы, перейдите на страницу Hyprshot GitHub и скачайте скрипт из релизов. Поместите его в любую директорию, которая есть в вашем PATH.

Теперь прокрутите вниз до секции KEYBINDINGS в файле конфигурации Hyprland и добавьте строку в конец секции.

Screenshot a window
bind = , PRINT, exec, hyprshot -m region

Вы могли заметить запятую в начале. Это означает, что клавиша-модификатор типа SUPER не используется. Просто нажмите клавишу PrtScr. Если вам нужно использовать SUPER_PrtScr, поставьте SUPER перед запятой. bind = SUPER, PRINT, exec, hyprshot -m region. Это позволит привязать клавишу PrtScr для создания скриншота выбранного вами региона.

По умолчанию файл будет сохранен в папке ~/Pictures.

Вместо hyprshot -m region можно использовать hyprshot -m region --clipboard-only, чтобы скопировать изображение в буфер обмена, а не сохранять его.

О настройках привязки клавиш мы поговорим в другом разделе.

8. Анимация в Hyprland

Установка прикольных анимаций для открытия окон и переключения рабочей области – это еще один способ сделать вашу установку Hyprland крутой.

Чтобы установить анимацию, вам нужно получить значения кривой Безье. Вы можете посетить сайт ниже, чтобы создать свою кривую или выбрать предустановленную.

Генератор кривых Безье для настройки кривой используйте точку, а для просмотра перехода – кнопку, как показано на скриншоте ниже.

После установки вы получите 4 набора значений в виде 0.19, 1, 0.52, 0.35. Обратите внимание на это значение.

Теперь в конфигурации Hyprland перейдите в раздел LOOK AND FEEL, прокрутите вниз до части, посвященной анимации.

Здесь установите значение перехода безье следующим образом:

bezier = Name_for_your_bezier, value_you_copied
bezier = customBezier, 0.19, 1, 0.52, 0.35

Теперь, когда вы определили анимационный переход, установите его на нужный вам участок, например на открытие окна (windows), закрытие (windowsOut) и т. д. Здесь я установил анимацию на переключение рабочей области:

animation = windows, ON/OFF, Speed, Bezier_name
animation = workspaces, 1, 6, customBezier

Пожалуйста, обратитесь к вики по анимации для получения подробной информации о настройках.

9. Переменные в Hyprland

Hyprland использует переменные для управления несколькими аспектами системы.

Здесь я покажу вам несколько настроек переменных, чтобы вы могли легко использовать другие переменные.

Hyprland Variables Wiki – там вы найдете колонки с именами переменных и их предполагаемыми типами, такими как Boolean, Integer и т.д. Они разделены на различные категории и подкатегории. Чтобы определить переменную, нужно открыть категорию в фигурных скобках.

Допустим, я хочу установить опцию изменения размера окна путем перетаскивания от границы в плиточном режиме. Поэтому у меня есть опция под названием resize_on_border, которая находится в разделе general. Чтобы определить ее,

general {
    resize_on_border = true
}

Вот и все.

Большинство категорий (например, general) уже используются в конфигурации Hyprland по умолчанию. Поэтому, вместо того, чтобы вслепую определять категорию типа general, сначала проверьте, присутствует ли эта категория. Если она присутствует, определите переменную только в разделе этой категории. Если в каком-либо разделе есть подкатегория, используйте ее как вложенную. Например, в категории general есть подкатегория snap, мы определим ее с помощью:

general {
    general section variable definition.

    snap {
        subsection variable definition.
    }
}

Изменение размера плавающего окна

В плиточном режиме могут быть некоторые плавающие окна, такие как настройки приложений, выбор файлов и т. д. Вы можете включить угловое изменение размера этих плавающих окон с помощью переменной resize_corner в разделе general.

general {
    resize_corner = 3
}

Здесь значение 3 подразумевает перетаскивание и изменение размера из правого нижнего угла.

Значение Угол для перетаскивания
1 Левый верхний
2 Верхний правый
3 Снизу-справа
4 Левый нижний
0 Отключить изменение размера угла

Настройка декоративных элементов

В разделе decorations находятся опции непрозрачности, размытия и т. д. Поэтому, если вы посмотрите на стандартную конфигурацию Hyprland, то увидите, что некоторые значения в этих разделах предустановлены. Вот некоторые из моих мыслей.

  • Вы можете изменить active_opacity на значение 0, чтобы сделать активные окна немного прозрачными. Не забудьте также изменить inactive_opacity.
  • Размытие можно сделать более крутым, увеличив количество passes, но это приведет к нагрузке на GPU.
  • Рекомендуется включить new_optimizations, чтобы повысить производительность.

Рабочая область и тачпад

Hyprland поддерживает жест пролистывания для изменения рабочей области. По умолчанию он отключен. Поэтому вам нужно установить значение true.

gestures {
    workspace_swipe = true
    workspace_swipe_fingers = 3
}

Установка пользовательских переменных

Как и любой другой язык программирования, Hyprland также поддерживает присвоение значений произвольным пользовательским переменным, созданным вами.

Например, если вы хотите задать значение переменной myLauncher, чтобы она указывала на команду, открывающую Wofi launcher, используйте формат:

$myLauncher = wofi --show drun

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

Это наглядно показано в стандартном конфиге Hyprland, где переменная terminal назначена терминалу Kitty, а filemanager – файловому менеджеру Dolphin.

Аналогично можно определить:

$myPersonalBrowser = firefox
$myKeyboardBrowser = nyxt

10. Переменные среды в Hyprland

Некоторые настройки Hyprland зависят от переменных окружения, например темы курсора, конфигурации QT и Wayland и т. д.

Чтобы определить переменную окружения, вам нужно использовать ключевое слово env. Обычный формат:

env = ENVIRONMENT_VARIABLE_NAME, VALUE

Например, для того чтобы некоторые приложения QT работали в Wayland и возвращались к x11, если он недоступен, мы используем переменную окружения QT_QPA_PLATFORM.

env = QT_QPA_PLATFORM,wayland;xcb

Никогда не ставьте двойные кавычки вокруг значения.

11. Установите гипрокурсор

Hyprcursor – это экономичный набор курсоров, доступный для Hyprland. Здесь мы рассмотрим, как установить тему rose-pine-hyprcursor в Hyprland. Сначала установите ее из AUR.

yay -S rose-pine-hyprcursor

После установки откройте конфиг Hyprland и установите переменную окружения HYPRCURSOR_THEME.

env = HYPRCURSOR_THEME,rose-pine-hyprcursor

Аналогично, вы можете проверить курсор только для текущей сессии с помощью команды hyprctl:

hyprctl setcursor rose-pine-hyprcursor 24

Здесь 24 – размер курсора.

12. Настройка сочетаний клавиш

Как мы можем использовать композитор с черепичным окном, не имея собственных скриншотов?

В Hyprland есть очень простой метод установки пользовательских сочетаний клавиш. Давайте посмотрим.

В конфигурации по умолчанию вы можете найти специальный раздел KEYBINDINGS. Новичкам рекомендуется задавать привязки в этом разделе.

Чтобы определить привязку, мы используем ключевое слово bind со следующим синтаксисом:

bind = MODIFIER_KEY,REQUIRED_KEY,DISPATCHERS, PARAMETERS

Например, допустим, мы хотим открыть файловый менеджер Nautilus с помощью команды SUPER + O.

Поэтому мы будем использовать формат:

bind = SUPER,O,exec,nautilus

Здесь используется диспетчер exec, который используется для запуска команды shell. Другие диспетчеры, поддерживаемые Hyprland, можно посмотреть в подробной Wiki.

Если вы хотите сделать код чище, вы можете задать ключ SUPER переменной:

$mainMod = SUPER

Бонус: автозапуск приложений

Иногда возникает необходимость в автозапуске некоторых приложений. Мы уже рассматривали настройку автозапуска приложений в предыдущих частях этой статьи.

Hyprland использует команду exec-once для автозапуска приложения при входе в систему. Поэтому, если вы хотите, чтобы приложение автозапускалось, используйте:

exec-once NAME_OF_APP

Вот как мы запускаем Hyprpaper и Waybar при входе в систему:

exec-once hyprpaper & waybar

Заключение

Как я уже говорил в начале, нет предела тому, как много вы можете настроить Hyprland. Вики очень обширна, и вы можете покопаться в ней, чтобы получить более подробную информацию.

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

Зарубин Иван Эксперт по Linux и Windows

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

Похожие статьи

Комментарии (0)

Опубликовать