unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* EXWM
@ 2021-10-04 14:33 André A. Gomes
  2021-10-08  9:57 ` EXWM Arun Isaac
  2021-10-08 10:59 ` EXWM Arun Isaac
  0 siblings, 2 replies; 22+ messages in thread
From: André A. Gomes @ 2021-10-04 14:33 UTC (permalink / raw)
  To: guix-devel

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"


^ permalink raw reply	[flat|nested] 22+ messages in thread
* Re: EXWM
@ 2022-01-01 19:19 calcium
  2022-01-03 20:03 ` EXWM André A. Gomes
  0 siblings, 1 reply; 22+ messages in thread
From: calcium @ 2022-01-01 19:19 UTC (permalink / raw)
  To: guix-devel

I was totally at lost when I started my emacs/exwm session and tried to `find-file' only to be redirected to an 'ido-find-file` with whom I don't know how to navigate.

In the moment, it felt very intrusive for me and I was very afraid to be unable to control my emacs because I have set all my emacs's keybindings to non-standard keys ((in a modal way (à la vim) but using my own custom modals) and without honoring the `C-c' convetion.) and I don't know how to navigate emacs using the default key bindings.

Luckly, this time (because packages can evolve to add more default key bindings), it was just the annoyance of ido that affected me.


I was thankfully able to understand what was going on by finding the Guix-devel archive discussing this issue.

I think that if we choose to keep things as they are, a simple fix that would help next users know what is going on without having to find an archived mailing list :

a ) being more explicit in messages in both cases like :
    (message "no \"~/.exwm\" elisp configuration found to setup exwm. "
             "Falling back to executing the default config using `(exwm-config-default)'")
    (message "executing the elisp found at \"~/.exwm\"")
b ) while still keeping the explicit messages, creating the ~/.exwm file when it doesn't exist populated with guix's choice of default settings (so that the user can read and tweak his config)

Because the message thrown by the snippet bellow is not enough at all.
  
--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---




^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2022-01-03 20:04 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-04 14:33 EXWM André A. Gomes
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

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).