this post was submitted on 24 Nov 2024
1513 points (92.5% liked)
Technology
60012 readers
3189 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I've used ion, ratpoison, i3, sawfish, and other tiling window managers for fifteen or more years, all totaled up. There is a great deal of pressure to use a modern desktop environment and it's a lot of work maintaining my janky bespoke desktop environment functions necessary for a few critical applications. I use KDE's tiling features and keyboard shortcuts, but it's a double edged sword because I have to disable all window manager bindings in (for example) Blender and
emacs
to avoid shadowing important features. Actually, I have re-implemented a lot of my custom KDE shortcuts as emacs bindings as well, so they still work when emacs has the focus. Here's one:For my wm+Emacs work, I unified the shortcuts by calling a separate go bin that checks if the active window is Emacs or not. If it is, it sends the command to the Emacs Daemon. If it's not it sends the command to i3. For directional commands like move focus, first check it there's an Emacs window to that side, if not send the command to i3.
The things we have to go through just to meet basic needs.
How are you redirecting all input through your custom exec? Is that an i3 feature?
why have I made that anonymous function
interactive
??Edit: Oh I think anything you bind to a key has to be
interactive
.