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.