From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 2Ps4B4QRW2FNYgAAgWs5BA (envelope-from ) for ; Mon, 04 Oct 2021 16:36:52 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id iGjLAoQRW2H+cAAAbx9fmQ (envelope-from ) for ; Mon, 04 Oct 2021 14:36:52 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id A278586CD for ; Mon, 4 Oct 2021 16:36:51 +0200 (CEST) Received: from localhost ([::1]:39934 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mXP5G-0006ql-Ow for larch@yhetil.org; Mon, 04 Oct 2021 10:36:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52262) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mXP2I-0003v5-JM for guix-devel@gnu.org; Mon, 04 Oct 2021 10:33:50 -0400 Received: from mail-lf1-x12f.google.com ([2a00:1450:4864:20::12f]:44693) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mXP2A-0007jw-U2 for guix-devel@gnu.org; Mon, 04 Oct 2021 10:33:46 -0400 Received: by mail-lf1-x12f.google.com with SMTP id y26so72860050lfa.11 for ; Mon, 04 Oct 2021 07:33:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:user-agent:mime-version :content-transfer-encoding; bh=CZgF5P3ASw7pZITMOC0e8u94nuynCUgC6JQeYJFoYUg=; b=cd/NO/1rugJ2ppglu/+Lx7YsGHSL4YzaT+sE9ugrE45ylDI1vBDvWPzChiqPgXZNx5 L11qWyYsAodkIFakMIqXF45dSinkvyyqwZwmSYgDxOmcFWPnl4TLYeAKbxvYARY7ZEiL N+0Y7YjH/RyhP2eAFsjIQhbqiT5ovxcpMydeQy1og0PinSUBG6Bxq41cKibeLWpO9HHq lGyz4KoCZRG7MY7a9+K1K9smdPxcSssLlGrutUoheis/5mknj6WiTv/ux3dQZ3opF32D dA30hoyA/7zPJikv3qPBWo1sgCoCc3X8IK6s0EkxAAJYMF898bJVwlwzb9LONCXUbHyF 3BRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:user-agent :mime-version:content-transfer-encoding; bh=CZgF5P3ASw7pZITMOC0e8u94nuynCUgC6JQeYJFoYUg=; b=IGYKsTDuBJXyzIIzoxFDZa0V3iKrm/tZLzDOzM/JGKP9r90VCSOQL9VYpb/p2pSX9M pkZqCbe2PXoxjGDUTWhE/h314mlZ3rwuCtSOG1T37b4+silwOLbsjS5FtGexk/rEXutl qzpKVG+wqDpEiNEQnVfgHxGWtvQUJvEc7RxrQk/1RzoVak6feebOMnKqAaovSSNuJs8H Vq2ph9Q7V2bErQxUfDCt3Xq+LiQOmNIruD80X0yTkamDM2/kM2EkIkB01rs+wV+z4qu1 a6QYpOx4fBXBJfXyLgSAFHtVaaT/7EF0MPA5vaIDJ89Mrhco65ts0eooCgsyKOK6dH3L 04Bw== X-Gm-Message-State: AOAM531zmcBPgJJEvM8zbd0jl7U31Uv8nZZ5it3+nHXPqZw4+TVmjs4P n7+HqY89MriYROVyFt04F20CXlEg0Ew= X-Google-Smtp-Source: ABdhPJxdKJLKLCcJxNzDlxcy2/twDhaXX1YsbHCtchVkK3QfIsoHf7UfnzbtinT+b64uQKEr7UuKBg== X-Received: by 2002:a05:651c:b20:: with SMTP id b32mr16372516ljr.62.1633358015178; Mon, 04 Oct 2021 07:33:35 -0700 (PDT) Received: from guix-xps13 (95-29-46-61.broadband.corbina.ru. [95.29.46.61]) by smtp.gmail.com with ESMTPSA id 13sm1625235ljf.51.2021.10.04.07.33.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Oct 2021 07:33:34 -0700 (PDT) From: =?utf-8?Q?Andr=C3=A9_A=2E_Gomes?= To: guix-devel@gnu.org Subject: EXWM Date: Mon, 04 Oct 2021 17:33:34 +0300 Message-ID: <87sfxgeu69.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2a00:1450:4864:20::12f; envelope-from=andremegafone@gmail.com; helo=mail-lf1-x12f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1633358211; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=CZgF5P3ASw7pZITMOC0e8u94nuynCUgC6JQeYJFoYUg=; b=IOjZ7g91x4Cmq6UVlwJLz4FkaxXp9V0aJF3mHGji1620Dzuv08bhb8wikBabGbw01YYKWp hM383DGngPFG/eEKjI2pTciS1zdPw+ZJrPnpTgllc8jQBriEaFfcXoRrgR5JzkA6v80Zdt cMCjyfe7RDmOIQ7/mV7VdKmvHIhiXniG9PGb/eF+PFVVii6e6xePEfJmeAKaI9Oe25DU1r xvCznrUnLL2tPQKZzyvum9bCXdemoQfvpyNSOTGtiJhuiMUFVR7GkUrhmY2Psd0uGOHf/T X5S3oh9foU3W5sAkrnu3O0XIzhsaXGwYyZ3878DCs7/NHAVs6UaFZyo5uefhVA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1633358211; a=rsa-sha256; cv=none; b=K5nFj/ZU/mBn0Z34rHrfmnCDILLwF0F0A5eiIRpYGPAW+gCkUmbyfSoOSkMhm2heyrmV91 T/1N7nLTOEq/ZEZnZMTd7BBCDkNCWQVVmOUsv+j6Vx+r4FE6s3sqGKMbolZb0tKUmUi9iJ S4HEqncDyLSlo00rjt+hsLYBcKlUhFFHY2KXkEIUeGzS59HwS/0ZC5yd5VxM887M4j5oVi VcdzRC3WsKSrNQJtdwrV1Rg8xK4DUBBZDqPw1Zt1q4hkKNeZvL3Q2PkoKcet96nSjK6Wmf 7jHNXHKKd15Dg48lOg+O+IOvXh9W26jXGi3iKprvsIsrLnKR1CG6ldJtuW4w7A== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="cd/NO/1r"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -2.81 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="cd/NO/1r"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: A278586CD X-Spam-Score: -2.81 X-Migadu-Scanner: scn0.migadu.com X-TUID: 9t6//2x7INUF 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/4a27f9991b0b692694f954cb= 595a9748a0146d36. It seemed pointless to send a trivial patch without any further explation, so feel free to discuss the topic. Thank you. -- Andr=C3=A9 A. Gomes "Free Thought, Free World"