13 ms·
Emacs should become a Wayland compositor
- thecosmicfrog 4y agoEmacs as PID 1 is the only logical conclusion.
- mtlmtlmtlmtl 4y agoSomeone already did this back in the day and the only extra utility needed was mount.
- entropie 4y agoOne still needs an editor, right?
- ticviking 4y agoEvil is a fine editor.
- fiddlerwoaroof 4y agoBest implementation of the vim standard
- Kamq 4y agoIt's surprising how good it is. They even get the = register. Evaluates elisp instead of vim script, but what are you gonna do?
- yjftsjthsd-h 4y ago> Evaluates elisp instead of vim script, but what are you gonna do? Celebrate? I like vim, but I don't think I've ever heard someone praise vimscript; even neovim added lua.
- Kamq 4y agoThe big annoyance on the elisp front is it makes math slightly more annoying (~80% of my usage of the register). Trying to evaluate x + y and have vim insert the result is now (+ x y), which is more key-presses. It's a trivial, but slightly annoying in my common case. Also throwing a bunch of things into an array and indexing into the result, then incrementing a number is more complicated as well (I usually run this in a macro to process a list of things), which is another ~15% of my usage. There are a lot of things to complain about in vimscript, but infix operators and c-style array indexing has never been at the top of that list. That being said, in the general case, elisp offers a really nice way to integrate with the editor. Far superior to classic vim-script. It just makes the = register slightly more annoying. But, asking someone someone to maintain an entire language interpreter just to make the = register more familiar is kinda too much to expect of someone. At least the = register is there, I've never found another vim emulator that even has it.
- fiddlerwoaroof 4y agoOne trick that makes life easier for lisp is to use something like Karabiner Elements or xcape to turn taps on the shift keys into parentheses. Also, setting up nice keybindings to insert and manipulate parens. Between these two things, I’ve never found lisp any harder to enter than infix languages.
- Kamq 4y agoYeah, it's not the worst thing ever, it's just weird manipulating text in command mode. The standard emacs keybindings do work, but it's not what I've spent the better part of a decade burning into my muscle memory. Oh well, c'est la vie. Evil + slime/sly is still a better lisp experience than anything else I've tried.
- hcarvalhoalves 4y agohttp://informatimago.free.fr/i/linux/emacs-on-user-mode-linux.html http://informatimago.free.fr/i/linux/emacs-on-user-mode-linu... Wouldn’t be a bad idea at all to have the equivalent of modern Lisp Machine.
- sph 4y agoI've been designing one in my head for the past month, it's become an obsession. I don't know if I'm onto something, or caught a really bad case of the Lisp fever. What's the recommended treating regimen?
- MonkeyClub 4y agoA bit afraid of throwing gasoline on fire, but... > What's the recommended treating regimen? Implement! The only way out is through.
- sph 4y agoYeah, that's my plan for the weekend. I'm currently working on a minimal Lisp implementation written in Rust, step 2 is to compile the thing into a free-standing UEFI binary, and give it the ability to execute machine code. The final goal is something akin to DOS, but the prompt is a Lisp that has access to the entire machine at full privileges and complete control over the hardware. I'm also exploring how to make it possible to rewrite the most core functions from the Lisp environment, so I could, for example, replace a naive "eval" function with native code after boot. What can you build with the most minimal "operating system" paired the most meta-programmable environment? My dream is to add a simple display, keyboard and have this run on a RISC-V SoC, that simply boots with the prompt: "> " (I hate you for making me write this down and adding more fuel to the fire.)
- rjsw 4y agoWhy not use an existing Lisp implementation that has a good compiler? Or just run Mezzano [1]. [1] https://github.com/froggey/Mezzano https://github.com/froggey/Mezzano
- e3bc54b2 4y agoHere you go: https://github.com/a-schaefers/systemE https://github.com/a-schaefers/systemE
- humanistbot 4y agoIf we're doing that, then why not go all the way to PID 0?
- LoganDark 4y agoI don't think there is a PID 0. The very first userspace process is PID 1. Or do you mean the kernel itself?
- deafpolygon 4y agoSend a PR to the linux kernel team
- erik_seaberg 4y agokill(2) interprets pid 0 as “everything in my process group.”
- humanistbot 4y agoI meant the kernel itself.
- ticviking 4y agoIn many ways I trust Emacs more than systemd. Not enough to use it as PID1 on real hardware, but enough to be tempted to try it in a VM
- the-rc 4y agoI doubt it was PID 1, but I saw RMS' laptop almost 30 years ago and I think it booted into Emacs...
- toasteros 4y agoWhen I hung out with him ~4 years ago, it booted into what might have been GNOME or XFCE, but he did spend a lot of time using emacs in a TTY.
- BenFeldman1930 4y agoWhen I hung out with him last year, he was fixing an Emacs bug on a field notes notebook.
- comfypotato 4y agoHe’s close to the average life expectancy for a human male; I’m curious what his plan is regarding the succession of his love for eMacs.
- abudabi123 4y agoCan the layer between Emacs and hypervisor be as thin as an seL4 microkernel and do pixel perfect framebuffer star field?
- matheusmoreira 4y agoLet's go further. Emacs on bare metal.
- stirfish 4y agoEmacs etched on a custom ASIC.
- krylon 4y agoOnce you go there, why not put Emacs on bare metal? It'll run that much faster. You can put in a hypervisor (M-x start-virtual-machine) to run a bloated Linux distro so you can Firefox or Chrome (M-x start-virtual-machine-with-browser), but I'm sure somebody can streamline that even further.
- darthrupert 4y agoWill that have happened when systemd ingests emacs?
- rnd0 4y agoWell...I mean yeah, sure. Why not? Hey, let's throw systemd in there while we're at it. Anything to procrastinate on adding a good editor to it, right?
- nequo 4y agoIt already has a good editor. It’s called evil mode: https://github.com/emacs-evil/evil https://github.com/emacs-evil/evil
- gnull 4y agoIs Kakoune mode anywhere in sight?
- yw3410 4y agoThere's meow-mode and others.
- LanternLight83 4y agoChecking this out, thanks!
- sping 4y agoAre there any good Emacs jokes that aren't based on ignorance of Emacs?
- donio 4y agoEight Megabytes and Constantly Swapping is pretty funny now that everything else needs several GB of memory. (But to be fair even a minimal Emacs is about 20MB RSS these days).
- mftb 4y agoHmm, I can't get an RSS that small even with -nw (to use the client TUI), but leaving that aside, on my box just running GNU Emacs normally I get 88MB RSS, so maybe we just need to update the acronym. ;)
- teddyh 4y agoWayland integration is less interesting to me (right now, at least), than the (implied) intriguing possibility of running Pure-GTK Emacs directly on the framebuffer.
- raverbashing 4y agoFb is not great and gtk-fb neither. I mean, it would work, but debatable how good it would be. The thing with X is that it lets you do more with the video device. Even better if you go the OpenGL way
- teddyh 4y agoDoes Emacs need any of those things? And we need an off-ramp from X anyway, apparently.
- raverbashing 4y agoIf you have multiple buffers you probably want to render them in the background (though ok, it is a bit of a corner-case optimization)
- rayiner 4y agoA neat byproduct of this would be a more elegant solution to embedding external programs as currently done through the emacs-xwidgets framework.
- donio 4y agoExciting and looking forward to the code! C server with an elisp IPC is a good way to go about this, poor man's X11/ICCCM. Sounds like it still has ways to go though. Input handling (mentioned as missing) is a very big part of of what makes EXWM so useful.
- wyuenho 4y ago> Emacs is already a great window manager. Right. That's why everybody uses popwin, amiright?
- backtoyoujim 4y agoOh, that would be impressive, if anyone knew what a compositor was.
- p-e-w 4y agoWatched the video expecting a joke about how bloated Emacs is. Surprised to find out the headline is 100% serious.
- IncRnd 4y agoOne person's bloat is another person's feature. I know people who do absolutely everything inside emacs.
- danielheath 4y agoeMacs is a great OS. Just needs a decent text editor.
- Narishma 4y agoeMacs were Apple computers, not an OS.
- merb 4y agohttps://xkcd.com/1172/ https://xkcd.com/1172/
- tadfisher 4y agoEmacs should separate the command loop from redisplay first. At least with X, another process is managing the display, so I can deal with Emacs crashing or preventing redisplay. If it were the Wayland compositor, I would have to avoid the many Emacs features that perform work in the command loop.
- donio 4y agoThe presentation discusses this a bit around the 3 minute mark. It sounds like the compositor is a separate process.
- esjeon 4y agoThe time of Emacs/Linux is nigh.
- justahuman74 4y agoWe could call it 'GNU/Linux'
- TazeTSchnitzel 4y agoI'd just like to interject for a moment. What you're referring to as Linux, is in fact, Emacs/Linux, or as I've recently taken to calling it, Emacs plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by Emacs, comprising a full Lisp system.
- owl57 4y agoI googled for this meme and it turns out it has its own page on gnu.org, "Incorrect Quotation" [1] And while reading that page I realised that I actually work with GNU, not even GNU/Linux, systems in production every day. Because I'm mostly working on applications deployed in clouds: the kernel is managed, and I'm not sure if AWS even promised that EKS runs on Linux and not something entirely else but very compatible. But GNU userspace is definitely there in my containers. [1] https://www.gnu.org/gnu/incorrect-quotation.en.html https://www.gnu.org/gnu/incorrect-quotation.en.html
- seanw444 4y agoClassic.
- abudabi123 4y agoEmacs is the Back to the Future Lisp.
- tsimionescu 4y agoThe only true salvation will be a HURD of Emacs.
- 4y ago
- amadeuspagel 4y agoWhen will chrome become a wayland compositor?
- pritambaral 4y agoI think it already is, on ChromeOS: https://chromium.googlesource.com/chromium/src/+/HEAD/components/exo/README.md https://chromium.googlesource.com/chromium/src/+/HEAD/compon...
- silon42 4y agoWayland compositors all the way down.
- szopa 4y agoA long time ago my setup was StumpWM with Emacs with Slime connected to StumpWM's lisp image. The non-trivial part was getting one interface to navigate both buffers and windows using C-x b. It was non-trivial because of the somehow circuitous nature of the arrangement. At some point I moved to a Mac because I realized that perfecting my window manager setup was just killing my productivity. I hope that one day I'll be able to get back to it – maybe when I retire.
- ansgri 4y agoWhat you use on Mac for window management? Recently switched from Linux Mint Cinnamon, default window management feels like a downgrade, maybe I’m holding it wrong?
- szopa 4y agoIt is a downgrade, but it's a conscious trade-off for me. I've been fine with that for the last 14 years. I switched to the Mac to get a mostly adequate environment that I wouldn't be tempted to hack. The thing I actually care about is navigating between windows by typing something that gets autocompleted. Spotlight or Alfred get me mostly there. In chrome I use Powerswitch to navigate between windows, and there's Cmd K for Slack. Having one interface for those would be grand, but I'm not holding my breath.
- alpaca128 4y agoI use Rectangle which makes it bearable, but its behaviour is still a bit annoying. And Hyperkey for both Escape & Ctrl on the Caps Lock key. I'm still looking for an sxiv replacement, though.
- lelanthran 4y ago> What you use on Mac for window management? Recently switched from Linux Mint Cinnamon, default window management feels like a downgrade, maybe I’m holding it wrong? You're not holding it wrong, it's just a very primitive desktop environment. No snapping, poor external monitor support, defaults to magically moving desktops in relation to each other, etc. If you want good window management right out the box, you won't get it from MacOS.
- Ekaros 4y agoSo can I use nano inside Emacs? I mean I need a good editor for text.
- distantsounds 4y agoemacs exists at this point only to generate hacker news articles, nobody actually uses it to edit text files
- Elzair 4y agoI do!
- pvaldes 4y agoSorry, I was not paying attention. Too busy editing text files in my emacs just right now...
- packetlost 4y agolol I have several coworkers who do the vast majority of their coding in emacs, but go on
- bhk 4y ago...but the vast majority of their coding is futzing with ELisp regular expressions to get their compile-mode error highlighting working.
- nanna 4y agoThis is above my head, what does it mean?
- unsafecast 4y agoEmacs is generally used as a normal program that connects to a Wayland compositor (Wayland speak for window manager). The idea is to instead make Emacs behave as a compositor, essentially connecting directly to Wayland and bypassing other window managers.
- hanafudafan 4y agoCorrection, normally it connects to x.org.
- unsafecast 4y agoIn the current context, "normal" would be Wayland. Of course, most people use X (and it was the only choice until 29).
- stingraycharles 4y agoWhat would be the advantage? Performance, or just because it’s neat?
- dtx1 4y agoEmacs already is a great operating system i just wish it had a good Editor
- hanafudafan 4y agoAbsolutely not.
- IceDane 4y agoEmacs running a WM is a disaster. It's also slow as hell. It's hilariously slow. Suggesting using it as a compositor is sort of like suggesting sawing your own leg off. Makes no sense and is obviously a stupid idea. FYI i daily drive emacs for everything and have probably written a million lines of code in it through the years, but I'm not gonna pretend it isn't janky as all hell.