Home liberachat/#xmonad: Logs Calendar

Logs on 2023-02-25 (liberachat/#xmonad)

03:03:34 × banc quits (banc@gateway/vpn/protonvpn/banc) (Ping timeout: 246 seconds)
03:08:20 × jludwig quits (~justin@li657-110.members.linode.com) (Quit: ZNC - https://znc.in)
03:09:31 jludwig joins (~justin@li657-110.members.linode.com)
03:13:51 × wuqs quits (~user@191.177.51.98) (Remote host closed the connection)
03:19:21 banc joins (banc@gateway/vpn/protonvpn/banc)
03:42:04 × td_ quits (~td@i5387092A.versanet.de) (Ping timeout: 246 seconds)
03:44:11 td_ joins (~td@i5387090F.versanet.de)
06:09:28 qbt joins (~qbt@user/edun)
06:51:21 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 255 seconds)
06:53:08 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
06:57:56 <galactic_starfis> for the record I use spiral, but mostly just as a tall clone but with showoff capabilities I can whip up the instant somebody comments on my "weird hacker computer"... which happens really often, believe it or not
06:58:42 <galactic_starfis> I basically never surpass 3 or 4 windows with spiral unless showing off or testing things like easymovement
07:27:39 <geekosaur> I have an xmonad logo posted on my apartment door, and one of my neighbors has already made an "Einstein" comment about it 🙂
07:29:26 <geekosaur> (I'm not supposed to be up now, it's the middle of the night…)
07:38:27 <qbt> galactic_starfis, the "weird hacker computer" comments always warms my heart :)
07:50:40 <galactic_starfis> lol, same geekosaur
07:51:06 <galactic_starfis> not the Einstein thing, but the up at midnight thing
09:00:30 × unclechu quits (~unclechu@2001:470:69fc:105::354) (Quit: You have been kicked for being idle)
09:14:20 <vrs> gridselect also is great for showing off
09:14:36 unclechu joins (~unclechu@2001:470:69fc:105::354)
09:18:05 × qbt quits (~qbt@user/edun) (Ping timeout: 268 seconds)
09:20:46 qbt joins (~qbt@user/edun)
09:28:54 × qbt quits (~qbt@user/edun) (Quit: WeeChat 3.8)
10:10:50 <geekosaur> yeah but at 58 I can't pull off all-nighters any more, I'm dead the next day
10:11:10 <geekosaur> (sadly I just woke up and can't get back to sleep, so that means today…)
10:43:16 mc47 joins (~mc47@xmonad/TheMC47)
10:52:19 <mazte[m]> <geekosaur> "(sadly I just woke up and can'..." <- Relatable
10:53:22 <mazte[m]> Anyone know of a good way to spawn a center float window with a hard set geometry?
10:54:03 <mazte[m]> Say, a 360x360 center float window, where the window would've originally tiled
10:54:53 <mazte[m]> I was going to make a hook for it, but I figured I'd ask, since I don't exactly know how to mess with geometry and people here might have a much better method than what I'm thinking of
10:55:05 <geekosaur> sadlly, this is difficult because xmonad will still remember it as a RationalRect in case it has to be drawn on a screen with a different geometry (as on my machine where the laptop panel is smaller than the external monitor)
10:55:41 <geekosaur> in general I just calculate the equivalent RationalRect and try to remember not to display the workspace on the wrong monitor
10:57:57 <mazte[m]> Would it not be possible by passing along some message to make it behave as such? For example, I have pavucontrol set to open as a center float and it seems to prefer a specific geometry, that being around 1/3 full screen. Is this not just pavucontrol passing a desired geometry to xmonad and then xmonad adhering to it?
10:58:33 <geekosaur> xmonad converts it to a rationalrect and will force pavucontrol to adhere to that subsequently
10:59:02 <geekosaur> (by default xmonad tries to honor floats, but the window manager has the last word, not the app)
10:59:05 <mazte[m]> mazte[m]: So, I was going to try make a script to activate when x app is spawned, if that's the case
10:59:17 <mazte[m]> Ah
11:01:00 <geekosaur> (the "message" is the `WM_SIZE_HINTS` property on the window)
11:01:25 <mazte[m]> so, xmonad decides to spawn in pavucontrol in this size, not pavucontrol?
11:01:30 mazte[m] uploaded an image: (2892KiB) < https://libera.ems.host/_matrix/media/v3/download/matrix.org/tOqKfUpCkpSINbWvsBcEVAxL/2023-02-25_03%3A00%3A16.png >
11:02:23 <mazte[m]> oh, i think i got you. That explains why the behavior is different with various cases
11:02:35 <geekosaur> pavucontrol sets WM_SIZE_HINTS, xmonad will honor it when first spawned but turn it into a RationalRect for future displays of the window on possibly different sized screens
11:03:01 <geekosaur> which means it will preserve the "1/3 full screen" at the price of "x number of pixels" being wrong
11:03:25 <geekosaur> and apps work in terms of pixels; RationalRect is an xmonad thing
11:07:01 <mazte[m]> Gotcha. I was thinking of trying to make a keybind to make x window into a float and inherit a geometry
11:09:25 <geekosaur> withFocused $ windows $ W.centerFloat (someRationalRectHere)
11:12:19 <geekosaur> sorry, centerFloat isn't in XMonad.StackSet, it's in ManageHelpers
11:13:53 <geekosaur> and that usage I gavce ou was actually doRectFloat. what I get for waking up at 4:30am
11:14:28 <geekosaur> anyway look at https://hackage.haskell.org/package/xmonad-contrib-0.17.1/docs/XMonad-Hooks-ManageHelpers.html for helpful float-at stuff
11:14:42 <geekosaur> which you use with XMonad.Operations.windows
11:16:18 <geekosaur> and no, they're all ManageHooks so can't be used directly, you have to copy the source without the `doF` wrapper
11:16:47 <geekosaur> not sure these get used enough to justify refactoring for direct `windows` use
11:35:41 <[Leary]> Rather than copying the implementation, you can use something like `runManageHook mh w = runQuery mh w >>= windows . appEndo`, perhaps as `withFocused . runManageHook`.
11:41:36 <geekosaur> yeh, that just seems silly to me though
11:41:54 <geekosaur> wish they'd provided unwrapped versions of the ManageHooks to start out with
11:44:37 <mazte[m]> sorry, had to do something
11:44:47 <mazte[m]> <geekosaur> "anyway look at https://hackage...." <- will do
11:45:26 <mazte[m]> ill try these out, tyvm
11:58:07 <liskin> mazte[m]: does your pavucontrol not remember its last size?
11:58:34 <liskin> I also set pavucontrol to autofloat, but all I had to do to have it be of reasonable size is to resize it to that size once
11:58:37 <liskin> same for cantata
11:59:12 <liskin> oh, maybe I should've read all messages
12:12:31 <geekosaur> if you want to size it manually and then get a RationalRect for it, see https://github.com/geekosaur/xmonad.hs/blob/skkukuk/xmonad.hs#L374-L403
12:12:59 <geekosaur> I find that useful for spawning a window and then building an NSP for it
12:57:17 <mazte[m]> <liskin> "mazte: does your pavucontrol not..." <- I do not resize it; it goes into center float mode when it spawns
12:57:49 <mazte[m]> technically, it never really changes size, which is what i prefer
12:57:54 <mazte[m]> <mazte[m]> "2023-02-25_03:00:16.png" <- it stays like this consistently
13:03:38 <mazte[m]> <geekosaur> "if you want to size it manually..." <- Ideally, it would just be a set rational rect from the start or when a key is pressed
13:04:14 <mazte[m]> perhaps im not explaining this well, but ill be able to try this out in a bit
13:04:49 <geekosaur> right, the point is you do this once to get the RationalRect (maybe using its initial size) and then you use `showWinRR` to find out the `RationalRect` and wire that in
13:08:18 <mazte[m]> Ah, got you. My bad, it's a little late
13:13:46 <geekosaur> otherwise, hm. 350×350 centered on a 1920×1080 display would be `(RationalRect 0.4089 0.3380 0.1823 0.3241)`, I think?
13:21:40 <geekosaur> actually if you want 1/3 instead of 350, that would be `(RationalRect 0.3333 0.3333 0.3333 0.3333)` nice and easy 🙂
13:22:09 <geekosaur> (350 pixels isn't much)
13:22:23 <geekosaur> (these days at least)
13:33:11 <liskin> mazte[m]: yeah, but why don't you try to resize it?
13:33:25 <liskin> resize, close, and then next time it opens it'll have that size :-)
13:34:11 <liskin> not really a solution if you want it to always be perfectly sized, and also if you have multiple monitors of different size, this whole relative vs. absolute sizing will mess things up
13:34:20 <liskin> but it mostly works for me :-)
14:46:48 × gknux quits (~gknux@user/galaxy-knuckles/x-3015990) (Quit: ....and i am outta here....)
14:47:46 gknux joins (~gknux@user/galaxy-knuckles/x-3015990)
16:00:38 × unclechu quits (~unclechu@2001:470:69fc:105::354) (Quit: You have been kicked for being idle)
16:12:03 × hightower2 quits (~hightower@16-152.dsl.iskon.hr) (Ping timeout: 255 seconds)
16:50:54 hightower2 joins (~hightower@85.94.71.188)
17:57:15 catman joins (~catman@user/catman)
18:11:52 × catman quits (~catman@user/catman) (Quit: WeeChat 3.8)
18:49:07 × telser_ quits (~quassel@user/telser) (Ping timeout: 268 seconds)
18:50:01 telser joins (~quassel@user/telser)
21:05:50 <mazte[m]> <geekosaur> "actually if you want 1/3 instead..." <- Hah, perfect. I'll try this
21:09:26 <mazte[m]> <liskin> "resize, close, and then next..." <- This is quite cool, but I'd have to do it for multiple, no?
21:10:58 <mazte[m]> I wanted to make it so I could center float some arbitrary window with a defined rational rect, ideally that of pavucontrol, which seems to be around 1/3
21:12:08 <mazte[m]> I don't know why I mentioned hooks yesterday. I'll blame it on sleep deprivation, lmao
21:50:23 catman joins (~catman@user/catman)
22:01:00 × catman quits (~catman@user/catman) (Ping timeout: 260 seconds)
22:19:53 × abhixec quits (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
22:21:54 mvk joins (~mvk@2607:fea8:5caa:ac00::fa57)
23:31:52 × telser quits (~quassel@user/telser) (Ping timeout: 252 seconds)
23:31:53 telser_ joins (~quassel@user/telser)

All times are in UTC on 2023-02-25.