TabLift

TabLift

32 devlogs
77h 51m
•  Ship certified
Created by Turtle Key

TabLift is a lightweight macOS utility that restores minimized apps when switching with ⌘+Tab.
By default, macOS ignores minimized windows unless you hold the Option key.
TabLift fixes this behavior, making app switching intuitive and seamless — no extra keys needed.

Timeline

Registered for the apple developer account and notarized the TabLift app.

Update attachment

Made the window switcher faster, implemented the shift key as a backwards moving shortcut.t

Update attachment

Modified the whole window switcher , made it function like the cmd+tab and added number switching like raycast. Implemented the custom keyboard shortcut for the window switcher.

Update attachment

Ship 3

1 payout of shell 106.0 shells

Turtle Key

7 days ago

Turtle Key Covers 8 devlogs and 5h 36m

Increased the opacity of the title bar and added custom speed profile for the dock pop ups.

Update attachment

Added a toggle that enables the functionality to hide the pop up immediately after an action has been made.

Update attachment

Removed the marqee text functionality and fixed some bugs that way. Now the constant updates won't affect any view of the dock pop ups, and the app runs is more lightweight

Update attachment

Removed the marquee text functionality from the window switcher because it affected the response time of the app. Improved the dockiconmonitor, added a cache management system.

Update attachment

Added a border to the window switching pop up, added a toggle for it in the settings and fixed a bug that involved untitled windows showing in the window switching preview.

Update attachment

Added TabLift to brew cask and opened a pull request. Waiting for aprooval. :)

Update attachment

Changed the favicon, modified the deploy script, modified the CHANGELOG generator script.

Update attachment

Updated the README file, improved the user experience(added different explanations to the support tab of the app, so the users understand what each keyboard shortcut actually does).

Update attachment

Ship 2

1 payout of shell 711.0 shells

Turtle Key

11 days ago

Turtle Key Covers 8 devlogs and 28h 45m

Custom designed a new TabLift dmg background using Procreate, drawing by hand and then changing the image resolution in Gimp to 72 dpi.

Update attachment

Changed the Project's files. Added the LetsMove pod, made the git clone of the repo actually work and made sure the xcodeproj actually runs.

Update attachment

Changed the spacing between the demo videos & reorganized the project.

Update attachment

