Skip to content

Releases: hoaiphongdev/keyly

Keyly 1.7.3

Choose a tag to compare

@hoaiphongdev hoaiphongdev released this 16 Feb 21:47

Changed

  • Shortcuts as-is: Shortcut text shows exactly as in template (no normalization/uppercasing).
  • UI reskin: Dark gray window background; group 14pt bold vs category 11pt muted; group containers transparent with border only.

Keyly 1.7.2

Choose a tag to compare

@hoaiphongdev hoaiphongdev released this 10 Feb 09:11

Fixed

  • Group reset: # Group: None/Empty exits current group, renders plain without border
  • File order: Chunks now render in exact template file order instead of dictionary-sorted
  • Category bleed: New # Group: resets currentCategory to prevent description leaking
  • Shortcut casing: Commands like mole, git show no longer uppercased — only modifier-based shortcuts normalize
  • Window width: Calculated from widest group span + ungrouped count, no extra blank columns

Keyly 1.7.1

Choose a tag to compare

@hoaiphongdev hoaiphongdev released this 10 Feb 08:02

Changed

  • Smart group layout: Groups with >10 items auto-split into multi-column (max 4), grid-snapped for alignment
  • Bordered cards: Default categories now wrapped in bordered containers for visual consistency
  • Shortest-column-first: All items placed into shortest column instead of round-robin

Keyly 1.7.0

Choose a tag to compare

@hoaiphongdev hoaiphongdev released this 10 Feb 07:18

Changed

  • Template syntax: New pipe format key/command | description, invalid lines ignored
  • Dynamic column width: Scales with content, capped by screen_width_ratio
  • Text wrapping: Long descriptions wrap to new lines via NSTextView
  • Description color: Slightly dimmed for visual hierarchy

Removed

  • Group sizes: Removed groupSizes from model, parser, extractor, and UI
  • Multi-column spanning: Groups now render as single-column containers

Keyly 1.6.0

Choose a tag to compare

@hoaiphongdev hoaiphongdev released this 10 Feb 04:42

Added

  • Runtime Settings Management: Load configuration from ~/.config/keyly/setting.conf
  • Customizable Super Key Combinations: Support for any key combination (e.g., cmd+a, ctrl+shift+x, fn)
  • Multiple Trigger Types: hold (duration-based) and press (count-based)
  • Search Functionality: Real-time search with debouncing and minimum UI dimensions
  • Group System: Organize shortcuts with descriptions and custom sizes (1-N columns)
  • Global Shortcuts: System-wide shortcuts from global.keyly template
  • Click-Outside-to-Close: Modal closes when clicking outside or pressing ESC
  • Settings Auto-Reload: Configuration changes detected and applied automatically

Changed

  • Dynamic Window Sizing: Width scales with content, respects screen ratio limits
  • Group Display Order: Default shortcuts first, then file order (not alphabetical)
  • UI Color System: Clean black background with white text variants
  • Search UI: Minimum 500x300px to prevent ugly small windows
  • Group Containers: Support multi-column spanning with proper content scaling

Fixed

  • Super Key Detection: Corrected guard logic preventing panel display
  • Window Positioning: Content properly centered with dynamic grid offset
  • Group Descriptions: Multi-line text wrapping with proper width constraints
  • Search Performance: Debounced filtering with async UI updates
  • Color Contrast: High contrast text on solid backgrounds

Technical

  • New Architecture: Separated AppConstants, WindowConstants, SettingsConstants
  • Enhanced Models: Added groupSizes, groupDescriptions to ShortcutSheet
  • Performance: Optimized search filtering and UI rebuilding
  • Code Quality: 1700+ lines added, comprehensive error handling

Keyly 1.5.0

Choose a tag to compare

@hoaiphongdev hoaiphongdev released this 04 Jan 03:18

Changed

  • Improved shortcuts window visibility on both light and dark app backgrounds
  • Added subtle diagonal gradient overlay for consistent contrast
  • Updated text colors: white headers, cyan key labels, improved opacity hierarchy

Fixed

  • Shortcuts window was too transparent/hard to read on light-themed apps

Keyly 1.4.1

Choose a tag to compare

@hoaiphongdev hoaiphongdev released this 03 Jan 05:54

Fixed

  • Removed "Check for Updates..." from settings menu (was still visible after disabling auto-update)

Keyly 1.4.0

Choose a tag to compare

@hoaiphongdev hoaiphongdev released this 03 Jan 05:48

Added

  • Category descriptions in templates (use > description after [Category])
  • Sub-description displayed below category title in shortcuts window
  • -f flag for force replace in template installer script

Templates

  • Updated cursor.keyly with contextual hints for each category
  • Example: > Focus on chat panel first. under [Chat]

Keyly 1.3.0

Choose a tag to compare

@hoaiphongdev hoaiphongdev released this 03 Jan 05:22

Changed

  • Hold duration increased from 1.7s to 2s for more intentional activation
  • Temporarily disabled auto-update feature

Added

  • Template installer script (scripts/install-templates.sh)
  • Cursor IDE keyboard shortcuts template
  • Support for fetching community templates from GitHub

Templates

  • New -t flag to specify template name (required)
  • New -n flag to customize local filename (optional)
  • Backup/replace prompt when template already exists
  • Validation for template existence before download

Keyly 1.2.0

Choose a tag to compare

@hoaiphongdev hoaiphongdev released this 29 Dec 10:11

Auto-Update

  • Automatic update checking via GitHub Releases API (no Sparkle dependency)
  • Background update check on app launch (every 2 days)
  • "Check for Updates..." option in menu bar and settings menu
  • Update notification banner in shortcuts window
    • Blue banner when update available
    • Spinner animation during download
    • Green banner when ready to install
  • One-click update: download → install → relaunch automatically
  • Update persists across app restarts (stored in UserDefaults)

Scripts

  • check-update.sh: Fetches latest version from GitHub Releases
  • perform-update.sh: Downloads DMG, installs update, relaunches app
  • Embedded script fallback for production builds