XDragMover

A lightweight, open-source menu bar utility that brings KDE/Linux-style window moving & resizing to macOS — move or resize any window from anywhere on its surface, no title bar or resize handle required.

Download DMG Download Source

What is XDragMover?

On many Linux desktop environments (KDE, GNOME, etc.), holding a modifier key while pressing the mouse anywhere inside a window lets you drag it around, and holding the same modifier with the right mouse button lets you resize it from the nearest corner. macOS has no built-in equivalent.

XDragMover recreates that familiar, efficient workflow on macOS — a small, fast and reliable utility inspired by the classic KDE-style window resizing and moving tool originally published at corz.org. It runs quietly in the menu bar, with no bloated frameworks and no background daemons. The project was previously named KDEMoverSizerMacOS (and, before that, KDESizeMoverMac) — if you're looking for either of those, you're in the right place.

Installation

  1. Click Download DMG above.
  2. Open the downloaded XDragMover.dmg and drag XDragMover.app into the Applications folder.
  3. Launch XDragMover from Applications or Spotlight. Since it isn't distributed through the App Store, macOS Gatekeeper will block the very first launch with a warning that it's from an unidentified developer — this is expected. Click "Done" on that dialog (not "Move to Trash") — this step is required: without clicking "Done" first, XDragMover won't show up in the next step at all.
  4. Open System Settings → Privacy & Security, scroll down to the Security section, and click "Open Anyway" next to the mention of XDragMover. Confirm once more in the dialog that appears. (Alternatively: Control-click the app in Finder and choose Open instead of double-clicking.)
  5. Launch XDragMover again — it now starts normally. It runs quietly as a menu bar item with no Dock icon or window of its own.
  6. Grant the Accessibility permission when prompted (System Settings → Privacy & Security → Accessibility) — required for XDragMover to move and resize other apps' windows; see Architecture Overview for why.

Features

How It Works

XDragMover runs as a background menu bar app that installs a global event monitor via the Quartz Event Services API, watching modifier-key and mouse state system-wide. When a qualifying gesture is detected, it resolves the target window through the macOS Accessibility API and drives its position or frame directly. Because it observes input events system-wide and repositions windows belonging to other applications, XDragMover requires the Accessibility permission (System Settings → Privacy & Security → Accessibility), granted once on first launch.

Read the full architecture overview →

Requirements

Project & License

Every tagged release publishes the buildable "Corresponding Source" required by GPLv3 §6 right alongside its signed .dmg: grab source.zip from the same release as the installer. The primary development repository is private; this repository, xdragmover-release, is the public home for signed builds and their corresponding source.

XDragMover is licensed under the GNU General Public License v3.0.