Skip to content

v2.17.0 — Settings & License Agreement

Choose a tag to compare

@haxllo haxllo released this 29 Aug 08:55
· 510 commits to master since this release

Nex 2.17.0 is a major UI release: a fully redesigned Settings window with premium monochrome styling, custom dropdowns, native hotkey capture, and an overlay footer with a settings button — plus an MIT license agreement in the installer.

What changed

  • Settings window redesign: completely rebuilt with a left-nav + right-content layout, custom title bar, and monochrome accent theme. The window is now 790x560 with a 42px custom title bar (minimize/close buttons preserved).
  • Custom dropdown components: all <select> elements replaced with custom popup dropdowns featuring checkmarks, keyboard navigation, scroll support, and fixed positioning.
  • Native hotkey capture: settings page uses WM_INPUT recorder for direct hotkey capture instead of relying on modifier key state polling.
  • Overlay footer settings button: a gear icon in the overlay footer opens the Settings window directly. Hidden in quick-launch mode.
  • Hotkey moved to General page: relocated under the top group with Launch at Startup for better discoverability.
  • MIT license agreement: installer now shows the MIT license for user acceptance before installation.
  • Updater shows installer window: "Check for Updates" now displays the full installer UI so users can review and accept the license.

Settings Fields

  • Grid View, Show Files/Folders, Launch at Startup
  • Quick Launch: enable, auto-fill, max items
  • Search: mode default, DSL syntax, web search provider, max results, index size cap
  • Hotkey (with native capture chip)

Overlay Footer

  • Hints left-aligned, settings gear icon right-aligned
  • Quick-launch mode: footer hidden (6px height spacer provides bottom gap)
  • Normal mode: 46px footer with hints and settings button

Bug Fixes

  • Toggle off background: fixed to #1A1A1A to contrast with row background #242424
  • Focus outline removed: Cancel button no longer shows blue focus ring
  • Row background fixed: #242424 never changes on hover
  • Footer modes: proper idle/ql/websearch class toggling prevents layout jumps
  • Settings IPC: "settings" message from overlay correctly opens the Settings window

Architecture

  • Settings snapshot: all config fields exposed in settings snapshot JSON for read/write via IPC
  • SearchMode/WebSearchProvider enums: added as_str() and parse() methods for config serialization
  • Custom dropdown data: options passed via data-options JSON attribute on select elements
  • FIELDS array: settings.js supports "checked", "valueNumber", "valueSelect" field kinds

Commit Log

  • b77be68 fix(updater): show installer window for license agreement
  • a6db8a6 feat(installer): add MIT license agreement to setup
  • 0085d80 docs: clarify git author identity usage for all git operations
  • 8af8ade style(overlay): footer height 46px, remove idle margin-top
  • dff4722 style(overlay): hints/settings icon top 50%, restore idle margin-top 6px, remove websearch JS
  • d06e325 fix(overlay): remove idle footer margin-top 6px, ql height provides gap
  • 15147e8 style(overlay): restore footer margin-top 6px
  • 78086b9 AGENTS.md fix
  • f16ef67 fix(overlay): remove 6px footer margin in web search only mode
  • 6726e4d docs re-ajusment
  • 50efbe0 style(overlay): hint label brighter (text color), remove hint box-shadow
  • 2f2e2a4 fix(settings): remove focus outline on Cancel button
  • a1104ec style(overlay): hints + settings icon both top 40% alignment
  • 0cba82f style(overlay): hints left-aligned, hide settings icon in ql mode
  • b87411f style(overlay): hints centered via translate, settings icon right-aligned
  • 813d7c6 ui(overlay): footer settings button, remove move hint
  • 91c4ac4 docs: simplify commit author rule in AGENTS.md
  • 849e2c9 docs: add git commit author rule to AGENTS.md
  • 199b8f9 style(settings): remove group-rows outer border, keep row dividers
  • 10f0c4f ui(settings): hint pills with shadows, remove dot separators
  • 36cfae0 style(settings): group-label left padding 8px
  • 9f70b33 style(settings): group-label matches row name style, +4px padding/spacing
  • 428161e style(settings): group-label margin-bottom 8px
  • 2f227fc style(settings): consistent 6px spacing between all groups
  • 8a75e0c style(settings): content padding 6px, group padding 6px, labels capitalized
  • 76346a5 ui(settings): move hotkey + launch at startup above Display, remove group headings
  • 8543c8a style(settings): row bg fixed #242424, no hover change
  • 0d3124d ui(settings): custom dropdown component replacing native selects
  • 2e25974 ui(settings): row height +48px, remove redundant hints
  • c5b9c18 fix(settings): white toggle knob off, polished dropdown styling
  • fd0f625 fix(settings): toggle off bg #1A1A1A to contrast with row #242424
  • 54269e0 ui(settings): fix dropdowns, move hotkey to general, unify bg colors
  • 3dd09a8 style(settings): uniform 6px group padding, remove group dividers
  • 33581d3 feat(settings): add web search provider dropdown
  • 26d33dc feat(settings): add search mode default and DSL toggle
  • 106c0c2 feat(settings): add quick launch auto-fill toggle
  • 9c05515 feat(settings): add show files/folders, launch at startup
  • 19c52db ui(settings): premium monochrome redesign — Inter font, hotkey chips, shell layout
  • 394f440 ui(settings): monochrome accent, premium inputs, window resize 790x560
  • bf0fac0 ui: overlay spacing fixes, footer modes, spawn position, focus rings
  • c3fdb72 ui(settings): left-nav + right-content layout with tab navigation
  • cec05b4 ui(settings): custom title bar with native-style close/minimize
  • 29795a3 ui(settings): use native title bar, keep 2-column layout
  • cbd4794 ui(settings): 2-column layout with custom title bar
  • abead18 ui(settings): redesign with grouped sections
  • f5ede97 fix(settings): input max value, dead code, Esc cancel
  • 6ca4d53 fix(hotkey): force full re-register when target_is_win changes mid-run
  • 6b6168d fix(overlay): FocusReassert only fires when visible and unfocused
  • 3338b36 fix(overlay): cancel deferred hide on Show/Hide to prevent rapid toggle race
  • 92ce2e6 fix(overlay): reject stale Painted when Hide cleared rows
  • d06ce2a fix(overlay): prevent focus loss from redundant force_foreground calls
  • 57b947b fix(hotkey): rearm raw input sink on mid-run hotkey change + delayed focus re-assertion
  • 055a47a fix(hotkey): nex owns detection, helper assists Win focus over elevated windows
  • 6854445 refactor(hotkey): nex owns all detection — helper out of the hot path
  • 5418643 fix(hotkey): live-update diagnostics + transient state resets
  • efd6635 feat(settings): native hotkey capture via WM_INPUT recorder
  • 16c196a feat(settings): theme-synced settings page
  • 058c9cf feat(settings): suppress hotkey toggle while settings open
  • 84d5450 fix(host): scope focus handling to the overlay window
  • b53276e Tray Settings item opens a second WebView window (warm hide/reopen). Read path pushes a config snapshot into the page via applySettings with a ready-handshake; write path merges, validates through config::save_to_path (auto-backup), and hot-reload applies live. v1 fields: grid_view, max_results, quick_launch enabled/max_items, index_max_items_total, hotkey.
  • e4a9019 Update README.md
  • 303d79e fix(settings): read input value, not ariaValueMax

Binary