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.