2020-12-27 00:51:46 +0100 | batdog | (~batdog@lnsq.elkins.co) (Quit: Bye) |
2020-12-27 01:06:50 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection) |
2020-12-27 01:07:07 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) |
2020-12-27 01:44:17 +0100 | notis | (~notis@85.203.44.165) (Ping timeout: 260 seconds) |
2020-12-27 01:56:37 +0100 | xaltsc | (~xaltsc@unaffiliated/xaltsc) (Quit: WeeChat 3.0) |
2020-12-27 02:15:03 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2020-12-27 03:18:36 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds) |
2020-12-27 04:01:05 +0100 | rabliatu | (~quassel@143.202.160.84) |
2020-12-27 04:09:01 +0100 | theDon | (~td@94.134.91.197) (Ping timeout: 246 seconds) |
2020-12-27 04:11:08 +0100 | theDon | (~td@muedsl-82-207-238-021.citykom.de) |
2020-12-27 04:25:27 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) |
2020-12-27 04:32:37 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Ping timeout: 264 seconds) |
2020-12-27 04:50:23 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) |
2020-12-27 05:05:53 +0100 | batdog | (~batdog@lnsq.elkins.co) |
2020-12-27 05:14:20 +0100 | batdog | (~batdog@lnsq.elkins.co) (Quit: Bye) |
2020-12-27 05:14:41 +0100 | batdog | (~batdog@lnsq.elkins.co) |
2020-12-27 05:17:40 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
2020-12-27 05:30:06 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2020-12-27 05:30:26 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2020-12-27 05:35:32 +0100 | vrs | (~vrs@unaffiliated/vrs) (Ping timeout: 272 seconds) |
2020-12-27 05:56:54 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 256 seconds) |
2020-12-27 05:57:21 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2020-12-27 05:59:17 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) |
2020-12-27 06:12:05 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2020-12-27 06:15:26 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) |
2020-12-27 06:20:34 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2020-12-27 06:22:25 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) |
2020-12-27 06:22:25 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Client Quit) |
2020-12-27 06:44:07 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2020-12-27 06:44:27 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2020-12-27 06:56:20 +0100 | tux1 | (~tux@ru1.metahumanvpn.network) |
2020-12-27 07:01:20 +0100 | berberman_ | (~berberman@unaffiliated/berberman) |
2020-12-27 07:02:12 +0100 | berberman | (~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 +0100 | tux1 | (~tux@ru1.metahumanvpn.network) (Quit: WeeChat 2.9) |
2020-12-27 07:12:13 +0100 | tux1 | (~tux@ru1.metahumanvpn.network) |
2020-12-27 07:31:22 +0100 | palo1 | (~weechat@c-base/crew/palo) |
2020-12-27 07:34:25 +0100 | palo | (~weechat@c-base/crew/palo) (Ping timeout: 264 seconds) |
2020-12-27 07:34:25 +0100 | palo1 | palo |
2020-12-27 07:36:22 +0100 | tux1 | (~tux@ru1.metahumanvpn.network) (Quit: WeeChat 2.9) |
2020-12-27 08:24:06 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2020-12-27 08:24:26 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2020-12-27 08:42:05 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2020-12-27 08:42:27 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2020-12-27 08:55:30 +0100 | mrbirkov | (uid453780@gateway/web/irccloud.com/x-xzsphatjpbhjifjh) |
2020-12-27 08:59:30 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) |
2020-12-27 09:07:25 +0100 | al3x27 | (~plovs@85.254.74.40) |
2020-12-27 09:12:46 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2020-12-27 09:17:28 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) |
2020-12-27 09:44:55 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2020-12-27 09:47:57 +0100 | growpotkin | (~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 +0100 | notis | (~notis@85.203.44.37) |
2020-12-27 09:57:33 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2020-12-27 10:00:02 +0100 | growpotkin | (~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 +0100 | gzj | (~gzj@unaffiliated/gzj) (Ping timeout: 256 seconds) |
2020-12-27 11:07:54 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2020-12-27 11:24:45 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2020-12-27 11:38:38 +0100 | mrbirkov | (uid453780@gateway/web/irccloud.com/x-xzsphatjpbhjifjh) (Quit: Connection closed for inactivity) |
2020-12-27 12:04:35 +0100 | ADG1089__ | (~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 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2020-12-27 12:13:25 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2020-12-27 12:21:09 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection) |
2020-12-27 12:21:26 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) |
2020-12-27 12:22:25 +0100 | ADG1089__ | (~aditya@223.235.213.117) (Remote host closed the connection) |
2020-12-27 12:43:07 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2020-12-27 12:43:27 +0100 | gzj | (~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 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2020-12-27 13:09:20 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2020-12-27 13:11:07 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2020-12-27 13:11:26 +0100 | gzj | (~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 +0100 | mc47 | (~yecinem@141.84.69.87) |
2020-12-27 13:48:07 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2020-12-27 13:48:27 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2020-12-27 14:29:07 +0100 | gzj | (~gzj@unaffiliated/gzj) (Read error: Connection reset by peer) |
2020-12-27 14:29:27 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2020-12-27 14:31:19 +0100 | vrs | (~vrs@unaffiliated/vrs) |
2020-12-27 14:35:45 +0100 | gzj | (~gzj@unaffiliated/gzj) (Ping timeout: 240 seconds) |
2020-12-27 14:45:17 +0100 | ElKowar | (~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 +0100 | rabliatu | (~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 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Quit: ZNC 1.8.2 - https://znc.in) |
2020-12-27 15:18:10 +0100 | hexo | (~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 +0100 | geekosaur | (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 +0100 | malook | (~Thunderbi@5.111.64.247) |
2020-12-27 16:24:39 +0100 | malook | (~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 +0100 | ddellacosta | (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 +0100 | rabliatu | (~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 +0100 | ElKowar | (~Srain@p3e9d26c7.dip0.t-ipconnect.de) (Quit: ElKowar) |
2020-12-27 17:18:03 +0100 | ElKowar | (~Srain@p3e9d26c7.dip0.t-ipconnect.de) |
2020-12-27 17:25:35 +0100 | leon | (~leon@p3e9d26c7.dip0.t-ipconnect.de) |
2020-12-27 17:25:51 +0100 | leon | (~leon@p3e9d26c7.dip0.t-ipconnect.de) (Client Quit) |
2020-12-27 17:26:00 +0100 | leon | (~ElKowar@p3e9d26c7.dip0.t-ipconnect.de) |
2020-12-27 17:27:03 +0100 | leon | (~ElKowar@p3e9d26c7.dip0.t-ipconnect.de) (Client Quit) |
2020-12-27 17:32:17 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2020-12-27 17:32:33 +0100 | leon | (~leon@p3e9d26c7.dip0.t-ipconnect.de) |
2020-12-27 17:37:08 +0100 | gzj | (~gzj@unaffiliated/gzj) (Ping timeout: 260 seconds) |
2020-12-27 17:38:09 +0100 | malook | (~Thunderbi@5.111.64.247) |
2020-12-27 17:38:39 +0100 | malook | (~Thunderbi@5.111.64.247) (Client Quit) |
2020-12-27 17:47:21 +0100 | mc47 | (~yecinem@141.84.69.87) (Ping timeout: 256 seconds) |
2020-12-27 17:54:24 +0100 | ddellacosta | (dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds) |
2020-12-27 17:57:20 +0100 | mc47 | (~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 +0100 | ElKowar | (~Srain@p3e9d26c7.dip0.t-ipconnect.de) (Remote host closed the connection) |
2020-12-27 18:18:16 +0100 | leon | ElKowar |
2020-12-27 18:18:18 +0100 | <ElKowar> | there we go |
2020-12-27 18:33:44 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
2020-12-27 18:38:27 +0100 | ddellacosta | (dd@gateway/vpn/mullvad/ddellacosta) |
2020-12-27 18:56:37 +0100 | ddellacosta | (dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds) |
2020-12-27 19:16:20 +0100 | mc47 | (~yecinem@141.84.69.87) (Ping timeout: 272 seconds) |
2020-12-27 20:03:20 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2020-12-27 20:03:52 +0100 | berberman_ | (~berberman@unaffiliated/berberman) (Ping timeout: 268 seconds) |
2020-12-27 20:31:41 +0100 | notis | (~notis@85.203.44.37) (Read error: Connection reset by peer) |
2020-12-27 20:33:53 +0100 | notis | (~notis@85.203.44.37) |
2020-12-27 20:48:47 +0100 | mc47 | (~yecinem@89.246.239.190) |
2020-12-27 21:34:25 +0100 | notis | (~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 +0100 | mc47 | feels 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 +0100 | geekosaur | (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 +0100 | al3x27 | likes 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 +0100 | mc47 | loves 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 +0100 | notis | (~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 +0100 | ADG1089__ | (~aditya@223.235.213.117) |
2020-12-27 22:40:36 +0100 | notis | (~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 +0100 | al3x27 | studied 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 +0100 | ADG1089__ | (~aditya@223.235.213.117) (Remote host closed the connection) |
2020-12-27 22:47:21 +0100 | al3x27 | has 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 +0100 | notis | (~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 +0100 | mc47 | (~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 +0100 | notis | (~notis@85.203.44.165) (Ping timeout: 256 seconds) |
2020-12-27 23:42:37 +0100 | ryjm | (sid383513@gateway/web/irccloud.com/x-fozezseyqmozmxjk) (Ping timeout: 260 seconds) |
2020-12-27 23:43:12 +0100 | srhb | (sid400352@NixOS/user/srhb) (Ping timeout: 260 seconds) |
2020-12-27 23:43:12 +0100 | benley | (benley@osric.zoiks.net) (Ping timeout: 260 seconds) |
2020-12-27 23:44:22 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:49a8:1a11:c128:7983) (Ping timeout: 260 seconds) |
2020-12-27 23:44:50 +0100 | notis | (~notis@85.203.44.37) |
2020-12-27 23:45:00 +0100 | ryjm | (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 +0100 | srhb | (sid400352@NixOS/user/srhb) |
2020-12-27 23:46:21 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:f3bd:76da:a01c:8f3f) |
2020-12-27 23:46:22 +0100 | benley | (benley@osric.zoiks.net) |
2020-12-27 23:54:45 +0100 | notis | (~notis@85.203.44.37) (Ping timeout: 240 seconds) |
2020-12-27 23:57:07 +0100 | notis | (~notis@85.203.44.165) |