Logs on 2021-02-03 (freenode/#xmonad)
| 00:14:00 | × | notis quits (~notis@185.51.134.230) (Read error: Connection reset by peer) |
| 00:17:07 | <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 |
| 00:17:21 | <ectospasm> | Here's my current xmonad.hs: http://io.ix/2Oa8 |
| 00:18:29 | <ectospasm> | whoops |
| 00:18:34 | <ectospasm> | Those urls are wrong |
| 00:18:49 | <ectospasm> | Here's my error: http://ix.io/2Oa9 |
| 00:19:05 | <ectospasm> | Here's my xmonad.hs: http://ix.io/2Oa8 |
| 00:21:41 | <fizzie> | Those are the same URLs. But ix.io has been frequently wrong as of late. |
| 00:22:57 | <fizzie> | Oh, I entirely missed you had translated 'io' and 'ix'. Ignore what I said, then. |
| 00:23:06 | <fizzie> | (But it's *also* true that ix.io's been flaky.) |
| 00:25:11 | <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. |
| 00:25:54 | <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. |
| 00:27:29 | <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? |
| 00:28:16 | <ectospasm> | Would I set the type definition to be X () -> Int -> String? I'm still unclear on how that works. |
| 00:29:19 | <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; ... }. |
| 00:29:58 | → | gazler_ joins (~gazler@195.107.2.81.in-addr.arpa) |
| 00:31:22 | <fizzie> | Or `do { dzenCenterBar -> centerBar >>= spawnPipe; ... }` should also work, I guess. |
| 00:31:33 | <ectospasm> | don't I already have `dzenCenterBar <- spawnPipe centerBar`? |
| 00:31:44 | <fizzie> | Yes, but that's not what I wrote. |
| 00:32:39 | <ectospasm> | No, I guess I don't understand what the difference between what I have and what you wrote is. |
| 00:32:51 | × | gazler quits (~gazler@195.107.2.81.in-addr.arpa) (Ping timeout: 265 seconds) |
| 00:33:04 | <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. |
| 00:33:59 | <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`. |
| 00:34:30 | <ectospasm> | Ah, OK. I get confused with all these types flying around. |
| 00:34:49 | <ectospasm> | Let me try that. |
| 00:34:53 | <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. |
| 00:37:10 | <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. |
| 00:38:06 | <ectospasm> | OK, that compiles! |
| 00:38:12 | <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.) |
| 00:39:33 | <ectospasm> | Well, I'm back in X, so this will work for now. |
| 00:40:17 | <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. |
| 00:40:38 | <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. |
| 00:40:39 | <ectospasm> | At least, it was broken in a single-screen scenario. |
| 00:42:20 | <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! |
| 01:33:31 | × | thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 258 seconds) |
| 02:23:10 | × | wz1000 quits (~wz1000@static.11.113.47.78.clients.your-server.de) (Ping timeout: 272 seconds) |
| 02:25:03 | Hash | is now known as EnchanterTim |
| 03:22:36 | × | theDon quits (~td@94.134.91.201) (Ping timeout: 240 seconds) |
| 03:24:34 | → | theDon joins (~td@94.134.91.50) |
| 03:29:12 | → | everythingTaken joins (~everythin@gateway/tor-sasl/everythingtaken) |
| 03:36:33 | × | everythingTaken quits (~everythin@gateway/tor-sasl/everythingtaken) (Quit: everythingTaken) |
| 03:45:43 | × | abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving) |
| 04:28:27 | × | growpotkin quits (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 04:30:52 | → | growpotkin joins (~growpotki@130-45-30-154.dyn.grandenetworks.net) |
| 04:32:14 | → | growpotk- joins (~growpotki@130-45-30-154.dyn.grandenetworks.net) |
| 04:38:04 | EnchanterTim | is now known as StonedApe |
| 04:55:51 | → | materiyolo joins (~materiyol@112.204.170.198) |
| 05:17:19 | × | growpotk- quits (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Ping timeout: 272 seconds) |
| 05:48:16 | <StonedApe> | Hello |
| 05:49:19 | <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. |
| 05:50:29 | <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 |
| 05:50:40 | <StonedApe> | Is there any way to prevent this behavior |
| 05:51:10 | <StonedApe> | https://termbin.com/5dfh here's my xmonad.hs |
| 05:51:45 | <StonedApe> | xmonad $ docks $ ewmh defaultConfig |
| 05:51:52 | <StonedApe> | manageHook = manageDocks <+> myManageHook <+> manageHook defaultConfig |
| 05:52:04 | <StonedApe> | That's how I ahve it. |
| 05:52:26 | <StonedApe> | , ("<F12>", sendMessage ToggleStruts) -- Expand and I use F12 to use toggleStruts |
| 05:52:46 | <StonedApe> | avoidStruts . smartBorders in my layout hook |
| 05:52:49 | <StonedApe> | Any ideas guys? |
| 06:10:25 | → | palo1 joins (~weechat@c-base/crew/palo) |
| 06:12:28 | × | growpotkin quits (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 06:13:15 | × | palo quits (~weechat@c-base/crew/palo) (Ping timeout: 246 seconds) |
| 06:13:15 | palo1 | is now known as palo |
| 06:44:22 | → | lordie joins (~lordie@168.194.157.104) |
| 06:45:55 | <lordie> | Ar |
| 07:01:16 | → | thoros joins (~thoros@194-96-55-156.hdsl.highway.telekom.at) |
| 07:08:58 | → | ChubaDuba joins (~ChubaDuba@37.112.231.139) |
| 07:16:46 | → | thc202 joins (~thc202@unaffiliated/thc202) |
| 07:18:11 | <StonedApe> | lordie: hello |
| 07:18:49 | <StonedApe> | I used avodistruts because I wanted to hide xmobar when I make the video full screen |
| 07:19:09 | <StonedApe> | if I use avoidstruts, I can hide xmobar with togglestruts |
| 07:19:35 | <StonedApe> | But when I use it, I have to manually do all that I said prev. |
| 07:20:06 | <StonedApe> | I just want to hide all bars/panels when video si full screen |
| 07:20:30 | <StonedApe> | and have it done automatically, without having to do avoidstruts/toggle struts |
| 07:44:47 | → | xaltsc joins (~xaltsc@unaffiliated/xaltsc) |
| 07:57:32 | <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) |
| 07:59:02 | <Solid> | oh I see you actually just want to hide the bar as well on fullscreen |
| 07:59:11 | <StonedApe> | Correct |
| 07:59:29 | <Solid> | in that case look into https://hackage.haskell.org/package/xmonad-contrib-0.16/docs/XMonad-Hooks-EwmhDesktops.html#v:ewmh |
| 08:00:11 | <StonedApe> | xmonad $ docks $ ewmh defaultConfig |
| 08:00:13 | <StonedApe> | I have this |
| 08:00:29 | <StonedApe> | ewmhDesktopsEventHook |
| 08:00:31 | <Solid> | have you added the `fullscreenEventHook' as well? |
| 08:00:42 | <StonedApe> | I have not |
| 08:00:50 | <StonedApe> | I'm just now learning about it |
| 08:01:03 | <StonedApe> | I'll read through it some more |
| 08:01:12 | <Solid> | this will be a bit nicer with the next release, but for now that's the way to do it |
| 08:02:59 | <StonedApe> | Now I'm going to have trouble with the sytnax, haha |
| 08:07:07 | <StonedApe> | https://termbin.com/70t0 new config, added the fullscree hook |
| 08:07:22 | <StonedApe> | , handleEventHook = focusOnMouseMove <+> fullscreenEventHook |
| 08:07:37 | <StonedApe> | Now I reload/restart/recompile xmoand and double click youtube video |
| 08:07:50 | <StonedApe> | Now the kde panels auto hide, but xmobar still remains |
| 08:08:00 | <StonedApe> | Do I need to turn off the struts module now? |
| 08:08:17 | <StonedApe> | Oh nevermind. |
| 08:08:23 | <StonedApe> | I reloaded the tab and now it's ok |
| 08:08:30 | <Solid> | \o/ |
| 08:08:32 | <StonedApe> | Oh brilliant. Thanks! |
| 08:08:34 | <StonedApe> | OMG! |
| 08:08:47 | <StonedApe> | Thanks for doing me a solid, Solid! |
| 08:08:55 | <StonedApe> | Ala Kramer, Sienfeld |
| 08:08:58 | <Solid> | :D |
| 08:09:02 | <Solid> | my pleasure |
| 08:09:16 | <StonedApe> | Hey that 1 month paste I saved, do you have a link for i |
| 08:09:43 | <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 |
| 08:10:00 | <StonedApe> | There was the qt patch thing I posted about in the bot. I wodner if the paste is still active |
| 08:10:02 | <StonedApe> | should refresh it |
| 08:10:36 | <StonedApe> | !help |
| 08:11:08 | <StonedApe> | hello bot |
| 08:12:35 | <Solid> | mh a quick log-grepping doesn't seem to return anything useful |
| 08:13:43 | <StonedApe> | My nickname would hve been Hash |
| 08:14:59 | <StonedApe> | I need to learn how to grep weecha logs in clien. |
| 08:15:05 | <Solid> | oh |
| 08:15:08 | <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) |
| 08:15:12 | <Solid> | that one probably then |
| 08:16:00 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 08:16:02 | <StonedApe> | ?tell ADG1089__ about https://paste.ee/p/iJiyf xmonad + kde launcher/menu patch fix (LONGER paste duration 1 mo) |
| 08:16:02 | <lambdabot> | Consider it noted. |
| 08:16:05 | <StonedApe> | I got it |
| 08:16:07 | <StonedApe> | oh you got it too |
| 08:16:09 | <StonedApe> | ooops |
| 08:16:31 | <StonedApe> | Expires on January 3, 2022 at 08:17 AM (11 months from now) Oh nm. Whew. |
| 08:22:37 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Ping timeout: 260 seconds) |
| 08:47:44 | → | wz1000 joins (~wz1000@static.11.113.47.78.clients.your-server.de) |
| 09:32:00 | → | notis joins (~notis@185.51.134.229) |
| 09:35:42 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 09:40:59 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 09:43:24 | × | lordie quits (~lordie@168.194.157.104) (Remote host closed the connection) |
| 09:51:18 | × | hexo quits (~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection) |
| 09:51:20 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 09:51:40 | → | hexo joins (~hexo@gateway/tor-sasl/hexo) |
| 10:49:42 | × | materiyolo quits (~materiyol@112.204.170.198) (Quit: WeeChat 2.9) |
| 11:32:23 | → | mc47 joins (~yecinem@89.246.239.190) |
| 11:32:41 | × | mc47 quits (~yecinem@89.246.239.190) (Remote host closed the connection) |
| 11:33:04 | → | mc47 joins (~yecinem@89.246.239.190) |
| 11:37:22 | × | meck quits (~meck@li1809-18.members.linode.com) (Quit: ZNC 1.8.2 - https://znc.in) |
| 12:49:45 | × | mc47 quits (~yecinem@89.246.239.190) (Ping timeout: 240 seconds) |
| 13:18:58 | → | gazler__ joins (~gazler@2001:8b0:b165:a8d2:d19:fc83:e0fa:4af3) |
| 13:21:33 | × | gazler_ quits (~gazler@195.107.2.81.in-addr.arpa) (Ping timeout: 264 seconds) |
| 13:24:32 | → | geekosaur joins (82650c7c@130.101.12.124) |
| 13:40:36 | × | Irishluck83 quits (~Irishluck@unaffiliated/irishluck83) (Ping timeout: 240 seconds) |
| 13:41:46 | → | Irishluck83 joins (~Irishluck@149.28.126.73) |
| 13:41:46 | × | Irishluck83 quits (~Irishluck@149.28.126.73) (Changing host) |
| 13:41:46 | → | Irishluck83 joins (~Irishluck@unaffiliated/irishluck83) |
| 14:07:35 | → | mc47 joins (~yecinem@89.246.239.190) |
| 14:17:02 | × | geekosaur quits (82650c7c@130.101.12.124) (Ping timeout: 240 seconds) |
| 14:27:58 | → | geekosaur joins (ac3a8ee4@172.58.142.228) |
| 14:46:56 | × | geekosaur quits (ac3a8ee4@172.58.142.228) (Quit: Ping timeout (120 seconds)) |
| 15:02:44 | → | seschwar joins (~seschwar@unaffiliated/seschwar) |
| 15:26:57 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0) |
| 15:48:52 | × | evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Quit: ZNC 1.8.2 - https://znc.in) |
| 15:49:52 | → | evanjs joins (~evanjs@075-129-098-007.res.spectrum.com) |
| 15:55:37 | <Solid> | https://github.com/xmonad/xmonad/blob/master/src/XMonad/Operations.hs#L169 |
| 15:55:43 | <Solid> | would anyone shout at me if I made this a nubOrd? |
| 15:56:05 | <Solid> | It's not like this will ever matter, but it *feels* better to replace n^2 operations wherever we can |
| 15:56:09 | <dminuoso> | what is nubOrd? |
| 15:56:22 | <dminuoso> | Well, we have containers. Just nub through Set? |
| 15:56:25 | <Solid> | yes |
| 15:56:39 | <Solid> | it's in new versions of containers |
| 15:57:01 | <dminuoso> | Oh, there's a dedicated `nub` for it there? |
| 15:57:03 | <Solid> | basically just use the Ord instance of something to filter unique's in (n log n ) |
| 15:57:08 | <dminuoso> | https://hackage.haskell.org/package/containers-0.6.4.1/docs/Data-Containers-ListUtils.html |
| 15:57:11 | <dminuoso> | Ahh, I did not know this! |
| 15:57:21 | dminuoso | quickly prepares a new commit on his main project... |
| 15:57:25 | <Solid> | :D |
| 15:57:28 | <dminuoso> | Oh good lord |
| 15:57:31 | <dminuoso> | nubOrdOn! |
| 15:57:48 | <dminuoso> | Solid: Free beer guaranteed on the next conference we meet! |
| 15:58:01 | <Solid> | excellent! :) |
| 15:59:22 | <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) |
| 16:05:05 | → | growpotkin joins (~growpotki@130-45-30-154.dyn.grandenetworks.net) |
| 16:07:46 | <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 |
| 16:08:04 | × | thoros quits (~thoros@194-96-55-156.hdsl.highway.telekom.at) (Quit: WeeChat 3.0) |
| 16:08:17 | <Liskni_si> | I'm guessing nub will actually be faster up to some two-digit number |
| 16:08:47 | <Liskni_si> | (the only value of this exercise being that you can then make such guesses and feel smart in a conversation) |
| 16:08:56 | <Solid> | :) |
| 16:09:02 | <Solid> | Liskni_si: sounds like a good idea actually |
| 16:09:03 | × | mc47 quits (~yecinem@89.246.239.190) (Ping timeout: 258 seconds) |
| 16:10:08 | <Liskni_si> | (Google interviewers ask people these kind of questions, and so do interviewers anywhere where databases are involved :-)) |
| 16:11:08 | <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 |
| 16:11:30 | <Solid> | oh definitely |
| 16:11:35 | <Solid> | Text all the way |
| 16:12:18 | <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 |
| 16:12:40 | <Liskni_si> | not necessarily utf-8, even |
| 16:14:43 | <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. |
| 16:16:08 | <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 ? |
| 16:17:55 | <Liskni_si> | that's actually an interesting observation |
| 16:18:35 | <Liskni_si> | xmonad does a _lot_ of unnecessary work on every refresh (window switch, etc.) |
| 16:18:52 | <Liskni_si> | yet it still consumes less CPU than xmobar, here as well |
| 16:18:53 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 16:19:16 | <Liskni_si> | and if I remember correctly, psibi[m] doesn't even have xmobar refreshing once a second like me, right? |
| 16:19:53 | <psibi[m]> | Yeah, I have very less refreshing. |
| 16:20:10 | <psibi[m]> | My guess is the bottleneck is in xft rendering. |
| 16:20:20 | <psibi[m]> | But I don't have sufficient data or benchmark to prove it. |
| 16:20:21 | <Liskni_si> | I don't have xft |
| 16:20:46 | <psibi[m]> | How does your xmobar perf look like ? |
| 16:21:04 | <psibi[m]> | I see frequent CPU and memory jump in my xmobar setup. |
| 16:21:06 | × | davemq quits (~davemq@99-179-0-50.lightspeed.austtx.sbcglobal.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 16:21:29 | <Liskni_si> | 1 minute 30 seconds of CPU time after 5 hours 20 minutes |
| 16:21:39 | <Liskni_si> | xmonad is at 2:48 after 3 _days_ |
| 16:22:35 | <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 |
| 16:22:56 | <Liskni_si> | and that's not really CPU time really, most of that 0.4 is spent in ACPI |
| 16:23:16 | <Liskni_si> | (maybe the kernel busyloops or something, dunno, don't care) |
| 16:24:35 | <Liskni_si> | I would expect the 0.3 number to be less though, it's just rendering some text |
| 16:26:33 | <Liskni_si> | if I run top -d 1 it seems the terminal consumes less cpu than xmobar :-) |
| 16:26:34 | × | ChubaDuba quits (~ChubaDuba@37.112.231.139) (Read error: Connection reset by peer) |
| 16:26:45 | <Liskni_si> | even though it does more |
| 16:27:08 | → | ChubaDuba joins (~ChubaDuba@37.112.231.139) |
| 16:30:32 | → | davemq joins (~davemq@99-179-0-50.lightspeed.austtx.sbcglobal.net) |
| 16:50:03 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0) |
| 17:03:55 | → | geekosaur joins (82650c7c@130.101.12.124) |
| 17:09:26 | <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. |
| 17:09:36 | <geekosaur> | ps? |
| 17:10:46 | <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) |
| 17:11:17 | <psibi[m]> | Ah, thanks. But for me the bottleneck is xmobar instead of xmonad. :-) |
| 17:11:19 | <geekosaur> | this is likely to have as much to do with the layout using lists as it is nub vs. nubOrd |
| 17:12:20 | <psibi[m]> | xmobar usage: 5:37 out of 9:37 |
| 17:12:20 | <psibi[m]> | xmonad usage: 0:09 out of 9:37 |
| 17:12:57 | <psibi[m]> | That's the statistics for my machine. |
| 17:13:20 | <geekosaur> | iirc xmobar wakes up a lot when it doesn't need to |
| 17:14:12 | <geekosaur> | like it checks some things every 1/10 second even when you use larger delays in the commands list |
| 17:15:07 | <psibi[m]> | Yeah, I think that code is still there. |
| 17:15:11 | <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 |
| 17:15:59 | <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! |
| 17:16:45 | <geekosaur> | I use xmonad with mate so I run mate-panel with an xmonad-log-applet in it |
| 17:20:46 | <psibi[m]> | Ah, I see. |
| 17:41:47 | → | mc47 joins (~yecinem@89.246.239.190) |
| 17:45:46 | <Liskni_si> | psibi[m]: the numbers I wrote here were from ps, yeah |
| 17:46:40 | <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 |
| 17:47:30 | <Liskni_si> | geekosaur: I fixed the wakeup issue a couple months ago |
| 17:48:27 | <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 |
| 17:52:16 | × | geekosaur quits (82650c7c@130.101.12.124) (Quit: Ping timeout (120 seconds)) |
| 17:54:52 | → | geekosaur joins (82650c7c@130.101.12.124) |
| 17:58:01 | <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 |
| 17:58:57 | <Liskni_si> | Solid: good thing I said "two-digit number" and not "about 50" as I wanted :-) |
| 17:59:08 | <Solid> | :D |
| 17:59:21 | <Liskni_si> | it's been a while since my last Google interview :-D |
| 18:14:17 | × | ChubaDuba quits (~ChubaDuba@37.112.231.139) (Quit: WeeChat 1.6) |
| 18:30:30 | → | themc47 joins (~yecinem@89.246.239.190) |
| 18:32:45 | × | mc47 quits (~yecinem@89.246.239.190) (Ping timeout: 240 seconds) |
| 18:45:37 | × | themc47 quits (~yecinem@89.246.239.190) (Quit: Leaving) |
| 18:45:53 | → | mc47 joins (~yecinem@89.246.239.190) |
| 19:01:53 | StonedApe | is now known as Hash |
| 19:18:02 | × | geekosaur quits (82650c7c@130.101.12.124) (Ping timeout: 240 seconds) |
| 19:57:12 | × | sam_d quits (~sam@unaffiliated/sam-d/x-1905598) (Read error: Connection reset by peer) |
| 19:57:43 | → | sam_d joins (~sam@unaffiliated/sam-d/x-1905598) |
| 19:57:58 | → | geekosaur joins (82650c7c@130.101.12.124) |
| 19:58:22 | × | ixian quits (~mgold@2002:4a74:ba78:1701:0:ff:fe78:6269) (Ping timeout: 265 seconds) |
| 20:01:23 | → | ixian joins (~mgold@2002:4a74:ba78:1701:0:ff:fe78:6269) |
| 21:10:10 | → | ADG1089__ joins (~aditya@223.236.190.35) |
| 21:27:17 | × | dxld quits (~dxld@rush.pub.dxld.at) (Quit: Bye) |
| 21:28:17 | × | ADG1089__ quits (~aditya@223.236.190.35) (Remote host closed the connection) |
| 21:33:20 | → | endiruna joins (~endiendir@46.101.187.207) |
| 21:34:06 | <endiruna> | hi! new to xmonad. coming from i3. is there someone who could share his xmobar configuration that shows workspaces and clickable? |
| 21:35:29 | <Liskni_si> | endiruna: are you comfortable running xmonad and xmonad-contrib from git or do you something that works with the last release? |
| 21:36:31 | <endiruna> | yes. I wanted to learn also a bit of haskell |
| 21:37:39 | <Liskni_si> | in that case, https://github.com/xmonad/xmonad-contrib/blob/master/XMonad/Util/ClickableWorkspaces.hs#L29-L37 should be all you need :-) |
| 21:39:02 | <Liskni_si> | (I could show you my config as well but I'm using features of xmonad-contrib that aren't merged yet) |
| 21:48:22 | × | mc47 quits (~yecinem@89.246.239.190) (Remote host closed the connection) |
| 21:49:24 | × | geekosaur quits (82650c7c@130.101.12.124) (Quit: Connection closed) |
| 21:50:06 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 21:50:30 | → | geekosaur joins (82650c7c@130.101.12.124) |
| 21:50:50 | <endiruna> | thanks! |
| 21:51:58 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 22:06:59 | × | geekosaur quits (82650c7c@130.101.12.124) (Quit: Connection closed) |
| 22:27:01 | → | ADG1089__ joins (~aditya@223.236.190.35) |
| 22:34:05 | × | endiruna quits (~endiendir@46.101.187.207) (Ping timeout: 272 seconds) |
| 22:35:59 | → | dxld joins (~dxld@rush.pub.dxld.at) |
| 23:00:44 | → | endiruna joins (~endiendir@46.101.187.207) |
| 23:11:42 | × | ADG1089__ quits (~aditya@223.236.190.35) (Remote host closed the connection) |
| 23:13:27 | × | seschwar quits (~seschwar@unaffiliated/seschwar) (Quit: :wq) |
| 23:18:37 | × | xaltsc quits (~xaltsc@unaffiliated/xaltsc) (Ping timeout: 260 seconds) |
All times are in UTC on 2021-02-03.