XDragMover

Лёгкая утилита для строки меню с открытым исходным кодом, привносящая перемещение и изменение размера окон в стиле KDE/Linux в macOS — перемещайте или изменяйте размер любого окна из любой точки на его поверхности, без заголовка или маркера изменения размера.

Скачать DMG Скачать исходный код

Текущая версия: 3.4.0

Что такое XDragMover?

Во многих окружениях рабочего стола Linux (KDE, GNOME и т. д.) достаточно удерживать клавишу-модификатор и нажать кнопку мыши в любом месте окна, чтобы перетащить его — удерживая тот же модификатор с правой кнопкой мыши, можно точно так же изменить размер окна от ближайшего угла. В macOS такого встроенного аналога нет.

XDragMover воссоздаёт этот привычный, эффективный рабочий процесс в macOS — это небольшая, быстрая и надёжная утилита, вдохновлённая классическим инструментом перемещения и изменения размера окон в стиле KDE, изначально опубликованным на corz.org. Она работает незаметно в строке меню, без раздутых фреймворков и фоновых демонов. Проект ранее назывался KDEMoverSizerMacOS (а до этого — KDESizeMoverMac) — если вы искали именно эти названия, вы попали по адресу.

Установка

  1. Нажмите Скачать DMG выше.
  2. Откройте скачанный XDragMover.dmg и перетащите XDragMover.app в папку Программы.
  3. Запустите XDragMover из папки «Программы» или через Spotlight. Приложение подписано Developer ID и нотариально заверено (notarized) Apple, поэтому оно открывается как обычно — без предупреждения Gatekeeper или дополнительного шага подтверждения. Оно работает незаметно как элемент строки меню, без собственного значка в Dock или окна.
  4. Предоставьте разрешение специальных возможностей, когда об этом попросят (Системные настройки → Конфиденциальность и безопасность → Специальные возможности) — это необходимо, чтобы XDragMover мог перемещать и изменять размер окон других приложений; см. Обзор архитектуры для подробностей.

Возможности

Как это работает

XDragMover работает как фоновое приложение строки меню, устанавливающее системный монитор событий через API Quartz Event Services, отслеживающий состояние клавиш-модификаторов и мыши по всей системе. При обнаружении подходящего жеста приложение определяет целевое окно через macOS Accessibility API и напрямую управляет его положением или размером. Поскольку приложение отслеживает события ввода по всей системе и перемещает окна, принадлежащие другим приложениям, XDragMover требует разрешение специальных возможностей (Системные настройки → Конфиденциальность и безопасность → Специальные возможности), предоставляемое один раз при первом запуске.

Читать полный обзор архитектуры →

Требования

Проект и лицензия

Каждый помеченный тегом релиз публикует собираемый «соответствующий исходный код» («Corresponding Source»), требуемый согласно GPLv3 §6, прямо рядом со своим подписанным .dmg: возьмите source.zip из того же релиза, что и установщик. Основной репозиторий разработки приватный; этот репозиторий, xdragmover-release, — публичный дом для подписанных сборок и соответствующего им исходного кода.

XDragMover распространяется по лицензии GNU General Public License v3.0.