2021-02-03 00:08:43 +0100 | thoros | (~thoros@194-96-55-156.hdsl.highway.telekom.at) (Ping timeout: 272 seconds) |
2021-02-03 00:53:55 +0100 | Liskni_si | (~liskin@ackle.nomi.cz) (Remote host closed the connection) |
2021-02-03 00:54:14 +0100 | Liskni_si | (~liskin@ackle.nomi.cz) |
2021-02-03 01:14:00 +0100 | notis | (~notis@185.51.134.230) (Read error: Connection reset by peer) |
2021-02-03 01:17:07 +0100 | <ectospasm> | I'm having trouble defining a function that returns a different string based on the number of screens found by XMonad.Layout.IndependentScreens.countScreens. I think I have an OK function definition, but when I call the function I get the following error: http://io.ix/2Oa9 |
2021-02-03 01:17:21 +0100 | <ectospasm> | Here's my current xmonad.hs: http://io.ix/2Oa8 |
2021-02-03 01:18:29 +0100 | <ectospasm> | whoops |
2021-02-03 01:18:34 +0100 | <ectospasm> | Those urls are wrong |
2021-02-03 01:18:49 +0100 | <ectospasm> | Here's my error: http://ix.io/2Oa9 |
2021-02-03 01:19:05 +0100 | <ectospasm> | Here's my xmonad.hs: http://ix.io/2Oa8 |
2021-02-03 01:21:41 +0100 | <fizzie> | Those are the same URLs. But ix.io has been frequently wrong as of late. |
2021-02-03 01:22:57 +0100 | <fizzie> | Oh, I entirely missed you had translated 'io' and 'ix'. Ignore what I said, then. |
2021-02-03 01:23:06 +0100 | <fizzie> | (But it's *also* true that ix.io's been flaky.) |
2021-02-03 01:25:11 +0100 | <ectospasm> | Yeah, XMonad is broken for me right now, because this won't compile. I usually post this stuff to my Git repo, but the URL for that would be longer and harder to type. |
2021-02-03 01:25:54 +0100 | <fizzie> | Anyhow, the error is what it says: `getCenterBar` expects an Int, but IS.countScreens needs to do some actual work to count the screens, so its type is (roughly) `X countScreens`. You're using it correctly in the `toggleHomeScreens` function, because the do notation `sc <- IS.countScreens` will pull the Int out of the monad. |
2021-02-03 01:27:29 +0100 | <ectospasm> | Unfortunately my Haskell skills are always rusty at best (I only use Haskell for XMonad). fizzie: do you have any suggestions on how I can fix it? |
2021-02-03 01:28:16 +0100 | <ectospasm> | Would I set the type definition to be X () -> Int -> String? I'm still unclear on how that works. |
2021-02-03 01:29:19 +0100 | <fizzie> | For the centerBar / bottomBar definitions, you could do something like `centerBar = fmap getCenterBar IS.countScreens` (or equivalent; there's many ways to write that); to complement that, you'd need to change your main function to be something like: do { dzenCenterCommand <- centerBar; dzenCenterBar <- spawnPipe centerCommand; ... }. |
2021-02-03 01:29:58 +0100 | gazler_ | (~gazler@195.107.2.81.in-addr.arpa) |
2021-02-03 01:31:22 +0100 | <fizzie> | Or `do { dzenCenterBar -> centerBar >>= spawnPipe; ... }` should also work, I guess. |
2021-02-03 01:31:33 +0100 | <ectospasm> | don't I already have `dzenCenterBar <- spawnPipe centerBar`? |
2021-02-03 01:31:44 +0100 | <fizzie> | Yes, but that's not what I wrote. |
2021-02-03 01:32:39 +0100 | <ectospasm> | No, I guess I don't understand what the difference between what I have and what you wrote is. |
2021-02-03 01:32:51 +0100 | gazler | (~gazler@195.107.2.81.in-addr.arpa) (Ping timeout: 265 seconds) |
2021-02-03 01:33:04 +0100 | <fizzie> | See, if you do `centerBar = fmap getCenterBar IS.countScreens`, that makes `centerBar` itself an IO-ish computation (its inferred type will be `m String`, where m is any instance of MonadIO, including IO or X), so in your main function you need to sequence two things: first, running `centerBar` to get a String, and then running `spawnPipe` on that string to get a Handle. |
2021-02-03 01:33:59 +0100 | <fizzie> | If you type `dzenCenterBar <- spawnPipe centerBar` in a do block, that's enough to run one thing (the spawnPipe). But it would expect an argument of type `String`, and you'd be giving it an (again, approximately) `IO String`. |
2021-02-03 01:34:30 +0100 | <ectospasm> | Ah, OK. I get confused with all these types flying around. |
2021-02-03 01:34:49 +0100 | <ectospasm> | Let me try that. |
2021-02-03 01:34:53 +0100 | <fizzie> | If you type `dzenCenterCommand <- centerBar; dzenCenterBar <- spawnPipe dzenCenterCommand`, you're explicitly executing those two IO operations one after each other. The first pulls the String out (and calls it `dzenCenterCommand`), the second runs the spawnPipe. |
2021-02-03 01:37:10 +0100 | <fizzie> | And the `dzenCenterBar <- centerBar >>= spawnPipe` is the same except it uses the (>>=) operator, which has the type signature `forall a b . Monad m => m a -> (a -> m b) -> m b`, meaning if you give it (say) an `IO String` as the first argument, and `String -> IO Handle` as the second (such as spawnPipe), it will feed the former to the latter and you'll get an `IO Handle` out. |
2021-02-03 01:38:06 +0100 | <ectospasm> | OK, that compiles! |
2021-02-03 01:38:12 +0100 | <fizzie> | (Also, if you talk to a real Haskell person, I'm sure you'll get much more theoretically elegant way of doing all this.) |
2021-02-03 01:39:33 +0100 | <ectospasm> | Well, I'm back in X, so this will work for now. |
2021-02-03 01:40:17 +0100 | <ectospasm> | And the actual problem I was trying to fix is now fixed. Before, centerBar and bottomBar were mere constant strings, but that broke the placement of my logHook. |
2021-02-03 01:40:38 +0100 | <fizzie> | FWIW, what you could *also* have done is just to make your main function `main = do { nScreens <- IS.countScreens; dzenCenterBar <- spawnPipe (getCenterBar nScreens); .. }`. In other words, you'd just explicitly run countScreens once in main, and then you have a plain old Int that you can pass to your getCenterBar. |
2021-02-03 01:40:39 +0100 | <ectospasm> | At least, it was broken in a single-screen scenario. |
2021-02-03 01:42:20 +0100 | <ectospasm> | That's basically what's happening in my toggleHomeScreens function. I'll see if I can clean it up later, but for now this will work! Thanks, fizzie! |
2021-02-03 02:33:31 +0100 | thc202 | (~thc202@unaffiliated/thc202) (Ping timeout: 258 seconds) |
2021-02-03 03:23:10 +0100 | wz1000 | (~wz1000@static.11.113.47.78.clients.your-server.de) (Ping timeout: 272 seconds) |
2021-02-03 03:25:03 +0100 | Hash | EnchanterTim |
2021-02-03 04:22:36 +0100 | theDon | (~td@94.134.91.201) (Ping timeout: 240 seconds) |
2021-02-03 04:24:34 +0100 | theDon | (~td@94.134.91.50) |
2021-02-03 04:29:12 +0100 | everythingTaken | (~everythin@gateway/tor-sasl/everythingtaken) |
2021-02-03 04:36:33 +0100 | everythingTaken | (~everythin@gateway/tor-sasl/everythingtaken) (Quit: everythingTaken) |
2021-02-03 04:45:43 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving) |
2021-02-03 05:28:27 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-02-03 05:30:52 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) |
2021-02-03 05:32:14 +0100 | growpotk- | (~growpotki@130-45-30-154.dyn.grandenetworks.net) |
2021-02-03 05:38:04 +0100 | EnchanterTim | StonedApe |
2021-02-03 05:55:51 +0100 | materiyolo | (~materiyol@112.204.170.198) |
2021-02-03 06:17:19 +0100 | growpotk- | (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Ping timeout: 272 seconds) |
2021-02-03 06:48:16 +0100 | <StonedApe> | Hello |
2021-02-03 06:49:19 +0100 | <StonedApe> | When I make youtube video fullscreen, the alignment of the butons and seekbar is off. I have to push META+b to turn off panels. And then I can click button and use the seek bar. |
2021-02-03 06:50:29 +0100 | <StonedApe> | If panels are on, and I make youtube fullscreen, and go back to NOT fullscreen, the window is still messed up. I then quickly have to turn off panels with meta+b, then turn it back on with meta+b and then the chromeium browser window adjusts itself |
2021-02-03 06:50:40 +0100 | <StonedApe> | Is there any way to prevent this behavior |
2021-02-03 06:51:10 +0100 | <StonedApe> | https://termbin.com/5dfh here's my xmonad.hs |
2021-02-03 06:51:45 +0100 | <StonedApe> | xmonad $ docks $ ewmh defaultConfig |
2021-02-03 06:51:52 +0100 | <StonedApe> | manageHook = manageDocks <+> myManageHook <+> manageHook defaultConfig |
2021-02-03 06:52:04 +0100 | <StonedApe> | That's how I ahve it. |
2021-02-03 06:52:26 +0100 | <StonedApe> | , ("<F12>", sendMessage ToggleStruts) -- Expand and I use F12 to use toggleStruts |
2021-02-03 06:52:46 +0100 | <StonedApe> | avoidStruts . smartBorders in my layout hook |
2021-02-03 06:52:49 +0100 | <StonedApe> | Any ideas guys? |
2021-02-03 07:10:25 +0100 | palo1 | (~weechat@c-base/crew/palo) |
2021-02-03 07:12:28 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-02-03 07:13:15 +0100 | palo | (~weechat@c-base/crew/palo) (Ping timeout: 246 seconds) |
2021-02-03 07:13:15 +0100 | palo1 | palo |
2021-02-03 07:44:22 +0100 | lordie | (~lordie@168.194.157.104) |
2021-02-03 07:45:55 +0100 | <lordie> | Ar |
2021-02-03 08:01:16 +0100 | thoros | (~thoros@194-96-55-156.hdsl.highway.telekom.at) |
2021-02-03 08:08:58 +0100 | ChubaDuba | (~ChubaDuba@37.112.231.139) |
2021-02-03 08:16:46 +0100 | thc202 | (~thc202@unaffiliated/thc202) |
2021-02-03 08:18:11 +0100 | <StonedApe> | lordie: hello |
2021-02-03 08:18:49 +0100 | <StonedApe> | I used avodistruts because I wanted to hide xmobar when I make the video full screen |
2021-02-03 08:19:09 +0100 | <StonedApe> | if I use avoidstruts, I can hide xmobar with togglestruts |
2021-02-03 08:19:35 +0100 | <StonedApe> | But when I use it, I have to manually do all that I said prev. |
2021-02-03 08:20:06 +0100 | <StonedApe> | I just want to hide all bars/panels when video si full screen |
2021-02-03 08:20:30 +0100 | <StonedApe> | and have it done automatically, without having to do avoidstruts/toggle struts |
2021-02-03 08:44:47 +0100 | xaltsc | (~xaltsc@unaffiliated/xaltsc) |
2021-02-03 08:57:32 +0100 | <Solid> | StonedApe: this is because chromium expects xmonad to give it fullscreen on a _NET_WM_STATE_FULLSCREEN but it doesn't (the bar is still visible) |
2021-02-03 08:59:02 +0100 | <Solid> | oh I see you actually just want to hide the bar as well on fullscreen |
2021-02-03 08:59:11 +0100 | <StonedApe> | Correct |
2021-02-03 08:59:29 +0100 | <Solid> | in that case look into https://hackage.haskell.org/package/xmonad-contrib-0.16/docs/XMonad-Hooks-EwmhDesktops.html#v:ewmh |
2021-02-03 09:00:11 +0100 | <StonedApe> | xmonad $ docks $ ewmh defaultConfig |
2021-02-03 09:00:13 +0100 | <StonedApe> | I have this |
2021-02-03 09:00:29 +0100 | <StonedApe> | ewmhDesktopsEventHook |
2021-02-03 09:00:31 +0100 | <Solid> | have you added the `fullscreenEventHook' as well? |
2021-02-03 09:00:42 +0100 | <StonedApe> | I have not |
2021-02-03 09:00:50 +0100 | <StonedApe> | I'm just now learning about it |
2021-02-03 09:01:03 +0100 | <StonedApe> | I'll read through it some more |
2021-02-03 09:01:12 +0100 | <Solid> | this will be a bit nicer with the next release, but for now that's the way to do it |
2021-02-03 09:02:59 +0100 | <StonedApe> | Now I'm going to have trouble with the sytnax, haha |
2021-02-03 09:07:07 +0100 | <StonedApe> | https://termbin.com/70t0 new config, added the fullscree hook |
2021-02-03 09:07:22 +0100 | <StonedApe> | , handleEventHook = focusOnMouseMove <+> fullscreenEventHook |
2021-02-03 09:07:37 +0100 | <StonedApe> | Now I reload/restart/recompile xmoand and double click youtube video |
2021-02-03 09:07:50 +0100 | <StonedApe> | Now the kde panels auto hide, but xmobar still remains |
2021-02-03 09:08:00 +0100 | <StonedApe> | Do I need to turn off the struts module now? |
2021-02-03 09:08:17 +0100 | <StonedApe> | Oh nevermind. |
2021-02-03 09:08:23 +0100 | <StonedApe> | I reloaded the tab and now it's ok |
2021-02-03 09:08:30 +0100 | <Solid> | \o/ |
2021-02-03 09:08:32 +0100 | <StonedApe> | Oh brilliant. Thanks! |
2021-02-03 09:08:34 +0100 | <StonedApe> | OMG! |
2021-02-03 09:08:47 +0100 | <StonedApe> | Thanks for doing me a solid, Solid! |
2021-02-03 09:08:55 +0100 | <StonedApe> | Ala Kramer, Sienfeld |
2021-02-03 09:08:58 +0100 | <Solid> | :D |
2021-02-03 09:09:02 +0100 | <Solid> | my pleasure |
2021-02-03 09:09:16 +0100 | <StonedApe> | Hey that 1 month paste I saved, do you have a link for i |
2021-02-03 09:09:43 +0100 | <StonedApe> | remember I made a paste for that guy who was also asking once about kde panels/menu not working anymore in xmonad in latest kde |
2021-02-03 09:10:00 +0100 | <StonedApe> | There was the qt patch thing I posted about in the bot. I wodner if the paste is still active |
2021-02-03 09:10:02 +0100 | <StonedApe> | should refresh it |
2021-02-03 09:10:36 +0100 | <StonedApe> | !help |
2021-02-03 09:11:08 +0100 | <StonedApe> | hello bot |
2021-02-03 09:12:35 +0100 | <Solid> | mh a quick log-grepping doesn't seem to return anything useful |
2021-02-03 09:13:43 +0100 | <StonedApe> | My nickname would hve been Hash |
2021-02-03 09:14:59 +0100 | <StonedApe> | I need to learn how to grep weecha logs in clien. |
2021-02-03 09:15:05 +0100 | <Solid> | oh |
2021-02-03 09:15:08 +0100 | <Solid> | 2021-01-03 09:17:58 Hash ?tell ADG1089__ about https://paste.ee/p/iJiyf xmonad + kde launcher/menu patch fix (LONGER paste duration 1 mo) |
2021-02-03 09:15:12 +0100 | <Solid> | that one probably then |
2021-02-03 09:16:00 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2021-02-03 09:16:02 +0100 | <StonedApe> | ?tell ADG1089__ about https://paste.ee/p/iJiyf xmonad + kde launcher/menu patch fix (LONGER paste duration 1 mo) |
2021-02-03 09:16:02 +0100 | <lambdabot> | Consider it noted. |
2021-02-03 09:16:05 +0100 | <StonedApe> | I got it |
2021-02-03 09:16:07 +0100 | <StonedApe> | oh you got it too |
2021-02-03 09:16:09 +0100 | <StonedApe> | ooops |
2021-02-03 09:16:31 +0100 | <StonedApe> | Expires on January 3, 2022 at 08:17 AM (11 months from now) Oh nm. Whew. |
2021-02-03 09:22:37 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Ping timeout: 260 seconds) |
2021-02-03 09:47:44 +0100 | wz1000 | (~wz1000@static.11.113.47.78.clients.your-server.de) |
2021-02-03 10:32:00 +0100 | notis | (~notis@185.51.134.229) |
2021-02-03 10:35:42 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
2021-02-03 10:40:59 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2021-02-03 10:43:24 +0100 | lordie | (~lordie@168.194.157.104) (Remote host closed the connection) |
2021-02-03 10:51:18 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection) |
2021-02-03 10:51:20 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2021-02-03 10:51:40 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) |
2021-02-03 11:49:42 +0100 | materiyolo | (~materiyol@112.204.170.198) (Quit: WeeChat 2.9) |
2021-02-03 12:32:23 +0100 | mc47 | (~yecinem@89.246.239.190) |
2021-02-03 12:32:41 +0100 | mc47 | (~yecinem@89.246.239.190) (Remote host closed the connection) |
2021-02-03 12:33:04 +0100 | mc47 | (~yecinem@89.246.239.190) |
2021-02-03 12:37:22 +0100 | meck | (~meck@li1809-18.members.linode.com) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-02-03 13:49:45 +0100 | mc47 | (~yecinem@89.246.239.190) (Ping timeout: 240 seconds) |
2021-02-03 14:18:58 +0100 | gazler__ | (~gazler@2001:8b0:b165:a8d2:d19:fc83:e0fa:4af3) |
2021-02-03 14:21:33 +0100 | gazler_ | (~gazler@195.107.2.81.in-addr.arpa) (Ping timeout: 264 seconds) |
2021-02-03 14:24:32 +0100 | geekosaur | (82650c7c@130.101.12.124) |
2021-02-03 14:40:36 +0100 | Irishluck83 | (~Irishluck@unaffiliated/irishluck83) (Ping timeout: 240 seconds) |
2021-02-03 14:41:46 +0100 | Irishluck83 | (~Irishluck@149.28.126.73) |
2021-02-03 14:41:46 +0100 | Irishluck83 | (~Irishluck@149.28.126.73) (Changing host) |
2021-02-03 14:41:46 +0100 | Irishluck83 | (~Irishluck@unaffiliated/irishluck83) |
2021-02-03 15:07:35 +0100 | mc47 | (~yecinem@89.246.239.190) |
2021-02-03 15:17:02 +0100 | geekosaur | (82650c7c@130.101.12.124) (Ping timeout: 240 seconds) |
2021-02-03 15:27:58 +0100 | geekosaur | (ac3a8ee4@172.58.142.228) |
2021-02-03 15:46:56 +0100 | geekosaur | (ac3a8ee4@172.58.142.228) (Quit: Ping timeout (120 seconds)) |
2021-02-03 16:02:44 +0100 | seschwar | (~seschwar@unaffiliated/seschwar) |
2021-02-03 16:26:57 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0) |
2021-02-03 16:48:52 +0100 | evanjs | (~evanjs@075-129-098-007.res.spectrum.com) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-02-03 16:49:52 +0100 | evanjs | (~evanjs@075-129-098-007.res.spectrum.com) |
2021-02-03 16:55:37 +0100 | <Solid> | https://github.com/xmonad/xmonad/blob/master/src/XMonad/Operations.hs#L169 |
2021-02-03 16:55:43 +0100 | <Solid> | would anyone shout at me if I made this a nubOrd? |
2021-02-03 16:56:05 +0100 | <Solid> | It's not like this will ever matter, but it *feels* better to replace n^2 operations wherever we can |
2021-02-03 16:56:09 +0100 | <dminuoso> | what is nubOrd? |
2021-02-03 16:56:22 +0100 | <dminuoso> | Well, we have containers. Just nub through Set? |
2021-02-03 16:56:25 +0100 | <Solid> | yes |
2021-02-03 16:56:39 +0100 | <Solid> | it's in new versions of containers |
2021-02-03 16:57:01 +0100 | <dminuoso> | Oh, there's a dedicated `nub` for it there? |
2021-02-03 16:57:03 +0100 | <Solid> | basically just use the Ord instance of something to filter unique's in (n log n ) |
2021-02-03 16:57:08 +0100 | <dminuoso> | https://hackage.haskell.org/package/containers-0.6.4.1/docs/Data-Containers-ListUtils.html |
2021-02-03 16:57:11 +0100 | <dminuoso> | Ahh, I did not know this! |
2021-02-03 16:57:21 +0100 | dminuoso | quickly prepares a new commit on his main project... |
2021-02-03 16:57:25 +0100 | <Solid> | :D |
2021-02-03 16:57:28 +0100 | <dminuoso> | Oh good lord |
2021-02-03 16:57:31 +0100 | <dminuoso> | nubOrdOn! |
2021-02-03 16:57:48 +0100 | <dminuoso> | Solid: Free beer guaranteed on the next conference we meet! |
2021-02-03 16:58:01 +0100 | <Solid> | excellent! :) |
2021-02-03 16:59:22 +0100 | <Solid> | I think depending on the internals of HashSet from unordered containers using that *may* be faster in some circumstances, but that's probably negligible (plus, it's be unstable) |
2021-02-03 17:05:05 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) |
2021-02-03 17:07:46 +0100 | <Liskni_si> | Solid: if you've got some free time, you may want to actually benchmark nub vs nubOrd using criterion on varying list (of Window) sizes |
2021-02-03 17:08:04 +0100 | thoros | (~thoros@194-96-55-156.hdsl.highway.telekom.at) (Quit: WeeChat 3.0) |
2021-02-03 17:08:17 +0100 | <Liskni_si> | I'm guessing nub will actually be faster up to some two-digit number |
2021-02-03 17:08:47 +0100 | <Liskni_si> | (the only value of this exercise being that you can then make such guesses and feel smart in a conversation) |
2021-02-03 17:08:56 +0100 | <Solid> | :) |
2021-02-03 17:09:02 +0100 | <Solid> | Liskni_si: sounds like a good idea actually |
2021-02-03 17:09:03 +0100 | mc47 | (~yecinem@89.246.239.190) (Ping timeout: 258 seconds) |
2021-02-03 17:10:08 +0100 | <Liskni_si> | (Google interviewers ask people these kind of questions, and so do interviewers anywhere where databases are involved :-)) |
2021-02-03 17:11:08 +0100 | <Liskni_si> | which reminds me, that if we ever get the opportunity to rewrite xmonad (like, say, if Wayland takes off), we should ditch String |
2021-02-03 17:11:30 +0100 | <Solid> | oh definitely |
2021-02-03 17:11:35 +0100 | <Solid> | Text all the way |
2021-02-03 17:12:18 +0100 | <Liskni_si> | right now it's not just slow, but also X11 uses String as if it was a utf-8 byte string, and that's just totally fucked up |
2021-02-03 17:12:40 +0100 | <Liskni_si> | not necessarily utf-8, even |
2021-02-03 17:14:43 +0100 | <psibi[m]> | In my setup, the most CPU intensive part seems to be xmobar. xmonad stays at 0% CPU and memory consumption for majority of the time. |
2021-02-03 17:16:08 +0100 | <psibi[m]> | It would be nice to observe the statistics in a more streamlined way. Does anybody here know an easy way to achieve it ? |
2021-02-03 17:17:55 +0100 | <Liskni_si> | that's actually an interesting observation |
2021-02-03 17:18:35 +0100 | <Liskni_si> | xmonad does a _lot_ of unnecessary work on every refresh (window switch, etc.) |
2021-02-03 17:18:52 +0100 | <Liskni_si> | yet it still consumes less CPU than xmobar, here as well |
2021-02-03 17:18:53 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2021-02-03 17:19:16 +0100 | <Liskni_si> | and if I remember correctly, psibi[m] doesn't even have xmobar refreshing once a second like me, right? |
2021-02-03 17:19:53 +0100 | <psibi[m]> | Yeah, I have very less refreshing. |
2021-02-03 17:20:10 +0100 | <psibi[m]> | My guess is the bottleneck is in xft rendering. |
2021-02-03 17:20:20 +0100 | <psibi[m]> | But I don't have sufficient data or benchmark to prove it. |
2021-02-03 17:20:21 +0100 | <Liskni_si> | I don't have xft |
2021-02-03 17:20:46 +0100 | <psibi[m]> | How does your xmobar perf look like ? |
2021-02-03 17:21:04 +0100 | <psibi[m]> | I see frequent CPU and memory jump in my xmobar setup. |
2021-02-03 17:21:06 +0100 | davemq | (~davemq@99-179-0-50.lightspeed.austtx.sbcglobal.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-02-03 17:21:29 +0100 | <Liskni_si> | 1 minute 30 seconds of CPU time after 5 hours 20 minutes |
2021-02-03 17:21:39 +0100 | <Liskni_si> | xmonad is at 2:48 after 3 _days_ |
2021-02-03 17:22:35 +0100 | <Liskni_si> | I don't really observe significant jumps in xmobar cpu usage, it's at 0.3% most of the time and it goes up to 0.7% every few seconds when it needs to redraw the battery and temperature stuff |
2021-02-03 17:22:56 +0100 | <Liskni_si> | and that's not really CPU time really, most of that 0.4 is spent in ACPI |
2021-02-03 17:23:16 +0100 | <Liskni_si> | (maybe the kernel busyloops or something, dunno, don't care) |
2021-02-03 17:24:35 +0100 | <Liskni_si> | I would expect the 0.3 number to be less though, it's just rendering some text |
2021-02-03 17:26:33 +0100 | <Liskni_si> | if I run top -d 1 it seems the terminal consumes less cpu than xmobar :-) |
2021-02-03 17:26:34 +0100 | ChubaDuba | (~ChubaDuba@37.112.231.139) (Read error: Connection reset by peer) |
2021-02-03 17:26:45 +0100 | <Liskni_si> | even though it does more |
2021-02-03 17:27:08 +0100 | ChubaDuba | (~ChubaDuba@37.112.231.139) |
2021-02-03 17:30:32 +0100 | davemq | (~davemq@99-179-0-50.lightspeed.austtx.sbcglobal.net) |
2021-02-03 17:50:03 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0) |
2021-02-03 18:03:55 +0100 | geekosaur | (82650c7c@130.101.12.124) |
2021-02-03 18:09:26 +0100 | <psibi[m]> | How do you observer the 2:48 part ? I remember you mentioning it an xmobar issue which we were discussing previously, but I guess I forgot the details. |
2021-02-03 18:09:36 +0100 | <geekosaur> | ps? |
2021-02-03 18:10:46 +0100 | <geekosaur> | also, fwiw xmonad in my experience performs very poorly with hundreds of windows. not that people have that many windows normally (I discovered it through malfunction of a messaging system that created 1 window per message) |
2021-02-03 18:11:17 +0100 | <psibi[m]> | Ah, thanks. But for me the bottleneck is xmobar instead of xmonad. :-) |
2021-02-03 18:11:19 +0100 | <geekosaur> | this is likely to have as much to do with the layout using lists as it is nub vs. nubOrd |
2021-02-03 18:12:20 +0100 | <psibi[m]> | xmobar usage: 5:37 out of 9:37 |
2021-02-03 18:12:20 +0100 | <psibi[m]> | xmonad usage: 0:09 out of 9:37 |
2021-02-03 18:12:57 +0100 | <psibi[m]> | That's the statistics for my machine. |
2021-02-03 18:13:20 +0100 | <geekosaur> | iirc xmobar wakes up a lot when it doesn't need to |
2021-02-03 18:14:12 +0100 | <geekosaur> | like it checks some things every 1/10 second even when you use larger delays in the commands list |
2021-02-03 18:15:07 +0100 | <psibi[m]> | Yeah, I think that code is still there. |
2021-02-03 18:15:11 +0100 | <geekosaur> | it's pretty sad when I have a pair of decked-out mate-panels (which share a process) and it uses less cpu than xmobar would in my experience |
2021-02-03 18:15:59 +0100 | <psibi[m]> | Do you use xmobar or any other ones ? I would like to stick to xmobar because it's easy to understand the code! |
2021-02-03 18:16:45 +0100 | <geekosaur> | I use xmonad with mate so I run mate-panel with an xmonad-log-applet in it |
2021-02-03 18:20:46 +0100 | <psibi[m]> | Ah, I see. |
2021-02-03 18:41:47 +0100 | mc47 | (~yecinem@89.246.239.190) |
2021-02-03 18:45:46 +0100 | <Liskni_si> | psibi[m]: the numbers I wrote here were from ps, yeah |
2021-02-03 18:46:40 +0100 | <Liskni_si> | psibi[m]: a few months ago when we were obsessing around the timezone refresh in xmobar I did a bit more precise measurements, but now I just looked at the "started at" and "cpu usage" columns in ps |
2021-02-03 18:47:30 +0100 | <Liskni_si> | geekosaur: I fixed the wakeup issue a couple months ago |
2021-02-03 18:48:27 +0100 | <Liskni_si> | geekosaur: it requires threaded rts and the implementation isn't as elegant as one would expect a cooperative-multitasking timer coalescing thing to be, so there probably is some overhead, but xmobar does wake up exactly once per second here |
2021-02-03 18:52:16 +0100 | geekosaur | (82650c7c@130.101.12.124) (Quit: Ping timeout (120 seconds)) |
2021-02-03 18:54:52 +0100 | geekosaur | (82650c7c@130.101.12.124) |
2021-02-03 18:58:01 +0100 | <Solid> | Liskni_si: you were right, if we need the list in normal form (not whnf), then nubOrd is slower up until like ~15 windows |
2021-02-03 18:58:57 +0100 | <Liskni_si> | Solid: good thing I said "two-digit number" and not "about 50" as I wanted :-) |
2021-02-03 18:59:08 +0100 | <Solid> | :D |
2021-02-03 18:59:21 +0100 | <Liskni_si> | it's been a while since my last Google interview :-D |
2021-02-03 19:14:17 +0100 | ChubaDuba | (~ChubaDuba@37.112.231.139) (Quit: WeeChat 1.6) |
2021-02-03 19:30:30 +0100 | themc47 | (~yecinem@89.246.239.190) |
2021-02-03 19:32:45 +0100 | mc47 | (~yecinem@89.246.239.190) (Ping timeout: 240 seconds) |
2021-02-03 19:45:37 +0100 | themc47 | (~yecinem@89.246.239.190) (Quit: Leaving) |
2021-02-03 19:45:53 +0100 | mc47 | (~yecinem@89.246.239.190) |
2021-02-03 20:01:53 +0100 | StonedApe | Hash |
2021-02-03 20:18:02 +0100 | geekosaur | (82650c7c@130.101.12.124) (Ping timeout: 240 seconds) |
2021-02-03 20:57:12 +0100 | sam_d | (~sam@unaffiliated/sam-d/x-1905598) (Read error: Connection reset by peer) |
2021-02-03 20:57:43 +0100 | sam_d | (~sam@unaffiliated/sam-d/x-1905598) |
2021-02-03 20:57:58 +0100 | geekosaur | (82650c7c@130.101.12.124) |
2021-02-03 20:58:22 +0100 | ixian | (~mgold@2002:4a74:ba78:1701:0:ff:fe78:6269) (Ping timeout: 265 seconds) |
2021-02-03 21:01:23 +0100 | ixian | (~mgold@2002:4a74:ba78:1701:0:ff:fe78:6269) |
2021-02-03 22:10:10 +0100 | ADG1089__ | (~aditya@223.236.190.35) |
2021-02-03 22:27:17 +0100 | dxld | (~dxld@rush.pub.dxld.at) (Quit: Bye) |
2021-02-03 22:28:17 +0100 | ADG1089__ | (~aditya@223.236.190.35) (Remote host closed the connection) |
2021-02-03 22:33:20 +0100 | endiruna | (~endiendir@46.101.187.207) |
2021-02-03 22:34:06 +0100 | <endiruna> | hi! new to xmonad. coming from i3. is there someone who could share his xmobar configuration that shows workspaces and clickable? |
2021-02-03 22:35:29 +0100 | <Liskni_si> | endiruna: are you comfortable running xmonad and xmonad-contrib from git or do you something that works with the last release? |
2021-02-03 22:36:31 +0100 | <endiruna> | yes. I wanted to learn also a bit of haskell |
2021-02-03 22:37:39 +0100 | <Liskni_si> | in that case, https://github.com/xmonad/xmonad-contrib/blob/master/XMonad/Util/ClickableWorkspaces.hs#L29-L37 should be all you need :-) |
2021-02-03 22:39:02 +0100 | <Liskni_si> | (I could show you my config as well but I'm using features of xmonad-contrib that aren't merged yet) |
2021-02-03 22:48:22 +0100 | mc47 | (~yecinem@89.246.239.190) (Remote host closed the connection) |
2021-02-03 22:49:24 +0100 | geekosaur | (82650c7c@130.101.12.124) (Quit: Connection closed) |
2021-02-03 22:50:06 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
2021-02-03 22:50:30 +0100 | geekosaur | (82650c7c@130.101.12.124) |
2021-02-03 22:50:50 +0100 | <endiruna> | thanks! |
2021-02-03 22:51:58 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2021-02-03 23:06:59 +0100 | geekosaur | (82650c7c@130.101.12.124) (Quit: Connection closed) |
2021-02-03 23:27:01 +0100 | ADG1089__ | (~aditya@223.236.190.35) |
2021-02-03 23:34:05 +0100 | endiruna | (~endiendir@46.101.187.207) (Ping timeout: 272 seconds) |
2021-02-03 23:35:59 +0100 | dxld | (~dxld@rush.pub.dxld.at) |