28 ms·
Emacs is my new window manager
- lvncelot 3y agoSee also EXWM[1] [1] https://github.com/ch11ng/exwm https://github.com/ch11ng/exwm
- zvmaz 3y agoThe developer has been missing on GitHub since 2020 [1] [1] https://github.com/ch11ng/exwm/issues/845 https://github.com/ch11ng/exwm/issues/845
- dustfinger 3y agoThere have been some releases since then though [1] and recent commits [2] [1]: https://github.com/ch11ng/exwm/releases https://github.com/ch11ng/exwm/releases [2]: https://github.com/ch11ng/exwm/commits/master https://github.com/ch11ng/exwm/commits/master
- kykeonaut 3y agoIf this isn't the most, "Emacs is a great operating system..." moment, I don't know what is.
- yellowapple 3y agoMaybe SystemE? https://github.com/a-schaefers/systemE https://github.com/a-schaefers/systemE
- actionfromafar 3y agoMakes more sense than systemd, honestly.
- tetris11 3y agoDont. Emacs is there to be tinkered with, and your cat will break it by simply looking at your keyboard. I love Emacs. I develop for it, financially support it, live it everyday. The last thing you want is to be stuck debugging your failed desktop session on Tuesday morning at the airport as your wife waits for you to find the tickets. If you love Lisp, give StumpWM a try. Simplicity, DWM. Simplicity with modularity? AwesomeWM just works. Keep your Emacs config away from your system packages. The latter should prop up the former, not vice versa
- kehrin 3y ago> and your cat will break it by simply looking at your keyboard. Being off by one column of keys on your keyboard can really be a death sentence to your buffer (and maybe even codebase).
- aldanor 3y ago... and maybe even your hard drive
- ParetoOptimal 3y agoThat would be your fault for not writing prompts for dangerous actions in your elisp automation though.
- kehrin 3y agoMost of the danger (for me) comes from evil-mode. Adding prompts wouldn't make sense there ;P
- noman-land 3y agoThis sounds like running heavy machinery with no safety equipment. Is it really desirable to have a system that would behave this way?
- kehrin 3y agoEh, there is plenty of safety equipment. Mainly undo-tree and magit.
- ycombinete 3y agoI have always enjoyed Howard’s posts about eMacs and orgmode. Great to see the two at the limits.
- bitwize 3y agoLisp is life, Emacs is hometown.
- pjmlp 3y agoNah, that belongs to Genera, TI and Xerox PARC.
- ttyprintk 3y agoFeels like an X-Windows emulator for your corporate OS with extra overhead.
- gumby 3y agoOn the original gnu machine (a Vax 750 that had been lying around unused) I made emacs my shell in /etc/passwd. The machine had BSD Unix on it and that was so unpleasant I preferred to go straight into emacs. Nowadays of course, SVr4 Unix/Linux is the best you can get. How the mighty have fallen. The /etc/passwd entry was actually a one-page trampoline that exec'ed emacs (as -emacs of course) or, if invoked under anything other than init, /bin/sh for the subprocess of emacs case -- bash hadn't been written yet.
- eichin 3y agoAround the same decade I did a similar thing with an athena vaxstation under X; I noticed recently I still had the same hacks in my emacs startup to keep M-x shell from starting another emacs (I didn't use the trampoline trick, just literally chsh /bin/athena/emacs.)
- testfoobar 3y agoSIPB?
- eichin 3y agoActually the Demo Center in E40 (I was working for Janet Murray on the Writing Project at the time.) I did eventually end up joining SIPB though. (And then years later wrote enough of an XOpenDisplay in elisp - by porting the codegen for the perl version to generate elisp - though I never got much further, certainly not far enough for a WM. Amusingly I did find another elisp-X implementation, years later; since elisp doesn't have any native types, your choice of byteorder for the protocol was arbitrary, and we'd chosen opposite ones...)
- Y_Y 3y ago"Hey dude, how come you're using emacs as your login shell, are you stupid?" "Nah, it's cool, bash doesn't exist yet." "Cool."
- pjmlp 3y agoAn idea tried multiple times, that always fails short of using a proper Lisp Machine.
- deleted 3y ago[deleted]
- ranger207 3y agoNow you just need a good text editor...
- ParetoOptimal 3y agohttps://github.com/meow-edit/meow https://github.com/meow-edit/meow Modal editing with seamless emacs integration avoiding the need for evil-collection type packages.
- whalesalad 3y agoI wish I had the enthusiasm, grit and dare I say "sisu" that lisp developers possess. I worked with a guy - very skilled Clojure developer - who was an absolute wizard in Emacs. If a car company sold a vehicle that was powered by emacs, he would have bought it. He will probably construct his own casket out of elisp to be buried in.
- gumby 3y agoEmacs was not originally written in Lisp and is a great programmer's (and general) editor even if you never touch or think of Lisp. You can even write (and save and edit) keyboard macros knowing no programming at all.
- sdfghswe 3y agoDidn't emacs give Stallman RSI? No thank you, I'll still with vim.
- mksybr 3y agoScary stuff! http://xahlee.info/emacs/emacs/emacs_hand_pain_celebrity.html http://xahlee.info/emacs/emacs/emacs_hand_pain_celebrity.htm...
- neilv 3y agoBut it's not necessarily an Emacs thing... When RMS got it, the Internet (this was pre-Web) started chattering about RSI (back when the Internet was relatively high signal, and altruistic). I'm pretty sure that early information about typing ergonomics, received when I was still a teen, is why today I can type all day and night without problem. Coincidentally, around the time of Internet buzzing about it, almost my entire development team got hand pain, and some of them had to stop typing altogether. Only one of several of them used Emacs; the rest were Vi or Sun's simple mouse-based notepad.exe-like editor. (We all used Sun Type-4 keyboards and the optical mice, in our cubicle system with the lowered keyboard shelves, and decent chairs with lots of adjustability. I think something in there was more likely the cause.) That said, Emacs definitely was one of the culprits for ergonomics problems, in that it encouraged multiple-simultaneous-keypresses (e.g., Ctrl-something, Alt-something), which is one of many possible contributors to typing injuries. But at the same time, Emacs back then could dramatically reduce the amount of keystrokes and mousing you had to do, compared to the alternatives, so IMHO the situation wasn't really "Emacs will blow out your hands". It's maybe also worth noting that RMS and JWZ (and perhaps others mentioned?) were prolific super-programmers, so the sheer amount of typing is probably also a contributor. JWZ was also eventually at Netscape, where they were popularizing the whole dotcom gold rush sleep-under-your-desk culture. Which will secretly eat up your health, when you think you're being strong and powering through tons of grunt work (losing, when you think you're winning). Poor ergonomics, stress, sleep deprivation, or trying to write an entire software ecosystem mostly by yourself, can cut your typing career short, and worse. Try not to do that, and not to let your colleagues inadvertently do that.
- nathants 3y agoemacs is a good manager for terminals. i use it instead of tmux.
- noman-land 3y agoI love tmux and have been wanting to dip my toes into emacs. Is there a tutorial or migration guide you could recommend?
- ParetoOptimal 3y agohttps://www.masteringemacs.org/book https://www.masteringemacs.org/book There are good free ones too, but this one is still best IMO.
- nathants 3y agoplenty of emacs resources around. i would suggest multi-term for terminals. text file and terminal management is very similar.
- matrix12 3y agoI tell coworkers who ask "It's Emux... tmux but graphical!"
- nathants 3y agoi run emacs in a terminal. graphics emacs is too fancy for me. i’ve got firefox and webkit2gtk if i’m feeling fancy.
- pxc 3y agoI decided to finally give tmux a break and experiment with other terminal emulators lately, after enjoying living in tmux for a long time. I started playing with kitty first, which I'm still using. But more recently I've decided to try making more use of vterm, and so far I like it a lot!
- wwfn 3y agoemacs as a terminal has surprisingly good latency [0] but I'm pretty careless with my pipes and frequently overwhelm the buffer with verbose output. Waiting seconds for a ctrl-c to take so I can fix my mistake is painful. Any magical incantations (long line tweaks?) that help with this? apropos of emacs as WM: with the config kludge I've made and frequent REPL spamming, I've found `killall -SIGUSR2 emacs` essential to get back the editor. [0] https://danluu.com/term-latency/ https://danluu.com/term-latency/
- filereaper 3y agoEmacs Enthusiasts unite https://youtu.be/urcL86UpqZc https://youtu.be/urcL86UpqZc
- quux 3y ago"But it's all lisp based... and astonishingly slow"
- dmvdoug 3y agoHonestly, my comment was going to be that this is the most emacs thing I’ve seen today, especially with other users, chiming in with 17 different options he could try. “I spend more time customizing my computer than using it."
- WhereIsTheTruth 3y agoThat's, to me, the best form of an OS, linux gives me the ability to shrink my desktop resource usage to a _strict_ minimum, removing all the distractions, so I can focus on the task
- krylon 3y agoAs much as I love emacs, that is too spartan for me. I would at least run OpenBox, it is lightweight and unobtrusive. That way I could still run emacs in full screen mode, and escape to a web browser gracefully if needed. I am not that much of a minimalist. But I won't criticize other people's desktop environments, if it works for them, I wish them hours and hours of joy.
- matrix12 3y agoUntil GNUs is hit with the g command.
- pxc 3y agoThis is the blog of Howard Abrams, who also has a great YouTube channel full of Emacs demos and tutorials. His video on literate programming for DevOps via Emacs' Org-mode was very impressive and inspiring to me. It's my favorite. :) https://youtu.be/dljNabciEGg https://youtu.be/dljNabciEGg
- blackpill0w 3y ago>and since Emacs is in its graphical mode, I can use my favorite fonts, decorate the fringe, etc. Except when you want to use stylistic sets, is Emacs planning to support them in future releases or are they out of the discussion?
- Y_Y 3y agoThe only thing missing from emacs taking over my life like this is a simple to connect to remote emacs server. I want to have my perfect config live on some server somewhere and then connect to the with my local emacs client, and then maybe tramp back if I need to deal with something local. Seems like it should be simple enough but I still haven't managed it.
- shadowgovt 3y ago> Whenever a page doesn’t render well (can you say JavaScript) I mean, yeah, emacs doesn't have a modern browser engine in it. I wouldn't recommend it for that use case and of course you'll have to "shell out" to a modern browser engine to handle that. Now, if emacs could somehow provide an X render target and let the browser process bind to it as the window, that would be kind of awesome and I could totally see kicking my window manager overboard and just switching to emacs. But the web just "looks wrong" text-only these days. Apart from that, great experiment and fun idea.
- jaccarmac 3y agoI'm not familiar with X internals and am not sure if it's the same thing, but EXWM basically allows that (browsers run in buffers).
- svlasov 3y agoYes, that's possible. You can set any X11 window as a child of another X11 window, the parent window will be responsible to manage (taking care of window geometry and what not) child windows.
- bandyaboot 3y agoDon’t stop there. emacs as pid 1, or bust.
- dustfinger 3y agoThis was posted by someone else in the thread, but SystemE is close to that dream [1]. There is also this HN thread [2] with more interesting links: > Using the tooling in this repo, I am able to boot from linux to sinit as PID1, and from there to Emacs acting as PID2 using --script mode, performing all typical rc.boot system initialization using Emacs lisp until we hit the getty. [1]: https://github.com/a-schaefers/systemE https://github.com/a-schaefers/systemE [2]: https://news.ycombinator.com/item?id=33849963 https://news.ycombinator.com/item?id=33849963
- jll29 3y agoRMS uses Emacs as its window manager, too, but without X11 (his ThinkPad runs in text mode).
- emersion 3y ago(2015)
- deleted 3y ago[deleted]
- thewanderer1983 3y agoWhile reading this article i was hearing this guys voice. https://youtu.be/urcL86UpqZc https://youtu.be/urcL86UpqZc
- neilv 3y agoEmacs nuts (I used to be one) can also combine Emacs with a no-decorations tiling window manager (e.g., Xmonad, which I currently use, or i3wm). That lets them do all their "Emacs is my operating system" stuff, but still gracefully degrade to non-Emacs windows when necessary. BTW, one time I was doing that, I used a minibuffer frame, shared among multiple frames, and wrote a tweak to help: https://www.neilvandyke.org/perkymbf/ https://www.neilvandyke.org/perkymbf/
- suslik 3y agoThat's a great approach. I used xmonad for a while and switched to i3wm recently. At work, where I have to use mac, I replicated my i3 setup using yabai + skxd - that plus Emacs makes using osX almost bearable.
- jpeeler 3y agoI thought this was going to be some development news with Wayland compositing going further: https://emacsconf.org/2022/talks/wayland/ https://emacsconf.org/2022/talks/wayland/. Maybe it's because 29.1 was on my mind with the full Wayland client support being released. If you want to just run one application in a modern way (yes, I'm assuming you agree that Wayland is desirable), then check out https://www.hjdskes.nl/projects/cage/ https://www.hjdskes.nl/projects/cage/.
- bunga-bunga 3y agoIt’s crazy to me, after I stopped being a teenager, to spend almost any time customizing my computer to this point. I used to tweak every screw but when I started working I did the bare minimum to get by and be productive. Shoehorning things into what they don’t want to be is something I only do behind compensation.
- yoyohello13 3y agoPeople who do this kind of thing primarily do it for fun.
- myaccountonhn 3y agoI used tweak my computer like crazy as a teenager as well for fun and then when I entered the workforce. Now I've started to work part time and so I have a lot more free time and energy which made me pick this up again. It's been a lot of fun and I learn so many things that I then bring into my work. I've switched back to linux from os x and stopped using vscode to instead use emacs.
- incompatible 3y agoNice, up to the point where he can only open a transient (JavaScript enabled) web browser. These days, I need a persistent web browser as well as an Emacs.
- efitz 3y agoReminds me of this video “Interview with an Emacs enthusiast”: https://youtu.be/urcL86UpqZc https://youtu.be/urcL86UpqZc
- firecall 3y agoI've always thought, as a Developer, that somehow I'm missing out by not learning Emacs or VIM. Some of the Devs I've worked with move so fast in these tools it's mind boggling! I'm an old school Mac person... I mouse and click things :-)
- pjmlp 3y agoAs grey beard that also has earned his UNIX scars, you can move just as fast with an IDE. Master the shortcuts and keyboard + mouse chords.
- harrygeez 3y agoI'm fairly quick with Emacs... But these days VS Code is so good I don't really miss it. Command palette kind of feels like M-x Sometimes I feel like I'm too quick that Emacs is trying to catch up, that's the problem. Emacs native compilation made things a lot faster, but I reckon VS Code out of the box plus some extensions makes it a much better value proposition. It's difficult to go back to grepping when VSCode let's you see your regex results _on the fly_ I still use Emacs for Magit. I would pay for a Magit for VSCode implementation
- mpenet 3y agoconsult-grep (and it’s variants using git or rg etc) let you do that, with results as you type in mini buffer, with full live previews in a separate buffer (if you want). With an extra keystroke you can export all the results in a buffer and edit/save them in place too.
- 3np 3y agoFor an emacs-inspired actual WM, I highly recommend looking into stumpwm. It became my preferred daily driver even as someone who spent maybe an accumulated hour or two in emacs over my lifetime (that is to say, I'm very much not an emacs person). It's been developed for ~10y, hit 1.0 in 2017, and is still actively developed. https://stumpwm.github.io/ https://stumpwm.github.io/ The OP mentions ratpoison already. ratpoison (or cage for Wayland) is great for those situations where I just want a quick-and-dirty OoB minimal WM without needing to tweak or install anything else. stump gives you groups(workspaces) and a powerful language and environment so you can customize and optimize everything as you like. They especially shine when you have nested environments (say opening a virt-manager window where you're remote-Xing in to another host where...). It becomes like tmux for X. No more resolving conflicting keybindings - you just have your prefix key to think about. Just like when a tmux-inside-tmux-over-ssh, navigating between different layers becomes second nature. (BTW OP is (2015) and their referred 2wm seems to be dead and gone now)
- mark_l_watson 3y agoCool setup, but I would run something like this Emacs setup in a full screen term window. I ‘live’ frequently in mosh+tmux+Emacs but to be honest with as simple of a setup as possible.
- hprotagonist 3y agowhy not exwm?
- stebalien 3y agoI've been using EXWM (Emacs X Window Manager) for over 6 years now and can't go back. - I have _one_ window manager for my files, browser, and terminals. - Everything is keyboard driven with a centrally managed set of hotkeys. - Everything integrates with everything else. It's the convenience of an IDE without ever having to leave it. - Because it's lisp based, every aspect of my environment can be inspected, debugged, and modified at runtime. Of course, some recent advancements in Emacs really help here: - LSP support means it's no longer a "second class" IDE/editor. - Native compilation of Elisp means it's much snappier.
- catskull 3y agoThe best GUI's I've used by far were text based curses (midnight commander, htop, nano, etc). They even support pointer input!
- datadeft 3y agoEMACS is my new operating system. Soon...
- deafpolygon 3y agoAs I get on in my years, I start to believe that emacs proponents are just masoschists in disguise.
- DonHopkins 3y agohttps://donhopkins.medium.com/the-x-windows-disaster-128d398ebd47 https://donhopkins.medium.com/the-x-windows-disaster-128d398... >As a result, one of the most amazing pieces of literature to come out of the X Consortium is the “Inter Client Communication Conventions Manual,” more fondly known as the “ICCCM”, “Ice Cubed,” or “I39L” (short for “I, 39 letters, L”). It describes protocols that X clients must use to communicate with each other via the X server, including diverse topics like window management, selections, keyboard and colormap focus, and session management. In short, it tries to cover everything the X designers forgot and tries to fix everything they got wrong. But it was too late — by the time ICCCM was published, people were already writing window managers and toolkits, so each new version of the ICCCM was forced to bend over backwards to be backward compatible with the mistakes of the past. >The ICCCM is unbelievably dense, it must be followed to the last letter, and it still doesn’t work. ICCCM compliance is one of the most complex ordeals of implementing X toolkits, window managers, and even simple applications. It’s so difficult, that many of the benefits just aren’t worth the hassle of compliance. And when one program doesn’t comply, it screws up other programs. This is the reason cut-and-paste never works properly with X (unless you are cutting and pasting straight ASCII text), drag-and-drop locks up the system, colormaps flash wildly and are never installed at the right time, keyboard focus lags behind the cursor, keys go to the wrong window, and deleting a popup window can quit the whole application. If you want to write an interoperable ICCCM compliant application, you have to crossbar test it with every other application, and with all possible window managers, and then plead with the vendors to fix their problems in the next release. >In summary, ICCCM is a technological disaster: a toxic waste dump of broken protocols, backward compatibility nightmares, complex nonsolutions to obsolete nonproblems, a twisted mass of scabs and scar tissue intended to cover up the moral and intellectual depravity of the industry’s standard naked emperor.
- linmob 3y agoPlease add (2015) to the title, the post date can be found at the bottom of the page.
- gigatexal 3y agoyikes. People really think i3 or sway or other tiling wm's are "heavy"? That being said I love the idea of living in my editor. That's all i do on i3 anyway with neovim. How is the stability? If you open a huge file in emacs or something since emacs is your graphical session and it blows up the whole ui and everything goes down too? this + emacs + evil mode might be fun for me a vim diehard to try.
- lavp 3y agoI loved every minute of my neovim + i3 setup on Arch. Was sad to let that go when I moved into Apple’s ecosystem (their laptop hardware is too good). I’ve begun switching my to Emacs + evil mode and I thoroughly enjoy it, it fulfills this ‘customization’ gap I’ve wanted for years. If you want to just jump in and try out Emacs, use Doom Emacs. If you want to go on the journey of making your own config, take a look at “Emacs from Scratch” [1]. It’s been great for me so far. [1]: https://youtube.com/playlist?list=PLEoMzSkcN8oPH1au7H6B7bBJ4ZO7BXjSZ https://youtube.com/playlist?list=PLEoMzSkcN8oPH1au7H6B7bBJ4...
- gigatexal 3y agoYour journey to Apple's ecosystem makes sense. Their build quality is amazing. It's the software (MacOS) I can't stand granted I am all-in on everything Apple on other things (phone, watch, tv, ipad, airtags, etc). I3 is what brought me to Linux. A true, proper, no-compromises tiling window manager is the killer feature. I didn't go to FreeBSD (given how much I love ZFS) because of containers/docker/podman (and how native fast container stuff is on Linux given it's just abstractions over things in the kernel ... yes yes BSDs have jails but we don't use BSD at work so...) and gaming on Linux (thank you Valve! and wine and proton folks). Re Emacs every few months I try to dabble but the vi/vim muscle memory is just so so so hard to break. That being said for neovim I use AstroNvim. It's been dope.
- uwagar 3y agoa sad life of 80x25 text.
- anthk 3y agoEmacs has a graphical interface since... 30 years ago? X11, Motif, GTK2/3... even Cocoa/Gnustep (OSX).
- expertentipp 3y agoThe learning and configuration curves are too steep for the time I have available. Too lazy to give a try to other CLI window managers. As a tmux user, am I missing something?
- herewulf 3y agoThere are multiple indications that this was written in 2015, yet the advice seems new. The timelessness of elisp/lisp and the emacs ecosystem. I actually did the same thing a couple years back on a system where an Arch Linux upgrade resulted in my Xmonad packages being broken beyond repair. "emacs only" wasn't what I was used to but I was impressed with how much utility I got out of just emacs and no window manager. With some of the author's tips, I could probably do the same. Though a lot of my work forces me into using a "real" web browser (with JS and the kitchen sink).