From 2f122d19ab85a0620d5bba3a366b53f69ddfd045 Mon Sep 17 00:00:00 2001 From: Mountain Man <43313373+MountainMan1312@users.noreply.github.com> Date: Mon, 24 Apr 2023 17:12:33 -0400 Subject: Use `EXWM` for X window management The whole point of this project is to use Emacs for everything. It only makes sense to use it for everything for real. --- init.el | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/init.el b/init.el index 6b6ae0b..12cc2f1 100644 --- a/init.el +++ b/init.el @@ -58,6 +58,29 @@ +;; --------------------------------------------------------------------- +;;; Window Manager / Desktop Environment +;; ------------------------------------- +;; Emacs is capable of functioning as the entire desktop environment. +;; --------------------------------------------------------------------- + +;; --------------------------------- +;; Emacs X Window Manager (EXWM) +;; ----------------------------- +;; EXWM is a fully-featured +;; X Window Manager. +;; --------------------------------- + +(use-package exwm + :straight t + :config + (require 'exwm-config) + (setq exwm-workspace-number 1) + (exwm-enable)) + + + + ;; --------------------------------------------------------------------- ;;; Text Editor ;; ------------ -- cgit v1.2.3 From 045ac47f9f37dcad88b0393496b47bb777e6282b Mon Sep 17 00:00:00 2001 From: Mountain Man <43313373+MountainMan1312@users.noreply.github.com> Date: Mon, 24 Apr 2023 17:21:14 -0400 Subject: Create `xinitrc` template --- xinitrc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 xinitrc diff --git a/xinitrc b/xinitrc new file mode 100644 index 0000000..795714b --- /dev/null +++ b/xinitrc @@ -0,0 +1,18 @@ +# .xinitrc for MMOSMacs +# This script is executed when running the `startx` command. + + +# Make Java applications aware this is a non-reparenting window manager +export _JAVA_AWT_WM_NONREPARENTING=1 + + +# Set default cursor +xsetroot -cursor_name left_ptr + + +# Set keyboard repeat rate +xset r rate 200 60 + + +# Start emacs +exec dbus-launch --exit-with-session emacs -- cgit v1.2.3 From 762392967799d5abdd0b00a527724c390a0b5fb3 Mon Sep 17 00:00:00 2001 From: Mountain Man <43313373+MountainMan1312@users.noreply.github.com> Date: Mon, 24 Apr 2023 17:25:57 -0400 Subject: Create `emacs.desktop` template --- emacs.desktop | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 emacs.desktop diff --git a/emacs.desktop b/emacs.desktop new file mode 100644 index 0000000..22bdae1 --- /dev/null +++ b/emacs.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Name=MMOSMacs +Exec=emacs +Type=Application -- cgit v1.2.3 From 18de4bb2167e6acdb5bbcf1db23415b6af558600 Mon Sep 17 00:00:00 2001 From: Mountain Man <43313373+MountainMan1312@users.noreply.github.com> Date: Mon, 24 Apr 2023 17:40:36 -0400 Subject: Add installation instructions to the README --- README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/README.md b/README.md index e1d81d0..86c24d1 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,30 @@ core of my computing experience, and is designed to be a jack-of-all-trades just like me. +## Installation + +First, clone this repository into your `~/.emacs.d` directory. +```bash +cd +git clone https://github.com/MountainMan1312/MMOSMacs.git .emacs.d +``` + +Next create symlinks to the `xinitrc` and `emacs.desktop` files so X +knows what to do: +```bash +# Backup your `.xinitrc` file if you feel like it. +# Replace `.xinitrc.old` with whatever you want to name the backup. +mv .xinitrc .xinitrc.old + +# Symlink your `.xinitrc` file +ln -s .emacs.d/xinitrc .xinitrc + +# Symlink `emacs.desktop` to add MMOSMacs as an entry to your Display +# Manager / login screen. +sudo ln -s .emacs.d/emacs.desktop /usr/share/xsessions/emacs.desktop +``` + + ## Plans - Non-literate configuration -- cgit v1.2.3