2023-02-25 00:14:15 +0100 | wuqs | (~user@191.177.51.98) |
2023-02-25 00:17:28 +0100 | <wuqs> | can i create a shortcut for using Gimp screenshot function? |
2023-02-25 00:21:05 +0100 | <geekosaur> | not readily. although it looks like it already has one, if it's open/focused? (PrtSc) |
2023-02-25 00:23:19 +0100 | <wuqs> | yes, but i need to focus on it, then get my shot |
2023-02-25 00:23:50 +0100 | <geekosaur> | you can spawn it but you can't tell when it's ready for you to paste a key to it |
2023-02-25 00:26:24 +0100 | <geekosaur> | I also don't know if it'll accept a pasted key when not focused (or indeed if it'll accept it at all; X11 marks synthetic events as such and some programs ignore them) |
2023-02-25 00:27:36 +0100 | <wuqs> | ok, i am lost... but actually i found something useful! |
2023-02-25 00:27:44 +0100 | <wuqs> | ("<Print>", spawn "gimp --batch '(plug-in-screenshot RUN-INTERACTIVE FALSE 0 0 0 0 0)'" |
2023-02-25 00:27:55 +0100 | <geekosaur> | and it would probably be easier to do it by spawning xdotool rather than trying to do it directly: we have some stuff to paste keys but it expects printables, not xK_Print |
2023-02-25 00:27:56 +0100 | <wuqs> | did the job for me on additionalKeysP` |
2023-02-25 00:28:12 +0100 | <geekosaur> | huh, okay |
2023-02-25 00:28:34 +0100 | <geekosaur> | might conceivably need to toss in an `unGrab` to avoid a possible race condition |
2023-02-25 00:29:14 +0100 | <geekosaur> | but yes, someting like that is preferable to trying to manufacture keystrokes |
2023-02-25 00:29:30 +0100 | <geekosaur> | xmonad is a window manager, not the X server |
2023-02-25 00:30:26 +0100 | <wuqs> | i was hoping there was something simple that i am missing |
2023-02-25 00:30:52 +0100 | <wuqs> | like someone pointed me about the power-off button... |
2023-02-25 00:31:08 +0100 | <wuqs> | but actually that commad 'RUN-INTERACTIVE...' is pretty sweet |
2023-02-25 00:31:51 +0100 | <geekosaur> | this, sadly, is not simple unless you can use a command like that |
2023-02-25 00:32:12 +0100 | <geekosaur> | identifying a window and sending synthetic events to it is ugly and annoying |
2023-02-25 00:32:17 +0100 | <geekosaur> | and may not work |
2023-02-25 04:03:34 +0100 | banc | (banc@gateway/vpn/protonvpn/banc) (Ping timeout: 246 seconds) |
2023-02-25 04:08:20 +0100 | jludwig | (~justin@li657-110.members.linode.com) (Quit: ZNC - https://znc.in) |
2023-02-25 04:09:31 +0100 | jludwig | (~justin@li657-110.members.linode.com) |
2023-02-25 04:13:51 +0100 | wuqs | (~user@191.177.51.98) (Remote host closed the connection) |
2023-02-25 04:19:21 +0100 | banc | (banc@gateway/vpn/protonvpn/banc) |
2023-02-25 04:42:04 +0100 | td_ | (~td@i5387092A.versanet.de) (Ping timeout: 246 seconds) |
2023-02-25 04:44:11 +0100 | td_ | (~td@i5387090F.versanet.de) |
2023-02-25 07:09:28 +0100 | qbt | (~qbt@user/edun) |
2023-02-25 07:51:21 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 255 seconds) |
2023-02-25 07:53:08 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2023-02-25 07:57:56 +0100 | <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 |
2023-02-25 07:58:42 +0100 | <galactic_starfis> | I basically never surpass 3 or 4 windows with spiral unless showing off or testing things like easymovement |
2023-02-25 08:27:39 +0100 | <geekosaur> | I have an xmonad logo posted on my apartment door, and one of my neighbors has already made an "Einstein" comment about it 🙂 |
2023-02-25 08:29:26 +0100 | <geekosaur> | (I'm not supposed to be up now, it's the middle of the night…) |
2023-02-25 08:38:27 +0100 | <qbt> | galactic_starfis, the "weird hacker computer" comments always warms my heart :) |
2023-02-25 08:50:40 +0100 | <galactic_starfis> | lol, same geekosaur |
2023-02-25 08:51:06 +0100 | <galactic_starfis> | not the Einstein thing, but the up at midnight thing |
2023-02-25 10:00:30 +0100 | unclechu | (~unclechu@2001:470:69fc:105::354) (Quit: You have been kicked for being idle) |
2023-02-25 10:14:20 +0100 | <vrs> | gridselect also is great for showing off |
2023-02-25 10:14:36 +0100 | unclechu | (~unclechu@2001:470:69fc:105::354) |
2023-02-25 10:18:05 +0100 | qbt | (~qbt@user/edun) (Ping timeout: 268 seconds) |
2023-02-25 10:20:46 +0100 | qbt | (~qbt@user/edun) |
2023-02-25 10:28:54 +0100 | qbt | (~qbt@user/edun) (Quit: WeeChat 3.8) |
2023-02-25 11:10:50 +0100 | <geekosaur> | yeah but at 58 I can't pull off all-nighters any more, I'm dead the next day |
2023-02-25 11:11:10 +0100 | <geekosaur> | (sadly I just woke up and can't get back to sleep, so that means today…) |
2023-02-25 11:43:16 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2023-02-25 11:52:19 +0100 | <mazte[m]> | <geekosaur> "(sadly I just woke up and can'..." <- Relatable |
2023-02-25 11:53:22 +0100 | <mazte[m]> | Anyone know of a good way to spawn a center float window with a hard set geometry? |
2023-02-25 11:54:03 +0100 | <mazte[m]> | Say, a 360x360 center float window, where the window would've originally tiled |
2023-02-25 11:54:53 +0100 | <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 |
2023-02-25 11:55:05 +0100 | <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) |
2023-02-25 11:55:41 +0100 | <geekosaur> | in general I just calculate the equivalent RationalRect and try to remember not to display the workspace on the wrong monitor |
2023-02-25 11:57:57 +0100 | <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? |
2023-02-25 11:58:33 +0100 | <geekosaur> | xmonad converts it to a rationalrect and will force pavucontrol to adhere to that subsequently |
2023-02-25 11:59:02 +0100 | <geekosaur> | (by default xmonad tries to honor floats, but the window manager has the last word, not the app) |
2023-02-25 11:59:05 +0100 | <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 |
2023-02-25 11:59:17 +0100 | <mazte[m]> | Ah |
2023-02-25 12:01:00 +0100 | <geekosaur> | (the "message" is the `WM_SIZE_HINTS` property on the window) |
2023-02-25 12:01:25 +0100 | <mazte[m]> | so, xmonad decides to spawn in pavucontrol in this size, not pavucontrol? |
2023-02-25 12:01:30 +0100 | mazte[m] | uploaded an image: (2892KiB) < https://libera.ems.host/_matrix/media/v3/download/matrix.org/tOqKfUpCkpSINbWvsBcEVAxL/2023-02-25_0… > |
2023-02-25 12:02:23 +0100 | <mazte[m]> | oh, i think i got you. That explains why the behavior is different with various cases |
2023-02-25 12:02:35 +0100 | <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 |
2023-02-25 12:03:01 +0100 | <geekosaur> | which means it will preserve the "1/3 full screen" at the price of "x number of pixels" being wrong |
2023-02-25 12:03:25 +0100 | <geekosaur> | and apps work in terms of pixels; RationalRect is an xmonad thing |
2023-02-25 12:07:01 +0100 | <mazte[m]> | Gotcha. I was thinking of trying to make a keybind to make x window into a float and inherit a geometry |
2023-02-25 12:09:25 +0100 | <geekosaur> | withFocused $ windows $ W.centerFloat (someRationalRectHere) |
2023-02-25 12:12:19 +0100 | <geekosaur> | sorry, centerFloat isn't in XMonad.StackSet, it's in ManageHelpers |
2023-02-25 12:13:53 +0100 | <geekosaur> | and that usage I gavce ou was actually doRectFloat. what I get for waking up at 4:30am |
2023-02-25 12:14:28 +0100 | <geekosaur> | anyway look at https://hackage.haskell.org/package/xmonad-contrib-0.17.1/docs/XMonad-Hooks-ManageHelpers.html for helpful float-at stuff |
2023-02-25 12:14:42 +0100 | <geekosaur> | which you use with XMonad.Operations.windows |
2023-02-25 12:16:18 +0100 | <geekosaur> | and no, they're all ManageHooks so can't be used directly, you have to copy the source without the `doF` wrapper |
2023-02-25 12:16:47 +0100 | <geekosaur> | not sure these get used enough to justify refactoring for direct `windows` use |
2023-02-25 12:35:41 +0100 | <[Leary]> | Rather than copying the implementation, you can use something like `runManageHook mh w = runQuery mh w >>= windows . appEndo`, perhaps as `withFocused . runManageHook`. |
2023-02-25 12:41:36 +0100 | <geekosaur> | yeh, that just seems silly to me though |
2023-02-25 12:41:54 +0100 | <geekosaur> | wish they'd provided unwrapped versions of the ManageHooks to start out with |
2023-02-25 12:44:37 +0100 | <mazte[m]> | sorry, had to do something |
2023-02-25 12:44:47 +0100 | <mazte[m]> | <geekosaur> "anyway look at https://hackage...." <- will do |
2023-02-25 12:45:26 +0100 | <mazte[m]> | ill try these out, tyvm |
2023-02-25 12:58:07 +0100 | <liskin> | mazte[m]: does your pavucontrol not remember its last size? |
2023-02-25 12:58:34 +0100 | <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 |
2023-02-25 12:58:37 +0100 | <liskin> | same for cantata |
2023-02-25 12:59:12 +0100 | <liskin> | oh, maybe I should've read all messages |
2023-02-25 13:12:31 +0100 | <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 |
2023-02-25 13:12:59 +0100 | <geekosaur> | I find that useful for spawning a window and then building an NSP for it |
2023-02-25 13:57:17 +0100 | <mazte[m]> | <liskin> "mazte: does your pavucontrol not..." <- I do not resize it; it goes into center float mode when it spawns |
2023-02-25 13:57:49 +0100 | <mazte[m]> | technically, it never really changes size, which is what i prefer |
2023-02-25 13:57:54 +0100 | <mazte[m]> | <mazte[m]> "2023-02-25_03:00:16.png" <- it stays like this consistently |
2023-02-25 14:03:38 +0100 | <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 |
2023-02-25 14:04:14 +0100 | <mazte[m]> | perhaps im not explaining this well, but ill be able to try this out in a bit |
2023-02-25 14:04:49 +0100 | <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 |
2023-02-25 14:08:18 +0100 | <mazte[m]> | Ah, got you. My bad, it's a little late |
2023-02-25 14:13:46 +0100 | <geekosaur> | otherwise, hm. 350×350 centered on a 1920×1080 display would be `(RationalRect 0.4089 0.3380 0.1823 0.3241)`, I think? |
2023-02-25 14:21:40 +0100 | <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 🙂 |
2023-02-25 14:22:09 +0100 | <geekosaur> | (350 pixels isn't much) |
2023-02-25 14:22:23 +0100 | <geekosaur> | (these days at least) |
2023-02-25 14:33:11 +0100 | <liskin> | mazte[m]: yeah, but why don't you try to resize it? |
2023-02-25 14:33:25 +0100 | <liskin> | resize, close, and then next time it opens it'll have that size :-) |
2023-02-25 14:34:11 +0100 | <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 |
2023-02-25 14:34:20 +0100 | <liskin> | but it mostly works for me :-) |
2023-02-25 15:46:48 +0100 | gknux | (~gknux@user/galaxy-knuckles/x-3015990) (Quit: ....and i am outta here....) |
2023-02-25 15:47:46 +0100 | gknux | (~gknux@user/galaxy-knuckles/x-3015990) |
2023-02-25 17:00:38 +0100 | unclechu | (~unclechu@2001:470:69fc:105::354) (Quit: You have been kicked for being idle) |
2023-02-25 17:12:03 +0100 | hightower2 | (~hightower@16-152.dsl.iskon.hr) (Ping timeout: 255 seconds) |
2023-02-25 17:50:54 +0100 | hightower2 | (~hightower@85.94.71.188) |
2023-02-25 18:57:15 +0100 | catman | (~catman@user/catman) |
2023-02-25 19:11:52 +0100 | catman | (~catman@user/catman) (Quit: WeeChat 3.8) |
2023-02-25 19:49:07 +0100 | telser_ | (~quassel@user/telser) (Ping timeout: 268 seconds) |
2023-02-25 19:50:01 +0100 | telser | (~quassel@user/telser) |
2023-02-25 22:05:50 +0100 | <mazte[m]> | <geekosaur> "actually if you want 1/3 instead..." <- Hah, perfect. I'll try this |
2023-02-25 22:09:26 +0100 | <mazte[m]> | <liskin> "resize, close, and then next..." <- This is quite cool, but I'd have to do it for multiple, no? |
2023-02-25 22:10:58 +0100 | <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 |
2023-02-25 22:12:08 +0100 | <mazte[m]> | I don't know why I mentioned hooks yesterday. I'll blame it on sleep deprivation, lmao |
2023-02-25 22:50:23 +0100 | catman | (~catman@user/catman) |
2023-02-25 23:01:00 +0100 | catman | (~catman@user/catman) (Ping timeout: 260 seconds) |
2023-02-25 23:19:53 +0100 | abhixec | (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) (Read error: Connection reset by peer) |
2023-02-25 23:21:54 +0100 | mvk | (~mvk@2607:fea8:5caa:ac00::fa57) |