Skip to content

Releases: KiwiCanopy/KiwiDesk

KiwiDesk 1.1.2

Choose a tag to compare

@github-actions github-actions released this 31 Aug 23:14
94b6ea0

Highlights

Switching a layout from the menu bar and then saving in Settings
used to undo the switch — that is fixed, and the menu row that
makes a switch permanent now says what it does. BSP also picks a
new default split, which changes how untouched setups tile.

Saving in Settings stopped undoing your layout

  • Save no longer puts the old layout back. Switch a Space to
    Monocle from the menu bar, then open Settings to change a gap
    and press Save: the Space used to snap back to whatever the
    profile held, and that is what got saved — the switch was
    destroyed by saving something unrelated. Save now touches only
    what you changed in Settings, so the gap is saved and the
    Monocle switch stays on screen, still temporary until you keep
    it. Changing a Space's layout in Settings itself is a real
    edit, and that one wins.
  • The menu row is now "Keep Layout in Profile ‹name›". Same
    action, honest name: a layout switched from the menu bar is
    temporary until you keep it, which is how macOS words this
    choice elsewhere.
  • That row lights up whenever any screen is on a temporary
    layout
    , not only the screen you are looking at. It writes the
    whole profile, so it used to grey itself out while another
    screen's menu said the layout was unsaved.
  • Settings no longer narrates temporary layouts at all. The
    menu bar's "not saved to profile" line is now the single place
    a temporary layout is announced — and Revert went back to being
    just "discard my edits".

BSP splits alternately now

  • New windows alternate horizontally, then vertically, as they
    nest.
    That alternation is what most people mean by BSP; the
    old default cut each area's longer side, which read as the
    layout misbehaving rather than as a choice. Both options are
    still there, in BSP's settings and in bsp.set_strategy.
  • This changes how you tile if you never picked a strategy.
    If you did pick one — in Settings or in your config — it is
    stored and nothing moves. Fresh installs and untouched setups
    get the new default.

Floating spaces respect your bars

  • A window in a Floating space is now pushed clear of the App
    Bar and the Space Bar
    , the same as a window you floated by
    hand. It could previously sit underneath one with its title bar
    covered, and nothing ever moved it back out.

Smaller things

  • Settings shows just the version number. The build hash moved to
    kiwidesk --version, which is where support asks for it.
  • Release plumbing: the release notes and the update feed publish
    themselves again, without a hand on the wheel.

What's Changed

  • chore(site): sync release notes and feed for v1.1.1 by @github-actions[bot] in #1153
  • chore(scripts): make lint's soft file-size warnings opt-in by @hajiboy95 in #1156
  • chore(comments): trim settings and UI components to §2.8 budget (batch 6) by @hajiboy95 in #1155
  • chore(comments): trim core and settings to §2.8 budget (batch 8) by @hajiboy95 in #1159
  • chore(comments): trim core and gui components to §2.8 budget (batch 7) by @hajiboy95 in #1158
  • chore(site): bump the site-patch-and-minor group in /site with 4 updates by @dependabot[bot] in #1160
  • chore(comments): trim core and settings to §2.8 budget (batch 9) by @hajiboy95 in #1162
  • chore(comments): trim codebase to §2.8 budget (batch 10) by @hajiboy95 in #1165
  • docs(readme): add Settings screenshot and scrolling demo loop by @hajiboy95 in #1166
  • chore(bar): re-vendor app font v2.0.83 by @github-actions[bot] in #1164
  • chore(comments): trim core and gui to §2.8 budget (batch 11) by @hajiboy95 in #1167
  • docs(readme): reshoot the Settings screenshot at a narrower width by @hajiboy95 in #1180
  • chore(comments): trim core and gui to §2.8 budget (batch 12) by @hajiboy95 in #1182
  • ci: let the release sync PR start its own CI and land by @hajiboy95 in #1183
  • fix(tiling): clamp floating-MODE members clear of the bars by @hajiboy95 in #1186
  • chore(comments): trim remaining files to §2.8 budget (batch 13) by @hajiboy95 in #1185
  • fix(settings): Save commits the draft, temporary layouts stay temporary by @hajiboy95 in #1187
  • feat(layout): default the BSP split strategy to alternating by @hajiboy95 in #1188
  • feat(gui): show the semantic version only in Settings by @hajiboy95 in #1189
  • chore(release): stamp version 1.1.2 by @hajiboy95 in #1190

