komokana
Mosh
Our great sponsors
komokana | Mosh | |
---|---|---|
10 | 152 | |
91 | 12,199 | |
- | 0.6% | |
7.3 | 4.6 | |
23 days ago | 23 days ago | |
Rust | C++ | |
MIT License | 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.
komokana
-
Ask HN: Programs that saved you 100 hours? (2022 edition)
kanata[1] and komokana[2].
kanata is basically like QMK for any keyboard without the firmware requirement. I use kanata with my trusty old iMac keyboard which is to this day my favourite keyboard of all time. But now I have all the cool QMK-style layers with it.
So that is awesome on its own, but where it gets even better for me, and this is where the seconds have really added up to hours, is that I wrote another piece of software which programmatically changes layers on kanata whenever a different window is focused in my tiling window manager.
This has honestly changed -everything- for me. I no longer have to waste keys on my keyboard to switch layers, I no longer have to -think- about switching layers, I just focus another window with alt+hjkl and whatever keyboard layer I expect for any given application is automatically applied. Definitely one of those "you can never go back" experiences for me.
[1]: https://github.com/jtroo/kanata
[2]: https://github.com/LGUG2Z/komokana
- Show HN: Komorebi – A tiling window manager for Windows 10/11 written in Rust
-
ErgodoxE EZ – an ergonomic keyboard with open source firmware
I have an Ergodox EZ sitting collecting dust these days. I got a great deal of use out of it and before long I was compiling my own firmware and making use of various advanced QMK features that were not available through the online visual layer configuration tool.
The keyboard has great build quality, the customer service is great (I got a free replacement for the right half after an issue with one of the keys), the ortholinear layout isn't that difficult to get used to, but ultimately the issue for me was that my hands aren't big enough to use the keyboard comfortably or to type as accurately as I'd like / as I'm used to typing.
I'm now back on my Apple Magic Keyboard and happier than ever, though with a few tweaks and improvements taken from my time using the Ergodox EZ.
I am now using kanata[1] which allows me to have multiple QMK-style layers on my regular old keyboard. This is already a huge step up from my pre-Ergodox days! I also like that I can have my layer configurations version controlled in a plain old git/dotfiles repo.
Since the layers are handled at the software level, I wrote my own integration with kanata, called komokana[2] to switch keyboard layers programmatically based on different state events emitted from my tiling window manager[3].
What that means in practice is that my keyboard can automatically switch to an app-specific layer when that app's window is focused, or to a workspace specific layer, or to a browser tab-specific layer, or really just switch on any event emitted by the window manager or any specific window manager state.
For me, this is really the killer feature of my setup now, and one that I don't think would be anywhere near as easy to implement with QMK which sits at the hardware level.
[1]: https://github.com/jtroo/kanata
[2]: https://github.com/LGUG2Z/komokana
[3]: https://github.com/LGUG2Z/komorebi
-
diesel-autoincrement-new-struct: Generate NewStructs for all your tables with autoincrementing IDs
Hello friends! You may know me from my previous posts about my tiling window manager and my automatic keyboard layer switcher (or maybe even my harebrained attempts to get Helix to behave more like Vim!)
- Tips on going mouseless on Windows?
- komokana: Automatic application-aware keyboard layer switching
- Show HN: Komokana – Automatic app-aware keyboard layer switcher written in Rust
-
Introducing komokana: An automatic application-aware keyboard layer switcher for Windows
With all of these pieces now in place, I am very happy to introduce komokana. an automatic application-aware keyboard layer switcher for Windows.
Mosh
-
The IDEs we had 30 years ago and we lost
If you haven’t already, and I know this doesn’t hold up for GUI emacs or vim, but consider running them through https://mosh.org/
- mosh: Mobile Shell
-
Write Your Own Terminal
FWIW, I wouldn't try to parse escape sequences "directly" from the input bytestream -- it's easy to end up with annoying bugs. Longer-term it's probably better to separate the logic e.g.:
- First step (for a UTF-8-input terminal emulator) means "lexing" the input bytestream as UTF-8 into a stream of USVs, which involves some subtleties (https://github.com/mobile-shell/mosh/blob/master/src/termina...).
- Second step is to run the DEC parser/FSM logic on the sequence of USVs, which is independent of the escape sequences (https://vt100.net/emu/dec_ansi_parser ; https://github.com/mobile-shell/mosh/blob/master/src/termina...).
- And then the third step is for the terminal to execute the "dispatch"/"execute"/etc. actions coming from the FSM, which is where the escape sequences and control chars get implemented (https://github.com/mobile-shell/mosh/blob/master/src/termina...).
Without this separation, it's easier to end up with bugs where, e.g., a UTF-8 sequence or an ANSI escape sequence is treated differently when it's split between multiple read() calls vs. all in one call.
-
Typing Fast Is About Latency, Not Throughput
Btw, you can use mosh to hide the latency of SSH. https://mosh.org/
-
How do I enable new pane/tab with CWD while using mosh?
I've been using Kitty's SSH features for as long as I can remember but I recently setup Mosh and I really like how it doesn't drop connections and supports roaming.
-
Buying an iPad Pro for coding was a mistake
I am surprised many people write about ssh into a server. Mosh[1] feels more responsive and it also supports longer sessions.
[1] - https://mosh.org/
-
Prompt2, heads up; they are readying up another version Prompt2 has been abandoned by devs since iOS 14 / 1y ago in a crashing state - Now they want to make another money-heist cash-grab from its users by forcing them to upgrade one of the most expensive apps of all time.
Also they support Mosh which I install on my servers. It's way better than plain ssh when you're on mobile networks and wifi, especially with connections that are unreliable or bandwidth-constrained.
- Zellij New WASM Plugin System
-
networkingStarterPack
I’ve recently been experimenting with MoSH (Mobile Shell). Basically think SSH but with UDP - so more resilient to shoddy network conditions, roaming access points, etc.
-
How can I get a lisp image to run in the background?
If it is not for production (e.g. running as a daemon or a server) and you only care about the development, another ad-hoc way is using screen/tmus-like software incl. byobu, and combine it with mosh.
What are some alternatives?
kanata - Improve keyboard comfort and usability with advanced customization
Eternal Terminal - Re-Connectable secure remote shell
komorebi - A tiling window manager for Windows 🍉
tmux - tmux source code
yasb - A highly configurable cross-platform (Windows) status bar written in Python.
Gravitational Teleport - The easiest, and most secure way to access and protect all of your infrastructure.
qmk_configurator - The QMK Configurator
Advanced SSH config - :computer: make your ssh client smarter
splitKbCompare - An interactive tool for comparing layouts of different split mechanical keyboards
Code-Server - VS Code in the browser
helix-vim - A Vim-like configuration for Helix
PowerShell - PowerShell for every system!