Home liberachat/#xmonad: Logs Calendar

Logs on 2022-07-12 (liberachat/#xmonad)

00:16:19 × Solitary quits (~Solitary@user/solitary) (Ping timeout: 256 seconds)
00:27:20 Solitary joins (~Solitary@user/solitary)
00:41:33 × jaklt[m] quits (~jaklttchn@2001:470:69fc:105::a42) (Quit: Client limit exceeded: 20000)
00:41:33 × Solitary quits (~Solitary@user/solitary) (Ping timeout: 260 seconds)
00:44:03 × liskin[m] quits (~liskinmat@2001:470:69fc:105::768) (Quit: Client limit exceeded: 20000)
00:56:21 Solitary joins (~Solitary@user/solitary)
00:57:52 wusticality joins (~wusticali@c-67-161-204-49.hsd1.co.comcast.net)
01:00:30 × Solitary quits (~Solitary@user/solitary) (Ping timeout: 240 seconds)
01:03:18 <wusticality> Hey folks, I was taking that `spawnOnce "setxkbmap -option altwin:swap_alt_win"` approach to fixing my issues with swapping the windows / alt keys and it worked well (I used to use xmodmap). However, I seem to be running into the same issue where eventually, the keybindings are reversed. Any ideas would could be going wrong here? Here's the
01:03:19 <wusticality> relevant part of my config: https://gist.github.com/wusticality/480a62377b988ca5066f576413c95371
01:03:30 <wusticality> specifically, line 86
01:03:36 liskin[m] joins (~liskinmat@2001:470:69fc:105::768)
01:03:48 jaklt[m] joins (~jaklttchn@2001:470:69fc:105::a42)
01:04:46 × Yehoshua quits (~yehoshua@2001:470:69fc:105::1:593f) (Quit: Client limit exceeded: 20000)
01:13:18 <geekosaur> as I said earlier, look for a program starting some kind of settings daemon (`ps -fu$USER | grep setting` should work) and then use the corresponding (probably gnome or kde) keyboard configurator to make the same change
01:13:19 Yehoshua joins (~yehoshua@2001:470:69fc:105::1:593f)
01:14:12 <geekosaur> unfortunately there may not otherwise be a lot to be done about it, especially since the program is apparently ignoring the Xkb settings on the root window that setxkbmap will have registered
01:17:32 <wusticality> I got around it by changing every single program to use windows as alt, but unfortunatly it won't work properly for jetbrains stuff :(
01:18:45 pjaml[m] joins (~pjamlmatr@2001:470:69fc:105::2:41c4)
01:22:52 <geekosaur> ugly hack might be to change the spawnOnce to spawn and hit mod-q (I guess alt-q for you) when it happens, but ick
01:27:57 <wusticality> Wish there was a way to override this in xmonad itself
01:28:22 Solitary joins (~Solitary@user/solitary)
01:28:33 <geekosaur> sadly keybindings are not part of xmonad's purview
01:28:52 <wusticality> does setxkbmap spawn a process, or just change some setting?
01:28:53 <geekosaur> you might be interested in kmonad, although you'll probably have to fight the same problem anyway
01:29:02 <wusticality> aka, do I need to kill it first before calling spawn
01:29:03 <geekosaur> it just tweaks a server setting
01:29:13 tjmciver joins (~tjmciver@cpe-172-101-32-70.maine.res.rr.com)
01:29:55 <tjmciver> Hi. Anyone running xmonad using nix/nixos? I'm having some trouble with it trying to upgrade nixos to 22.05. At least I think it's an xmonad issue.
01:31:07 <geekosaur> (kmonad manages keyboards the same way xmonad manages windows)
01:33:10 <wusticality> unrelated to xmonad?
01:33:38 <geekosaur> unrelated aside from using a similar configuration style
01:34:43 <geekosaur> there's a #kmonad channel although it's small compared to this one
01:36:10 × Solitary quits (~Solitary@user/solitary) (Ping timeout: 240 seconds)
01:41:52 Solitary joins (~Solitary@user/solitary)
01:52:52 Hash is now known as stoned
01:53:27 steve__ joins (~steve@ool-182c2b80.dyn.optonline.net)
02:03:59 × banc quits (banc@gateway/vpn/airvpn/banc) (Ping timeout: 256 seconds)
02:22:49 banc joins (banc@gateway/vpn/airvpn/banc)
02:28:54 × td_ quits (~td@muedsl-82-207-238-180.citykom.de) (Ping timeout: 276 seconds)
02:30:15 td_ joins (~td@94.134.91.223)
02:43:57 × ectospasm quits (~ectospasm@user/ectospasm) (Quit: WeeChat 3.5)
02:44:55 ectospasm joins (~ectospasm@user/ectospasm)
02:54:21 qther joins (~qther@165.225.230.105)
03:02:13 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds)
03:13:15 × wusticality quits (~wusticali@c-67-161-204-49.hsd1.co.comcast.net) (Quit: Client closed)
03:29:52 tjmciver_ joins (~tjmciver@cpe-172-101-32-70.maine.res.rr.com)
03:29:52 × tjmciver quits (~tjmciver@cpe-172-101-32-70.maine.res.rr.com) (Read error: Connection reset by peer)
03:35:24 × qther quits (~qther@165.225.230.105) (Quit: Client closed)
03:40:16 × mvk quits (~mvk@2607:fea8:5ce3:8500::909a) (Ping timeout: 244 seconds)
06:23:43 gauge_ joins (~gauge@user/gauge)
06:23:51 haskl[error] joins (~haskl@user/haskl)
06:24:01 × gauge quits (~gauge@user/gauge) (Quit: Quitting)
06:24:04 × haskl quits (~haskl@user/haskl) (Quit: Uh oh... ZNC disconnected.)
06:33:51 × banc quits (banc@gateway/vpn/airvpn/banc) (Ping timeout: 244 seconds)
06:45:40 safeguard-irc joins (~doctor-se@151.41.199.212)
06:48:55 <safeguard-irc> hello, i've been trying to put my config together, and I wanted to do something like this user does: https://github.com/ivanbrennan/nixbox/blob/d5b54fe2c0b672273f053c31eaaee17c4b1e65e9/services/xserver/xmonad.hs which is basically embedd the xmobar config in the xmonad one. now, he uses the dynStatusBarStartup function, which is deprecated. what would be a good way to do this with the new XMonad.Hooks.StatusBar instead? I get that the xmobar
06:48:55 <safeguard-irc> configuration is basically equal, but the type of xmobar should be something else. this is how I currently start up my xmobar: https://termbin.com/c9k6 (still under work, so pardon me if it's messy)
06:51:01 gauge_ is now known as gauge
07:05:42 Guest50 joins (~Guest50@pd9ec2719.dip0.t-ipconnect.de)
07:14:53 benin0 joins (~benin@183.82.29.162)
07:15:00 <Solid> safeguard-irc: at the end of the day, this config is translating everything into strings and giving it to xmobar via its command line options; this should be doable in exactly the same way with X.H.StatusBar ( https://hackage.haskell.org/package/xmonad-contrib-0.17.0/docs/XMonad-Hooks-StatusBar.html#g:4 )
07:16:25 alternateved joins (~alternate@staticline-31-183-144-54.toya.net.pl)
07:19:11 <Guest50> Hi, I've been using Xmonad for a while now but still consider myself somewhat of a noob both with Xmonad and Haskell.
07:19:11 <Guest50> As I currently have no idea whatsoever how to debug my problems further i would greatly appreciate any hints or pointers. I'll try to explain the Problem now:
07:19:12 <Guest50> Yesterday I took the plunge and updated my arch system which also meant an update of Xmonad from 0.15 to 0.17. After consulting the breaking changes and the documentation for the now recommended functions I've rewritten parts of my configuration file and was able to get Xmonad running again.
07:19:12 <Guest50> However, I now face somewhat of a weird issue sometimes after I first log in to my system Xmobar spawns only on my first monitor and the second monitor is seemingly unresponsive. If I then mouse over to my second monitor and switch to a workspace with a window through my keybindings nothing happens on the second monitor, on my first monitor my
07:19:13 <Guest50> xmobar changes to indicate that i have just switched the workspace on my second monitor. If I now move back to my first monitor and switch my layout to full-screen through a keybinding the second monitor refreshes once, I can then repeat these steps to get a single new frame from my second monitor.
07:19:13 <Guest50> If I then reboot my machine and log in again, most of the time, it works without problems and both monitors are responsive.
07:19:14 <Guest50> Sorry for the long-ish Post, if anyone has an idea what's going on or if I should post excerpts of my Xmonad/Xmobar config somewhere please let me know
07:25:51 chomwitt joins (~chomwitt@2a02:587:dc0d:4a00:cff7:1232:6084:40)
07:36:27 × chomwitt quits (~chomwitt@2a02:587:dc0d:4a00:cff7:1232:6084:40) (Ping timeout: 272 seconds)
07:38:21 <safeguard-irc> Solid yeah I got it, the problem is that since I use tray it does not seem that xmobar parses a position via the cmdline, and I don't think I can pass that via template; any idea on that?
07:40:22 cfricke joins (~cfricke@user/cfricke)
07:44:32 mc47 joins (~mc47@xmonad/TheMC47)
07:49:40 <Guest50> safeguard-irc do you mean how to add some whitespace, so that the bar content does not overlap with your tray? I found a script for that some time back: https://github.com/jaor/xmobar/issues/239#issuecomment-233206552
07:49:41 <Guest50> And then in your xmobar config something like:
07:49:41 <Guest50> > Run Com "sh"       [ "-c"         , "~/scripts/trayer-padding-icon.sh"] "trayerpad" 100`
07:49:42 <Guest50> and
07:49:42 <Guest50> > template = " [...] %trayerpad% [...]"
07:49:44 <lambdabot> <hint>:1:89: error:
07:49:44 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
07:49:45 <lambdabot> <hint>:1:10: error: parse error on input ‘=’
07:50:48 Jade1 joins (~Jade1@ip-178-201-128-039.um46.pools.vodafone-ip.de)
07:50:53 <Jade1> Can you use Xmonad with Wayland?
07:51:56 <safeguard-irc> Guest50: I already use that script
08:05:30 <safeguard-irc> actually scratch that, I have fixed xmobar, now I just need to and implement it inside xmonad
08:20:37 <alternateved> Jade1 yes, you can
08:20:56 <alternateved> Ah, scratch that. I've read xmobar not xmonad
08:21:23 × neopenk[m] quits (~neopenkma@2001:470:69fc:105::1:6286) (Quit: Client limit exceeded: 20000)
08:21:46 <alternateved> Check this page: https://github.com/sponsors/xmonad
08:22:03 neopenk[m] joins (~neopenkma@2001:470:69fc:105::1:6286)
08:22:47 <alternateved> There you could read about Wayland, X11 and state of things
08:23:14 <safeguard-irc> okay so I have a question: as of now I use two StatusBarConfig, XmobarInt and xmobarExt with each XMONAD_LOG_0 and 1. if I wanted to use only one binding, say xmobarAll, which takes an argument s, how can I append that to the XMONAD_LOG_STRING? I've tried something like xmobarSin :: ScreenId -> StatusBarConfig, and then doing statusBarPropTo ("_XMONAD_LOG_" ++ s) [..] but it keep giving me a type error
08:23:15 <alternateved> Not sure how up to date this paragraph is
08:24:08 <alternateved> You would need first to `show s` to turn it into the string, I think
08:24:26 <safeguard-irc> ooh let me try, did not think about that
08:24:35 <alternateved> Not sure if ScreenId has an instance of Show
08:25:37 <alternateved> Yeah, it does
08:26:27 <safeguard-irc> sso I need to use Show or show?
08:26:40 <alternateved> show
08:26:45 <safeguard-irc> okay
08:27:48 <alternateved> Oh, I think it won't work
08:28:14 <alternateved> It would return something like `S 1`
08:28:19 <safeguard-irc> indeed it does not, xmonad_log does not respond (it's frozen)
08:29:13 <safeguard-irc> oh wait now it works
08:29:26 <safeguard-irc> I used this s@(S i) and then show i
08:29:49 <alternateved> Oh, right, good call
08:30:22 <safeguard-irc> though it does not seem to work for xmobar0
08:31:52 <safeguard-irc> this is how I use the function: I have barSpawner' :: ScreenId -> IO StatusBarConfig, and I have two instances with barSpawner' 0 = pure $ xmobarSin 0 and the same but with 1
08:32:21 × Jade1 quits (~Jade1@ip-178-201-128-039.um46.pools.vodafone-ip.de) (Quit: Client closed)
08:33:25 <alternateved> How it does not work?
08:33:53 <safeguard-irc> xmobar0's workspaces are just stuck
08:34:29 <safeguard-irc> maybe I need to restart xmonad as a whole? sometimes it can get funky with the unsafeXProplog
08:34:30 <safeguard-irc> brb
08:34:32 × safeguard-irc quits (~doctor-se@151.41.199.212) (Remote host closed the connection)
08:36:23 Safeguard-IRC joins (~doctor-se@151.41.199.212)
08:36:53 <Safeguard-IRC> nope, xmobar1 works perfectly, xmobar0 does not. maybe the i variable does not start to count from 0? I find that odd tho
08:39:36 <alternateved> Well, that wouldn't be hard to check
08:42:49 <alternateved> It seems it starts from 0
08:48:13 <Safeguard-IRC> hmm
08:48:30 <Safeguard-IRC> let me try putting toghter the xmobar config with unsafestindreader insinde the xmonad config
08:48:55 <Safeguard-IRC> actually scratch that, I'm gonna still use unsafeXproplog so I can see if it works
09:30:41 × Jazzah quits (~jazz@user/jazzah) (Ping timeout: 244 seconds)
09:35:29 Jazzah joins (~jazz@stolen.plutonium.dk)
09:35:29 × Jazzah quits (~jazz@stolen.plutonium.dk) (Changing host)
09:35:29 Jazzah joins (~jazz@user/jazzah)
10:01:51 dschrempf joins (~dominik@mobiledyn-62-240-134-33.mrsn.at)
10:02:14 × dschrempf quits (~dominik@mobiledyn-62-240-134-33.mrsn.at) (Client Quit)
10:28:26 × Lears quits (~Leary]@122-58-224-198-vdsl.sparkbb.co.nz) (Ping timeout: 255 seconds)
10:46:41 × Guest50 quits (~Guest50@pd9ec2719.dip0.t-ipconnect.de) (Quit: Client closed)
11:09:27 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
11:09:28 allbery_b joins (~geekosaur@xmonad/geekosaur)
11:09:31 allbery_b is now known as geekosaur
11:21:04 banc joins (banc@gateway/vpn/airvpn/banc)
11:23:14 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
11:38:30 tjmciver_ is now known as tjmciver
11:45:39 Guest50 joins (~Guest50@pd9ec2719.dip0.t-ipconnect.de)
12:02:21 [Leary] joins (~Leary]@122-58-224-198-vdsl.sparkbb.co.nz)
12:06:15 × Guest50 quits (~Guest50@pd9ec2719.dip0.t-ipconnect.de) (Quit: Client closed)
12:47:00 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
14:51:10 benin09 joins (~benin@156.146.51.131)
14:52:49 × benin0 quits (~benin@183.82.29.162) (Ping timeout: 272 seconds)
14:52:49 benin09 is now known as benin0
14:55:12 <Safeguard-IRC> ok i've been trying to tackle that xmobar problem for a while now, but I simply don't know how to make it work correctly; any tip on that?
15:01:51 benin09 joins (~benin@183.82.29.162)
15:04:13 × benin0 quits (~benin@156.146.51.131) (Ping timeout: 272 seconds)
15:04:13 benin09 is now known as benin0
15:20:57 Guest50 joins (~Guest50@pd9ec2719.dip0.t-ipconnect.de)
15:34:53 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.5)
16:11:49 × Guest50 quits (~Guest50@pd9ec2719.dip0.t-ipconnect.de) (Quit: Client closed)
16:49:12 <Safeguard-IRC> I did it! https://termbin.com/j2jq i'm very happy with the result. the only missing part is xmobar's border, but that is due it not having a cmdline option
17:05:03 × benin0 quits (~benin@183.82.29.162) (Quit: The Lounge - https://thelounge.chat)
17:30:49 abhixec joins (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net)
17:46:28 × abhixec quits (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
17:47:43 abhixec joins (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net)
18:12:07 <abhixec> Hello! how do people handle sticky notes in xmonad?
18:12:20 <abhixec> is there an app or what workflow do people use?
18:12:28 <ectospasm> I've been running XMonad on Arch Linux for quite some time without any issues. Today, I upgraded quite a few Haskell packages, and now my xmonad.hs won't compile. A lot of default variables appear to now be undefined (defaultTheme, defaultPP, defaultXPConfig, etc.). Here's the full error output: https://paste.rs/PMv, and here's my xmonad.hs:
18:12:31 <ectospasm> https://git.eldon.me/trey/XMonad/src/branch/master/xmonad.hs
18:13:13 <ectospasm> It's like I need at least a few imports now, but I'm at a loss as what I need.
18:13:21 <geekosaur> abhixec, I used to use leafpad with NamedScratchpads
18:13:56 <geekosaur> ectospasm, most of those should still be defined, just deprecated in favor of simply using `def`
18:14:21 <ectospasm> geekosaur: so replace each one it's complaining about with 'def'?
18:15:44 <geekosaur> I think so? it is for example hard to see how you'd have `dynamicLogWithPP` but not `defaultPP` otherwise
18:16:21 <geekosaur> I wonder if Arch simply removed the deprecated names for some reason; they should still be around since most of them haven't been deprecated for long enough to be removed
18:16:43 <geekosaur> (iirc we follow the three-release deprecation cycle)
18:17:57 <abhixec> geekosaur: I used use to? (do you use something else now? or you dont have that workflow requirement anymore :P )
18:18:50 <geekosaur> hm, no, apparently we did remove them (or at least we removed `defaultGSConfig`, haven't checked the others yet)
18:19:27 <geekosaur> you still need to specify something, but `def` is a polymorphic default instead of having a different default for every type
18:19:46 <geekosaur> `defaultConfig` is also slated to be removed in favor of `def` at some point
18:20:19 <geekosaur> (I… don't like this and we've already had one weird bug surface because of it. but everyone else thoinks it's a good idea despite that, sp.)
18:21:17 <geekosaur> basically `def` is too polymorphic and leads to weird runtime issues if used in the wrong place, because you no longer get compile time errors
18:26:55 <ectospasm> geekosaur: I replaced every variable it was complaining about with `def`, then I ran into other deprecation-related issues. A hint said to add '{-# OPTIONS_GHC -Wno-deprecations #-}', which has at least gotten me back into X.org.
18:27:27 <geekosaur> yes, probably including `defaultConfig`. you'll want to change those at some point
18:27:40 <geekosaur> not all of them change to `def` though
18:27:56 <geekosaur> the deprecation warnings should tell you what to change
18:30:04 <ectospasm> Unfortunately I don't know Haskell well enough to understand *how* to change what they suggest. The one that got me before I noticed the no deprecations hint was a suggestion to replace `docksEventHook` with `docks`, but that isn't enough because the type of the expression changes when I do that.
18:31:19 <geekosaur> right, `docks` goes somewhere else
18:31:38 <geekosaur> instead of using all the separate hooks, you wrap your whole config in `docks`
18:31:57 <geekosaur> xmonad $ docks def { … }
18:32:44 <ectospasm> Looks like I'll be checking out a new branch of my xmonad.hs (-;
18:35:41 <geekosaur> I've got 5 🙂
18:38:04 <geekosaur> we're generally changing to that combinator style instead of individual hooks, because people keep omitting hooks or putting them in the wrong place (some of them must come first or last in a chain of hooks)
18:54:16 × Safeguard-IRC quits (~doctor-se@151.41.199.212) (Remote host closed the connection)
19:10:54 <ectospasm> It was actually a lot easier to fix than I thought it would be, just remove `docksOldHook <+>` in each of those expressions and it worked. At least my xmonad.hs now compiles.
19:11:18 <ectospasm> Well, I did remove a keybinding, because I was never using it.
19:12:10 <geekosaur> if it was the toggle keybinding, I think we have a better way to do that as well now
19:12:28 <ectospasm> it was using `windowPromptBring dXPConfig`, and the hint said to use `windowPrompt` instead. I couldn't figure out the proper way to fix it, so I removed it since I never used that key.
19:20:12 <ectospasm> It looks like that just brought up a prompt where I could bring a named window to the front. I have some other things which do that better.
19:20:37 <ectospasm> Or at least, which my brain maps better.
19:26:24 wusticality joins (~wusticali@c-67-161-204-49.hsd1.co.comcast.net)
19:27:53 <wusticality> Hey folks, I open applications in xmonad via jr-dmenu-desktop (a dmenu clone). I'm running into an issue where ("M-p", spawn "j4-dmenu-desktop") doesn't pick up environment variables properly. I'm guessing this is because xmonad doesn't start from bash, and I don't use .profile, but instead .bash_profile. What's the correct way to fix this on the
19:27:53 <wusticality> xmonad side? None of my environment variables are getting picked up properly as a result. :)
19:29:22 <geekosaur> I wrap xmonad in a script that sources my .profile (you would presumably use .bash_profile) and .bashrc
19:29:43 <geekosaur> if you use a .xsession file then source them in that
19:31:33 <wusticality> It's not clear to me how xmonad gets launched when you login I guess
19:32:10 <geekosaur> how it gets launched depends on what display manager you're using and how the session is defined
19:32:58 <wusticality> looks like in /etc/passwd my default shell is bash as expected
19:33:08 <wusticality> i'm using x, not wayland atm
19:33:30 <geekosaur> right, that isn;t being used here
19:33:43 <geekosaur> what display manager are you running, and on what kind of system
19:33:47 <geekosaur> ?
19:34:06 <wusticality> I'm afraid my knowledge is limited here, but I'm on PopOS
19:34:16 <wusticality> As far as display manager, I'm not sure :/
19:35:02 <geekosaur> is there anything in /usr/share/xsessions?
19:35:42 <wusticality> yeah, the various window managers I'm using - xmonad, awesome, gnome, etc.
19:35:59 <geekosaur> okay, so you want to look at xmonad.desktop
19:36:18 <wusticality> Exec=xmonad-session
19:36:19 <wusticality> Icon=xmonad.png
19:36:19 <wusticality> Type=XSession
19:36:50 <wusticality> apologies btw, I'm learning as I go here :)
19:36:59 <geekosaur> is there a /usr/share/applications/xmonad-session.desktop?
19:37:44 <wusticality> no, but there's a /usr/share/applications/xmonad.desktop
19:38:12 <geekosaur> okay, so there is probably a /usr/bin/xmonad-session script
19:38:31 <geekosaur> you'll have to look at that to see what can be done to configure the session
19:38:48 <wusticality> not that I see
19:39:06 <wusticality> I guess this is happening because I'm not using .profile eh
19:39:11 <geekosaur> (whether the Exec line in a session desktop file points to an actual program or another desktop file seems to depend on the OS)
19:39:12 <geekosaur> no
19:39:18 <geekosaur> it won't read either of them
19:39:38 <geekosaur> only fedora bothers to read your startup files
19:39:54 <wusticality> so env vars are just ignored by default?
19:39:57 <geekosaur> yes
19:39:59 <wusticality> I guess it's shell-dependent though eh
19:40:14 <geekosaur> no, it doesn't read any shell's startup files
19:40:15 <wusticality> i guess the other (icky) option would be to launch everything wrapped in a bash shell or something
19:40:23 <wusticality> (for programs like dmenu)
19:40:35 <geekosaur> which is why I use a wrapper script around xmonad that reads mine
19:40:54 <wusticality> by wrapper script, do you mean a script that loads some stuff, and then launches xmonad?
19:41:02 <wusticality> or rather, xmonad-sesion
19:41:04 <wusticality> *session
19:41:07 <geekosaur> but I use xmonad as window manager for mate so I do that in mate's window manager configuration
19:41:11 <geekosaur> yes
19:41:34 <geekosaur> except we haven't found xmonad-session yet so it's not clear we can simply wrap that
19:41:43 <geekosaur> it might still be a desktop file somewhere
19:42:06 <geekosaur> xdg complicated things quite a bit with this desktop file stuff
19:42:25 <wusticality> er, /usr/share/xsessions/xmonad.desktop contains Exec=xmonad-session
19:42:57 <wusticality> I think the difficult thing for me is I just don't understand the relationship(s) between all these various paths / files
19:43:00 <geekosaur> okay, so that probably is a program or script somewhere. the question becomes, where?
19:43:06 <wusticality> Need to improve my Linux-fu
19:43:22 <geekosaur> and the problem with that is it depends on the OS and how they chose to configure things
19:43:33 <geekosaur> it works differently on ubuntu, fedora, etc.
19:43:47 <wusticality> looks like /usr/bin/xmonad-session
19:43:56 <geekosaur> and arch just has you use a default session with a ~/.xsession file
19:44:09 <wusticality> #!/bin/bash
19:44:10 <wusticality> if [ -r ".xmonad/xmonad-session-rc" ]
19:44:10 <wusticality> then
19:44:10 <geekosaur> that was what I suggested earlier and you said no?
19:44:11 <wusticality>   . .xmonad/xmonad-session-rc
19:44:11 <wusticality> fi
19:44:12 <wusticality> exec xmonad "$@"
19:44:22 <geekosaur> oh, that makes it easy then
19:44:47 <wusticality> I guess I can just add ~/.xmonad/xmonad-session-rc ?
19:44:49 <geekosaur> create that file, have it source your .bash_profile and .bashrc
19:45:02 <wusticality> aight, let me try that quick
19:45:36 <geekosaur> ("." is the old name for "source")
19:47:09 <wusticality> hmm
19:47:17 chomwitt joins (~chomwitt@2a02:587:dc0d:4a00:ae09:5cbc:3a9a:5a89)
19:47:23 <wusticality> outside of creating a file, is there some way to know that it's being loaded?
19:48:10 <wusticality> I know Linux has logs or something
19:48:32 <geekosaur> you could have it open an xmessage/zenity/whatever
19:48:42 <geekosaur> I don't know where your session manager puts its logs
19:50:11 <wusticality> added xmessage foobar, nothing happens
19:50:15 <wusticality> I don't think it's being loaded, hmm
19:50:57 <geekosaur> is xmessage installed? most modern systems don't any more
19:51:19 <geekosaur> which is why I suggested zenity as well. zenity is the gtk alternative, kdialog is kde's version
19:51:29 <wusticality> yep, I just tested it
19:51:53 <wusticality> unless that script isn't loading ~/.xmonad/xmonad-session-rc, but some other .xmonad folder location perhaps?
19:51:57 <wusticality> (which would be really weird)
19:52:28 <geekosaur> I would be very surprised if that script started somewhere other than your home directory
19:52:32 <wusticality> same
19:52:41 <wusticality> doesn't appear to be loaded
19:53:10 <wusticality> btw, I'm trying to pickup these changes by doing `modMask q`
19:53:19 <geekosaur> that won't work
19:53:19 <wusticality> would that completely relaunch xmonad?
19:53:21 <wusticality> ahh
19:53:34 <geekosaur> it restarts xmonad but won't rerun xmonad-session
19:53:41 <geekosaur> you have to log out and back in
19:53:44 <wusticality> ok, let me logout quick
19:54:00 <wusticality> btw - if you source .bash_profile and it contains bash-specific things, what's going to happen exactly?
19:54:15 <wusticality> in other words, under what shell will that source call occur?
19:54:36 <geekosaur> the script starts with "#!/bin/bash" so it will use bash
19:54:54 <geekosaur> and bash will do the source-ing
19:55:07 <wusticality> ah
19:55:17 <wusticality> if that's true, why wouldn't it pick up my bash_profile in the first place?
19:55:26 <wusticality> apologies btw, learning a lot here as I go
19:55:33 <geekosaur> because a script reads no startup files
19:55:41 <wusticality> ahhh
19:55:44 <geekosaur> an interactive shell runs startup files
19:55:45 <wusticality> ok, let me logout quick
19:55:52 <wusticality> got it :)
19:56:00 × wusticality quits (~wusticali@c-67-161-204-49.hsd1.co.comcast.net) (Quit: Client closed)
19:57:14 wusticality joins (~wusticali@c-67-161-204-49.hsd1.co.comcast.net)
19:57:26 <wusticality> btw, what do you use for irc in *nix?
19:58:13 <geekosaur> I use hexchat, or element (matrix app, but matrix is linked to libera.chat irc) in my browser
19:58:31 <wusticality> logging out / back in shows the message
19:58:39 <wusticality> however, my env vars are still not showing up which is odd
19:59:01 <wusticality> surely $HOME is defined at this point
19:59:05 <wusticality> perhaps not?
19:59:31 <wusticality> I'm doing something like this: [ -f "$HOME/.bash_profile" ] && . "$HOME/.bash_profile"
19:59:44 <geekosaur> $HOME should always be defined, it's set by the login mechanism
20:00:32 <wusticality> hmmm
20:01:06 × wusticality quits (~wusticali@c-67-161-204-49.hsd1.co.comcast.net) (Client Quit)
20:02:05 wusticality joins (~wusticali@c-67-161-204-49.hsd1.co.comcast.net)
20:02:23 <wusticality> heads up, every time I logout / login I'm losing the chat history, so apologies if I'm missing any comments
20:02:44 <wusticality> I did an xmessage $HOME and it was correct
20:04:04 × wusticality quits (~wusticali@c-67-161-204-49.hsd1.co.comcast.net) (Client Quit)
20:10:01 wusticality joins (~wusticali@c-67-161-204-49.hsd1.co.comcast.net)
20:10:24 <geekosaur> https://ircbrowse.tomsmeding.com/browse/lcxmonad might be of interest, but I'm waiting while you're logged out
20:10:24 <wusticality> So it seems like the file is getting sourced - could the issue be this?
20:10:25 <wusticality> # Do nothing if not interactive.
20:10:26 <wusticality> case $- in
20:10:26 <wusticality>     *i*) ;;
20:10:27 <wusticality>     *) return;;
20:10:27 <wusticality> esac
20:10:35 <geekosaur> yes
20:10:52 <geekosaur> scripts aren't considered interactive, so it returns
20:10:58 <wusticality> I guess that's saying, if it's not run as an actual shell, don't do anything?
20:11:10 <wusticality> I'm trying to remember why I even did that
20:11:19 <geekosaur> well, I'd quibble about "actual shell", but yes
20:13:44 <geekosaur> I actually do something similar, but rather than abort the "source" entirely I skip the parts that I only want in interactive shells
20:14:45 <wusticality> hu
20:14:47 <wusticality> *huh
20:15:08 <wusticality> Trying to think what you'd only want for interactive shells
20:15:24 <MrElendig> wusticality: weechat in tmux
20:19:58 <wusticality> What would you not run interactively?
20:22:05 <geekosaur[m]> My dotfiles have a lot of Kerberos and OpenAFS setup intended for interactive shells, which needs to be different in scripts
20:22:17 allbery_b joins (~geekosaur@xmonad/geekosaur)
20:22:17 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
20:22:20 allbery_b is now known as geekosaur
20:22:27 × abhixec quits (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
20:23:57 gauge_ joins (~gauge@user/gauge)
20:24:08 <geekosaur[m]> You probably don't want to look at my dotfiles, they're scary 😀
20:30:27 Solitary_ joins (~Solitary@user/solitary)
20:31:16 × gauge quits (~gauge@user/gauge) (*.net *.split)
20:31:16 × Solitary quits (~Solitary@user/solitary) (*.net *.split)
20:31:16 × sagax quits (~sagax_nb@user/sagax) (*.net *.split)
20:32:10 Solitary_ is now known as Solitary
20:41:43 <wusticality> Should I potentially separate out parts of my bashrc into separate sections?
20:41:55 <wusticality> I wonder if it's "safe (TM)" to just remove that "if interactive" check
20:45:24 × wusticality quits (~wusticali@c-67-161-204-49.hsd1.co.comcast.net) (Quit: Client closed)
20:46:43 wusticality joins (~wusticali@c-67-161-204-49.hsd1.co.comcast.net)
20:47:17 <geekosaur> possibly, but as I haven't seen it I wouldn't know (and in any case I'm not you and wouldn't know your preferences)
20:47:47 <geekosaur> I have the $PATH stuff in mine separated out for when I want a minimal setup in other scripts
20:48:04 <geekosaur> but then, my dotfiles are far from minimal
20:49:15 sagax joins (~sagax_nb@213.138.71.146)
20:53:18 <wusticality> I think I'll disable it for now and give it some thought
21:21:03 × chomwitt quits (~chomwitt@2a02:587:dc0d:4a00:ae09:5cbc:3a9a:5a89) (Ping timeout: 272 seconds)
21:28:27 <liskin> wusticality: not sure if you solved your keyboard layout reversing issue, but I wanted to tell you two things yesterday after you left: if instead of spawnOnce you put it somewhere in /etc/default/keyboard or wherever your distro wants it, it won't revert
21:28:53 <liskin> wusticality: and second thing, it's probably some udev event or something telling the X server to reload keyboard settings
21:29:58 <liskin> my man 5 keyboard says that "udevadm trigger --subsystem-match=input --action=change" reloads keyboard config, so something like that's probably happening naturally
21:30:07 <liskin> udevadm monitor to the rescue if you want to know what
21:56:23 × sagax quits (~sagax_nb@213.138.71.146) (Read error: Connection reset by peer)
21:59:10 pok_ joins (~pok@41.157.227.24)
22:12:21 × pok_ quits (~pok@41.157.227.24) (Ping timeout: 272 seconds)
22:14:41 <wusticality> hey liskin
22:15:16 <wusticality> are you saying I shouldn't run spawnOnce "setxkbmap -option altwin:swap_alt_win" in xmonad.hs?
22:16:43 <geekosaur> on my system you put the -option part in /etc/default/keyboard in the XKBOPTIONS field
22:17:30 <wusticality> my apologies haha
22:17:45 <wusticality> are you saying editing /etc/default/keyboard would prevent settings from being wiped?
22:18:02 <geekosaur> it would mean your settings get reapplied whenever whatever it is happens
22:18:19 <geekosaur> and "udevadm monitor" will probably show you the whatever-it-is
22:18:25 <geekosaur> as I understand it
22:18:35 <wusticality> looks like that file contains
22:18:37 <wusticality> XKBLAYOUT=us
22:18:37 <wusticality> BACKSPACE=guess
22:19:27 <geekosaur> https://paste.tomsmeding.com/oQ3f8qPN
22:20:16 <geekosaur> so it sounds like you add XKBOPTIONS="altwin:swap_alt_win"
22:21:23 <wusticality> should I remove the line from my xmonad config then?
22:22:08 <geekosaur> yes, it shouldn't be necessary after you do that
22:22:20 <geekosaur> (and restart the X server, which may require a reboot)
22:22:55 <wusticality> I have to say, you have all been incredibly helpful
22:23:03 <wusticality> let me try that quick
22:25:55 × alternateved quits (~alternate@staticline-31-183-144-54.toya.net.pl) (Remote host closed the connection)
22:28:45 × wusticality quits (~wusticali@c-67-161-204-49.hsd1.co.comcast.net) (Quit: Client closed)
22:31:17 wusticality joins (~wusticali@c-67-161-204-49.hsd1.co.comcast.net)
22:31:19 <wusticality> This appears to work!
22:31:25 <wusticality> (so far)
22:38:43 <wusticality> which is *ahem* outstanding
22:40:29 tjmciver_ joins (~tjmciver@cpe-172-101-32-70.maine.res.rr.com)
22:41:40 <wusticality> here's yet another noob question - is there some way to get xmonad to remember what applications were open and on what workspaces? and perhaps the state of my layouts on each workspace? that'd be rad. I heard about lxsession but I'm not sure if that's a red herring
22:42:29 × tjmciver_ quits (~tjmciver@cpe-172-101-32-70.maine.res.rr.com) (Read error: Connection reset by peer)
22:42:36 × tjmciver quits (~tjmciver@cpe-172-101-32-70.maine.res.rr.com) (Ping timeout: 244 seconds)
22:42:40 <geekosaur> lxsession may be the best that you can do, but it won't remember layout state
22:42:48 tjmciver_ joins (~tjmciver@cpe-172-101-32-70.maine.res.rr.com)
22:43:40 <geekosaur> xsm can do some session stuff but it predates workspaces and won't save those
22:46:13 nomorehasu joins (~user@2804:30c:137f:2400:267:bffd:8a8f:f9)
22:54:48 × nomorehasu quits (~user@2804:30c:137f:2400:267:bffd:8a8f:f9) (Remote host closed the connection)
23:00:22 <wusticality> $ udevadm monitor
23:00:23 <wusticality> monitor will print the received events for:
23:00:23 <wusticality> UDEV - the event which udev sends out after rule processing
23:00:24 <wusticality> KERNEL - the kernel uevent
23:00:24 <wusticality> KERNEL[149.111425] add /module/tls (module)
23:00:25 <wusticality> UDEV [149.112484] add /module/tls (module)
23:00:29 <wusticality> Looks like some event happened
23:13:36 <geekosaur> won't be the keyboard though
23:13:59 <geekosaur> udev triggers on any device load/unload/state change
23:14:11 <wusticality> ah
23:14:18 <wusticality> how would I know it's keyboard related?
23:17:12 <geekosaur> subsystem contains "input", apparently
23:18:29 <wusticality> ah ok
23:19:02 <geekosaur> apparently you can use `udevadm monitor --subsystem-match=input` to limit it to that
23:19:18 <geekosaur> rather than try to spot it amid other stuff

All times are in UTC on 2022-07-12.