Full Changelog: v1.1.1...v1.1.2

KiwiDesk 1.1.1

Choose a tag to compare

@github-actions github-actions released this 30 Aug 20:22
ee3f773

Highlights

A small patch about focus: one fix for the moment your Mac
wakes, one for the keyboard path in Settings. The rest is
housekeeping — the site now names the sticky feature what
Settings names it, a localization tool refuses a half-redirect
it once obeyed silently, and a broad comment trim landed across
the Settings tree.

Waking up

  • Shortcuts work right after your Mac wakes. Waking or
    unlocking used to restore your focused window on screen —
    ring, bars, everything — while macOS quietly kept another app
    in front, so every shortcut was denied until a rescue click
    produced a real focus change. The wake restore now actually
    hands that window the focus (and when it is gone, the window
    genuinely in front), and if macOS refuses the handoff, the
    first key press heals it instead of dying.

The Settings keyboard path

  • Jumping between areas keeps the keyboard with you.
    Following a cross-reference link, or picking a search result
    that lives in another area, left keyboard focus stranded at
    the top of the window. It now lands on the ← Home chip,
    exactly as opening an area from Home always did, so Tab keeps
    walking from where you are. (As before, full keyboard access
    needs System Settings ▸ Keyboard ▸ Keyboard navigation turned
    on.)

