<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Dilip's Log</title><link>http://idlip.in/</link><description>Dilip's Log</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>Copyright © 2023-2026, Dilip | Zororg; All rights reserved.</copyright><lastBuildDate>Mon, 04 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://idlip.in/tags/wayland/rss.xml" rel="self" type="application/rss+xml"/><ttl>1440</ttl><item><title>May I Recommend EWM</title><link>http://idlip.in/posts/may-i-recommend/</link><pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate><guid isPermaLink="true">http://idlip.in/posts/may-i-recommend/</guid><category>emacs</category><category>ewm</category><category>wayland</category><description>
&lt;ul&gt;
&lt;li&gt;This post is written for Emacs carnival of May 2026. If you&amp;#39;re new to this site, FYI I go by
&lt;code class="verbatim"&gt;Zororg&lt;/code&gt; in emacs chat/universe.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Emacs along with being a text editor, is a &lt;a href="https://karthinks.com/software/batteries-included-with-emacs/"&gt;battery included software&lt;/a&gt; that does more things and
architecturally well designed (thus no rewrite last strong). Emacs has good (in-fact powerful)
window management, everything as buffer system, self documenting, extensible (upto human brain,
maybe DNA?) and every user&amp;#39;s Personal development environment.&lt;/p&gt;
&lt;p&gt;
If you&amp;#39;ve been a proficient emacs user, you had eventually thought of using emacs to replace tools as
well, coming down to only requiring [Emacs, Browser and terminal] in an OS of your choice. This has
been many users experience, phrasing as &amp;#34;Emacs for everything&amp;#34; and eventually it being the OS
itself.&lt;/p&gt;
&lt;p&gt;
Even as I was dealing with this experience, I really wanted an Emacs Window Manager, I had used EXWM
in X11 way back and was not fully convinced on it (this was before minad took over maintaining
&lt;a href="https://github.com/emacs-exwm/"&gt;emacs-exwm&lt;/a&gt;). We really needed it for wayland side, although there was a proposal and some work
initiated in &lt;a href="https://emacsconf.org/2022/talks/wayland/"&gt;2022 via emacs conf talk&lt;/a&gt;, there was no progress. Out of the blue the day came where
&lt;a href="https://codeberg.org/ezemtsov"&gt;ezemtsov&lt;/a&gt; had posted on &lt;a href="https://redlib.catsarch.com/r/emacs/comments/1rbyoui/introducing_ewm_a_new_generation_wayland_window/"&gt;r/emacs introducing EWM&lt;/a&gt; (use reddit domain if redlib does not work). Its niri inspired WM, and uses smithay library and works similarly.&lt;/p&gt;
&lt;p&gt;
After it was announced there seems to be another brain-coded emacs window manager using &lt;a href="https://isaacfreund.com/blog/river-window-management/"&gt;new river
protocol&lt;/a&gt; (v4) called &lt;a href="https://codeberg.org/tazjin/reka"&gt;reka&lt;/a&gt;. I tried to compile but was discouraged as reka did not seem featureful and ewm already satisfied me a bit.&lt;/p&gt;
&lt;p&gt;
Although its pretty minimal it does not ship with every feature niri has. Eventually I made the
switch and boy-o-boy it worked well and was pretty stable. I&amp;#39;ve been daily driving EWM without much
issues (although I&amp;#39;ve opened some issues for enhancements), but basic functionality works, and more
than all, its Emacsy!&lt;/p&gt;
&lt;p&gt;
Emacs already has &lt;code class="verbatim"&gt;next-buffer&lt;/code&gt; - &lt;code&gt;previous-buffer&lt;/code&gt; and &lt;code&gt;tab-next&lt;/code&gt; - &lt;code&gt;tab-previous&lt;/code&gt; for tabs (workspaces in EWM) to navigate quick. Although &lt;code class="verbatim"&gt;consult-buffer&lt;/code&gt; is way more quicker. After using ewm I discovered consult has &lt;code class="verbatim"&gt;consult-preview-excluded-buffers&lt;/code&gt;, and thus I just append all side window buffer to exlude preview, but preview can be so helpful with apps to quickly scan if you&amp;#39;ve more.&lt;/p&gt;
&lt;div class="center-block" style="text-align: center; margin-left: auto; margin-right: auto;"&gt;
&lt;figure&gt;
&lt;img src="/images/ewm-desktop.png" alt="/images/ewm-desktop.png" title="/images/ewm-desktop.png" /&gt;&lt;figcaption&gt;
Fig: EWM setup with Noctalia shell while writing this blog post. Left is org mode capture buffer, top right is glide browser showing EWM repo and bottom right is foot terminal running hugo server.
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;
I was using &lt;a href="https://github.com/vicinaehq/vicinae/"&gt;vicinae&lt;/a&gt; (raycast in linux) launcher as well, but since most of it can be done in emacs
itself, I replaced launching apps/scripts in emacs itself by using &lt;code class="verbatim"&gt;call-process&lt;/code&gt; or &lt;code class="verbatim"&gt;start-process&lt;/code&gt;,&lt;/p&gt;
&lt;p&gt;
You might be interested in &lt;a href="https://github.com/idlip/d-nix/blob/gol-d/d-setup.org#ewm-config"&gt;reading my EWM config&lt;/a&gt; to get more idea. Scroll down to see all functions,
I grab firefox history via &lt;code class="verbatim"&gt;sqlite-select&lt;/code&gt; and show in completing-read to insert a link (Emacsy).&lt;/p&gt;
&lt;p&gt;
Thanks to emacs window management, every apps (browser, terminal) can be managed as Emacs buffer
itself. All I see is emacs frame, and I work in Emacs as its my WM itself now. Now my whole session can be even more customized (embrace Elisp), Emacs (EWM) is DIY Desktop Environment or WM or simply just Emacs itself (what is emacs now?).
I no longer quit/leave emacs, if I&amp;#39;m leaving that means I&amp;#39;m shutting down my machine down ;-)&lt;/p&gt;
&lt;div id="outline-container-headline-1" class="outline-3"&gt;
&lt;h3 id="headline-1"&gt;
May I also Recommend Glide browser for emacs keymappings
&lt;/h3&gt;
&lt;div id="outline-text-headline-1" class="outline-text-3"&gt;
&lt;p&gt;
Glide browser came to &lt;a href="https://lobste.rs/s/lm3isi/glide_extensible_keyboard_focused_web"&gt;lobste.rs news&lt;/a&gt; and showcased as firefox-fork being keyboard centric, and I was badly looking for qutebrowser enhancements with addons. And I made the switch and config was pretty easy.&lt;/p&gt;
&lt;p&gt;
Glide supports various firefox API and in browser many Web API can be used in config itself. I&amp;#39;ve
remapped all keybindings to Emacs style and have extended glide with some qutebrowser &amp;amp; nyxt
features to make it completely productive &amp;amp; efficient browsing experience.&lt;/p&gt;
&lt;p&gt;
Yes, I can do &lt;code class="verbatim"&gt;M-x&lt;/code&gt;, &lt;code class="verbatim"&gt;C-x C-s&lt;/code&gt; to make it work as I wanted. Swap &lt;code class="verbatim"&gt;C-c&lt;/code&gt; to &lt;code class="verbatim"&gt;M-w&lt;/code&gt; (yes possible).&lt;/p&gt;
&lt;p&gt;
Here&amp;#39;s the &lt;a href="https://github.com/glide-browser/glide/discussions/25"&gt;discussion thread I raised for Emacs bindings&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;
&lt;em&gt;This post might see update as I think of extending.&lt;/em&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item></channel></rss>