unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "André A. Gomes" <andremegafone@gmail.com>
To: guix-devel@gnu.org
Subject: EXWM
Date: Mon, 04 Oct 2021 17:33:34 +0300	[thread overview]
Message-ID: <87sfxgeu69.fsf@gmail.com> (raw)

Hi Guix,

I'd like to addres the way EXWM is packged in Guix.

EXWM starts (from the login manager, i.e. after X is running) by means
of a script that starts emacs by evaluating the following s-exp:

--8<---------------cut here---------------start------------->8---
(cond ((file-exists-p "~/.exwm") (load-file "~/.exwm"))
      ((not (featurep (quote exwm)))
       (require (quote exwm))
       (require (quote exwm-config))
       (exwm-config-default)
       (message (concat "exwm configuration not found. "
                        "Falling back to default configuration..."))))
--8<---------------cut here---------------end--------------->8---

I can't think of any good reason to doing this, but I can think of many
against.  I'll elaborate.

I remember, back in the day, to what great lengths I went to understand
what the hell what going on.  I had EXWM configured in my Emacs init.el
file (the sane, standard and documented way of doing it), and I've used
it before in other distros.

I wondered: why isn't it being honored?  And why the hell is ido-mode
on, if I did it enabled it?  Let's check the EXWM wiki and
documentation.  Nothing.  Ok, maybe I should check how EXWM is packaged
in Guix.  Let's be honest, the "lay user" will never do this.

The present approach assumes that one of the following holds.  Either
the user is stupid and he expects some standard EXWM config to "just
work", or he miracously knows he needs to write an extra .exwm file to
serve such a specfic purpose.  This doesn't configure EXWM in the most
general case (more on that below), and it's bonkers.

EXWM was thought to be started and used in many scenarios.  The most
common one, indeed, is to start it when no other window manager has been
started.  But users can also login into a full-blown DE (GNOME, Xfce,
etc) and active EXWM when they wish!  In this case, EXWM is able to take
control of things (i.e. replace the running window manager).  See how
the .exwm file is short-sighted?  This is a non-standard approach, and a
source of duplication and confusion.

Now, there's another problem.  One simply doesn't start EXWM from
another DE in Guix!  It always fails.  Why?  Because the user needs to
run the following beforehand (yes, the same bit that also appears in the
exwm binary wrapper):

--8<---------------cut here---------------start------------->8---
/gnu/store/HASH-xhost-1.0.8/bin/xhost +SI:localuser:$USER
--8<---------------cut here---------------end--------------->8---

I'm not sure how to handle this issue.  Most users would expect things
to just work.  There are lots of issues on github from Guix users
clueless about this.  Yes, I can mention this in the EXWM wiki, but
perhaps deeper measures should be taken.


It's trivial to fix part of the problem, and I have packaged EXWM
myself.  See the link below.

https://git.sr.ht/~aadcg/aadcg-guix-channel/commit/4a27f9991b0b692694f954cb595a9748a0146d36.

It seemed pointless to send a trivial patch without any further
explation, so feel free to discuss the topic.

Thank you.


--
André A. Gomes
"Free Thought, Free World"


             reply	other threads:[~2021-10-04 14:36 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-04 14:33 André A. Gomes [this message]
2021-10-08  9:57 ` EXWM Arun Isaac
2021-10-08 10:21   ` EXWM Jan Nieuwenhuizen
2021-10-08 10:55     ` EXWM Arun Isaac
2021-10-10 13:16       ` EXWM Ludovic Courtès
2021-10-15  7:15         ` EXWM André A. Gomes
2021-10-15  6:54     ` EXWM André A. Gomes
2021-10-08 10:59 ` EXWM Arun Isaac
2021-10-15  7:38   ` EXWM André A. Gomes
2021-10-16 16:03     ` EXWM Arun Isaac
2021-10-18  5:29       ` EXWM Jan Nieuwenhuizen
2021-10-18 16:44         ` EXWM André A. Gomes
2021-10-20  7:27           ` EXWM Jan Nieuwenhuizen
2021-10-22 10:25             ` EXWM André A. Gomes
2021-10-22 10:37               ` EXWM Arun Isaac
2021-10-22 10:52                 ` EXWM André A. Gomes
2021-10-22 18:55               ` EXWM Ricardo Wurmus
2021-10-22 19:36                 ` EXWM André A. Gomes
2021-10-22 20:15                   ` EXWM André A. Gomes
2021-10-23 15:02                     ` EXWM André A. Gomes
  -- strict thread matches above, loose matches on Subject: below --
2022-01-01 19:19 EXWM calcium
2022-01-03 20:03 ` EXWM André A. Gomes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87sfxgeu69.fsf@gmail.com \
    --to=andremegafone@gmail.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).