What's Changed

  • chore(site): sync release notes and feed for v1.1.0 by @github-actions[bot] in #1124
  • feat(site): the comparison page, and the site work it surfaced (#975) by @hajiboy95 in #1128
  • docs(agents): add the §2 comment budget by @hajiboy95 in #1129
  • chore(comments): trim gui to the §2.8 budget (batch 1) by @hajiboy95 in #1131
  • chore: drop the local-gate checkbox from the PR template by @hajiboy95 in #1133
  • fix(core): pay the wake restore's focus for real by @hajiboy95 in #1135
  • ci: run the required checks on merge-group refs by @hajiboy95 in #1138
  • chore(comments): trim onboarding and settings census to §2.8 budget by @hajiboy95 in #1132
  • chore(comments): trim settings census and components (batch 3) by @hajiboy95 in #1134
  • chore(comments): trim bars and colors settings (batch 4) by @hajiboy95 in #1136
  • docs(agents): land PRs through the merge queue by @hajiboy95 in #1137
  • chore: quiet the local test gate by @hajiboy95 in #1141
  • docs(site): call sticky "Sticky", the word Settings already uses by @hajiboy95 in #1143
  • fix(localization): refuse merge-keys under any extract override by @hajiboy95 in #1142
  • chore(comments): trim settings components to §2.8 budget (batch 5) by @hajiboy95 in #1139
  • fix(gui): state a focus destination on area→area navigation by @hajiboy95 in #1144
  • docs(site): rule the dashboard-held build watch paths by @hajiboy95 in #1151
  • chore(release): stamp version 1.1.1 by @hajiboy95 in #1152

Full Changelog: v1.1.0...v1.1.1

KiwiDesk 1.1.0

Choose a tag to compare

@github-actions github-actions released this 29 Aug 18:51
de6a524

Highlights

The release where resizing a window started telling you the truth, and where the keys got out of your way. Most of what changed you will notice without looking for it. It gets more technical as you read down — and four things need a minute of your attention, marked where they come up.

Resizing, made honest

This got the most attention of anything in the release, because nearly every complaint about it turned out to be the same thing: KiwiDesk was resizing something other than what you asked, or refusing for a reason that did not exist.

  • A resize press acts on the focused window, measured from the size it is actually drawn at. Before, the first several presses could do nothing visible, or silently resize every neighbour instead.
  • Holding the chord resizes continuously, at your display's refresh rate, rather than stepping along a key-repeat timer that got slower the longer you held it.
  • A floating window grows and shrinks from both edges, keeps working when it is parked against the edge of the screen, and will not grow underneath a bar. Held resizing on a floating window now travels the whole distance you asked for — with Reduce Motion on, it used to deliver under a third of it.
  • When an app refuses to go smaller or larger, you are told on the first press. "Maximum window size reached" is a message now, in your language, instead of ten silent presses followed by the window snapping back.
  • Resizing stopped stalling. A pass that froze for up to two seconds and then jumped now runs clean; in the measured session, forty-two stalls became one.
  • Scrolling spaces stopped sliding. Resizing no longer drags the focused window toward the leading edge, a slot cannot be grown past what is drawn, and a window resting against the trailing border keeps that border.
  • Apps that fight back are handled. The Android emulator and its kind used to send tiling into an endless expand-and-snap loop about once a second. Now there is one adjustment when the window appears, and then the row settles.

A keyboard layout that gets out of the way — and how to take it up

The shipped shortcuts were re-measured against what macOS and common apps actually claim, and moved accordingly.

  • Resizing has its own layer, ⌥⌘, on digits rather than arrows — ⌥⌘1/⌥⌘2 for width, ⌥⌘4/⌥⌘5 for height. Arrows were rejected because ⌥⌘ with arrows is next and previous tab in most browsers and terminals, and those have no menu to fall back on.
  • means one thing again. Sticky moved to ⌃⌥S for everywhere and ⌃⌥P for this screen only.
  • The numeric keypad works. Keypad digits fire the same bindings as their number-row twins — so if you already have space shortcuts on ⌃⌥1 through ⌃⌥9, they start answering the keypad the moment you upgrade, with nothing to configure.
  • Worth knowing: none of the other shortcut changes reach an existing install by themselves. The shipped set is seeded only into a configuration that has no shortcuts at all, so it never overwrites anything you or your Lua wrote. If you have been using KiwiDesk, your keys are exactly where you left them.
  • Restore Defaults… is how you take them up, at the top of Settings ▸ Shortcuts. It puts back the set a fresh install would get — for your Desktops and your resize step, not a fixed list — including defaults added since you installed. Your own shortcuts are kept. The one exception is a shortcut of yours sitting on a key a default needs, which cannot stay without putting two bindings on one key; the confirmation counts those before you agree, and says so plainly when the answer is none. Settings search finds it under "restore", "defaults" or "reset".
  • The guide now teaches how to choose a shortcut of your own — what makes a chord safe, why ⌃⌥ is the quiet corner, and the one thing worth doing before you commit to a new one. In English, German and Japanese.

Reduce Motion and VoiceOver

  • Reduce Motion is honoured across Settings. Layout previews arrive instead of springing, and fifty-one animation sites that ignored the system setting now stand down with it.
  • Starting VoiceOver no longer steals your focus to a different app a few seconds later.
  • Drawer headers behave as one thing across fifteen drawers, and all of them join the VoiceOver headings rotor.

Start at login does one job now

  • The switch installs the login item and nothing else. Crash supervision used to ride along with it, unasked. It is still available, deliberately, as kiwidesk service from the command line.
  • If you relied on that supervision, turn it on explicitly after upgrading. Nothing else changes for you.
  • Turning Start at login on while KiwiDesk is running no longer steals focus every ten seconds, indefinitely.
  • The update prompt comes to the front when it is ready to install and restart, instead of waiting behind every other window where it could not be found.

KiwiDesk can move around macOS's Desktops

  • Switching Desktops and sending windows between them now works — on stock macOS, with System Integrity Protection on. This was listed as impossible for most of KiwiDesk's life. Two new commands, focus_desktop and move_to_desktop, and the Space Bar and shortcut editor speak them like anything else.
  • A switch KiwiDesk drives performs the real transition, instead of leaving two Desktops drawn on top of each other for a moment.
  • Moving a window to another Desktop and following it lands your keyboard focus on that window, every time, rather than most of the time.
  • A window sent to a Desktop on another screen stays there instead of springing back to where it came from.
  • Switching Desktops settles immediately. It used to take five to ten seconds to stop rearranging, even switching to an empty one.

Scripting

  • Every command describes itself. kiwidesk list_commands now documents all 262 — group, typed arguments, and a one-line summary each. kiwidesk help <command> works, and list_commands <group> filters instead of returning everything.
  • Output is readable at a terminal and unchanged in a pipe. Pretty-printed when you are looking at it, the same compact line when a script is reading it. Keys are sorted either way.
  • One rename needs your hand: animations.set_scroll_speed is now animations.set_scroll_duration. It always was the duration — raising it made scrolling slower — and the setting is renamed in the interface to match. Your stored configuration is migrated for you. Lua is not, on purpose: if your init.lua or one of your keybindings calls set_scroll_speed, it will fail loudly at the moment you press it, which is better than failing silently. Rewrite it once and it is done.

Also

  • New installs open in Scrolling on every screen but the smallest, with a deliberate slot width instead of an automatic one. Existing setups are untouched.
  • One word per concept, in every language. Width, floating, the Track unit, and "make it bigger" each had two words in at least one language and now have one. Japanese and Korean can now tell Go to Space from Move to Space, and German and Korean can tell the shortcuts a profile inherits from the ones KiwiDesk ships.
  • The Restore Defaults confirmation speaks your language. It was English everywhere but English — at the one moment it is telling you what you are about to lose.
  • Your profiles move to a newer format the first time this version saves one, which means 1.0.1 cannot read them afterwards. Nothing to worry about: kiwis only grow, they never shrink back. 🥝

What's Changed

  • chore(site): sync release notes and feed for v1.0.1 by @github-actions[bot] in #999
  • chore(site): sync release notes and feed for v1.0.1 by @github-actions[bot] in #1001
  • chore: weekly dependency PRs, and the VoiceOver limitation from #961 by @hajiboy95 in #993
  • fix(ci): remove prerelease flag from release draft creation by @hajiboy95 in #1002
  • ci: bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #1005
  • fix(i18n): remove obsolete vat section from imprint by @hajiboy95 in #1006
  • ci: bump actions/setup-node from 6 to 7 by @dependabot[bot] in #1004
  • feat(commands): drive macOS Desktops — focus_desktop and move_to_desktop by @hajiboy95 in #1008
  • fix(state): a window keeps the Desktop it was sent to across screens (#1010) by @hajiboy95 in #1012
  • fix(updates): bring the install-and-restart prompt forward by @hajiboy95 in #1014
  • ci: bump actions/checkout from 6 to 7 by @dependabot[bot] in #1003
  • fix(test): await the dwell and settle timelines instead of polling a clock by @hajiboy95 in #1024
  • feat(profiles): a fresh install opens in Scrolling on every screen but the smallest by @hajiboy95 in #1025
  • fix(gui): a Settings drawer header reads as one by @hajiboy95 in #1026
  • test: a scanning guard pins the shape, never the value by @hajiboy95 in #1027
  • feat(onboarding): the tour names the keys it teaches, and the app points at the guide by @hajiboy95 in #1029
  • fix(commands): perform the Desktop switch's missing transition by @hajiboy95 in #1031
  • chore(github): let the org's default carry the sponsor button by @hajiboy95 in https://github.com/KiwiCanopy/KiwiDes...
Read more

KiwiDesk 1.0.1

Choose a tag to compare

@github-actions github-actions released this 25 Aug 11:26
555d8a9

Highlights

A small release with one thing to know if you script KiwiDesk. Nothing about how your windows behave changes.

One word for macOS Desktops, everywhere

  • native_space is now desktop on the wire. The copy has said Desktop for macOS's desktops and Space for KiwiDesk's own since 0.9.7; the commands and events now say the same. If your init.lua binds profiles to Desktops, or a script listens for the switch event, update the spelling — the old names are gone, not aliased: KiwiDesk.bind_profile_to_native_space(n, profile) is now KiwiDesk.bind_profile_to_desktop(n, profile), the native_space_change event is now desktop_change, and kiwidesk get_state reports desktop instead of native_space.
  • Bindings made in the Settings window need nothing from you. They live in KiwiDesk's own settings file, not in init.lua, and keep working as they are.

What's Changed

  • chore(site): sync release notes and feed for v1.0.0 by @github-actions[bot] in #981
  • feat(site): the changelog's download says which version it hands you by @hajiboy95 in #982
  • feat(site): retire the beta framing now that 1.0 has shipped by @hajiboy95 in #983
  • feat(docs): add GitHub Sponsors badge and refine version dot glow by @hajiboy95 in #984
  • fix(test): await reveal timelines instead of polling a clock by @hajiboy95 in #986
  • chore(site): refresh the npm tree and clear its four advisories by @hajiboy95 in #987
  • feat(os): add the WMBridge wrapper for SkyLight's operation classes by @hajiboy95 in #990
  • refactor: say Desktop on the whole macOS-Desktop wire by @hajiboy95 in #992
  • chore(release): stamp version 1.0.1 by @hajiboy95 in #995

Full Changelog: v1.0.0...v1.0.1

KiwiDesk 1.0.0

Choose a tag to compare

@github-actions github-actions released this 24 Aug 21:25
14ff44d

Highlights

The Kiwi is ripe. KiwiDesk is 1.0. 🥝

Ready is the headline

  • 1.0 is not a feature dump, it is a verdict. Seven layouts, Lua configuration, profiles, per-Desktop setups, the App and Space Bars, and a Settings window you can drive end to end from the keyboard — all of it has been carrying real desks through the beta. Nothing about how your windows behave changes today, and that is exactly what a 1.0 should feel like: the boring release, arrived at on purpose.

Just download it already

  • Homebrew is no longer the price of entry. Take the signed, notarized disk image from the KiwiDesk site, drag the kiwi into your Applications folder, and you are done. No terminal, no tap, no incantation.
  • Same app whichever way you get it. Homebrew keeps one perk — it puts the kiwidesk command on your PATH — and from then on KiwiDesk quietly keeps itself up to date either way.

Also

  • The site now argues for KiwiDesk the way the people using it do, by naming the everyday Mac annoyances it takes off your hands. It also says out loud that Settings can be driven entirely by VoiceOver and the keyboard, and the release-notes page no longer sprawls to the window edge.

What's Changed

  • chore(site): sync release notes and feed for v0.9.10 by @github-actions[bot] in #974
  • feat(site): promote the direct download and argue from the papercuts (#904, #962, #970, #971) by @hajiboy95 in #976
  • chore(release): stamp version 1.0.0 by @hajiboy95 in #980

Full Changelog: v0.9.10...v1.0.0

KiwiDesk 0.9.10

KiwiDesk 0.9.10 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Aug 18:10
96f5960

Highlights

A large accessibility release: Settings is now fully usable with
VoiceOver and the keyboard. Plus steadier window resizing and
several focus fixes.

Accessibility

  • Settings works with VoiceOver. Every control announces its
    name and its current value, sections are proper headings, and
    the keyboard shortcut board is read out as one description
    instead of a grid of loose cells.
  • The App Bar names its buttons. Bar controls that show only
    an icon now announce what they do.
  • Right-click reaches the keyboard. Press ⌃. to open the
    same menu the mouse opens on the focused row.

Windows and layout

  • Resizing stops where it should, and says why. A window
    that cannot shrink any further shows a cue on the first
    attempt instead of silently refusing, and growing a window is
    now limited by what its neighbours can give up.
  • The Settings window resizes like any other tile. Dragging
    its edge moves the neighbouring windows, which it previously
    did not.
  • Track columns keep their proportions. Column widths no
    longer drift when windows join or leave a track.

Fixes

  • Focus stays where you put it. Dismissing a quick terminal
    or summoning KiwiDesk no longer steals focus from the window
    you were working in.
  • Hidden apps leave no ghosts. Hiding an app now reports a
    hide rather than a close, so its windows do not linger in the
    layout.

Also

Settings drawer headers are clickable across their full width,
the count badge no longer wears an alert colour, and the German,
Japanese, French and seven other catalogs carry the new
VoiceOver strings.

What's Changed

  • chore(site): sync release notes and feed for v0.9.9 by @github-actions[bot] in #928
  • fix(events): stand down close-return raise when own key window is active (#929) by @hajiboy95 in #931
  • feat(resize): minimum-size clamping, neighbor limits, and refusal feedback by @hajiboy95 in #942
  • fix(borders): pill both resize ends, trigger ring stand-down on own key changes by @hajiboy95 in #943
  • fix(i18n): put the group window count behind a label by @hajiboy95 in #946
  • fix(config): stamp the migration crossing and bring palettes into the census by @hajiboy95 in #945
  • fix(events): narrow the close-return stand-down to own dialogs and govern the restore arm by @hajiboy95 in #947
  • fix(tiling): heal session track weights at retile when membership outgrows them by @hajiboy95 in #948
  • fix(bars): refresh app bar titles under icon content for VoiceOver (#937) by @hajiboy95 in #949
  • feat(gui): add ⌃. keyboard chord for contextual menus on focused rows (#845) by @hajiboy95 in #950
  • fix(events): stop transient-dismissal focus steals — the quick-terminal race and the summon's activation (#951, #952) by @hajiboy95 in #957
  • feat(gui): deep VoiceOver hardening of the Settings surface (#812) by @hajiboy95 in #963
  • chore(bar): re-vendor app font v2.0.82 by @github-actions[bot] in #960
  • chore(i18n): translate the #812 VoiceOver strings across the ten catalogs by @hajiboy95 in #964
  • fix(events): let our own window's drags reach the drag pipeline (#953) by @hajiboy95 in #965
  • feat(gui): the design pair — neutral count badge, full-row drawer headers (#955, #956, #959) by @hajiboy95 in #967
  • ci(release): ship a notarized disk image from the release workflow (#968) by @hajiboy95 in #969
  • chore(release): stamp version 0.9.10 by @hajiboy95 in #972

Full Changelog: v0.9.9...v0.9.10

KiwiDesk 0.9.9

KiwiDesk 0.9.9 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Aug 12:34
2cb5152

Highlights

Refined window behavior, mouse resizing in Track layout, and polish across Settings and the bars.

Windows and layout

  • Apps that hide stay out of your way. Closing an app like Discord or Spotify that keeps running in the background no longer leaves a ghost tile in your layout.
  • Mouse resizing in Track mode. Dragging borders between track columns or windows in the Track layout now resizes them smoothly, matching the keyboard shortcuts.
  • Shrinking stops cleanly at minimum size. Shrinking windows no longer risks tripping into an unexpected full-screen cascade when reaching minimum dimensions.

Bars and Settings

  • Bars name the active window. The App Bar and Space Bar now show the title of the specific document or window you are on rather than only the application name.
  • Minimizable Settings. The KiwiDesk Settings window can now be minimized from the title bar like any standard Mac window.
  • Palette duplicate notices. Adding a color already in a palette now clearly explains that the duplicate is skipped.

Also

Smoother title updates, accessible names for App Bar controls, and automatic migrations for saved configuration profiles.

What's Changed

  • chore(site): sync release notes and feed for v0.9.8 by @github-actions[bot] in #906
  • feat(bar): the bars name the window, not the app that owns it by @hajiboy95 in #907
  • docs(release): clarify blank line separation before What's Changed in notes skeleton by @hajiboy95 in #908
  • feat(config): add format versioning and migration floor (#902) by @hajiboy95 in #909
  • refactor(general): delete install inventory card (#875) by @hajiboy95 in #910
  • fix(scripts): reject invalid flags and unify worksheet decoder (#876, #855) by @hajiboy95 in #911
  • fix(i18n): Russian imperative, profile copy label, and overlap warning (#886, #830) by @hajiboy95 in #912
  • feat(bar): give App Bar items an explicit accessible identity (#901) by @hajiboy95 in #914
  • fix(bar): bound title refresh debounce with a max wait ceiling (#900) by @hajiboy95 in #915
  • feat(settings): show informative notice when saving duplicate palette colors (#844) by @hajiboy95 in #916
  • refactor(site): extract standalone PageShell layout component by @hajiboy95 in #919
  • fix(i18n): harmonize Family C concepts and quote pairs across catalogs (#831) by @hajiboy95 in #917
  • fix(events): track own key-capable dialogs and ignore hidden windows by @hajiboy95 in #920
  • fix(ax): report a hide as a hide, and stand the raise down (#913) by @hajiboy95 in #921
  • perf(tests): add in-memory file and source scan caching by @hajiboy95 in #923
  • feat(settings): enable minimize button on settings window by @hajiboy95 in #922
  • feat(track): support mouse resizing and clamp shrink at minimum size (#924) by @hajiboy95 in #925
  • feat(site): move header changelog link to nerd mode and trim uncurated release stubs by @hajiboy95 in #926
  • chore(release): stamp version 0.9.9 by @hajiboy95 in #927

Full Changelog: v0.9.8...v0.9.9

KiwiDesk 0.9.8

KiwiDesk 0.9.8 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Aug 15:15
fe17b18

Highlights

KiwiDesk can keep itself up to date now.

Updates

  • New versions arrive on their own. KiwiDesk checks quietly
    in the background and tells you when there is something newer,
    so you no longer have to go looking for it. Nothing installs
    without you saying yes.
  • Ask whenever you like. There is a Check for Updates…
    item in the menu for when you would rather not wait to be
    told.
  • See what changed before you take it. The update window
    shows you the notes for the new version, and the same notes
    now live on the KiwiDesk site.

What's Changed

  • feat(site): a curated release-notes page, and two guards for what it revealed by @hajiboy95 in #899
  • feat(updates): ship Sparkle — in-app updates, a signed appcast, and the pipeline behind it by @hajiboy95 in #903

Full Changelog: v0.9.7...v0.9.8

KiwiDesk 0.9.7

KiwiDesk 0.9.7 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Aug 16:58
198099a

Highlights

The biggest Settings pass so far.

Multi-screen Desktops

  • Bind profiles to Desktops without changing a macOS setting.
    "Load this profile on Desktop 2" now means Desktop 2 on your
    main screen — so it works with macOS's normal "Displays have
    separate Spaces" setting left switched on, and KiwiDesk no
    longer asks you to turn it off (which cost you a menu bar on
    each screen, the Dock on any screen, and fullscreen not
    blanking your other displays). The bindings list shows your
    main screen's Desktops, marks any you bound elsewhere, and a
    "?" explains the trade either way.

Windows behave

  • Apps that won't shrink no longer break your layout. Some
    apps — browsers especially — refuse to go below a minimum size.
    KiwiDesk now notices when an app won't budge and arranges the
    others around it, instead of asking over and over and leaving
    windows overlapping.
  • The focus outline keeps up. It used to trail behind when
    windows moved quickly.
  • Scrolling stops at the edge of your screen. Windows
    scrolled off to the side no longer slide across onto your other
    monitor.
  • Monocle: choose where the hidden windows go. They stack
    behind the focused window as before, or you can park them out
    of the way.
  • No more phantom entries in the Space Bar from right-click
    menus and popups.
  • Quicker, quieter startup, and waking from sleep now says
    what it actually restored.

Profiles

  • See a preset before you apply it. Open any preset and look
    at the real layouts it will create — no more guessing what
    "Coder & Monitor" means.
  • Saved profiles and presets look alike now, so you can
    compare them at a glance, and the ones that fit your current
    screens are listed first.

Settings

  • Live previews for Colours and for Spaces & Layouts — change
    a value, watch it happen.
  • Settings works without a mouse. Keyboard navigation, focus
    that lands somewhere sensible after you delete something, and a
    greyed-out control that tells you why it's greyed out.
  • Back up your setup — Export and Restore, in General.
  • A per-screen Layout menu in the menu bar when you have more
    than one screen connected.
  • A Release Notes link in About, pointing here.

Translations

Better translations across all ten languages: a batch of
sentences that couldn't be phrased naturally in other languages
have been rebuilt so they can be.

Also

Fixes to the site and branding, a newer icon font, and stricter
release checks so a release can't be cut while its milestone
still has open work.

What's Changed

  • fix(bars): three surfaces stop showing what the engine knows isn't real (#683, #820, #705) by @hajiboy95 in #840
  • fix(settings): the keyboard path — segments, focus destinations, gate reasons (#823, #816, #815, #833) by @hajiboy95 in #842
  • fix(settings): every name popover carries its own seed (#843) by @hajiboy95 in #846
  • ci(app-font): watch the vendored app font weekly, and take v2.0.74 by @hajiboy95 in #847
  • fix(site): add space before maker link in footer credits by @hajiboy95 in #849
  • fix(boot): boot stops paying for a second full reconcile (#836, #791) by @hajiboy95 in #850
  • feat(site): adopt the new KiwiCanopy slogan, drop the footer founder quote by @hajiboy95 in #851
  • feat(brand): put the product's promise on the banner, one per locale by @hajiboy95 in #852
  • ci: refuse a tag whose milestone still has open issues by @hajiboy95 in #853
  • feat(settings): the detail panels — Advanced Colours, Spaces & Layouts, and the preview fixes around them (#793, #794, #795, #841, #819, #707, #708) by @hajiboy95 in #854
  • fix(localization): a worksheet re-mint no longer destroys drafted translations by @hajiboy95 in #856
  • feat(brand): carry the new KiwiCanopy slogan, drop the domain from the banners by @hajiboy95 in #857
  • feat(profiles): one picture grammar, a preset grid, and match-first sort (#789) by @hajiboy95 in #858
  • feat(profiles): preview a preset's real layouts before applying it (#859) by @hajiboy95 in #863
  • chore(bar): re-vendor app font v2.0.77 by @github-actions[bot] in #860
  • fix(site): move the Nerd maker quote below the CLI, one h1 per page by @hajiboy95 in #870
  • fix(i18n): the residue round — two rulings, 31 interpolations, 472 values (#830, #831, #827, #862, #864) by @hajiboy95 in #871
  • docs: front-page accuracy, and two guard-debt fixes (#766, #767, #661, #740) by @hajiboy95 in #872
  • feat: the three things a 1.0 is expected to have (#570, #606, #752) by @hajiboy95 in #877
  • feat(layout): scrolling walls at screen seams, and the motion-decided raise (#878) by @hajiboy95 in #879
  • fix: learn app-enforced size bounds, and unstarve the ring's main actor (#677, #618) by @hajiboy95 in #880
  • docs: re-argue the App Store ruling on the reasons that survive by @hajiboy95 in #883
  • feat(layout): monocle hide_style — stack stays default, park opts in (#881) by @hajiboy95 in #885
  • feat(profiles): key Desktop bindings to the main display, retiring the separate-Spaces recommendation (#888) by @hajiboy95 in #891
  • docs: release notes are written for the person installing by @hajiboy95 in #892
  • fix(release): cut a release in two phases, main takes no push by @hajiboy95 in #893
  • chore(release): stamp version 0.9.7 by @hajiboy95 in #894

New Contributors

  • @github-actions[bot] made their first contribution in #860

Full Changelog: v0.9.6...v0.9.7

KiwiDesk 0.9.6

KiwiDesk 0.9.6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Aug 19:01
005337e

What's Changed

The settings window is the headline: it was rebuilt from the ground
up, and the first-launch tour with it.

  • feat: Settings, redesigned end to end. There is no sidebar
    any more — Settings opens on a grid of cards, each one answering
    what it holds rather than naming it, and every area now renders
    from one census so a row cannot exist in the window without
    existing in search. Areas that earn it open a two-column detail
    view where the preview watches your draft as you edit it, and
    unsaved changes live in a floating save pill that says how many
    and shows you which.
  • feat: Search that finds settings, not pages. Type a word and
    you get the setting itself, with the place it lives and its
    current value; the mode a setting needs is shown rather than
    hidden, and choosing a Power User setting from Simple mode
    switches the mode for you instead of refusing.
  • feat: The shortcuts panel draws your keyboard. ⌃⌥K shows the
    physical layout with every bound chord marked on the keys it
    takes, so a conflict is something you see rather than something
    you read.
  • feat: The window is yours to size. Settings tiles like any
    other window, is bindable to a shortcut of your own, and narrows
    in a ruled order — the preview goes first, then the row layout,
    then the header chrome. Controls never go.
  • feat: Dark mode, properly. Every surface, border and ink now
    comes from one theme, so dark is a designed appearance rather
    than an inverted light one. The accent marks controls you can
    act on and never text that merely names a value.
  • feat: A first launch that shows its work. The tour was
    rebuilt to match the redesign: a progress row that counts only
    the screens your machine will actually see, the starter setup
    chosen from your real displays and explained in the words it
    used to choose it, and a closing card that hands you the menu
    bar rather than describing it.
  • feat: Boot says what it is doing. On a busy Mac the first
    seconds after launch used to be silent and unresponsive — the
    menu-bar item answered nothing and then every window on the desk
    rearranged at once. The scan now hands the machine back while it
    works: the menu opens throughout, the mark is dimmed until
    KiwiDesk is ready, and the quick menu counts the apps it has
    been through. One slow app can no longer keep the whole desk
    waiting.
  • feat: Home cards show your desk. Profile and layout cards
    draw a real preview in your own palette, from the same data the
    engine uses, so what you see on the card is what you would get.
  • fix: Colour, contrast and colour vision. Palette highlights,
    border colours and the segmented controls were re-derived so
    they hold their separation for protanopia and deuteranopia, and
    a colour now renders in exactly one place instead of three.
  • fix: Keyboard and VoiceOver. Right-click menus are offered
    as accessibility actions from the same list, controls announce
    their value as well as their name, and every shape change now
    states where focus lands. Turning on macOS keyboard navigation
    is still required for non-text controls — that is a system
    setting no app may set for you, and the guide says so.
  • fix: Scrolling, borders and bars. Every anchor is drawn in
    one frame, every border shares one width and corner, and the
    App Bar and Space Bar stop taking glyphs from windows that are
    not really there.
  • perf: Startup. A slow-answering app is now bounded and
    finished off after boot instead of holding everything up, and
    the startup sweep no longer blocks the menu a second after it
    freed itself.
  • refactor: One word per concept, in ten languages. macOS has
    Desktops and KiwiDesk has Spaces — the two are now named apart
    everywhere, including in every translation. A translation round
    went over the whole corpus twice: once to draft, once to audit.
  • docs: README, guide and site. The track layout is
    documented, the keyboard path has its own section, and the
    badges and links point where they claim to.

Full Changelog: v0.9.5...v0.9.6