This is emacs running inside emacs inside emacs inside emacs.

Emacs vs vim? Why not both?

Edit: removed the top image from this body. This is my first post in this community.

  • tal@lemmy.today
    link
    fedilink
    English
    arrow-up
    18
    ·
    edit-2
    16 hours ago

    Note that you can also use emacs as your window manager, if this is running in Xorg, so your emacs window can be in emacs too.

    https://github.com/emacs-exwm/exwm

    EXWM (Emacs X Window Manager) is a full-featured tiling X window manager for Emacs built on top of XELB.

    There’s some work on a Wayland compositor, but that’s not as mature.

    https://codeberg.org/ezemtsov/ewm

    EWM is a modern, fast Linux desktop environment based on Emacs. It is written in Rust, built on Smithay, and runs as a dynamic module inside an Emacs session. Wayland applications appear as Emacs buffers, which means graphical windows can be managed with the same commands, keybindings, and workflows as the rest of Emacs.

    The ultimate goal of EWM is to let power users be bottlenecked by their own thinking, not by the tools they use. Computers should never stand in our way. EWM is built around the idea that window management, application launching, navigation, text input, and system control should be fast, deterministic, programmable, and composable.

    EDIT: I guess technically you could use Wayland, EWM making emacs the compositor, then use xwayland in that, with EXWM making emacs the window manager in that, in which you have an instance of X11 emacs running which itself is running…

    EDIT2: No, wait. I don’t know if you can run a window manager directly in xwayland.

    considers

    You could run it in Xephyr in xwayland, though, and you can run a window manager in that. So Wayland->emacs(EWM)->xwayland->Xephyr->emacs(EXWM)->emacs(X11)->emacs(terminal)->emacs(terminal)…

    EDIT3: There have been people who have run emacs on the Linux kernel on bare metal, as the kernel’s initd, but it’s not very functional like that. Someone would have to go out and reimplement systemd in emacs, and that isn’t a thing.

    EDIT4: Oh wait, apparently I am out of date.

    https://github.com/emacs-os/el-init

    el-init

    A statically compiled Emacs init (PID 1) patchset, Emacs Lisp-based service supervisor and core component of Emacs-OS.

    el-init is an Emacs Lisp-based, systemd-inspired init and service-management solution. Whether you are building a full-send Emacs-OS, or simply want to orchestrate your desktop session services from within EXWM, or keep project daemons running while you work, el-init has you covered. Use M-x elinit for the interactive dashboard, or elinitctl from the terminal.

    EDIT5: I think the real test is whether one can play this video in mpv using the libcaca target in terminal emacs using one of emacs’ virtual terminal software packages in terminal emacs in X11 emacs in an emacs-window-managed Xephyr X11 display server in a Wayland environment with an emacs-driven compositor managed by emacs via el-init running directly on the Linux kernel.

    EDIT6: Oh, wait. Apparently someone also added KiTTY Graphics Protocol and Sixel support to terminal emacs in the last two months.

    https://github.com/cashmeredev/kitty-graphics.el

    Beyond inline images it also does inline mpv video playback…

    So theoretically, I suppose you might be able to avoid the libcaca target and having to go through text even in the terminal emacs instances, and have the video playing graphically. You could potentially play that video in mpv (KiTTY Graphics Protocol target, $ mpv -vo kitty) running in terminal emacs itself running in terminal emacs using KiTTY Graphics Protocol running in X11 emacs being window-managed by emacs (EXWM) running in Xephyr running in xwayland being composited by emacs (EWM) running in Wayland on a system with emacs as initd (el-init) on the Linux kernel on bare metal.

    EDIT7: Bonus points for controlling the mpv instance via emms.

    https://www.gnu.org/software/emms/

    Emms is the Emacs Multimedia System. Emms displays and plays multimedia from within GNU/Emacs using a variety of external players and from different sources.

    Emms can run as a minimalist player and controlled with a handful of M-x Emacs commands, or a fully-fledged, interactive media browser. Emms can display album art, play streaming audio, tag music files, search for lyrics, provide MPD connectivity, control the volume, and more.

    • tal@lemmy.today
      link
      fedilink
      English
      arrow-up
      1
      ·
      15 hours ago

      There should totally be an emacs package to generate a Kickstart file to feed an Debian or Fedora or something ISO that would automate setting all this up in one go on a machine so that people don’t have to go outside emacs to get this sort of thing set up.