2024-06-15 00:06:16 +0200 | <haskellbridge> | <adamame> I was wondering, is there a function in xmonad contrib like runOrRaise but it checks for a window with a given class in the current workspace only? |
2024-06-15 00:06:47 +0200 | <haskellbridge> | <iqubic (she/her)> Does "additionalKeysP" let me do key chords? For example: something like "M-a s" to trigger a command. That's "Mod + a then s" to invoke a command. |
2024-06-15 00:06:53 +0200 | <haskellbridge> | <iqubic (she/her)> * That would be |
2024-06-15 00:09:14 +0200 | <geekosaur> | yes. but I wouldn't call that a chord; that would be holding down mod, a, and s all together |
2024-06-15 00:09:49 +0200 | <geekosaur> | (which isn't supported by the core; you'd have to do it in a handleEventHook) |
2024-06-15 00:10:40 +0200 | <geekosaur> | basically as you wrote it. see for example https://github.com/geekosaur/xmonad.hs/blob/hilfy-2023/xmonad.hs#L225 |
2024-06-15 00:10:50 +0200 | <geekosaur> | (mod-control-C, u, e) |
2024-06-15 00:11:57 +0200 | <haskellbridge> | <iqubic (she/her)> Yeah, I'm looking at that, and wondering what exactly that's do it. |
2024-06-15 00:12:31 +0200 | <haskellbridge> | <iqubic (she/her)> *wondering exactly what that does |
2024-06-15 00:13:00 +0200 | <geekosaur> | press mod-control-c, release, press and release u, press and release e |
2024-06-15 00:13:13 +0200 | <geekosaur> | through the magic of XMonad.Actions.Submap |
2024-06-15 00:13:52 +0200 | <haskellbridge> | <iqubic (she/her)> Oh, I need XMonad.Actions.Submap? Got it. Will I need to change the call to "additionalKeysP"? |
2024-06-15 00:14:19 +0200 | <geekosaur> | no, you don't need it, EZConfig builds Submaps for you |
2024-06-15 00:15:06 +0200 | <haskellbridge> | <iqubic (she/her)> Does it import the required modules, or will I need to do that myself? |
2024-06-15 00:15:09 +0200 | <geekosaur> | it assigns M-C-c to a Submap, then adds entries to it for any other binding starting with M-C-c |
2024-06-15 00:15:22 +0200 | <geekosaur> | you don't need to import it since you don't manipulate it directly |
2024-06-15 00:15:39 +0200 | <haskellbridge> | <iqubic (she/her)> Thanks. |
2024-06-15 00:29:43 +0200 | <haskellbridge> | <iqubic (she/her)> Does "additionalKeysP" care about the order I put the modifiers? Will "M-C-a" be the same as "C-M-a"? I assume, because it just combines them into a bitmask, the answer is that order doesn't matter, but I'm not sure. |
2024-06-15 00:37:56 +0200 | <geekosaur> | order doesn't matter |
2024-06-15 00:38:23 +0200 | <geekosaur> | the only rule is that it can't combine keys defined another way, including via multiple additionalKeys / additionalKeysP calls |
2024-06-15 00:38:55 +0200 | <geekosaur> | because they generate code, which can't be introspected so there's no way to combine keymaps generated by separate operations |
2024-06-15 00:43:26 +0200 | <haskellbridge> | <iqubic (she/her)> Thanks |
2024-06-15 00:49:45 +0200 | <haskellbridge> | <iqubic (she/her)> Would using a list comprehension like this work? https://dpaste.com/5V3HCF6MZ |
2024-06-15 00:49:57 +0200 | <haskellbridge> | <iqubic (she/her)> This uses X.L.WindowNavigation |
2024-06-15 00:50:44 +0200 | <haskellbridge> | <iqubic (she/her)> I assume it would, because Haskell is a good language. |
2024-06-15 00:50:57 +0200 | <geekosaur> | looks like it |
2024-06-15 00:52:20 +0200 | <haskellbridge> | <iqubic (she/her)> It's creating "M-<U>", "M-S-<U>", and "M-S-C-<U>" bindings for all 4 directions that send the correct window navigation messages. |
2024-06-15 00:55:20 +0200 | <geekosaur> | looks like it's the right type, at least |
2024-06-15 00:57:31 +0200 | <haskellbridge> | <iqubic (she/her)> It is. There might be some parse errors, but at least it compiles. |
2024-06-15 01:00:24 +0200 | <haskellbridge> | <iqubic (she/her)> Hmm... I'm looking to get to create a keybinging that jumps to layout "Full", but also remembers what the previous layout is so I can jump back to that when I hit the same keybinding again. Would that be possible, and is that just what X.L.Maximize does already? |
2024-06-15 01:01:06 +0200 | <geekosaur> | Maximize isn't quite the same thing |
2024-06-15 01:01:23 +0200 | <haskellbridge> | <iqubic (she/her)> What does Maximize do? |
2024-06-15 01:01:37 +0200 | <geekosaur> | you probably want https://hackage.haskell.org/package/xmonad-contrib-0.18.0/docs/XMonad-Layout-ToggleLayouts.html |
2024-06-15 01:01:57 +0200 | <geekosaur> | it pops the window out of the layout and makes it _almost_ full screen |
2024-06-15 01:02:22 +0200 | <haskellbridge> | <iqubic (she/her)> geekosaur: That's not what I want. |
2024-06-15 01:02:42 +0200 | <geekosaur> | https://imgur.com/F0qNKBg.png |
2024-06-15 01:08:20 +0200 | <haskellbridge> | <iqubic (she/her)> What I want is something like toggle layout, but I can swap to it from any layout. Like if I'm in a Tabbed layout and I switch to a Full layout, I want to be able to switch back to the Tabbed layout. But if I'm Tall, then I want that to be remembered so that when I switch to Full and back again, I want to return to the Tall layout. |
2024-06-15 01:09:25 +0200 | <geekosaur> | right, that's ToggleLayouts or MultiToggle |
2024-06-15 01:10:42 +0200 | <haskellbridge> | <iqubic (she/her)> MultiToggle is what I want. Thanks! |
2024-06-15 01:11:10 +0200 | <geekosaur> | if all you want is a single toggle, ToggleLayouts is much easier |
2024-06-15 01:11:20 +0200 | <geekosaur> | MultiToggle makes you deal with HLists |
2024-06-15 01:12:30 +0200 | <haskellbridge> | <iqubic (she/her)> Oh? I just want the ability to swap to Full and back again. |
2024-06-15 01:13:20 +0200 | <geekosaur> | that's the example in ToggleLayouts documentation |
2024-06-15 01:13:38 +0200 | <geekosaur> | myLayout = toggleLayouts Full (Tall 1 (3/100) (1/2)) ||| etc.. |
2024-06-15 01:14:08 +0200 | <haskellbridge> | <iqubic (she/her)> Yeah, but that seems to imply that you can only swap between Full and Tall. |
2024-06-15 01:14:26 +0200 | <geekosaur> | you did see the |||? |
2024-06-15 01:14:58 +0200 | <geekosaur> | toggleLayouts someLayout (a list of layouts here with |||/Choose between them, as usual) |
2024-06-15 01:15:21 +0200 | <haskellbridge> | <iqubic (she/her)> I think I'm getting confused by the fixity here. I kept assuming that the given example was the same as this: |
2024-06-15 01:16:03 +0200 | <haskellbridge> | <iqubic (she/her)> myLayout = (toggleLayouts Full (Tall nmaster delta initialWidth)) ||| etc.. |
2024-06-15 01:17:30 +0200 | <geekosaur> | oh, hm, that is a bad example |
2024-06-15 01:18:34 +0200 | <haskellbridge> | <iqubic (she/her)> Do you have a better one? |
2024-06-15 01:19:48 +0200 | <geekosaur> | toggleLayouts Full $ Tall nmaster delta initialWidth ||| Mirror (Tall nmaster delta initialWidth) ||| Full |
2024-06-15 01:20:10 +0200 | <geekosaur> | I don't think \limiting it to the first layout like the parens there do is particularly useful |
2024-06-15 01:20:44 +0200 | <haskellbridge> | <iqubic (she/her)> No... but that's how I'm reading what the given example does. |
2024-06-15 01:21:26 +0200 | <geekosaur> | yes, that's' what it's doing. as an example it's pretty useless |
2024-06-15 01:21:43 +0200 | <geekosaur> | why would you ever want it to only apply to the first of a list of layouts? |
2024-06-15 01:22:24 +0200 | <haskellbridge> | <iqubic (she/her)> Does function application bind at a higher precedence than the infix Choose operator? According to all that I know about Haskell the answer should be yes. |
2024-06-15 01:22:33 +0200 | <geekosaur> | yes |
2024-06-15 01:22:44 +0200 | <geekosaur> | the only thing that binds tighter is record update syntax |
2024-06-15 01:23:38 +0200 | <haskellbridge> | <iqubic (she/her)> Oh. I didn't know that. |
2024-06-15 01:34:52 +0200 | <haskellbridge> | <iqubic (she/her)> Is it a good idea to run unGrab before spawning my screen locker? |
2024-06-15 01:35:46 +0200 | <geekosaur> | yes, because xmonad retains its key grab while the command is running so keys don't leak to the focused window if it's a Submap or GridSelect or etc. |
2024-06-15 01:36:13 +0200 | <geekosaur> | but screen lockers also grab the keyboard so they'll error out |
2024-06-15 01:37:03 +0200 | <geekosaur> | you could also sleep for half a second before running the locker, which is the old workaround, but unGrab is cleaner |
2024-06-15 01:37:14 +0200 | <geekosaur> | and doesn't suffer from race conditions |
2024-06-15 01:37:50 +0200 | <haskellbridge> | <iqubic (she/her)> Awesome!!! |
2024-06-15 01:41:25 +0200 | <haskellbridge> | <iqubic (she/her)> Wait... wrong WM |
2024-06-15 02:26:22 +0200 | <haskellbridge> | <iqubic (she/her)> I wish there was a better description on how to use X.L.MessageControl. |
2024-06-15 02:30:34 +0200 | dysthesis | (~dysthesis@user/dysthesis) (Ping timeout: 260 seconds) |
2024-06-15 02:32:39 +0200 | dysthesis | (~dysthesis@user/dysthesis) |
2024-06-15 02:33:56 +0200 | <geekosaur> | I don't think there can be; it's kinda tricky to do at all |
2024-06-15 02:38:34 +0200 | <geekosaur> | so if you're trying to send messages through a `combineTwoP (TwoPane 0.03 0.5) (layout1) (layout2) (predicate)` it would be `combineTwoP (TwoPane 0.03 0.5) (unEscape layout1) (unEscape layout2) (predicate))` and you send a message with `sendMessage $ escape theMessage` |
2024-06-15 02:40:07 +0200 | <geekosaur> | uh, I think I have too many close parens at the end of that |
2024-06-15 02:40:11 +0200 | <haskellbridge> | <iqubic (she/her)> What do "unEscape" and "escape" do? |
2024-06-15 02:40:55 +0200 | <geekosaur> | escape wraps a message in an EscapedMessage message, and unEscape recognizes EscapedMessage, unwraps the message, and forwards it to its sublayout |
2024-06-15 02:41:12 +0200 | <geekosaur> | everything else is forwarded directly to the sublayout |
2024-06-15 02:42:03 +0200 | <haskellbridge> | <iqubic (she/her)> Will this allow me to send a message to just layout1, or just layout2, or just the super layout? |
2024-06-15 02:42:07 +0200 | <geekosaur> | so in this case, since combineTwoP doesn't recognize EscapedMessage it'll ignore those messages and forward them on to the sublayouts, where unEscape uwraps them |
2024-06-15 02:42:48 +0200 | <geekosaur> | with the example I gave the message will go to both layout1 and layout2 but not TwoPane |
2024-06-15 02:43:16 +0200 | <haskellbridge> | <iqubic (she/her)> Right. I see. Is there a way to get messages to only one of the sub layouts? |
2024-06-15 02:43:41 +0200 | <geekosaur> | I don't think there's a way to forward different messages to different layouts, except to copy-paste MessageControl and use distinct wrappers |
2024-06-15 02:44:08 +0200 | <geekosaur> | if you only ever wan t to send it to one of the layouts, only apply unEscape to that layout |
2024-06-15 02:44:28 +0200 | <haskellbridge> | <iqubic (she/her)> Right... I see. That's fine. I don't actually need anything this complex. I've realized I was overthinking my setup. |
2024-06-15 02:44:41 +0200 | <geekosaur> | messages are broadcast, so there isn't much else you can do |
2024-06-15 02:45:23 +0200 | <geekosaur> | hm, actually I'd have to check, Combo and CompoB might only relay to the active sublayout |
2024-06-15 02:45:52 +0200 | <haskellbridge> | <iqubic (she/her)> They don't. |
2024-06-15 02:46:36 +0200 | <geekosaur> | no, I just checked, it relays messages to all three layouts |
2024-06-15 02:47:07 +0200 | <haskellbridge> | <iqubic (she/her)> You sure about that? https://github.com/xmonad/xmonad-contrib/blob/master/XMonad/Layout/ComboP.hs#L159 |
2024-06-15 02:47:16 +0200 | <haskellbridge> | <iqubic (she/her)> Is that comment just wrong? |
2024-06-15 02:48:07 +0200 | <geekosaur> | the commented function is only used by the SwapWindowN message when N /= 0 (https://github.com/xmonad/xmonad-contrib/blob/master/XMonad/Layout/ComboP.hs#L117) |
2024-06-15 02:48:27 +0200 | <geekosaur> | everything else is handled by https://github.com/xmonad/xmonad-contrib/blob/master/XMonad/Layout/ComboP.hs#L127-L135 |
2024-06-15 02:48:35 +0200 | <haskellbridge> | <iqubic (she/her)> Right. I see. In general it sends the message to all three layouts. |
2024-06-15 02:50:36 +0200 | <haskellbridge> | <iqubic (she/her)> But like I said... I don't actually need to use this, because I actually want a simpler layout. |
2024-06-15 02:52:28 +0200 | <haskellbridge> | <iqubic (she/her)> I'm looking at the DecorationMadness module and I hate bitrot. I just wanna see what the decorations look like. |
2024-06-15 03:05:03 +0200 | td_ | (~td@i53870931.versanet.de) (Ping timeout: 264 seconds) |
2024-06-15 03:35:52 +0200 | dysthesis | (~dysthesis@user/dysthesis) (Quit: dysthesis) |
2024-06-15 05:40:42 +0200 | plp | (~plp@2601:380:8386:8b20::cf8f) |
2024-06-15 05:43:46 +0200 | <plp> | is it better to use stack or cabal to compile from source? using netbsd but couldn't get xmobar to install |
2024-06-15 05:46:48 +0200 | <geekosaur> | these days either should work |
2024-06-15 05:46:56 +0200 | <geekosaur> | I personally use cabal |
2024-06-15 05:57:51 +0200 | <geekosaur> | stack is probably better documented since the tutorial uses it (see the /topic) |
2024-06-15 06:34:42 +0200 | <plp> | geekosaur: stack isn't supported on NetBSD |
2024-06-15 06:39:44 +0200 | <plp> | does the cabal.project file need to be in the ~/.config/xmonad directory? |
2024-06-15 06:54:44 +0200 | thunderrd | (~thunderrd@118.174.53.205) (Quit: If it wasn't written down it didn't happen...) |
2024-06-15 06:55:04 +0200 | thunderrd | (~thunderrd@118.174.53.205) |
2024-06-15 06:59:33 +0200 | thunderrd | (~thunderrd@118.174.53.205) (Remote host closed the connection) |
2024-06-15 07:00:23 +0200 | thunderrd | (~thunderrd@118.174.53.205) |
2024-06-15 07:26:19 +0200 | plp | (~plp@2601:380:8386:8b20::cf8f) (Quit: Client closed) |
2024-06-15 07:57:53 +0200 | <haskellbridge> | <iqubic (she/her)> What do the parameters for the RationalRect mean again? What's the order of the 4 Rationals? |
2024-06-15 08:18:33 +0200 | <geekosaur> | x, y, w, h, as fractions of the screen size |
2024-06-15 08:19:03 +0200 | <geekosaur> | plp, you don't need a cabal.project. just cabal install --package-env=. --lib xmonad xmonad-contrib |
2024-06-15 08:19:34 +0200 | <geekosaur> | I use a full-blown cabal setup, but that's because I'm a developer and use git checkouts, plus I have extra dependencies most people don't want or need |
2024-06-15 08:22:10 +0200 | <geekosaur> | https://xmonad.org/INSTALL.html#build-using-cabal-install |
2024-06-15 08:23:41 +0200 | <geekosaur> | @tell plp you don't need a cabal.project. just cabal install --package-env=. --lib xmonad xmonad-contrib |
2024-06-15 08:23:41 +0200 | <lambdabot> | Consider it noted. |
2024-06-15 08:23:55 +0200 | <geekosaur> | @tell plp I use a full-blown cabal setup, but that's because I'm a developer and use git checkouts, plus I have extra dependencies most people don't want or need |
2024-06-15 08:23:55 +0200 | <lambdabot> | Consider it noted. |
2024-06-15 08:24:09 +0200 | <geekosaur> | @tell plp https://xmonad.org/INSTALL.html#build-using-cabal-install |
2024-06-15 08:24:09 +0200 | <lambdabot> | Consider it noted. |
2024-06-15 08:24:47 +0200 | <haskellbridge> | <iqubic (she/her)> I'm just telling NixOS to treat my config as a stand alone cabal project and compile it for me. One cool benefit of this is that I can easily tell Nix to fetch additional libraries from Hackage if I want/need extra stuff. |
2024-06-15 08:25:02 +0200 | <haskellbridge> | <iqubic (she/her)> This is not the typical way to do this, and I fully recognize that. |
2024-06-15 08:26:15 +0200 | <haskellbridge> | <iqubic (she/her)> Essentially, I'm just asking nix to call cabal for me and is just like "Sure thing buddy. I'll recompile that only when changes have been made" |
2024-06-15 08:29:25 +0200 | <haskellbridge> | <iqubic (she/her)> And then I tell Nix to move the resulting binary to ~/.cache/xmonad/xmonad-x86_64-linux so that "xmonad --restart" works properly. I also tell nix to write the .xinitrc for me, which calls my specially compiled xmonad binary. |
2024-06-15 08:29:49 +0200 | <haskellbridge> | <iqubic (she/her)> This isn't something the average user will need to do. And this also isn't something that works on NetBSD. |
2024-06-15 08:30:00 +0200 | <haskellbridge> | <iqubic (she/her)> Nix doesn't run on NetBSD |
2024-06-15 08:30:05 +0200 | <geekosaur> | sounds like you reimplemented home-manager? |
2024-06-15 08:30:19 +0200 | <haskellbridge> | <iqubic (she/her)> No. I'm using home-manager to do these things. |
2024-06-15 08:30:55 +0200 | <haskellbridge> | <iqubic (she/her)> https://github.com/IQubic/nixos-config/blob/main/hm/xmonad/xmonad.nix#L3 |
2024-06-15 08:31:24 +0200 | <haskellbridge> | <iqubic (she/her)> Line 41 there is also relevant: |
2024-06-15 08:31:24 +0200 | <haskellbridge> | "home.file.".cache/xmonad/xmonad-${pkgs.stdenv.system}".source = "${my-xmonad}/bin/my-xmonad";" |
2024-06-15 08:32:06 +0200 | <haskellbridge> | <iqubic (she/her)> That line there is literally just telling nix to put the compiled binary in the place that "xmonad --restart" expects. |
2024-06-15 09:24:10 +0200 | catman | (~catman@user/catman) (Ping timeout: 255 seconds) |
2024-06-15 10:17:33 +0200 | Nixkernal | (~Nixkernal@240.17.194.178.dynamic.cust.swisscom.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2024-06-15 13:31:29 +0200 | td_ | (~td@i53870937.versanet.de) |
2024-06-15 14:57:17 +0200 | plp | (~plp@2601:380:8386:8b20::cf8f) |
2024-06-15 14:58:00 +0200 | Viking667 | (~user@user/Viking667) |
2024-06-15 14:59:08 +0200 | <Viking667> | 'llo all. I've got a question (doesn't everyone?). in the statement findEagle = title =? "Eagle Mode ", how do I get it to match just on the Eagle Mode part, and not any other thing glommed on the end? |
2024-06-15 14:59:44 +0200 | <Viking667> | err, "Eagle Mode - Clock" would be the window string, but that "clock" could be any one of a number of things. The "Eagle Mode" bit stays the same. |
2024-06-15 15:07:32 +0200 | <Leary> | Viking667: `title ^? "Eagle Mode"`, with (^?) coming from X.H.ManageHelpers. |
2024-06-15 15:09:11 +0200 | <Leary> | Though if your version of contrib is not most recent, you might need to copy the definition into your xmonad.hs. IIRC it was broken until recently. |
2024-06-15 15:11:29 +0200 | <Viking667> | hrm. And I'm on about 0.17 or something like that - from 2022-ish. |
2024-06-15 15:12:23 +0200 | <Viking667> | I had this as the import line: import XMonad.Hooks.ManageHelpers (isFullscreen, doFullFloat, doCenterFloat) |
2024-06-15 15:12:33 +0200 | <Viking667> | will that do, or do I just inhale the whole thing instead? |
2024-06-15 15:15:08 +0200 | <Viking667> | Hm. I got this when I attempted to recompile: • Variable not in scope: (^?) :: Query String -> [Char] -> t (and some other stuff) |
2024-06-15 15:15:44 +0200 | <plp> | why is xmobar requiring linux stuff and refusing to build even though it's not a linux system? https://paste.debian.net/1320338 |
2024-06-15 15:15:55 +0200 | <Leary> | Viking667: If you're on 0.17.1 or later, add `(^?)` to that import list to bring it into scope. Otherwise copy the definition from here: https://hackage.haskell.org/package/xmonad-contrib-0.18.0/docs/src/XMonad.Hooks.ManageHelpers.html… |
2024-06-15 15:18:21 +0200 | <Viking667> | hm. It definitely didn't like that: import XMonad.Hooks.ManageHelpers (isFullscreen, doFullFloat, doCenterFloat, ^?) |
2024-06-15 15:18:39 +0200 | <Leary> | You need the brackets. |
2024-06-15 15:18:53 +0200 | <Viking667> | hm. What about the two weird quotes you provided? |
2024-06-15 15:19:06 +0200 | <Viking667> | (I think they're backticks in this font) |
2024-06-15 15:19:13 +0200 | <Leary> | No, that's just me separating code from words. |
2024-06-15 15:19:21 +0200 | <Viking667> | Ah, right. thanks |
2024-06-15 15:22:12 +0200 | <Viking667> | Hrm, still not (quite) doing the right thing... it's spawning a new version of the window instead of simply fetching the originally spawned window (I'd set it up as a scratchpad, or tried to anyhow) |
2024-06-15 15:23:11 +0200 | catman | (~catman@user/catman) |
2024-06-15 15:23:36 +0200 | <Leary> | What does `xmonad --version` say? |
2024-06-15 15:25:03 +0200 | <Viking667> | uh. 0.17.0 |
2024-06-15 15:25:17 +0200 | <Leary> | Oh, I guess that won't quite tell you the version of contrib... Whatever; presume your contrib is too old and copy the definition instead. |
2024-06-15 15:25:27 +0200 | <Viking667> | so, I guess go copy that definition into xmonad.hs directly? |
2024-06-15 15:25:31 +0200 | <plp> | here is the relevant error log complaining about netlink is this really needed?: https://paste.debian.net/1320339 |
2024-06-15 15:25:39 +0200 | <Viking667> | (I'm guessing the three lines) |
2024-06-15 15:26:57 +0200 | <plp> | no I forgot to word wrap it |
2024-06-15 15:29:40 +0200 | <Viking667> | leary: yup. Only had to adjust for X.Actions.Search |
2024-06-15 15:29:43 +0200 | <plp> | here is a better one, sorry about that: https://paste.debian.net/1320340 |
2024-06-15 15:30:14 +0200 | <Viking667> | leary: works fine now, thank you for your help. (I guess that's what I get for trying to import a file that started with 0.13) |
2024-06-15 15:30:52 +0200 | Viking667 | disapparates |
2024-06-15 15:30:57 +0200 | Viking667 | (~user@user/Viking667) (*croak*) |
2024-06-15 15:34:29 +0200 | <plp> | so my question is the netlink required for xmobar and is there anything else inside xmobar that's looking for linux stuff? |
2024-06-15 17:18:29 +0200 | <geekosaur> | how are you building xmobar? it comes with a bunch of plugins, which can be enabled/disabled with flags |
2024-06-15 17:20:14 +0200 | <geekosaur> | in particular, I think this means you have +with_nl80211 (or +all_extensions) |
2024-06-15 17:23:21 +0200 | <geekosaur> | the linux-specific plugins are: +with_inotify +with_nl80211 +with_iwlib |
2024-06-15 17:23:52 +0200 | <geekosaur> | oh, hm, but looking at the cabal file, I think it stupidly assumes that if you're not on freebsd then you must be on linux 😞 |
2024-06-15 17:24:13 +0200 | <geekosaur> | https://codeberg.org/xmobar/xmobar/issues |
2024-06-15 17:43:20 +0200 | <plp> | I was using the all_extensions flags |
2024-06-15 17:46:28 +0200 | <plp> | I just tried with _dbus with_threaded with_xrender with_xpm with_alsa with_datazone and got an error: StatFS.hsc:34:10: fatatl error: sys/vfs.h: no such file or directory compilation terminated. |
2024-06-15 17:50:12 +0200 | <geekosaur> | yeh, I think you need to file a bug against xmobar |
2024-06-15 17:52:49 +0200 | haskellbridge | (~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection) |
2024-06-15 17:53:38 +0200 | haskellbridge | (~hackager@syn-024-093-192-219.res.spectrum.com) |
2024-06-15 17:53:53 +0200 | <haskellbridge> | <柱間 (@senju_hashirama:aria-net.org)> adamame: can you explain the use-case? |
2024-06-15 17:53:54 +0200 | <haskellbridge> | <柱間 (@senju_hashirama:aria-net.org)> i didnt understood what you meant |
2024-06-15 17:54:04 +0200 | haskellbridge | (~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection) |
2024-06-15 17:58:54 +0200 | haskellbridge | (~hackager@syn-024-093-192-219.res.spectrum.com) |
2024-06-15 18:02:45 +0200 | <haskellbridge> | <geekosaur (@geekosaur:matrix.org)> fwiw I think X.H.ManageHelpers has enough for you to add that to the runOrRaise predicate? |
2024-06-15 18:14:34 +0200 | plp | (~plp@2601:380:8386:8b20::cf8f) () |
2024-06-15 18:19:15 +0200 | <haskellbridge> | <adamame> yes I ended up using some of those like currentWS for exa., tho I think I will stick with GroupNavigation as I can specify a direction in its functions and I like that |
2024-06-15 20:12:10 +0200 | zawaken | (~zawaken@user/zawaken) (Ping timeout: 255 seconds) |
2024-06-15 20:12:49 +0200 | zawaken | (~zawaken@user/zawaken) |
2024-06-15 20:13:04 +0200 | scardinal | (~supreme@0x573d64a9.static.cust.fastspeed.dk) (Ping timeout: 255 seconds) |
2024-06-15 20:13:04 +0200 | joshproehl | (~quassel@user/joshproehl) (Ping timeout: 255 seconds) |
2024-06-15 20:13:31 +0200 | joshproehl | (~quassel@user/joshproehl) |
2024-06-15 20:14:55 +0200 | scardinal | (~supreme@0x573d64a9.static.cust.fastspeed.dk) |
2024-06-15 21:51:06 +0200 | xmonadtrack | (~xmonadtra@user/geekosaur/bot/xmonadtrack) (Remote host closed the connection) |
2024-06-15 21:56:30 +0200 | Miroboru | (~myrvoll@178-164-114.82.3p.ntebredband.no) (Quit: Lost terminal) |
2024-06-15 22:10:16 +0200 | mzg | (mzg@abusers.hu) (Ping timeout: 268 seconds) |
2024-06-15 22:10:23 +0200 | mzg | (mzg@abusers.hu) |
2024-06-15 22:32:23 +0200 | mzg | (mzg@abusers.hu) (Ping timeout: 264 seconds) |
2024-06-15 22:32:30 +0200 | mzg | (mzg@abusers.hu) |
2024-06-15 22:53:33 +0200 | Miroboru | (~myrvoll@178-164-114.82.3p.ntebredband.no) |
2024-06-15 23:08:19 +0200 | Guest0 | (~Guest0@67-0-55-142.albq.qwest.net) |
2024-06-15 23:08:55 +0200 | <Guest0> | Hello |
2024-06-15 23:09:42 +0200 | <Guest0> | I have one question |
2024-06-15 23:11:07 +0200 | <Guest0> | How do I implement ifClick' on after drag I've seen the documentation and it doesn't seem clear to me thank you for the help |
2024-06-15 23:13:17 +0200 | <geekosaur> | I'm not sure what you're asking. What documentation are you looking at? |
2024-06-15 23:14:03 +0200 | <Guest0> | I'm having problems understanding what ifClick' does on the module after drag and how to use it |
2024-06-15 23:14:25 +0200 | <Guest0> | And if you're preparing to what documentation is the xmonad documentation |
2024-06-15 23:19:33 +0200 | <geekosaur> | okay, the idea is you call this after initiating a drag in code (the example code for `ifClick` uses `mouseResizeWindow`). drags are not synchronous; once initiated, the main event loop tracks the drag and runs code after it completes (see `afterDrag`, and `dragging` in https://hackage.haskell.org/package/xmonad-0.18.0/docs/XMonad-Core.html#t:XState) |
2024-06-15 23:21:05 +0200 | <geekosaur> | `afterDrag` modifies the action to be taken after the drag completes. `ifClick'` uses `afterDrag` to install a cleanup handler that checks if the drag was a click and executes its second parameter for a click (as defined by its first argument) or a drag |
2024-06-15 23:21:59 +0200 | Guest0 | (~Guest0@67-0-55-142.albq.qwest.net) (Quit: Client closed) |
2024-06-15 23:24:38 +0200 | Guest0 | (~Guest0@67-0-55-142.albq.qwest.net) |
2024-06-15 23:26:13 +0200 | <Guest0> | How do I use this on x-monad module after drag ifClick' https://hackage.haskell.org/package/xmonad-contrib-0.18.0/docs/XMonad-Actions-AfterDrag.html thank you |
2024-06-15 23:27:10 +0200 | <geekosaur> | pretty much the same as the example for ifClick |
2024-06-15 23:27:53 +0200 | <geekosaur> | `, ((modm, button3), (\w -> focus w >> mouseResizeWindow w >> ifClick' 300 (windows $ W.float w $ W.RationalRect 0 0 1 1) (return ())))` |
2024-06-15 23:28:17 +0200 | <geekosaur> | (that's the ifClick example rewritten to use ifClick') |
2024-06-15 23:28:21 +0200 | <Guest0> | When I tried to use that exact same one it didn't work |
2024-06-15 23:28:29 +0200 | <geekosaur> | note that this has to be part of a mouse binding |
2024-06-15 23:29:19 +0200 | <Guest0> | Is it a fixed number amount only |
2024-06-15 23:30:47 +0200 | <geekosaur> | I don't understand what you're asking |
2024-06-15 23:31:21 +0200 | <geekosaur> | you can use values other than 300; that's just the number ifClick uses. ifClick' allows you to use a different one |
2024-06-15 23:32:01 +0200 | <Guest0> | Thank you very much |
2024-06-15 23:32:32 +0200 | <Guest0> | If I may ask one more question |
2024-06-15 23:33:12 +0200 | <Guest0> | What is this for |
2024-06-15 23:33:31 +0200 | <Guest0> | :: X () |
2024-06-15 23:34:26 +0200 | <Guest0> | -> X () |
2024-06-15 23:35:02 +0200 | <Guest0> | How do I use these I keep seeing them in xmonad and I've always wanted to learn how to use them properly |
2024-06-15 23:35:24 +0200 | <Guest0> | I found these on the after drag module |
2024-06-15 23:35:32 +0200 | <Guest0> | I just wanted to know how to use them and what they're for |
2024-06-15 23:37:53 +0200 | <geekosaur> | :: marks a type signature, -> X () is part of a type signature (usually indicating that something is an xmonad action) |
2024-06-15 23:38:46 +0200 | <Guest0> | And the other item |
2024-06-15 23:39:57 +0200 | <geekosaur> | didn't I just say that? |
2024-06-15 23:40:08 +0200 | <geekosaur> | -> X () is part of a type signature (usually indicating that something is an xmonad action) |
2024-06-15 23:40:17 +0200 | <Guest0> | This one |
2024-06-15 23:40:54 +0200 | <Guest0> | - > () |
2024-06-15 23:41:19 +0200 | <Guest0> | Thank you for the assistance have a nice day |
2024-06-15 23:44:29 +0200 | <geekosaur> | https://en.wikibooks.org/wiki/Haskell/Type_basics#section=9 |
2024-06-15 23:45:20 +0200 | <geekosaur> | in our case, X is a monad that carries around xmonad's internal state, and X () indicates that something is an action in the X monad (that is, it does something instead of producing a value) |
2024-06-15 23:45:44 +0200 | <geekosaur> | :t putStrLn |
2024-06-15 23:45:46 +0200 | <lambdabot> | String -> IO () |
2024-06-15 23:46:01 +0200 | <geekosaur> | in this case, it's an action in the IO monad |
2024-06-15 23:59:26 +0200 | <Guest0> | Where does someone go to learn the basic fundamentals of xmonad and to understand the documentation better thank you very much |