noah
Amethyst
noah | Amethyst | |
---|---|---|
2 | 148 | |
1,860 | 14,194 | |
- | - | |
0.3 | 6.5 | |
almost 4 years ago | 8 days ago | |
C | Swift | |
GNU General Public License v3.0 or later | MIT License |
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.
noah
-
The Tug-of-War over Server-Side WebAssembly
The other day I came across an interesting "alternative" to WASM which gives you OS portability using fully native code, without CPU portability, the latter seeming not that big of a deal these days anyway as cross compilers have got quite good and there are only two CPU archs in wide usage anyway.
The idea is to simply run normal Linux binaries on macOS and Windows. How? You create a virtual machine using the Mac/Windows APIs without any OS inside, in fact without even any virtual hardware. It's literally just a new address space and some trivial min-viable VM configuration. Then you map the ELF binary and a ld.so into the VM with a minimal ELF interpreter, kick off execution and anytime there's a syscall you trap it and translate to the host OS syscalls. It can work quite well on macOS because the syscall interface is so similar.
Note that this sort of VM is not:
• A sandbox
• A hardware abstraction
Apps run this way hold all their data in the filing system of the host OS, they use the network stack of the host OS, etc. The VM is only being used to allow trapping and emulation of the syscall interface. The app isn't aware that it's being run in a special CPU mode on top of an emulated kernel.
Advantages: lightweight, simple, apps can use all CPU features, can run at native speed, the Linux syscall interface is highly stable, based on POSIX specifications and you can easily pick a subset of it to standardize.
Disadvantages: requires the emulator, apps exposed to missing features or quirks of the host OS e.g. Windows file system performance is much lower than Linux.
WSL1 sort of worked that way, albeit without the VM aspect that lets userspace apps do it. They abandoned it partly for performance reasons and users expected all existing Linux apps to just work. But WASM doesn't target existing apps. It expects developers to bend and do things the WASM way, and accepts that not all apps are compatible with it, so that's not necessarily a problem.
An example of how to implement this is NOAH:
https://github.com/linux-noah/noah/
-
Lima: Linux-on-Mac (“macOS Subsystem for Linux”, “Containerd for Mac”)
There was an attempt, but it was archived https://github.com/linux-noah/noah
Amethyst
- Yabai – A tiling window manager for macOS
- Amethyst
-
It's been almost 9 months since Ventura was released. What's your thoughts about "Stage Manager"?
I'm using amethyst as my Window manager, and I'm feeling fine
-
Window manager that behaves like on WindowsOS?
And for the second part, we have Wins to manually drag and set the window position, and Amethyst to set it automatically.
-
[Serious] I don't get why people like Mac and I feel like I'm missing out
If you find the native window management lackluster (like I do), you can install a window manager like Amethyst, or yabai, veeer, or many others.
-
i3 Linux -> macOS
I also used Amethyst, but I think yabai is much better
-
Witch – macOS window switcher replacement
Amethyst is my tiling manager of choice for macOS: https://ianyh.com/amethyst/
It was a little buggy when Ventura dropped, but it gets frequent updates and has stabilized in the past few months.
-
How to tile (auto-fit) all open windows on the screen? Example: If you have 8 windows open, you want to auto-fit all 8 windows on the same screen. What about 3rd party apps?
This can be done through third party programs such as amethyst. It's not a native feature unless I am mistakened.
-
Software Developer Mac Apps
`cask "amethyst"` [link][oss] for `i3` like window management
-
Are We Sixel Yet
> tmux helps all 3, but not particular good at either.
iTerm2 on macOS has some nice tmux integration[1]. Basically, you run a tmux session (using tmux -CC), but the actual window management on the client side is handled by iTerm2. This works pretty nicely with the tiling WM (Amethyst[2]) I use on macOS.
If anybody is aware of Wayland compositors that integrate similarly, please let me know. I'd love to be able to do the same on my linux machines.
[1]: https://iterm2.com/documentation-tmux-integration.html
[2]: https://github.com/ianyh/Amethyst
What are some alternatives?
lima - Linux virtual machines, with a focus on running containers
Rectangle - Move and resize windows on macOS with keyboard shortcuts and snap areas
HomeBrew - 🍺 The missing package manager for macOS (or Linux)
yabai - A tiling window manager for macOS based on binary space partitioning
Docker-OSX - Run macOS VM in a Docker! Run near native OSX-KVM in Docker! X11 Forwarding! CI/CD for OS X Security Research! Docker mac Containers.
i3-gaps - i3-gaps – i3 with more features (forked from https://github.com/i3/i3)
exwm - Emacs X Window Manager
workers-wasi
i3-multimonitor-workspace - i3wm Multi-Monitor workspace
browser_wasi_shim - A WASI shim for in the browser
skhd - Simple hotkey daemon for macOS