{"adoption": {"forks": 97, "observed_at": "2026-08-28T04:04:24.238490+00:00", "stars": 1330}, "canonical_url": "https://ross.abutalabs.com/products/easy-move-resize", "card": {"archived": false, "artifact_type": "application", "description": "Adds \"modifier key + mouse drag\" move and resize to OSX", "domain": ["desktop-applications", "developer-tools", "apple-ecosystem"], "enriched": true, "function": ["gui", "developer-tools"], "health_score": 87, "homepage": null, "language": "Objective-C", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["dmarcotte/easy-move-resize"], "name": "dmarcotte/easy-move-resize", "platform": [], "pushed_at": "2026-05-11T01:44:46+00:00", "repo": "dmarcotte/easy-move-resize", "stars": 1330, "tags": ["window-management", "mouse-drag", "x11-behavior", "menu-bar-app", "accessibility-api", "macos", "desktop"], "topics": [], "urls": [], "use_cases": ["move windows without grabbing the title bar on mac", "resize a window by right-click dragging anywhere inside it", "replicate linux window manager alt-drag behavior on osx", "customize modifier keys for window dragging", "disable easy move resize for a specific app"], "what_it_is": "A macOS menu bar application that adds X11/Linux-style window management: hold modifier keys and drag with the mouse to move or resize any window from anywhere inside it. Modifier key combinations are customizable and behavior can be toggled or disabled per app.", "when_to_avoid": ["you need full tiling or window layout management rather than move/resize", "you are on Linux or Windows where window managers already provide this", "you cannot grant macOS Accessibility permissions to the app"], "when_to_choose": ["you want X11-style modifier+drag window moving and resizing on macOS", "you frequently grab windows by their tiny title bars and want an easier way", "you want a lightweight menu bar utility with per-app disable options"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/easy-move-resize", "repo": "dmarcotte/easy-move-resize", "role": "main", "score": 73}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.238490+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:45:31.313587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "784b09ad37e31aade9ddcff93e18aeb9ab12c57c9a369ff62100be9253db1984", "fetched_at": "2026-08-28T04:04:24.238490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmarcotte/easy-move-resize"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.238490+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:45:31.313587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "784b09ad37e31aade9ddcff93e18aeb9ab12c57c9a369ff62100be9253db1984", "fetched_at": "2026-08-28T04:04:24.238490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmarcotte/easy-move-resize"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:45:31.313587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "784b09ad37e31aade9ddcff93e18aeb9ab12c57c9a369ff62100be9253db1984", "fetched_at": "2026-08-28T04:04:24.238490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmarcotte/easy-move-resize"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.238490+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.238490+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.238490+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:45:31.313587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "784b09ad37e31aade9ddcff93e18aeb9ab12c57c9a369ff62100be9253db1984", "fetched_at": "2026-08-28T04:04:24.238490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmarcotte/easy-move-resize"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.238490+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.238490+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:45:31.313587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "784b09ad37e31aade9ddcff93e18aeb9ab12c57c9a369ff62100be9253db1984", "fetched_at": "2026-08-28T04:04:24.238490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmarcotte/easy-move-resize"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.238490+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.238490+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.238490+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:45:31.313587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "784b09ad37e31aade9ddcff93e18aeb9ab12c57c9a369ff62100be9253db1984", "fetched_at": "2026-08-28T04:04:24.238490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmarcotte/easy-move-resize"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.238490+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.238490+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:45:31.313587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "784b09ad37e31aade9ddcff93e18aeb9ab12c57c9a369ff62100be9253db1984", "fetched_at": "2026-08-28T04:04:24.238490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmarcotte/easy-move-resize"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:45:31.313587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "784b09ad37e31aade9ddcff93e18aeb9ab12c57c9a369ff62100be9253db1984", "fetched_at": "2026-08-28T04:04:24.238490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmarcotte/easy-move-resize"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:45:31.313587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "784b09ad37e31aade9ddcff93e18aeb9ab12c57c9a369ff62100be9253db1984", "fetched_at": "2026-08-28T04:04:24.238490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmarcotte/easy-move-resize"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:45:31.313587+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "784b09ad37e31aade9ddcff93e18aeb9ab12c57c9a369ff62100be9253db1984", "fetched_at": "2026-08-28T04:04:24.238490+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dmarcotte/easy-move-resize"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 81, "longevity": 100, "rhythm": 48}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4669, "days_push": 115, "days_rel": 132, "gap_med": 220, "n_releases_24m": 2}, "score": 73, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}