惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
GbyAI
GbyAI
aimingoo的专栏
aimingoo的专栏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏
M
MIT News - Artificial intelligence
腾讯CDC
博客园 - Franky
Engineering at Meta
Engineering at Meta
C
Check Point Blog
T
The Blog of Author Tim Ferriss
有赞技术团队
有赞技术团队
Microsoft Azure Blog
Microsoft Azure Blog
MyScale Blog
MyScale Blog
I
InfoQ
Blog — PlanetScale
Blog — PlanetScale
P
Proofpoint News Feed
The GitHub Blog
The GitHub Blog
N
Netflix TechBlog - Medium
Last Week in AI
Last Week in AI
S
SegmentFault 最新的问题
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
WordPress大学
WordPress大学

Show HN

GitHub - astefanutti/shaderbang: Shebang for Shaders Show HN: AI agents for UK GDAD PCF roles and their skills The Two Pillars: Mixer Mode and Meta-Software in the Reorganization of Software Work After AI GitHub - JaiCode08/teleport-env What 1,000+ Harness Experiments Taught Me About Self-Improving Agents Show HN: Liiists, a Markdown-first, iOS and CLI list app SwiperTab – Get this Extension for 🦊 Firefox (en-US) GitHub - kouhxp/fftext: Summarize, explain, fact-check, or translate any text, URL, or file. No GPU. No cloud. One command GitHub - sweetpad-dev/sweetpad: Develop Swift/iOS projects using VSCode GitHub - dogmaticdev/IRON: IRON a.k.a. Intermediate Representation Object Notation is a Interpreter/Database that is used to create Programming Languages. GitHub - sjhalani7/vaen: Package your AI coding harness into a portable .agent file, and share it across repos, teams, & the community without ever having to copy-paste instructions, skills, MCP config, or secrets. Show HN: Gandalf the Grader Show HN: Citadeld – replay any CI failure locally from a single file GitHub - tdortman/cuSBF: High-Performance GPU Super Bloom Filter coral-ai/claude-code-token-xray at main · Coral-Bricks-AI/coral-ai GitHub - ulyssestenn/funes: Funes is a Git-based framework for LLM-managed knowledge work: an AI Librarian ingests raw sources, builds an interlinked Markdown knowledge base, and uses it to produce cited reports, analyses, and other outputs. GitHub - ThatXliner/gah: Git Add Hunk, built for agents to use GitHub - harmont-dev/harmont-cli: Command-line client for the Harmont CI platform GitHub - brooksmcmillin/mcp-authflow: OAuth 2.0 Authorization Server framework for MCP servers GitHub - javaid-codes/audit-supply-chain-agents GitHub - amorey/gochan: A small library of common channel architectures for Go, inspired by Rust GitHub - arifozgun/OpenGem: Free, Open-Source AI API Gateway with Gemini, OpenAI & Anthropic Compatibility in 1 file GitHub - Pranesh950/BioPetals: 🌸 Run BIOxAI models at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading GitHub - cnguyen14/bounty-doctor: Diagnose a GitHub bounty issue before you waste hours: detects honeypot scam repos, AI-bot attempt swarms, and stale contests. Show HN: CoreMCP – MCP Server for On-Prem DBs Show HN: KittyHTML – Render HTML/CSS as an inline image in your terminal GitHub - bingud/filemat: Web-based file manager Show HN: TruthLens – Free multi-signal deepfake image detector GitHub - apexlocal-jz/claude-usage-tray: Windows system-tray app showing your Claude Code rate-limit usage at a glance. Zero deps, ~300 lines of PowerShell. Cross-IDE (works regardless of VS Code, Cursor, plain terminal). Release v0.1.2.1 · kouhxp/yapsnap
GitHub - pavel-teramips/kivvy: Divvy for KDE — popup-grid...
bugpower · 2026-06-20 · via Show HN

Kivvy — Divvy-style window snapping for KDE Plasma

KDE Store License: MIT KDE Plasma 6 Platform: Linux

Kivvy is "Divvy for KDE" — a popup-grid window snapper for KDE Plasma 6, built as a KWin script.

Kivvy in action

Press a global shortcut → a small grid panel pops up centered on screen → click and drag a rectangle across the grid → release → the focused window snaps to that proportional region of the screen.

If you've used Divvy, Rectangle, or Magnet on macOS and miss that click-and-drag-on-a-grid workflow on Linux — or you just want a lighter, popup-grid alternative to KWin's built-in tiling or KZones — that's what Kivvy does.

Independent project — not affiliated with, or endorsed by, Mizage (the makers of Divvy). "Divvy" is their trademark; Kivvy just borrows the interaction.

Why "Kivvy"

