2023-04-18 00:07:32 +0200 | stellacy | (~stellacy@gateway/tor-sasl/stellacy) (Remote host closed the connection) |
2023-04-18 00:08:04 +0200 | stellacy | (~stellacy@gateway/tor-sasl/stellacy) |
2023-04-18 00:13:07 +0200 | <JonathanWatson[m> | i'm back again |
2023-04-18 00:13:40 +0200 | <JonathanWatson[m> | does anyone know how i can listen to expose events? i wrote this script to run separately but its not printing anything |
2023-04-18 00:13:43 +0200 | <JonathanWatson[m> | allocaXEvent $ \xEventPointer ->... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/ed27ba729d93dc9fe65f6fdea40e9c6388fa…>) |
2023-04-18 00:13:59 +0200 | JonathanWatson[m | sent a haskell code block: https://libera.ems.host/_matrix/media/v3/download/libera.chat/ed27ba729d93dc9fe65f6fdea40e9c6388fa… |
2023-04-18 00:14:55 +0200 | <JonathanWatson[m> | perhaps i need to use the checkTypedWindowEvent function |
2023-04-18 00:17:59 +0200 | <geekosaur> | https://hackage.haskell.org/package/X11-1.10.3/docs/Graphics-X11-Xlib-Event.html#v:selectInput |
2023-04-18 00:18:10 +0200 | <geekosaur> | you won't get events unless you select for them |
2023-04-18 00:18:35 +0200 | <geekosaur> | https://tronche.com/gui/x/xlib/event-handling/XSelectInput.html |
2023-04-18 00:19:27 +0200 | <geekosaur> | also that program is going to loop forever on the first event it receives because peekEvent leaves it queued |
2023-04-18 00:21:36 +0200 | <geekosaur> | also also, `threadDelay 10000` delays for 10ms |
2023-04-18 00:31:21 +0200 | <JonathanWatson[m> | <geekosaur> "also also, `threadDelay 10000..." <- Fine by me |
2023-04-18 00:32:47 +0200 | <JonathanWatson[m> | <geekosaur> "also that program is going to..." <- I thought that the normal method would consume the events and stop them happening but fortunately not |
2023-04-18 00:33:03 +0200 | <geekosaur> | you want nextEvent, not peekEvent |
2023-04-18 00:33:43 +0200 | <JonathanWatson[m> | Yes |
2023-04-18 00:34:21 +0200 | <JonathanWatson[m> | unfortunate time for element to start randomly crashing in xmonad |
2023-04-18 00:34:45 +0200 | <geekosaur> | huh. I ran it for a while without problems |
2023-04-18 00:35:15 +0200 | <JonathanWatson[m> | seems to be working now |
2023-04-18 00:35:18 +0200 | <geekosaur> | although I guess I was running the webapp instead of the standalone one (I have more than enough JS engines running as it is) |
2023-04-18 00:35:41 +0200 | <JonathanWatson[m> | is there an easy way to get all the windows with the X11 library? |
2023-04-18 00:36:11 +0200 | <geekosaur> | queryTree aka XQueryTree() |
2023-04-18 00:37:05 +0200 | mncheckm | (~mncheck@193.224.205.254) (Ping timeout: 240 seconds) |
2023-04-18 00:37:16 +0200 | <JonathanWatson[m> | interesting |
2023-04-18 00:37:25 +0200 | <geekosaur> | but if this is for XSelectInput you want to omit the do_not_propagate flag and select on the root window |
2023-04-18 00:37:57 +0200 | <geekosaur> | hm, actually I think that might not work here and you would have to queryTree |
2023-04-18 00:37:59 +0200 | <JonathanWatson[m> | ah nice |
2023-04-18 00:38:05 +0200 | <JonathanWatson[m> | oh ok |
2023-04-18 00:38:39 +0200 | <JonathanWatson[m> | i'll need to use rootWindow to get the window argument for selectInput anyway |
2023-04-18 00:38:46 +0200 | <JonathanWatson[m> | or even defaultRootWindow |
2023-04-18 00:40:20 +0200 | <JonathanWatson[m> | do i need to use queryTree recursively? |
2023-04-18 00:40:44 +0200 | <JonathanWatson[m> | i suppose i only really need to check the xmonad window for expose events |
2023-04-18 00:41:09 +0200 | <geekosaur> | you shouldn't need to because it's no longer common for programs to create inner server-side windows; that is slow and inflexible |
2023-04-18 00:41:21 +0200 | <geekosaur> | and xmonad doesn't have a window |
2023-04-18 00:42:10 +0200 | <JonathanWatson[m> | oh ok |
2023-04-18 00:42:52 +0200 | <JonathanWatson[m> | is exposureMask the mask to use? |
2023-04-18 00:44:13 +0200 | <JonathanWatson[m> | looks like it works |
2023-04-18 00:44:24 +0200 | <geekosaur> | exposureMask and structureNotifyMask (so you can select an input mask on new windows as they appear) |
2023-04-18 00:45:24 +0200 | <JonathanWatson[m> | should i just bitwise OR them together? |
2023-04-18 00:45:30 +0200 | <geekosaur> | yes |
2023-04-18 00:46:33 +0200 | <JonathanWatson[m> | ok this is my code now... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/4e68c95a37b2a875e79b1288f05d911ea49a…>) |
2023-04-18 00:48:12 +0200 | <geekosaur> | don't forget to also set the input mask on the root window |
2023-04-18 00:48:39 +0200 | <geekosaur> | so you get notifications for new windows |
2023-04-18 00:49:55 +0200 | <JonathanWatson[m> | ok |
2023-04-18 00:51:09 +0200 | <geekosaur> | correction: substructureNotifyMask on the root |
2023-04-18 00:51:20 +0200 | <geekosaur> | (Notify, not Redirect!) |
2023-04-18 00:55:17 +0200 | <JonathanWatson[m> | plus state monad for actually telling when an expose event is new... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/c5473cdb559f501974d4e9ad3745a0a47497…>) |
2023-04-18 00:59:36 +0200 | <geekosaur> | that's slightly wrong. you want substructureNotifyMask on the root, but structureNotifyMask on the child windows. you also want to watch for MapWindow events that you receive and select exposureMask .|. structureNotifyMask on them |
2023-04-18 01:00:03 +0200 | <geekosaur> | (you don't need to know about window deletion, the corresponding event mask will go away by itself) |
2023-04-18 01:00:47 +0200 | <geekosaur> | come to think of it I don't think you need structureNotifyMask on the children at all, since you don't care about resizes and such |
2023-04-18 01:01:15 +0200 | <geekosaur> | just the substructureNotifyMask on the root so you can select expose events on new windows as they appear |
2023-04-18 01:02:42 +0200 | <geekosaur> | mm, and … I am suddenly thinking Expose isn't sent on random draws, and is likely to be useless in a tiled wm unless a floating window is closed |
2023-04-18 01:03:35 +0200 | <geekosaur> | you may only care about MapRequest and UnmapRequest because no event is sent at all when something draws in a window, unless that part of the window is hidden and then it gets a NoExpose event |
2023-04-18 01:03:59 +0200 | <geekosaur> | and wm events are not going to be draws anyway |
2023-04-18 01:04:47 +0200 | <geekosaur> | so, hm. https://tronche.com/gui/x/xlib/events/processing-overview.html#StructureNotifyMask is probably what you care about as the only things xmonad will affect about windows |
2023-04-18 01:06:10 +0200 | <JonathanWatson[m> | so do i only need to select substructureNotifyMask on the root? |
2023-04-18 01:06:15 +0200 | <geekosaur> | yes |
2023-04-18 01:06:24 +0200 | <geekosaur> | structureNotifyMask on everything else |
2023-04-18 01:07:09 +0200 | <geekosaur> | expose events will be received for those layouts that cover up windows instead of unmapping them (example of the former is simpleTabbed, example of the latter is Full) |
2023-04-18 01:07:25 +0200 | <JonathanWatson[m> | oh ok so i keep expose for checkTypedEvent |
2023-04-18 01:07:44 +0200 | <geekosaur> | right but you also want to checktypedEvent for mapNotify |
2023-04-18 01:08:01 +0200 | <geekosaur> | and selectInput on the window in question |
2023-04-18 01:10:52 +0200 | <geekosaur> | if you want something that's sanely measurable, you probably want to load a couple of workspaces with windows (say, xterms) and switch between them |
2023-04-18 01:11:40 +0200 | <geekosaur> | this will be the slowest because it causes a full run of X.O.windows on the newly revealed workspace, and that will do a full run of the layout |
2023-04-18 01:11:55 +0200 | <JonathanWatson[m> | i can't see how to get the window for mapNotify |
2023-04-18 01:13:15 +0200 | <JonathanWatson[m> | oh get_window probably |
2023-04-18 01:13:21 +0200 | <geekosaur> | every event has an `ev_window` |
2023-04-18 01:15:11 +0200 | <JonathanWatson[m> | when we get a mapNotify event, what mask do we give the window? |
2023-04-18 01:15:36 +0200 | <geekosaur> | structureNotifyMask .|. exposureMask |
2023-04-18 01:15:48 +0200 | <geekosaur> | same as for the existing windows when you start up |
2023-04-18 01:16:55 +0200 | <geekosaur> | anyway an event is a Haskell record which has multiple fields that you can access in the usual way |
2023-04-18 01:17:29 +0200 | <JonathanWatson[m> | ok so this is my new code... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/8de1961fc197cb923ba05f03d0cae1c24793…>) |
2023-04-18 01:17:40 +0200 | <geekosaur> | https://hackage.haskell.org/package/X11-1.10.3/docs/Graphics-X11-Xlib-Extras.html look for MapNotifyEvent |
2023-04-18 01:18:40 +0200 | <JonathanWatson[m> | oh i see |
2023-04-18 01:20:38 +0200 | <JonathanWatson[m> | > <@jjw:matrix.org> ok so this is my new code... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/1fa31d40d7ff8269f48c039938c897c9961c…>) |
2023-04-18 01:20:38 +0200 | <JonathanWatson[m> | but its not giving anything anymore |
2023-04-18 01:20:40 +0200 | <lambdabot> | <hint>:1:1: error: parse error on input ‘<@’ |
2023-04-18 01:20:59 +0200 | <geekosaur> | did you do something like switching workspaces? |
2023-04-18 01:21:55 +0200 | <JonathanWatson[m> | i run it in workspace 1 every time and stay in there |
2023-04-18 01:23:15 +0200 | <JonathanWatson[m> | very strange |
2023-04-18 01:23:36 +0200 | <JonathanWatson[m> | > <@jjw:matrix.org> ok this is my code now... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/0769027e9da25bf11d789efaf2e9714ae49a…>) |
2023-04-18 01:23:37 +0200 | <lambdabot> | <hint>:1:1: error: parse error on input ‘<@’ |
2023-04-18 01:23:51 +0200 | <JonathanWatson[m> | well it printed some of the expose events |
2023-04-18 01:25:00 +0200 | <geekosaur> | you won't see anything |
2023-04-18 01:25:11 +0200 | <geekosaur> | as I said, you don't get events at all just for draws |
2023-04-18 01:25:28 +0200 | <geekosaur> | Expose means a new (region of a) window has become visible |
2023-04-18 01:25:56 +0200 | <geekosaur> | in a tiling wm, you don't get many Expose events unless you close a floating window |
2023-04-18 01:26:17 +0200 | <geekosaur> | you will pretty much only get events for opening a new window, closing an existing window, or switching workspaces |
2023-04-18 01:26:25 +0200 | <geekosaur> | this is pretty much the nature of tiling wms |
2023-04-18 01:26:43 +0200 | <JonathanWatson[m> | well it ran sometimes when i did next layout (alt+space) |
2023-04-18 01:26:58 +0200 | <geekosaur> | and when it comes down to it, if your intent is to benchmark a window manager, that's all you really care about |
2023-04-18 01:27:15 +0200 | <geekosaur> | right, that'll alter what windows are visible and how |
2023-04-18 01:27:36 +0200 | <geekosaur> | but no expose events because we pretty much show either all or none of a window |
2023-04-18 01:27:48 +0200 | <geekosaur> | and an expose event is about part of a window |
2023-04-18 01:28:55 +0200 | <geekosaur> | well, not entirely true, Tabbed layouts will produce whole-window expose events. but Full won't because it unmaps instead of hiding |
2023-04-18 01:31:32 +0200 | <JonathanWatson[m> | oh ok |
2023-04-18 01:31:44 +0200 | malook | (~Thunderbi@46.52.55.36) |
2023-04-18 01:32:08 +0200 | <JonathanWatson[m> | so i think i should also detect unmaps |
2023-04-18 01:33:11 +0200 | <JonathanWatson[m> | i have checkTypedEvent display mapRequest xEventPointer but its never true |
2023-04-18 01:33:46 +0200 | <JonathanWatson[m> | i suppose i want to check for unmapNotify |
2023-04-18 01:36:51 +0200 | <JonathanWatson[m> | i think there is a flaw in my code |
2023-04-18 01:36:56 +0200 | <JonathanWatson[m> | "The XCheckTypedEvent() function searches the event queue and then any events available on the server connection for the first event that matches the specified type. If it finds a match, XCheckTypedEvent() removes that event, copies it into the specified XEvent structure, and returns True . The other events in the queue are not discarded. If the event is not available, XCheckTypedEvent() returns False , and the output buffer will have |
2023-04-18 01:36:56 +0200 | <JonathanWatson[m> | been flushed." |
2023-04-18 01:37:15 +0200 | <JonathanWatson[m> | so it doesn't actually check the event from nextevent but actually checks the whole queue |
2023-04-18 01:37:44 +0200 | <JonathanWatson[m> | and the second checkTypedEvent never happens if there's an expose event at any point in the queue |
2023-04-18 01:39:12 +0200 | <geekosaur> | hm, right |
2023-04-18 01:40:44 +0200 | <geekosaur> | well, except the second part is wrong, it will first look for expose events and give you the first it finds, then it will look for MapNotify, then you want to look for UnmapNotify, then you want to nextEvent to clear the topmost event which is apparently none of the above |
2023-04-18 01:40:46 +0200 | <geekosaur> | then loop |
2023-04-18 01:41:00 +0200 | catman | (~catman@user/catman) |
2023-04-18 01:42:51 +0200 | <JonathanWatson[m> | this is my latest iteration... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/d5fe7d114c25baed420f096ac9133a7a2525…>) |
2023-04-18 01:43:09 +0200 | <JonathanWatson[m> | i don't think nextEvent is needed at all |
2023-04-18 01:43:16 +0200 | <JonathanWatson[m> | ? |
2023-04-18 01:43:45 +0200 | <JonathanWatson[m> | not sure what "output buffer will have been flushed" means |
2023-04-18 01:45:16 +0200 | <geekosaur> | if none of the `checkTypedEvent`s gave you an event then you need to possibly discard an event |
2023-04-18 01:45:34 +0200 | <geekosaur> | because there are other events you might receive that aren't the ones you're looking for |
2023-04-18 01:46:32 +0200 | <JonathanWatson[m> | yeah i'm thinking i can just run flush if all of them return false |
2023-04-18 01:49:27 +0200 | <geekosaur> | o.O I wonder if they actually mean the input queue; there's no "output buffer" |
2023-04-18 01:52:07 +0200 | <geekosaur> | actually, hm, in that case you would in fact not be able to do the second check (and the whole thing becomes difficult at best) |
2023-04-18 01:52:21 +0200 | <JonathanWatson[m> | yes |
2023-04-18 01:53:03 +0200 | <geekosaur> | https://tronche.com/gui/x/xlib/event-handling/manipulating-event-queue/XMaskEvent.html |
2023-04-18 01:54:07 +0200 | <JonathanWatson[m> | probably better |
2023-04-18 01:54:13 +0200 | <geekosaur> | and, well, I don't think you so much care about the actual event tyepe except insofar as you need to XSelectInput on a MapNotify |
2023-04-18 01:54:54 +0200 | <geekosaur> | any of the StructureNotifyMask/SubstructureNotifyMask/ExposureMask events indicate window manager activity |
2023-04-18 01:55:34 +0200 | <JonathanWatson[m> | i am wondering what is the difference between XMaskEvent and XCheckMaskEvent |
2023-04-18 01:55:54 +0200 | <geekosaur> | https://tronche.com/gui/x/xlib/event-handling/manipulating-event-queue/selecting-using-window-or-e… |
2023-04-18 01:58:07 +0200 | <geekosaur> | the remaining issue is finding out when activity from xmonad has ended. the classic but not really Haskell solution is you select() on the server socket with a timeout, and track the time when each select() returns so you know when all the activity finished |
2023-04-18 01:59:07 +0200 | <geekosaur> | the more Haskelly equivalent is to do the X stuff in a thread with results posted to a Chan, and the main program kills the thread after the timeout (see the async library) |
2023-04-18 02:00:44 +0200 | <geekosaur> | (use race, thread 1 does threadDelay 5000000 and exits, thread 2 opens the display and records events and timestamps in the Chan) |
2023-04-18 02:01:23 +0200 | <geekosaur> | then the main thread harvests from the Chan and the timestamp of the last event read is when xmonad finished |
2023-04-18 02:03:11 +0200 | malook | (~Thunderbi@46.52.55.36) (Quit: malook) |
2023-04-18 02:04:17 +0200 | <JonathanWatson[m> | sounds good i'll give that a go |
2023-04-18 02:07:35 +0200 | <JonathanWatson[m> | <geekosaur> "(use race, thread 1 does..." <- although ideally thread 1 would restart the timer every time the Chan is posted to |
2023-04-18 02:08:18 +0200 | <geekosaur> | I wouldn't say so, a timeout of 5-10 seconds should be fine |
2023-04-18 02:08:29 +0200 | <JonathanWatson[m> | fair enough |
2023-04-18 02:08:41 +0200 | <JonathanWatson[m> | also since we only care about the last timeout wouldn't it be better to use an MVar? |
2023-04-18 02:08:46 +0200 | <geekosaur> | unless you're testing with 10000 windows in which case you will discover that the StackSet was a bit of a mistake 🙂 |
2023-04-18 02:09:04 +0200 | <geekosaur> | mm, probably |
2023-04-18 02:09:07 +0200 | <JonathanWatson[m> | well actually |
2023-04-18 02:09:26 +0200 | <geekosaur> | (the StackSet is backed by a pair of lists. large lists are slow |
2023-04-18 02:09:28 +0200 | <geekosaur> | ) |
2023-04-18 02:09:47 +0200 | <JonathanWatson[m> | that's a good point i'm more going for a small number of windows but lots of operations |
2023-04-18 02:11:06 +0200 | <JonathanWatson[m> | but ideally i would want the time to be nearer the 1 minute mark so its easier to see the differences when the program gets slower |
2023-04-18 02:11:21 +0200 | <JonathanWatson[m> | and i get nicer error bars |
2023-04-18 02:18:30 +0200 | catman | (~catman@user/catman) (Ping timeout: 255 seconds) |
2023-04-18 02:25:34 +0200 | hightower3 | (~hightower@213.149.61.95) (Read error: Connection reset by peer) |
2023-04-18 02:25:59 +0200 | hightower3 | (~hightower@213.149.61.95) |
2023-04-18 02:40:25 +0200 | ft | (~ft@i59F54987.versanet.de) (Ping timeout: 240 seconds) |
2023-04-18 02:42:23 +0200 | ft | (~ft@87.122.11.39) |
2023-04-18 02:53:58 +0200 | <JonathanWatson[m> | i've been stuck on this for a while... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/1e233b4267194150308a715065a48e7cc118…>) |
2023-04-18 02:54:24 +0200 | <JonathanWatson[m> | timeout 1000000 (takeMVar lastTimestampVar) doesn't seem to actually timeout |
2023-04-18 02:55:02 +0200 | <JonathanWatson[m> | i have to press alt+space before it actually decides to go down the Nothing branch |
2023-04-18 02:55:12 +0200 | <JonathanWatson[m> | * i've been stuck on this for a while... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/9ed66cf078b16abf1bc4ff6f74d586a7ec26…>) |
2023-04-18 02:55:30 +0200 | <JonathanWatson[m> | which is very ood |
2023-04-18 02:55:40 +0200 | <JonathanWatson[m> | * which is very odd |
2023-04-18 02:56:06 +0200 | <JonathanWatson[m> | * i've been stuck on this for a while... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/f0b49a02c3153aa5faee4c1c6c4edbb360a9…>) |
2023-04-18 02:56:59 +0200 | <JonathanWatson[m> | this is despite the print t not doing anything after the benchmark |
2023-04-18 02:58:56 +0200 | <JonathanWatson[m> | i can only assume something to do with async |
2023-04-18 03:12:12 +0200 | <JonathanWatson[m> | ok i think `False -> return ()` was running too often |
2023-04-18 03:12:28 +0200 | <JonathanWatson[m> | and also i didn't put flush in it which is probably fine but it definitely needs a sleep |
2023-04-18 03:14:35 +0200 | <JonathanWatson[m> | well i have a benchmark now |
2023-04-18 03:14:44 +0200 | <JonathanWatson[m> | @geekosaur thank you so much for the help |
2023-04-18 03:14:45 +0200 | <lambdabot> | Unknown command, try @list |
2023-04-18 03:15:21 +0200 | catman | (~catman@user/catman) |
2023-04-18 04:08:25 +0200 | td_ | (~td@i53870920.versanet.de) (Ping timeout: 240 seconds) |
2023-04-18 04:10:31 +0200 | td_ | (~td@i53870902.versanet.de) |
2023-04-18 04:41:15 +0200 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat) |
2023-04-18 04:44:17 +0200 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) |
2023-04-18 06:51:00 +0200 | catman | (~catman@user/catman) (Quit: WeeChat 3.8) |
2023-04-18 07:00:14 +0200 | catman | (~catman@user/catman) |
2023-04-18 07:38:25 +0200 | catman | (~catman@user/catman) (Ping timeout: 240 seconds) |
2023-04-18 08:37:04 +0200 | catman | (~catman@user/catman) |
2023-04-18 08:38:49 +0200 | mncheck | (~mncheck@193.224.205.254) |
2023-04-18 08:55:27 +0200 | ft | (~ft@87.122.11.39) (Quit: leaving) |
2023-04-18 09:23:14 +0200 | catman | (~catman@user/catman) (Ping timeout: 246 seconds) |
2023-04-18 09:28:55 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2023-04-18 10:03:40 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2023-04-18 10:24:58 +0200 | Miroboru | (~myrvoll@188.124.159.94) |
2023-04-18 10:25:49 +0200 | <Miroboru> | Is there any way to reset the layout to a default setting in xmonad? |
2023-04-18 10:26:34 +0200 | <Miroboru> | Googling this I see that mod-shift-space should do this, but in my case this just prints space |
2023-04-18 10:31:12 +0200 | cfricke | (~cfricke@user/cfricke) |
2023-04-18 10:49:15 +0200 | lykos153 | (~lykos153@2001:470:69fc:105::c8ea) |
2023-04-18 11:00:26 +0200 | unclechu | (~unclechu@2001:470:69fc:105::354) (Quit: You have been kicked for being idle) |
2023-04-18 11:00:26 +0200 | liskin[m] | (~liskinmat@2001:470:69fc:105::768) (Quit: You have been kicked for being idle) |
2023-04-18 11:01:23 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2023-04-18 12:01:29 +0200 | hightower4 | (~hightower@213.149.61.245) |
2023-04-18 12:04:31 +0200 | hightower3 | (~hightower@213.149.61.95) (Ping timeout: 276 seconds) |
2023-04-18 13:43:16 +0200 | ft | (~ft@p4fc2a88b.dip0.t-ipconnect.de) |
2023-04-18 14:40:48 +0200 | <geekosaur> | Miroboru, that sounds like your config has it rebound |
2023-04-18 14:41:00 +0200 | liskin[m] | (~liskinmat@2001:470:69fc:105::768) |
2023-04-18 14:41:17 +0200 | unclechu | (~unclechu@2001:470:69fc:105::354) |
2023-04-18 14:41:26 +0200 | <geekosaur> | you want to bind a key to `asks (layoutHook . config) >>= setLayout` |
2023-04-18 14:42:00 +0200 | <geekosaur> | JonathanWatson[m, sorry, I'd gone to bed |
2023-04-18 15:06:45 +0200 | hightower4 | (~hightower@213.149.61.245) (Ping timeout: 240 seconds) |
2023-04-18 15:27:31 +0200 | <Miroboru> | geekosaur: Yeah, the issue was it not being bound. I still cannot find anything that does what I want though. |
2023-04-18 15:30:22 +0200 | <Miroboru> | What I basically want is something that resets the sizes of the windows when called. |
2023-04-18 15:33:10 +0200 | <geekosaur> | what layout are you using? |
2023-04-18 15:34:31 +0200 | <geekosaur> | some layouts use the original requested size of the window, but don't save that, nor does the application, so you can't go back |
2023-04-18 16:02:44 +0200 | <geekosaur> | that said, a layout like Tall should completely reset on `setLayout` |
2023-04-18 16:11:06 +0200 | <geekosaur> | oh, you need to `setLayout` on each workspace, there's no switch that applies to all workspaces (but I feel like there's a function that applies something to all workspaces, I can't recall it though) |
2023-04-18 17:13:31 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.8) |
2023-04-18 17:47:25 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Ping timeout: 252 seconds) |
2023-04-18 17:48:48 +0200 | hightower2 | (~hightower@230-130.dsl.iskon.hr) |
2023-04-18 18:00:05 +0200 | Solid[m] | (~slot-matr@2001:470:69fc:105::1:a84) (Quit: You have been kicked for being idle) |
2023-04-18 18:00:14 +0200 | liskin[m] | (~liskinmat@2001:470:69fc:105::768) (Quit: You have been kicked for being idle) |
2023-04-18 18:00:14 +0200 | unclechu | (~unclechu@2001:470:69fc:105::354) (Quit: You have been kicked for being idle) |
2023-04-18 18:14:46 +0200 | berberman | (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-04-18 18:15:07 +0200 | berberman | (~berberman@user/berberman) |
2023-04-18 18:27:34 +0200 | thunderrd | (~thunderrd@183.182.111.241) |
2023-04-18 18:32:00 +0200 | thunderrd | (~thunderrd@183.182.111.241) (Remote host closed the connection) |
2023-04-18 18:43:42 +0200 | fcser | (~fcser@booty.farted.net) (Excess Flood) |
2023-04-18 18:43:49 +0200 | fcser | (~fcser@booty.farted.net) |
2023-04-18 18:53:31 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection) |
2023-04-18 19:27:00 +0200 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat) |
2023-04-18 19:29:58 +0200 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) |
2023-04-18 19:34:40 +0200 | hightower2 | (~hightower@230-130.dsl.iskon.hr) (Ping timeout: 252 seconds) |
2023-04-18 20:32:37 +0200 | catman | (~catman@user/catman) |
2023-04-18 21:14:59 +0200 | hightower2 | (~hightower@230-130.dsl.iskon.hr) |
2023-04-18 21:35:50 +0200 | catman | (~catman@user/catman) (Ping timeout: 246 seconds) |
2023-04-18 22:36:00 +0200 | catman | (~catman@user/catman) |
2023-04-18 22:42:08 +0200 | catman | (~catman@user/catman) (Ping timeout: 248 seconds) |
2023-04-18 22:56:02 +0200 | rekahsoft | (~rekahsoft@bras-base-orllon1122w-grc-04-174-88-193-177.dsl.bell.ca) |
2023-04-18 23:58:25 +0200 | rekahsoft | (~rekahsoft@bras-base-orllon1122w-grc-04-174-88-193-177.dsl.bell.ca) (Ping timeout: 240 seconds) |