Как я перенёс привычное управление окнами из macOS в Omarchy

Несколько месяцев назад я установил Omarchy. Мне понравились минимализм, скорость и возможности системы, но полноценно перейти на неё не получилось.
Когда нужно было работать, мне не хватало привычных вещей: вкладок для окон, снапов, дока, переключения приложений через Cmd+Tab и сочетаний клавиш macOS. Осваивать tiling и перестраивать весь рабочий процесс ради перехода на Linux не хотелось.
Я много лет пользуюсь разными редакторами — Sublime Text, IntelliJ IDEA, Zed, Vim/Tmux — и почти всегда переношу привычные сочетания клавиш из Sublime. Это позволяет не переучиваться при смене инструмента.
С операционной системой я решил поступить так же.
В результате появился Omarchy X Mode — плагин, который добавляет в Omarchy привычный мне способ управления окнами.
Как я работаю с окнами
Уже несколько лет на macOS я практически не сворачиваю окна, не использую Spaces и стараюсь ничего не закрывать без необходимости.
Вместо этого я придерживаюсь нескольких простых принципов:
Окна одного приложения объединяются во вкладки.
С помощью снапов я размещаю окна рядом, когда нужно видеть несколько одновременно.
Между приложениями переключаюсь через док или Cmd+Tab.
Все окна остаются на одном рабочем столе и могут свободно перекрывать друг друга.
Таким образом, мне не приходится помнить, на каком рабочем столе находится нужное окно, куда я его свернул или закрыл ли вообще.
Если нужен редактор, я переключаюсь на редактор. Если нужно другое его окно — выбираю вкладку. Если хочу видеть рядом браузер — размещаю его на половине экрана.
Так я работал ещё на Mac и просто захотел сохранить этот подход при переходе на Linux.
Что делает X Mode
X Mode добавляет в Omarchy несколько возможностей.
Вкладки для окон. Окна одного приложения можно объединять во вкладки, даже если само приложение их не поддерживает. Есть и компактный режим, в котором вкладки располагаются непосредственно в заголовке окна.
Снапы. Окна можно размещать по половинам, третям и четвертям экрана, перетаскивая мышью или используя клавиатуру. По поведению это похоже на Rectangle для macOS.
Док и переключатель приложений. Док показывает закреплённые и запущенные приложения, а Super+Tab позволяет переключаться между ними в порядке последнего использования.
Сочетания клавиш macOS. Можно настроить привычные комбинации с Cmd (Super), включая преобразование в Ctrl для отдельных приложений, а также навигацию и редактирование текста.
Всё это работает с обычными плавающими окнами. Они не обязаны занимать весь экран или автоматически перестраиваться при открытии нового приложения.
Как это устроено
Omarchy использует Hyprland, поэтому X Mode работает сразу на нескольких уровнях.
За управление окнами отвечает Hyprland, для заголовков и вкладок используется модифицированный Hyprbars, а интерфейс дока, переключателя приложений и настроек реализован на Quickshell.
В Omarchy 4.5 появились отдельные режимы расположения окон для каждого рабочего стола: tiling, scrolling и floating. X Mode добавляет четвёртый — xmode.
tiling → scrolling → floating → xmodeВ режиме xmode окна открываются плавающими, работают вкладки, снапы и заголовки. В остальных режимах управление остаётся за стандартными механизмами Omarchy.
Мне хотелось пользоваться всеми возможностями Omarchy, но при этом не тратить время на освоение tiling и перестройку привычного рабочего процесса. Поэтому X Mode не заменяет стандартное управление окнами, а добавляет альтернативный режим, в котором я могу работать так, как привык на macOS.
Установка
Для установки нужен Omarchy 4 или новее.
hyprpm update
git clone https://github.com/timurguseynov/omarchy-x-mode.git ~/omarchy-x-mode
~/omarchy-x-mode/install.shПодробности в README проекта.
Заключение
Мне понравилась Omarchy, но я не хотел ради перехода на Linux менять привычный способ работы с окнами. X Mode позволил сохранить его и при этом пользоваться остальными возможностями системы.
Я сделал плагин для себя, но решил выложить его в открытый доступ. Возможно, он пригодится тем, кому тоже нравится Omarchy, но не хочется переходить на tiling.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.