⚡ New: Window switcher overlay: A compact, fast panel appears while cycling with ⌘+` so you can see all windows of the current app and jump instantly.
⚡ New: Dock previews with window controls: Hover the Dock to see live, clickable previews with the red/yellow/green buttons and smoother motion that stays in sync as things change.
Smarter Dock click behavior: Optional toggle to minimize all when windows are up, restore all when they’re down, and just focus when the app isn’t frontmost.
More reliable everyday use: Handles brief macOS “not ready yet” moments (like right after wake or screen locks) so actions happen when they’ll actually work.
🪲 Performance and stability: Smoother animations, better title scrolling for long names, fewer edge‑case glitches, and improved consistency across displays and restarts.

Update attachment

Added nice dock pop up animations & fixed some bugs with the new windows regarding the dock pop ups.

Update attachment

Added a accessibility notification pop up that instructs the users what to do in the situation when the macOS API fails(lock their screen press ESC and log back in).

Update attachment

Changed the whole settings view, improved the ui & ux of the app, implemented a new feature that minimizes all windows of an app using the cmd+shift+m keyboard shortcut, added traffic light buttons to the dock pop ups and added marqee carousel text functionality.

Update attachment

TabLift Devlog – August 2025

A lot has changed since the last devlog. Here’s what’s new:

TabLift now supports creating windows for headless apps, making it possible to restore minimized or hidden windows even for apps that don’t normally show up in the window switcher. You can also choose to minimize the previous window when switching, making multi-app workflows smoother.

TabLift can now be shown in the Dock, giving you more visibility and control—plus, dock popups have been added to make interactions more convenient. On top of that, the website has a brand new blog section, so you can stay up to date with tips, news, and behind-the-scenes info.

A bunch of bugs were squashed along the way, making TabLift more stable and reliable for everyone.

Thanks for all your feedback and support. TabLift keeps getting better because of you!

— Mihai-Eduard Ghețu

TabLift – Lift your windows. Free your workflow.

Update attachment

Ship 1

1 payout of shell 268.0 shells

Turtle Key

about 2 months ago

Turtle Key Covers 13 devlogs and 27h 3m

Last TabLift Devlog

It’s been a journey since the last devlog—and what a journey it was!

After releasing the initial versions, I began to wonder if there was more I could do. The questions started to roll in: “Can I have a menu bar icon?” “What if I want to restore only the last window, not all of them?” These questions shaped TabLift’s evolution. The first big step was the new menu bar icon, a tiny but mighty addition that made TabLift feel like a true Mac citizen. Clicking it reveals a playful popover—wavy divider and all—where you can instantly switch between restoring all minimized windows or just the most recent one. It’s fast, simple, and feels just right.

Then came the global toggle: Users can now choose their window restoration style—either bring back every minimized window, or just the last one you tucked away. Best of all, this setting is right there in the menu bar popover and the app’s settings, always at your fingertips.

I polished the onboarding flow, making accessibility permissions clearer and friendlier. The Settings/About window got a fresh look, with clickable version and license links, and a “Launch at Login” toggle for true set-and-forget convenience. The Sparkle-powered update checker continued to keep everyone up to date with zero fuss.

On the technical side, I reorganized the codebase, splitting logic into focused files like WindowManager and MenuBarManager, which made it easier to maintain and extend. The website also got a little love, with a better FAQ and docs for new users.

With this, I’m announcing that this is the final devlog for TabLift. The app is stable, polished, and does what it set out to do. TabLift will remain open source and available for all, and I hope it continues to brighten your workflow.

Thank you for lifting your windows—and my spirits.

— Mihai-Eduard Ghețu

TabLift – Lift your windows. Free your workflow.

Update attachment

Devlog: Recent Updates

Reset tracked files to match .gitignore
Tidied up the repository by making sure tracked files now align with what’s listed in .gitignore, keeping the repo clean and reducing clutter.

Updated the .gitignore file
Refined the .gitignore entries to better suit the project’s evolving needs.

Updated the gitignore file
Additional tweaks to .gitignore for improved file management.

Update README.md
Minor documentation update to keep the README current.

Resized the Images to look the same
Polished the UI by resizing images for a consistent appearance throughout the app.

Updated the screenshots of the app
Refreshed the app’s screenshots to reflect the latest interface and features.

Added the project banner without background version
Included a new version of the project banner for visual variety and branding.

Added an auto webpage theme changing button
Introduced a button to automatically switch webpage themes, enhancing accessibility and user experience.

Made the homepage icon close the menu when it's open and removed the padding from the mobile menu
Improved mobile navigation by making the homepage icon close the menu and refining mobile menu spacing.

Made a new Version for the app to incorporate the latest changes
Released a new version to bundle all recent improvements and fixes.

You can view more commits or details here:
https://github.com/turtle-key/TabLift/commits/main

--Mihai Ghețu

Update attachment

Added a Accessibility Privilege Management System:
You can now enable or manage Accessibility permissions directly from the General tab in the Settings window. This streamlines onboarding and makes it much easier to grant or check the necessary privileges for TabLift to function.

Update attachment
  • New App Icon: TabLift now has a fresh, modern app icon.
  • Redesigned Settings & About: Introduced a tabbed Settings window with a clickable version label (links to GitHub releases), plus license, website, and donation links.
  • Improved Onboarding: Added a dedicated Accessibility permission prompt window with clear instructions and helpful links.
  • Update Checker: Integrated Sparkle-based update checking, with automatic update support and configurable intervals.
  • macOS Compatibility: Enhanced support for macOS 13+ and Apple Silicon.
  • Code & Metadata Cleanup: Refactored Swift files for clarity, updated Xcode project metadata, and reorganized the bundle.
  • Website Improvements: Expanded the SvelteKit-powered site with better docs, SEO, Open Graph/Twitter cards, FAQ, and a privacy policy.
  • UI/UX Polish: Smoother onboarding, improved menu items, and more intuitive navigation.

For a full changelog, check out the commit history on GitHub: https://github.com/turtle-key/TabLift/commits/main

— Mihai Ghețu

Update attachment

Added the homepage menu item and included it into the navbar.

Update attachment

Added privacy policy and faq pages.

Update attachment

UI/UX Improvements:

Refined the GitHub button in the header: the button now uses adaptive padding, smaller icons, and keeps both icons perfectly vertically centered. On mobile, the button resizes and the GitHub label is hidden for a compact appearance.
Improved header layout and mobile responsiveness overall.
SEO & Rich Results:

Enhanced Open Graph and Twitter Card meta tags for better sharing previews.
Fixed og:image not displaying due to Cloudflare hotlink protection by moving the image to the main domain.
Improved SoftwareApplication structured data, with documentation on the optional aggregateRating field.
Docs & Support:

Added troubleshooting instructions for hotlinking errors (Cloudflare 1011).
Provided guidance on how to preview and debug OG/Twitter cards using common tools.

Update attachment

ey everyone! Here’s what’s new in TabLift since the last update:

GitHub Button in the Navbar:
You’ll now see a stylish GitHub button on the far left of the navigation bar, featuring a GitHub icon and a diagonal arrow. It’s easy to spot and works perfectly on both desktop and mobile, making it super simple to check out or share the repo!

SEO Improvements:
I made it easier for people (and search engines!) to find TabLift. The site now has improved SEO with Open Graph/Twitter tags for better sharing, and structured data so Google knows exactly what TabLift is about.

robots.txt & sitemap.xml Added:
Search engines can now crawl and index the site more effectively—this will help more Mac users discover TabLift!

Faster Images & Assets:
The app icon and screenshots are now served via Cloudflare R2. This means faster loading times and a more reliable experience for everyone.

App Icon & Design Assets:
I added the app’s icon and GIMP project files to the repo, making it easier to maintain and update the app’s look.

Automatic CNAME for Custom Domain:
Deployments are now smoother with automated CNAME file creation for our custom domain.

Update attachment

Started the TabLift Svelte website project. Set up the SvelteKit environment and initialized the repo. Designed a clean, modern landing page with a MacBook hero section and a toggleable video demo embedded inside the MacBook frame. Styled the toggle switch to mimic iOS, allowing users to compare app behavior with and without TabLift.

Configured domain and DNS through Cloudflare for tablift.mihai.sh and www.tablift.mihai.sh, ensuring both resolve properly. Set up GitHub Pages deployment, troubleshooting .nojekyll issues to support SvelteKit’s directory structure. Refined the deploy script to always include .nojekyll with the --dotfiles gh-pages flag.

Debugged layout issues on Safari, especially the stacking and positioning of the MacBook image and video frame, and restructured the code for consistent cross-browser appearance. Finalized the responsive grid sections for features and device support. Cleaned up code, optimized assets, and prepared for the next development steps.

Update attachment

Created a new svelte website.

Update attachment

Fixed the UI light mode bug and added a quit button in the bottom-right corner.

Update attachment

Made the whole app, packed it into a .dmg file. Created a README file for github and pushed the whole code to origin. Also created a UI for the app.

Update attachment

Designed a custom AppIcon, fixed the accesibility Permission Dialog, impelmented the core AppFunctionality

Update attachment