2020/12/27

2020-12-27 00:51:46 +0100batdog(~batdog@lnsq.elkins.co) (Quit: Bye)
2020-12-27 01:06:50 +0100hexo(~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection)
2020-12-27 01:07:07 +0100hexo(~hexo@gateway/tor-sasl/hexo)
2020-12-27 01:44:17 +0100notis(~notis@85.203.44.165) (Ping timeout: 260 seconds)
2020-12-27 01:56:37 +0100xaltsc(~xaltsc@unaffiliated/xaltsc) (Quit: WeeChat 3.0)
2020-12-27 02:15:03 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 03:18:36 +0100rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
2020-12-27 04:01:05 +0100rabliatu(~quassel@143.202.160.84)
2020-12-27 04:09:01 +0100theDon(~td@94.134.91.197) (Ping timeout: 246 seconds)
2020-12-27 04:11:08 +0100theDon(~td@muedsl-82-207-238-021.citykom.de)
2020-12-27 04:25:27 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net)
2020-12-27 04:32:37 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net) (Ping timeout: 264 seconds)
2020-12-27 04:50:23 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net)
2020-12-27 05:05:53 +0100batdog(~batdog@lnsq.elkins.co)
2020-12-27 05:14:20 +0100batdog(~batdog@lnsq.elkins.co) (Quit: Bye)
2020-12-27 05:14:41 +0100batdog(~batdog@lnsq.elkins.co)
2020-12-27 05:17:40 +0100rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
2020-12-27 05:30:06 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2020-12-27 05:30:26 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 05:35:32 +0100vrs(~vrs@unaffiliated/vrs) (Ping timeout: 272 seconds)
2020-12-27 05:56:54 +0100rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 256 seconds)
2020-12-27 05:57:21 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in)
2020-12-27 05:59:17 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net)
2020-12-27 06:12:05 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in)
2020-12-27 06:15:26 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net)
2020-12-27 06:20:34 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in)
2020-12-27 06:22:25 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net)
2020-12-27 06:22:25 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net) (Client Quit)
2020-12-27 06:44:07 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2020-12-27 06:44:27 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 06:56:20 +0100tux1(~tux@ru1.metahumanvpn.network)
2020-12-27 07:01:20 +0100berberman_(~berberman@unaffiliated/berberman)
2020-12-27 07:02:12 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
2020-12-27 07:06:35 +0100 <tux1> how to get avoidStruts working with custom xmobar height?
2020-12-27 07:07:07 +0100 <tux1> it assumes default xmobar height and windows overdraw over xmobar slightly with avoidStruts
2020-12-27 07:11:46 +0100tux1(~tux@ru1.metahumanvpn.network) (Quit: WeeChat 2.9)
2020-12-27 07:12:13 +0100tux1(~tux@ru1.metahumanvpn.network)
2020-12-27 07:31:22 +0100palo1(~weechat@c-base/crew/palo)
2020-12-27 07:34:25 +0100palo(~weechat@c-base/crew/palo) (Ping timeout: 264 seconds)
2020-12-27 07:34:25 +0100palo1palo
2020-12-27 07:36:22 +0100tux1(~tux@ru1.metahumanvpn.network) (Quit: WeeChat 2.9)
2020-12-27 08:24:06 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2020-12-27 08:24:26 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 08:42:05 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2020-12-27 08:42:27 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 08:55:30 +0100mrbirkov(uid453780@gateway/web/irccloud.com/x-xzsphatjpbhjifjh)
2020-12-27 08:59:30 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net)
2020-12-27 09:07:25 +0100al3x27(~plovs@85.254.74.40)
2020-12-27 09:12:46 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in)
2020-12-27 09:17:28 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net)
2020-12-27 09:44:55 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in)
2020-12-27 09:47:57 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net)
2020-12-27 09:51:27 +0100 <Solid> ?tell tux1 it doesn't assume any kind of height, it gets the height from _NET_WM_STRUT_PARTIAL or _NET_WM_STRUT, which xmobar sets correctly if you change its height
2020-12-27 09:51:27 +0100 <lambdabot> Consider it noted.
2020-12-27 09:55:43 +0100notis(~notis@85.203.44.37)
2020-12-27 09:57:33 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in)
2020-12-27 10:00:02 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net)
2020-12-27 10:15:00 +0100 <al3x27> when I load mu xmonad.hs in ghci, it cannot find my own modules(?), but when compiling it does, how to "set" the loadpath for ghci?
2020-12-27 10:16:39 +0100 <al3x27> rtfm is ok, just /what/ fm?
2020-12-27 10:20:26 +0100 <al3x27> nm, google decided to answer correctly his time
2020-12-27 10:59:30 +0100gzj(~gzj@unaffiliated/gzj) (Ping timeout: 256 seconds)
2020-12-27 11:07:54 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in)
2020-12-27 11:24:45 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 11:38:38 +0100mrbirkov(uid453780@gateway/web/irccloud.com/x-xzsphatjpbhjifjh) (Quit: Connection closed for inactivity)
2020-12-27 12:04:35 +0100ADG1089__(~aditya@223.235.213.117)
2020-12-27 12:05:54 +0100 <ADG1089__> I am trying to run alacritty as a named scratchpad in xmonad using `alacritty -n scratchpad`
2020-12-27 12:06:00 +0100 <ADG1089__> did they remove the -n flag?
2020-12-27 12:06:49 +0100 <ADG1089__> works with --title
2020-12-27 12:13:05 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2020-12-27 12:13:25 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 12:21:09 +0100hexo(~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection)
2020-12-27 12:21:26 +0100hexo(~hexo@gateway/tor-sasl/hexo)
2020-12-27 12:22:25 +0100ADG1089__(~aditya@223.235.213.117) (Remote host closed the connection)
2020-12-27 12:43:07 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2020-12-27 12:43:27 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 13:03:15 +0100 <al3x27> it's brilliant that it's possible to load xmonad.hs in ghci!
2020-12-27 13:09:01 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2020-12-27 13:09:20 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 13:11:07 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2020-12-27 13:11:26 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 13:23:08 +0100 <Solid> ?tell ADG1089__ alacritty also has a --class flag, in case you want to set that instead
2020-12-27 13:23:09 +0100 <lambdabot> Consider it noted.
2020-12-27 13:40:21 +0100mc47(~yecinem@141.84.69.87)
2020-12-27 13:48:07 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2020-12-27 13:48:27 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 14:29:07 +0100gzj(~gzj@unaffiliated/gzj) (Read error: Connection reset by peer)
2020-12-27 14:29:27 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 14:31:19 +0100vrs(~vrs@unaffiliated/vrs)
2020-12-27 14:35:45 +0100gzj(~gzj@unaffiliated/gzj) (Ping timeout: 240 seconds)
2020-12-27 14:45:17 +0100ElKowar(~Srain@p3e9d26c7.dip0.t-ipconnect.de)
2020-12-27 14:46:29 +0100 <ElKowar> Is there already some way to improve how the cursor jumps across screen borders? I have multiple monitors with different resolutions, and I'd love to somehow make the cursor movement be less weird when moving across monitors
2020-12-27 14:47:23 +0100 <ElKowar> mainly I'd love to make it always able to jump, even if there technically isn't a screen (as in, if my bottom monitor is wider than the top one, and i want to move from the bottom to the top one while the mouse is that the outer edges of the bottom screen, it won't be able to move up, as there technically isn't a screen above that part ofthe monitor
2020-12-27 14:48:08 +0100 <ElKowar> i know about the screen corner thing that can execute code when cursor hits the corners of the screen. if there isn't anything already existing then I'll do it myself, just wanted to check first
2020-12-27 14:51:55 +0100rabliatu(~quassel@143.202.160.84) (Quit: 1)
2020-12-27 15:11:48 +0100 <Liskni_si> dunno but I remember I did something similar back when the max framebuffer size was 2048x2048 so you couldn't have two 1280x1024 monitors horizontally, maybe you'll be able to reuse something: https://github.com/liskin/xmousewarp
2020-12-27 15:12:05 +0100 <ElKowar> Will look at that, thanks!
2020-12-27 15:12:30 +0100 <Liskni_si> 14 f*ing years, omg, I feel old :-/
2020-12-27 15:13:46 +0100 <ElKowar> also currently looking at https://github.com/xmonad/xmonad-contrib/issues/369 (No WM_CLASS for window decorations). Do you think it'd be a good idea to just Add a WM_CLASS of "XMonad-Window" or something to everything that's created by XMonad.Util.XUtils.createNewWindow? Then maybe add a createNewWindowWithClass function or something for window-decors and whatever to set their own if they want to be more specific
2020-12-27 15:14:10 +0100 <ElKowar> seems like it would only help in rather rare cases, but I'd also not see any reason _not_ do to it
2020-12-27 15:14:18 +0100 <ElKowar> lol 14 years ago i was 6
2020-12-27 15:14:20 +0100 <ElKowar> ._.
2020-12-27 15:16:32 +0100 <Liskni_si> :-)
2020-12-27 15:16:51 +0100 <Liskni_si> I was freshman at uni
2020-12-27 15:17:45 +0100hexo(~hexo@gateway/tor-sasl/hexo) (Quit: ZNC 1.8.2 - https://znc.in)
2020-12-27 15:18:10 +0100hexo(~hexo@gateway/tor-sasl/hexo)
2020-12-27 15:21:12 +0100 <Liskni_si> re #369, I think it's reasonable to mark these decorations as such in some way
2020-12-27 15:21:35 +0100 <Liskni_si> I'd hope there's something more standard than using a custom WM_CLASS tho :-)
2020-12-27 15:22:21 +0100 <ElKowar> Not really, the main point of a WM_CLASS _is_ to have applications have a unique identifier that describes what a window is, so using that here is - at least as far as my understanding of X Idioms goes - the thing to do
2020-12-27 15:23:04 +0100 <Liskni_si> well what about https://specifications.freedesktop.org/wm-spec/wm-spec-1.3.html#idm45760170798096
2020-12-27 15:24:06 +0100 <Liskni_si> none of those seem to fit :-/
2020-12-27 15:25:09 +0100 <Liskni_si> I'd recommend looking through picom sources to find what conditions it uses to detect "special" windows and see if some of that is close enough to our usecase
2020-12-27 15:26:10 +0100 <ElKowar> in Picom the main thing you do is manually configure the excludes by way of WM_CLASS, window name, etc - pretty sure picom doesn't do any detection by itself
2020-12-27 15:26:44 +0100 <ElKowar> regardless of the usecase of specifically excluding stuff in picom, setting a WM_CLASS is definitely something we should do
2020-12-27 15:27:30 +0100 <Liskni_si> man/compton.1.asciidoc
2020-12-27 15:27:32 +0100 <Liskni_si> 50: Enabled client-side shadows on windows. Note desktop windows (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, unless explicitly requested using the wintypes option.
2020-12-27 15:27:45 +0100 <Liskni_si> it definitely does look at the window type ^
2020-12-27 15:28:09 +0100 <ElKowar> uhh, interesting, didn't know that!
2020-12-27 15:29:22 +0100 <ElKowar> uhh that's actually being used already:
2020-12-27 15:29:33 +0100 <ElKowar> -- @@@ ugly hack to prevent compositing
2020-12-27 15:29:33 +0100 <ElKowar> whenX (return $ isJust m) $ flip catchX (return ()) $ do
2020-12-27 15:29:33 +0100 <ElKowar> wINDOW_TYPE <- getAtom "_NET_WM_WINDOW_TYPE"
2020-12-27 15:29:33 +0100 <ElKowar> dESKTOP <- getAtom "_NET_WM_WINDOW_TYPE_DESKTOP"
2020-12-27 15:29:33 +0100 <ElKowar> io $ changeProperty32 d win wINDOW_TYPE aTOM propModeReplace [fi dESKTOP]
2020-12-27 15:31:00 +0100 <ElKowar> so i guess, given that issue, picom only looks at that for _some_ things like shadows, but not for rounded corners?
2020-12-27 15:32:46 +0100 <Liskni_si> https://github.com/yshui/picom/blob/bb54da0039ff3c833fbef83bf465847e3a909310/src/config.c#L458
2020-12-27 15:33:09 +0100 <Liskni_si> only mentions shadow, so yeah, probably that's the problem
2020-12-27 15:34:01 +0100 <Liskni_si> I think GNOME (without xmonad, without picom) actually has rounded corners on its desktop background, so presumably that's something people want …
2020-12-27 15:40:30 +0100 <ElKowar> weird,...
2020-12-27 15:42:24 +0100 <ElKowar> So my current implementation just adds a new createNewWindowWithClass function to XMonad.Util.XUtils, and makes createNewWindow set a WM_CLASS of "XMonad Window" as the default. Then I'm using that in the Window decoration module to set the WM_CLASS of the decrations to "XMonad decoration". does that sound good? (I'll quickly check if there's any more specific stuff on best-practices for naming of WM_CLASSes etc
2020-12-27 15:49:09 +0100 <Liskni_si> I'd prefer if you checked with the picom folks whether there's a generic way to mark these windows
2020-12-27 15:49:20 +0100 <Liskni_si> does it round xmobar's corners as well?
2020-12-27 15:53:07 +0100 <ElKowar> I'll definitely check! Main point is that X11 definitely "wants" any application to provide the WM_CLASS property, so regardless of that specific rounded-corners issue, we should set the WM_CLASS (see https://tronche.com/gui/x/icccm/sec-4.html#WM_CLASS)
2020-12-27 15:55:10 +0100 <Liskni_si> if that's the case, do we need a createNewWindow _without_ having to specify a class? :-)
2020-12-27 15:55:53 +0100 <Liskni_si> anyway I think you might want to discuss this with geekosaur, I don't have these X11 things ready in working memory :-/
2020-12-27 15:56:43 +0100 <ElKowar> I'll check how much changes would be necessary to change the signature of createNewWindow :P
2020-12-27 16:00:33 +0100geekosaur(ae68c070@cpe-174-104-192-112.neo.res.rr.com)
2020-12-27 16:01:01 +0100 <ElKowar> wait why/how does DragPane use an actual Window :o I thought it was just a different TwoPane, or am i mixing that up with somethign
2020-12-27 16:03:06 +0100 <ElKowar> So the only modules that make use of XMonad.Util.XUtils.createNewWindow seem to be Layout.DragPane, Actions.ShowText, Layout.BinarySpacePartitioning (for borders? kinda confused on the implementation there), and Layout.Decoration. Requiring a WM_CLASS to be provided seems like the sensible choice
2020-12-27 16:03:43 +0100 <Liskni_si> dragpane needs a window to capture the mouse clicks for resizing
2020-12-27 16:03:52 +0100 <Liskni_si> MouseResizableTile does that as well I think
2020-12-27 16:04:01 +0100 <Liskni_si> (possibly reusing the code from DragPane or something)
2020-12-27 16:04:18 +0100 <Liskni_si> no idea why BSP does it
2020-12-27 16:04:53 +0100 <ElKowar> MouseResizableTile just creates a window using Graphics.X11.XLib.Window directly
2020-12-27 16:06:30 +0100 <Liskni_si> oh
2020-12-27 16:09:59 +0100 <ElKowar> So the X11 spec expects there to be two WM_CLASS values, one that specifies the concrete "instance" inside of the application that the window belongs to (i'd say that should be used for specifying "Decoration" vs "Popup" etc) and one for the application (should in our case just always be "XMonad"). technically, that first part is supposed to be dependant on how the user starts the application, i.e. giving an explicit instance name (i.e. w
2020-12-27 16:09:59 +0100 <ElKowar> hen starting a terminal with --name "something", etc,...) - which doesn't really apply in our case
2020-12-27 16:10:00 +0100 <geekosaur> WM_CLASS should be [Xmonad,xmonad], and WM_WINDOW_ROLE should be used for things like indicating decorations
2020-12-27 16:10:12 +0100 <geekosaur> or XMonad, yeh
2020-12-27 16:10:52 +0100 <geekosaur> (I'm catching up on the discussion)
2020-12-27 16:10:54 +0100 <ElKowar> I guess it would make sense to have the first one be something like "XMonad Popup"?
2020-12-27 16:11:21 +0100 <ElKowar> hmm lemme read the docs for WM_WINDOW_ROLE quicky
2020-12-27 16:13:41 +0100 <ElKowar> > The client must set the WM_WINDOW_ROLE property to a string that uniquely identifies that window among all windows that have the same client leader window.
2020-12-27 16:13:43 +0100 <lambdabot> <hint>:1:156: error:
2020-12-27 16:13:44 +0100 <lambdabot> <hint>:1:156: error:
2020-12-27 16:13:44 +0100 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
2020-12-27 16:13:51 +0100 <ElKowar> oh god lol
2020-12-27 16:16:12 +0100 <ElKowar> The WM_WINDOW_ROLE spec seems to specificall be related to session management and stuff like that, which doesn't really apply to our usecase,.. or am I missing something? I do see how, semantically, this would be the correct way to handle it tho
2020-12-27 16:19:01 +0100 <geekosaur> most of that documentation is from ICCCM which only talks abut window and session management
2020-12-27 16:22:28 +0100 <ElKowar> so you'd say WM_CLASS = ["XMonad", "xmonad"] and WM_WINDOW_ROLE = "Decoration" (for example)?
2020-12-27 16:23:01 +0100 <geekosaur> yeh
2020-12-27 16:23:48 +0100 <ElKowar> will do! Do i set the WM_WINDOW_ROLE the same way i do for WM_CLASS? (getAtom + changeProperty32)? or is there some other magic involved (not super fluent in the X property API)
2020-12-27 16:24:13 +0100 <geekosaur> same way, only with 1 string instead of 2
2020-12-27 16:24:25 +0100malook(~Thunderbi@5.111.64.247)
2020-12-27 16:24:39 +0100malook(~Thunderbi@5.111.64.247) (Client Quit)
2020-12-27 16:24:57 +0100 <geekosaur> although shouldn'tit be changeProperty8 since they're both strings?
2020-12-27 16:25:37 +0100 <ElKowar> uhh, good point, yea.
2020-12-27 16:42:34 +0100 <ElKowar> In that case i can't just use getAtom,... I've been searching for reference on how to actually get the `[CChar]` i need in the correct format without a lot of hacky-feeling low-level conversion but couldn't find anything.. are we doing that anywhere else already?
2020-12-27 16:45:02 +0100 <ElKowar> uhhhh I'm probably looking for setTextProperty, right?
2020-12-27 16:50:14 +0100 <geekosaur> we have getStringProperty
2020-12-27 16:59:08 +0100 <Liskni_si> shouldn't WM_WINDOW_ROLE be unique?
2020-12-27 16:59:21 +0100 <Liskni_si> “The combination of SM_CLIENT_ID and WM_WINDOW_ROLE can be used by other clients to uniquely identify a window across sessions.”
2020-12-27 17:03:38 +0100 <ElKowar> getStringProperty simply relies on some default encoding? seems kind of fragile :o
2020-12-27 17:03:51 +0100 <ElKowar> according to the spec it should be unique, yea,.... good point actually
2020-12-27 17:04:46 +0100 <geekosaur> X11 doesn't really do encodings. getStringProperty tries UTF8_STRING first then falls back to STRING (7-bit ASCII)
2020-12-27 17:05:08 +0100 <geekosaur> those are property type atoms
2020-12-27 17:08:48 +0100ddellacosta(dd@gateway/vpn/mullvad/ddellacosta)
2020-12-27 17:10:44 +0100 <ElKowar> so i
2020-12-27 17:11:02 +0100 <ElKowar> so i'd reverse that by just getting the char codes and toEnuming them?
2020-12-27 17:14:57 +0100rabliatu(~quassel@89.38.227.92)
2020-12-27 17:15:18 +0100 <geekosaur> ifyou use STRING then you need to substitute something for any character whose ord is > 127; if UTF8_STRING then yu want to encode the string first
2020-12-27 17:17:24 +0100ElKowar(~Srain@p3e9d26c7.dip0.t-ipconnect.de) (Quit: ElKowar)
2020-12-27 17:18:03 +0100ElKowar(~Srain@p3e9d26c7.dip0.t-ipconnect.de)
2020-12-27 17:25:35 +0100leon(~leon@p3e9d26c7.dip0.t-ipconnect.de)
2020-12-27 17:25:51 +0100leon(~leon@p3e9d26c7.dip0.t-ipconnect.de) (Client Quit)
2020-12-27 17:26:00 +0100leon(~ElKowar@p3e9d26c7.dip0.t-ipconnect.de)
2020-12-27 17:27:03 +0100leon(~ElKowar@p3e9d26c7.dip0.t-ipconnect.de) (Client Quit)
2020-12-27 17:32:17 +0100gzj(~gzj@unaffiliated/gzj)
2020-12-27 17:32:33 +0100leon(~leon@p3e9d26c7.dip0.t-ipconnect.de)
2020-12-27 17:37:08 +0100gzj(~gzj@unaffiliated/gzj) (Ping timeout: 260 seconds)
2020-12-27 17:38:09 +0100malook(~Thunderbi@5.111.64.247)
2020-12-27 17:38:39 +0100malook(~Thunderbi@5.111.64.247) (Client Quit)
2020-12-27 17:47:21 +0100mc47(~yecinem@141.84.69.87) (Ping timeout: 256 seconds)
2020-12-27 17:54:24 +0100ddellacosta(dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds)
2020-12-27 17:57:20 +0100mc47(~yecinem@141.84.69.87)
2020-12-27 18:14:12 +0100 <leon> So do we use WM_WINDOW_ROLE anyways, even though it should, according to the spec, be unique - which in this case it would not be?
2020-12-27 18:14:21 +0100 <leon> or do we stick to setting the WM_CLASS
2020-12-27 18:14:32 +0100 <leon> or do we just not separate different XMonad-created windows for now
2020-12-27 18:17:55 +0100 <leon> (this is elkowar, trying out new IRC client, couldn't yet be bothered to set the nick correctly lol)
2020-12-27 18:18:11 +0100ElKowar(~Srain@p3e9d26c7.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-12-27 18:18:16 +0100leonElKowar
2020-12-27 18:18:18 +0100 <ElKowar> there we go
2020-12-27 18:33:44 +0100abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2020-12-27 18:38:27 +0100ddellacosta(dd@gateway/vpn/mullvad/ddellacosta)
2020-12-27 18:56:37 +0100ddellacosta(dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
2020-12-27 19:16:20 +0100mc47(~yecinem@141.84.69.87) (Ping timeout: 272 seconds)
2020-12-27 20:03:20 +0100berberman(~berberman@unaffiliated/berberman)
2020-12-27 20:03:52 +0100berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 268 seconds)
2020-12-27 20:31:41 +0100notis(~notis@85.203.44.37) (Read error: Connection reset by peer)
2020-12-27 20:33:53 +0100notis(~notis@85.203.44.37)
2020-12-27 20:48:47 +0100mc47(~yecinem@89.246.239.190)
2020-12-27 21:34:25 +0100notis(~notis@85.203.44.37) (Ping timeout: 264 seconds)
2020-12-27 21:57:18 +0100 <mc47> Is there anyone using more than one status bar on one screen? Or is my setup just "weird"?
2020-12-27 21:58:28 +0100 <geekosaur> I have two docks running on one screen, although only one is fed by xmonad
2020-12-27 22:00:06 +0100mc47feels less weird
2020-12-27 22:01:05 +0100 <mc47> I was brwosing through xmonad-contrib, and it seems that there is a fairly involved module for having status bars on different screens, but nothing for more than one status bar on a given screen
2020-12-27 22:02:48 +0100 <al3x27> mc47: https://github.com/arcolinux/arcolinux-xmonad-xmobar.git
2020-12-27 22:03:06 +0100 <al3x27> haven't tried it, so ymmv
2020-12-27 22:05:03 +0100 <geekosaur> nothing really needed for more than one bar on a screen. the other one is about dynamically adding and removing bars when screens are added/removed
2020-12-27 22:05:53 +0100 <mc47> al3x27 thanks, I have something similar in my configuration
2020-12-27 22:06:34 +0100 <mc47> geekosaur yes, I came across that and I'm thinking how can I adapt it to fit my use case
2020-12-27 22:07:12 +0100 <mc47> Maybe if I come up with something modular I'll push a patch
2020-12-27 22:10:43 +0100geekosaur(ae68c070@cpe-174-104-192-112.neo.res.rr.com) (Remote host closed the connection)
2020-12-27 22:10:56 +0100 <al3x27> mc47: found this one as well: https://github.com/nnoell/dotfiles/blob/master/v4.4/xmonad/xmonad.hs
2020-12-27 22:13:56 +0100 <mc47> Interesting, all seem to manually start the bars and do all the "plumbing" manually
2020-12-27 22:14:19 +0100 <mc47> and completely ignore DynamicBars
2020-12-27 22:14:50 +0100 <al3x27> it's how all the examples do it
2020-12-27 22:15:57 +0100 <al3x27> XMonad.Hooks.DynamicBars
2020-12-27 22:16:09 +0100 <mc47> you're right, although that module needs more love :-) I'm still trying to work out how it works exactly, but it seems really interesting
2020-12-27 22:16:14 +0100 <al3x27> doesn't look very beginner friendly
2020-12-27 22:17:45 +0100 <mc47> agreed!
2020-12-27 22:20:48 +0100 <al3x27> the source has almost no comments, compare that to https://hackage.haskell.org/package/xmonad-contrib-0.16/docs/src/XMonad.Hooks.DynamicLog.html which is perfect evening reading
2020-12-27 22:21:00 +0100al3x27likes commented code
2020-12-27 22:23:48 +0100 <mc47> Yeah I really like the comments in XMonad.Hooks.DynamicLog!
2020-12-27 22:26:29 +0100 <al3x27> i don't know any haskell, but with that i was able to write a function that replaces my workspace names with icons
2020-12-27 22:27:59 +0100mc47loves to hear about people using haskell without knowing haskell
2020-12-27 22:29:05 +0100 <mc47> This speaks for how good is the documentation!
2020-12-27 22:29:41 +0100 <mc47> For me it was the other way around: I learnt Haskell, really liked it, and then later I found out about xmonad and was like "THIS IS IT"
2020-12-27 22:30:19 +0100 <al3x27> so far haskell it utterly weird, it's all upside-down
2020-12-27 22:31:05 +0100 <al3x27> but the type system is great, and the error messages are actually helpful
2020-12-27 22:31:26 +0100 <mc47> maybe everything is upside-down, and Haskell is the correct way to go?
2020-12-27 22:32:58 +0100 <al3x27> i'll do more reading and let you know ;-)
2020-12-27 22:33:18 +0100 <mc47> The typesystem is really awesome. if it compiles, it probably works (at least if you're not doing any weird stuff)
2020-12-27 22:33:42 +0100 <mc47> I have to work with python on another project... The lack of a type system really makes me pull my hair some times
2020-12-27 22:36:24 +0100 <al3x27> yes, no side effects and strict typing helps a lot, but python has normal loops and you can put print statements everywhere, makes it very noob friendly
2020-12-27 22:36:28 +0100notis(~notis@85.203.44.37)
2020-12-27 22:38:20 +0100 <mc47> Which is a reason why we're using python in that other project, it's accessible for more people
2020-12-27 22:39:27 +0100ADG1089__(~aditya@223.235.213.117)
2020-12-27 22:40:36 +0100notis(~notis@85.203.44.37) (Ping timeout: 240 seconds)
2020-12-27 22:42:34 +0100 <Solid> you can litter you code with `trace' in haskell as well ;)
2020-12-27 22:43:04 +0100 <Solid> I've found haskell to be much more accessible than imperative languages; but I come from a bit of a different background
2020-12-27 22:43:30 +0100 <al3x27> yes, found that out today, on #haskell, combine that with loading my xmonad.hs into ghci, it's totally awesome
2020-12-27 22:44:02 +0100 <al3x27> Solid: most people here seem to be very much into math
2020-12-27 22:44:25 +0100 <Solid> yes
2020-12-27 22:44:48 +0100al3x27studied math in highschool in the eighties...
2020-12-27 22:45:01 +0100 <Solid> if you like loops there are `for' and `for_' (although you have to squint a bit if you want to call them "normal" loops ;)
2020-12-27 22:45:44 +0100 <al3x27> nah, it's better to try to blend with the natives
2020-12-27 22:46:03 +0100 <Solid> hah
2020-12-27 22:46:38 +0100 <Solid> they are just flipped versions of traverse and traverse_ respectively (or mapM and mapM_, if you live in the past :>)
2020-12-27 22:46:45 +0100 <Solid> but they do come in handy sometimes
2020-12-27 22:47:21 +0100ADG1089__(~aditya@223.235.213.117) (Remote host closed the connection)
2020-12-27 22:47:21 +0100al3x27has not yet progressed beyond 'map'
2020-12-27 22:48:06 +0100 <Solid> ah you'll get to it at some point; it's awesome I promise :)
2020-12-27 22:48:19 +0100 <al3x27> what is the best place to read on commands like traverse etc, the haskell wiki?
2020-12-27 22:49:45 +0100 <mc47> The haskell wiki is awesome, but a bit "dry".. I used this book "Learn you a Haskell http://learnyouahaskell.com/" to go beyond the things we handled at the University, and it does more "hand-holding" than the wiki
2020-12-27 22:50:39 +0100 <Solid> I was going to recommend the base haddocks, but it seems like traverse doesn't have any examples there :/
2020-12-27 22:50:51 +0100 <Solid> > traverse_ print [1..2]
2020-12-27 22:50:53 +0100 <lambdabot> <IO ()>
2020-12-27 22:50:59 +0100 <Solid> ah, of course
2020-12-27 22:52:52 +0100 <Solid> mc47: with regards to your pr: I think it'd be a bit nicer to use `signalProcessGroup', instead of manually inverting the PID
2020-12-27 22:53:09 +0100notis(~notis@85.203.44.165)
2020-12-27 22:53:10 +0100 <Solid> it's in the same module as `signalProcess'
2020-12-27 22:53:32 +0100 <mc47> Didn't know that existed, I'll change it now
2020-12-27 22:57:35 +0100 <al3x27> mc47: learnyouahaskell looks to be my level, it even has pictures...
2020-12-27 22:59:23 +0100 <mc47> I know, right! I really like the pictures there
2020-12-27 23:13:45 +0100mc47(~yecinem@89.246.239.190) (Remote host closed the connection)
2020-12-27 23:13:45 +0100 <Liskni_si> mc47: I have both "multiple bars on one screen" and "(at least) one bar per screen"
2020-12-27 23:13:56 +0100 <Liskni_si> and I've had it longer than X.H.DynamicBars existed
2020-12-27 23:14:06 +0100 <Liskni_si> which is why I never bothered with that
2020-12-27 23:17:23 +0100 <Liskni_si> oh and also because DynamicBars uses pipes (not props) and because I don't really use the dynamicLog stuff
2020-12-27 23:21:08 +0100 <al3x27> Liskni_si: isn't it dynamiclog that tells the bar about the workspaces?
2020-12-27 23:21:46 +0100 <Liskni_si> al3x27: well it's all just code, there's nothing that dynamiclog can do and xmonad.hs can't :-)
2020-12-27 23:22:55 +0100 <al3x27> do you have your xmonad.hs on GH?
2020-12-27 23:23:04 +0100 <Liskni_si> my per-screen bar contain the list of all windows (just like screen/tmux statusline), and that's something DynamicLog can't do
2020-12-27 23:23:35 +0100 <Liskni_si> it's definitely something that can be added to it, but with the amount of custom stuff that I have in there, it's just easier to write it from scratch
2020-12-27 23:23:58 +0100 <Liskni_si> https://github.com/liskin/dotfiles/blob/home/.xmonad/xmonad.hs#L422
2020-12-27 23:24:54 +0100 <al3x27> thanks, you didn't obfuscate your nick very well, should have figured that one out ;-)
2020-12-27 23:26:34 +0100 <al3x27> Liskni_si: what do you use the ⠁⠃⠇⡇⡏⡟⡿⣿ for?
2020-12-27 23:27:19 +0100 <Liskni_si> when windows are tabbed together, they're bound to the same number
2020-12-27 23:27:36 +0100 <Liskni_si> so this is just to tell them apart
2020-12-27 23:29:14 +0100 <Liskni_si> https://store.lisk.in/tmp/2020-12-27-232851_958x1079_scrot.png
2020-12-27 23:29:17 +0100 <Liskni_si> down there
2020-12-27 23:33:06 +0100 <al3x27> that is very cool, i will steal that for later use
2020-12-27 23:36:55 +0100 <Liskni_si> do note that this numbering of tabbed windows requires changes to SubLayouts that haven't been submitted to xmonad-contrib yet :-)
2020-12-27 23:40:32 +0100notis(~notis@85.203.44.165) (Ping timeout: 256 seconds)
2020-12-27 23:42:37 +0100ryjm(sid383513@gateway/web/irccloud.com/x-fozezseyqmozmxjk) (Ping timeout: 260 seconds)
2020-12-27 23:43:12 +0100srhb(sid400352@NixOS/user/srhb) (Ping timeout: 260 seconds)
2020-12-27 23:43:12 +0100benley(benley@osric.zoiks.net) (Ping timeout: 260 seconds)
2020-12-27 23:44:22 +0100ericsagnes(~ericsagne@2405:6580:0:5100:49a8:1a11:c128:7983) (Ping timeout: 260 seconds)
2020-12-27 23:44:50 +0100notis(~notis@85.203.44.37)
2020-12-27 23:45:00 +0100ryjm(sid383513@gateway/web/irccloud.com/x-cgthedhmsargdwki)
2020-12-27 23:45:44 +0100 <al3x27> patience is a virtue :-)
2020-12-27 23:45:58 +0100srhb(sid400352@NixOS/user/srhb)
2020-12-27 23:46:21 +0100ericsagnes(~ericsagne@2405:6580:0:5100:f3bd:76da:a01c:8f3f)
2020-12-27 23:46:22 +0100benley(benley@osric.zoiks.net)
2020-12-27 23:54:45 +0100notis(~notis@85.203.44.37) (Ping timeout: 240 seconds)
2020-12-27 23:57:07 +0100notis(~notis@85.203.44.165)