K for KDE. It's a KWin script — KDE-only by design. Won't work on GNOME or any other desktop (those use different window managers with their own extension APIs).

Desktop Backend Status
KDE Plasma 6 Wayland ✓ tested (Plasma 6.6.4)
KDE Plasma 6 X11 should work, untested
KDE Plasma 5 X11 / Wayland needs a small reverse port (see below)
GNOME / Hyprland / sway / i3 / XFCE anything not supported, won't be

Install

Option 1 — KDE Store (one-click)

In System Settings → Window Management → KWin Scripts, click Get New Scripts…, search for Kivvy, install it, then tick it in the list and hit Apply to enable. (Listing: store.kde.org/p/2362628.)

Set the shortcut. A store install doesn't touch your keybindings, and KDE's default Meta + ` is already taken by "Walk Through Windows of Current Application". So either:

  • use the alternate Meta + ; (Kivvy binds this automatically on first load), or
  • give Kivvy Meta + ** under **System Settings → Shortcuts → KWin → "Kivvy: open grid"** (free it from "Walk Through Windows of Current Application" first — that keeps **Alt + ).

The from-source install below does this shortcut hand-off for you automatically.

Option 2 — From source (sets up the shortcut for you)

git clone https://github.com/pavel-teramips/kivvy.git ~/dev/kivvy
~/dev/kivvy/install.sh

install.sh symlinks the repo into ~/.local/share/kwin/scripts/, enables the script, loads it, and claims the Meta + ** shortcut — taking it from KDE's default "Walk Through Windows of Current Application" if needed (that action keeps its **Alt + binding). uninstall.sh reverses it and frees the shortcuts.

Run interactively, install.sh asks before reassigning a key that's already in use; run non-interactively it takes the key. Automatic shortcut setup needs gdbus (ships with GLib, present on any Plasma desktop); without it, bind "Kivvy: open grid" yourself under System Settings → Shortcuts → KWin.

Updating later: git pull then re-run install.sh refreshes the symlink and shortcuts, but KWin caches compiled QML for the life of the session — so changes to contents/ui/main.qml only take effect after you log out and back in (or restart KWin). This is a KWin limitation; there's no in-session way around it.

Manual install (what the script does)
ln -s ~/dev/kivvy ~/.local/share/kwin/scripts/kivvy
kwriteconfig6 --file kwinrc --group Plugins --key kivvyEnabled true
qdbus6 org.kde.KWin /KWin reconfigure

If the shortcut does nothing right after install, log out and back in once so KWin picks up the script source.

Use

Default shortcut: Meta + ` (Win + backtick).

Non-Latin layouts (Hebrew, Arabic, …) don't have a backtick key, and KDE's shortcut fallback doesn't cover symbol keys — so the same physical top-left key is also bound on Meta + ; (which is what that key emits under the Hebrew layout). Either opens the grid.

You can rebind both under System Settings → Shortcuts → KWin ("Kivvy: open grid" and "… (alternate key)").

Click and drag a rectangle across the grid in the popup panel, then release — the focused window snaps to that proportional region of your screen. The button (top-right of the panel), Esc, or right-click cancels without snapping.

To trigger from the command line (useful while iterating):

qdbus6 org.kde.kglobalaccel /component/kwin invokeShortcut Kivvy

Configure

Permanent defaults — set the grid columns, rows, and on-screen cell size under System Settings → Window Management → KWin Scripts → Kivvy (the gear/configure icon next to the entry). Defaults are a 6 × 4 grid at 100 px per cell.

Quick tweak — the button (top-right of the popup) opens an in-panel editor with −/+ steppers for columns, rows, and cell size. Changes apply instantly so you can see them, but are session-only: a KWin script can't persist its own settings, so they reset on the next reload/login. Use the System Settings page above for values that should stick.

Limits

  • Multi-monitor aware: the grid opens on, and snaps within, the monitor the focused window is on. A single drag still can't span two monitors — each snap stays on one screen.
  • One shortcut for the panel; no per-region shortcuts like Meta+Alt+Left → snap left half

Plasma 5 reverse-port notes

Kivvy targets Plasma 6. To run it on Plasma 5, reverse these changes in contents/ui/main.qml:

Plasma 6 (current) Plasma 5
import org.kde.kwin import org.kde.kwin 2.0
import org.kde.plasma.core as PlasmaCore import org.kde.plasma.core 2.0 as PlasmaCore
Workspace.activeWindow workspace.activeClient
client.frameGeometry = … client.geometry = …
ShortcutHandler { … } element KWin.registerShortcut(…) in Component.onCompleted

Credits

Modeled on Divvy (Mizage) for macOS and Windows. KWin script plumbing patterns cribbed from KZones v0.6, which is the closest existing Plasma 5 KWin overlay script.

License

MIT.