transient
alt-tab-macos
transient | alt-tab-macos | |
---|---|---|
24 | 311 | |
606 | 9,693 | |
0.3% | - | |
9.3 | 7.9 | |
3 days ago | 29 days ago | |
Emacs Lisp | Swift | |
GNU General Public License v3.0 only | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
transient
-
On Desktop GUI Minimalism
> Even in this article just a few sentences after stating we should start from first principles he then jumps into the assumption of the "desktop".
Agree. Although I can see how the idea of "first principles" can be a very difficult starting point. A blank sheet of paper is a scary monster.
There's a huge breadth and depth of non-"desktop" GUIs out there, some (like smartphones) are even wildly successful. It's good to explore them for inspiration. Some of my favourites:
- Arcan (https://arcan-fe.com/about/) - I won't attempt to summarize, just dive in!
- SailfishOS (https://sailfishos.org/) - mobile UI focused on interaction through gestures / swipes; I've used it as my daily driver for a couple years.
- Speaking of mobiles, classic Nokia UIs allowed you to navigate to a specific item in the menu by pressing the corresponding digit on the dial pad. Once you learned where a particular item is, accessing e.g. your SMS inbox was extremely quick.
- Apple Watch / WatchOS (https://www.apple.com/watchos/) - I've always loved the idea of a device where one of the primary interaction methods was a wheel/dial of some sort. The watch even gives you context-sensitive tactile feedback.
- ZUIs in general (https://en.wikipedia.org/wiki/Zooming_user_interface) and the work of Jef Raskin in particular: https://en.wikipedia.org/wiki/Archy_(software) - this is the guy who helped design the Macintosh, but his other work took a radically different route.
- Magit (https://magit.vc/). Many common git operations are reduced to a couple of keystrokes; the obscure features are more discoverable, and the cumbersome procedures (such as rebasing, or staging individual hunks) become simple and intuitive. Also check out transient (https://github.com/magit/transient), which is the "UI toolkit" that powers Magit.
-
Warp is a modern, Rust-based terminal with AI built in
True, and I'd personally rather move away from Emacs to something more modern. (Helix is great, although I appreciate the irony of it being terminal-only, while Emacs supports several different window systems natively.) Magit is the only real reason I'm sticking with Emacs.
Magit itself is powered by <https://github.com/magit/transient>, which I see more as an interaction paradigm than a library; it could enable more ergonomic interaction with other stateful tools that are typically native to the command line / terminal (such as docker/kubectl, systemctl, mpd/mpc, etc). Rather than using Emacs as a middle layer, Transient could build on top of pluggable native toolkit backends, such as Cocoa, Gtk, Win32, or even web or a terminal.
We continue investing into terminals because the terminal remains the lowest common denominator of interacting with a computer. On the other end of the spectrum we have Electron, which has very clear and obvious downsides. I think there is low-hanging fruit with amazing ROI somewhere in the middle, and Magit/Transient is an example of what it could be.
-
What do you use for git integration in neovim?
You can also manage via a holistic UI: - Bisection - Log and reflog, stashes - subtrees, submodules - certain third party subcommands like git-absorb, and extend it with your own - interact with issues and pull requests via forge - pretty much all of the hundreds of CLI flags via a modal UI that got generalized and extracted to a lib called transient - well-integrated diff and conflict resolution (which is mostly just smerge) - the rebase/cherry-pick workflows I liked the best, including support for --update-refs - at any time you can always press a key to see the raw commands and output that it's using, which taught me a ton of corner cases - IMO it has a great manual
-
Transient Demo Requests?
See https://github.com/magit/transient/issues/239 .
-
Transient v0.4.0 released
More information can be found on my blog and in the release notes.
-
Dynamic Transient Infixes Based on Current Values of Other Infixes
AFAIK :if etc. do not "live update", but only function on initial prefix setup (see this issue). You could use a sub-prefix that evaluates settings from its parent to set the available options. Another tip: add an incompatible list so you can't get two desserts:
-
I cannot get EmacSQL to work
Yeah, ok, simplest is then to just trash the transient folder and either let Emacs clone it again on startup, or manually clone it: https://github.com/magit/transient
-
Khoj Chat: A Search Assistant for your Org-Mode Notes
M-x khoj RET c via transient
-
Transient for resizing windows
This is about resizing the frame, but might also be relevant: https://github.com/magit/transient/issues/216.
-
quick-actions.el: Uniform Compile/Run/Debug across programming languages
Will a hydra or a transient menu?
alt-tab-macos
- Windows Alt-Tab on macOS
-
U.S. Sues Apple, Accusing It of Maintaining an iPhone Monopoly
> - Can't tab cycle through minimized windows
> - Windowing system sucks compared to Windows
Checkout: https://github.com/lwouis/alt-tab-macos solved most of my pains with it.
-
Yabai – A tiling window manager for macOS
I use AltTab [0] for this. I find using a mac without it horrendous.
[0]: https://alt-tab-macos.netlify.app/
-
No Bing, no Edge, no upselling: De-crufted Windows 11 coming to Europe soon
I know of this app which allows you to port that functionality: https://alt-tab-macos.netlify.app/
Disclaimer: I have never used it, one of my colleagues mentioned it a while ago.
- AltTab – Windows alt-tab on macOS
-
Collection of "Today I Learned" notes
If you're using a Mac, I really recommend alt-tab https://alt-tab-macos.netlify.app/.
I love cmd+tab on a mac to switch between applications, but I was missing a feature to switch between windows of the same application. Alt+tab solves that in the same manner Windows does.
-
On Desktop GUI Minimalism
I know this isn’t the point of your post, but in case it helps your experience in MacOS:
1. You can change the setting so that workspaces do not change their position/order. See: https://apple.stackexchange.com/questions/214348/how-to-prev...
2. The third party app “alt-tab” provides an alt tab experience that is much better than the native one, and is likely more similar to the behavior you expect from Linux. See: https://alt-tab-macos.netlify.app
I also personally like to use Rectangle for window positioning using keyboard shortcuts, tried the various auto tiling solutions like yabai and amethyst in the past but I think the flexibility of Rectangle is worth having to remember and use a few keyboard shortcuts.
I think it’s unfortunate that so many third party apps are required, but with a bit of babysitting MacOS can be pretty decent to work with.
-
Tools I like
AltTab MacOS app
-
Ask HN: What GNOME Shell extensions do you use?
There's likely a delay so that you can use Alt-Tab to quickly go back to your last window without the pop-up showing. I use AltTab on macOS like this, which has a configurable delay.
https://alt-tab-macos.netlify.app/
- macOS 13.5 no longer allows setting system wide ulimits
What are some alternatives?
emacs-lite
winget-cli - WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).
ani-cli - A cli tool to browse and play anime
Rectangle - Move and resize windows on macOS with keyboard shortcuts and snap areas
emacs-light - My lightweight bare necessities emacs config
yabai - A tiling window manager for macOS based on binary space partitioning
crunchyroll-go - 📚 A Crunchyroll (beta) API implementation in Go
Mos - 一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具, 让你的滚轮爽如触控板 | A lightweight tool used to smooth scrolling and set scroll direction independently for your mouse on macOS
anime-helper-shell - A python shell for searching, watching, and downloading anime.
hammerspoon - Staggeringly powerful macOS desktop automation with Lua
evil - The extensible vi layer for Emacs.
CotEditor - Lightweight Plain-Text Editor for macOS