Releases: cristianoliveira/aerospace-scratchpad
Releases · cristianoliveira/aerospace-scratchpad
v0.5.0 - Structured Output and Scratchpad Management
Highlights
- Added structured output support (
--outputflag) formove,show,summon, andnextcommands. - Introduced new
listcommand to display scratchpad windows with filtering and sorting. - Added
--all-floatingflag to move all floating windows at once. - Updated AeroSpace compatibility documentation for v0.20.x.
Breaking Changes:
- stdout: Replaced human-readable messages with structured output events for
move,show, andsummoncommands. - move: Renamed
--allflag to--all-matchingfor clarity.
Features:
- list: Added new command to show scratchpad windows with scriptable output formats and filtering.
- move: Added
--all-floatingflag to move all floating windows. - next: Added structured output support via
--outputflag. - docs: Added scriptable output examples and queue/stack implementation example.
Fixes:
- list: Sort windows by app name and window ID for consistent ordering.
- info: Improved error handling for incompatible server/client scenarios.
Refactors:
- Updated window display format and simplified workspace check.
- Updated IPC client and tests.
- Refactored layout and focus services to use dedicated IPC packages.
Documentation:
- Updated README with AeroSpace compatibility notes (v0.20.x requires v0.4.x or higher).
- Added documentation for scriptable output and
listcommand. - Updated documentation to include
nextcommand in structured output section. - Added example queue/stack implementation script.
Tests:
- Added comprehensive tests for
listcommand and output formatter. - Added test cases for
infocommand. - Updated test snapshots for sorted window output.
- Added tests for
--all-floatingflag functionality.
What's Changed
- chore(nix): bump nix hashes and version by @github-actions[bot] in #118
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #119
- refactor: update ipc client and tests by @cristianoliveira in #120
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #121
- feat(move): add --all-floating flag to move all floating windows by @cristianoliveira in #123
- refactor!(move): rename --all flag to --all-matching by @cristianoliveira in #124
- refactor: update window display format and simplify workspace check by @cristianoliveira in #125
- feat!(stdout): add structured output format by @cristianoliveira in #126
- feat(next): add structured output support by @cristianoliveira in #127
- feat(docs): add scriptable output and queue examples by @cristianoliveira in #128
- feat(list): add list command to show scratchpad windows by @cristianoliveira in #129
Full Changelog: v0.4.0...v0.5.0
v0.4.0 - AeroSpace v0.20.0 compatibility and documentation
Detailed Changes:
- Refactored interface for setting focus, improving integration with new systems.
- Updated documentation to include installation instructions for the nightly branch.
- Clarified compatibility with AeroSpace v0.20.0.
Breaking changes
- Minimum required AeroSpace now is v0.20.0.
Refactors:
- SetFocus Interface: Changed
SetFocusByWindowIDtoSetFocuswith a new interface. - Aerospace IPC Upgrade: Upgraded to Aerospace IPC v0.3.0.
Chores:
- Bug Reports: Added requirement for logs in bug reports.
Documentation:
- Updated README with installation instructions for the nightly branch.
- Clarified AeroSpace v0.20.0 compatibility.
- Added warning for new AeroSpace v0.20.0.
- Improved UX instructions and formatting for minimum version and configuration.
- Updated Hook Integration Guide for accuracy and readability.
What's Changed
- chore(nix): bump nix hashes and version by @github-actions[bot] in #105
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #106
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #107
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #110
- chore: for bug reports please provide logs by @cristianoliveira in #113
- docs: adds warning for new AeroSpace v0.20.0 by @cristianoliveira in #115
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #114
- refactor: upgrade aerospace ipc v0 3 0 by @cristianoliveira in #116
- refactor: change SetFocusByWindowID to SetFocus new interface by @cristianoliveira in #117
Full Changelog: v0.3.0...v0.4.0
v0.3.0 - Feature for better UX and fixes for move cmd
Release v0.3.0
Highlights:
- Added the ability to move all matching windows with the
--allflag. - Introduced a new command to manage
.scratchpadfocus. - Improved documentation for better user experience and clarified known issues.
Features:
- move: allow moving all matching windows with
--all - hook: add new command to handle
.scratchpadtaking focus
Fixes:
- move: when no pattern is provided, only the focused window is moved
Documentation:
- Update instructions for better UX
- Update installation instructions and known issues, clarifying ongoing issue with scratchpad on dual monitors
What's Changed
- chore(nix): bump nix hashes and version by @github-actions[bot] in #101
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #102
- fix(move): when no pattern only the focused window is moved by @cristianoliveira in #103
- feat(hook): add new command to handle .scratchpad taking focus by @cristianoliveira in #67
- feat(move): allow moving all matching windows with --all by @cristianoliveira in #104
Full Changelog: v0.2.3...v0.3.0
v0.2.3 - Fixes
Detailed Changes:
Highlights:
- Added support for window-id filter to enhance filtering capabilities.
- Fixed focus issue when sending windows to scratchpad, improving user workflow.
- Updated documentation for better guidance on multi-monitor setups.
Fixes:
- focus: Avoid focusing workspace when sending window to scratchpad
- window-id: Add support for window-id filter
Refactors:
- codebase: Apply Go lint golden rules
Documentation:
- multi-monitor setups: Adds guidance for configuring scratchpads
- known issues: Update known issues with multiple monitors
CI:
- golintci: Fixes golintci config
- golangci-lint: Specify version v2 in Makefile for reproducibility
Chores:
- dx: Avoid watching .tmp folders
- dx: Add log file tailing and enhance window focus logging
- post-install: Show version after install
- go caches: Use workspace-local go caches
What's Changed
- chore(nix): bump nix hashes and version by @github-actions[bot] in #88
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #89
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #90
- refactor: apply go lint golden rules by @cristianoliveira in #91
- ci: fixes golint config by @cristianoliveira in #92
- ci: adds read permission by @cristianoliveira in #93
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #94
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #95
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #97
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #98
- fix(focus): when sending win to scratchpad avoid focusing ws by @cristianoliveira in #96
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #99
- fix: add support for window-id filter by @jacobromero in #100
New Contributors
- @jacobromero made their first contribution in #100
Full Changelog: v0.2.2...v0.2.3
v0.2.2 - Fix build bin with correct release version
What's Changed
- chore(nix): bump nix hashes and version by @github-actions[bot] in #86
Full Changelog: v0.2.1...v0.2.2
v0.2.1 - Command fixes and consistency improvements + DX
What's Changed
- chore(nix): bump nix hashes and version by @github-actions[bot] in #75
- feat: make moving output message consistent by @cristianoliveira in #76
- feat: make next command output consistent by @cristianoliveira in #77
- refactor: centralize filter flag configuration to ensure consistency by @cristianoliveira in #78
- docs: add example using aerospace-marks by @cristianoliveira in #79
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #80
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #81
- fix(summon): when window is on workspace set focus by @cristianoliveira in #83
- chore(deps): add funzzy to devShell dependencies by @cristianoliveira in #84
Full Changelog: v0.2.0...v0.2.1
v0.2.0 - Granular filter, dry-run and shorthand flags
Release v0.2.0
Features:
- Filter Flag for Window Matching: Introduced a new mechanism to filter windows based on app-name, window-title, and app-bundle-id using regex, adding a
--filtercommand-line flag. - Logging and IPC Library: Added a logger and upgraded the aerospace-ipc to latest.
- Dry-Run Mode: Enabled a dry-run mode for commands, allowing for command execution without actioning the changes on windows.
- Shorthand Flags: Added short hands for common flags
Refactors:
- Renaming of packages and variables for consistency and clarity.
- Removing dead code and simplifying regex usage.
- Ensured consistent command responses across different commands.
Tests:
- Increased test coverage for various packages, focusing on the querier, summon, and move tests.
- Test cases for new functionalities like the filter flag.
Chores:
- Multiple commits focused on updating the code format, and bumping
nixhashes and versions to keep dependencies up-to-date. - Development experience improvements, such as adding debugging tools and watchers.
Documentation:
- Updated documentation to cover new features like filter flag usage and dry-run mode.
Detailed Changes:
Command response consistency (move.go, show.go, summon.go):
- Refactored commands to use a common pattern for filtering windows.
- Added filter flag support to restrict the operation to specific windows based on properties like window title and app-name.
- Introduced a
--dry-runflag to allow command execution testing without making actual changes.
Nix Packaging (flake.nix, package-default.nix, package-nightly.nix):
- Updates to Nix package scripts, likely to accommodate new version changes and dependencies (e.g.,
socatfor connection debugging).
Miscellaneous:
- Bump Go module version for
aerospace-ipc. - Update Go version dependencies (
go.mod,go.sum) to include newer versions and address semantic import versioning. - A new
.watch.yamlfile has been added for configuring tasks like formatting Go code and running tests withgotestsum. - Updates to
README.mdprovide additional documentation, explaining configuration assignments for workspaces and monitors. - Better CI workflows for releasing binaries with correct version
What's Changed
- chore(nix): bump nix hashes and version by @github-actions[bot] in #57
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #58
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #62
- docs: adds monitor assignment in the recommended config by @cristianoliveira in #63
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #64
- feat: enable dry-run for all commands by @cristianoliveira in #69
- tests: increase coverage for summon and move tests + dry-run by @cristianoliveira in #70
- chore(nix): bump nightly hashes and version by @github-actions[bot] in #71
- feat: allow filter flag for more granular window matching by @cristianoliveira in #66
- refactor: rename package for name consistency and increase test coverage by @cristianoliveira in #72
- chore(nix): bump nix hashes and version by @github-actions[bot] in #73
- chore(nix): bump nix hashes and version by @github-actions[bot] in #74
Full Changelog: v0.1.4...v0.2.0
v0.1.4 - Fixes and CI improvments
Release Notes
Fixes
- cmd: Correctly handle exit status of 1 when no matching window patterns are found. (6cb4605)
- cmd: Update return exit status to 1 for non-matching windows. (4d9d629)
- show: Prevent setting focus if already focused. (2890963)
Documentation
- templates: Added more context for bug and feature issue templates. (2319e5c)
- Corrected grammatical errors in the documentation. (c5e4a94)
Refactoring
- Message System: Standardized messages for consistency across the application. (d8dc79)
Tests
- Added a special test logger to assist with debugging. (7270a1e)
Chores
- ci: Improved git clone process to include more commits for better tracking. (f5c6feb)
- ci: Skipped hash generation when no code changes detected. (83d7b78)
- Allowed scripts to run in a worktree. (833bd02)
- Removed outdated to-do items from the code. (ff7e782)
What's Changed
- chore(nix): bump nix hashes and version by @github-actions in #42
- chore(ci): allow running script in worktree by @cristianoliveira in #43
- fix(show): avoid setting focus when already focused by @cristianoliveira in #44
- chore(nix): bump nightly hashes and version by @github-actions in #45
- chore(ci): skip hash generation if no code changes by @cristianoliveira in #49
- chore(nix): bump nightly hashes and version by @github-actions in #48
- chore(ci): git clone with more commits by @cristianoliveira in #50
- chore(nix): bump nightly hashes and version by @github-actions in #51
- chore(nix): bump nightly hashes and version by @github-actions in #54
- fix(cmd): fails no matching windows pattern with exit 1 by @cristianoliveira in #56
Full Changelog: v0.1.3...v0.1.4
v0.1.3 - Fixes and performance improvement
Release Notes
Feature
- No new features in this release.
Fixes
- fix(cmd): Ensure windows are correctly sent to scratchpad.
CI
- chore: Adds issue template.
- chore(nix): Several updates to bump nightly hashes and version.
Other
- refactor(deps): Upgraded socket client and aerospace-ipc.
- refactor(info): Updated socket path retrieval and module version.
- refactor: Avoided using internal methods to get socket path.
- chore: Updated TODO list for improved task tracking.
What's Changed
- chore(nix): bump nix hashes and version by @github-actions in #30
- chore(nix): bump nightly hashes and version by @github-actions in #32
- chore(nix): bump nightly hashes and version by @github-actions in #33
- chore(nix): bump nightly hashes and version by @github-actions in #34
- chore(nix): bump nightly hashes and version by @github-actions in #35
- refactor(deps): upgrade socket client by @cristianoliveira in #36
- chore(nix): bump nightly hashes and version by @github-actions in #37
- chore: adds issue template by @cristianoliveira in #40
- fix(cmd): ensure windows are correctly sent to scratchpad by @cristianoliveira in #41
Full Changelog: v0.1.2...v0.1.3
v0.1.2 - Fixes and increased log coverage
What's Changed
- chore(nix): bump nix hashes and version by @github-actions in #24
- feat(logs): introduce logging capabilities by @cristianoliveira in #25
- chore(nix): bump nightly hashes and version by @github-actions in #26
- docs: add troubleshooting section by @cristianoliveira in #27
- chore(nix): bump nightly hashes and version by @github-actions in #28
- fix: handle lengthy socket responses by @cristianoliveira in #29
Full Changelog: v0.1.1...v0.1.2