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

推荐订阅源

云风的 BLOG
云风的 BLOG
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
P
Proofpoint News Feed
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
IT之家
IT之家
Microsoft Security Blog
Microsoft Security Blog
F
Fortinet All Blogs
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
C
Check Point Blog
Microsoft Azure Blog
Microsoft Azure Blog
aimingoo的专栏
aimingoo的专栏
月光博客
月光博客
美团技术团队
D
Docker
博客园 - Franky
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - pavel-teramips/kivvy: Divvy for KDE — popup-grid...
bugpower · 2026-06-20 · via Hacker News: 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.