Logs on 2021-11-27 (liberachat/#xmonad)
| 00:02:22 | ← | alternateved parts (~user@staticline-31-183-149-3.toya.net.pl) (ERC 5.4.1 (IRC client for GNU Emacs 29.0.50)) |
| 00:20:30 | × | banc quits (banc@gateway/vpn/airvpn/banc) (Ping timeout: 256 seconds) |
| 00:32:51 | × | jmct_ quits (sid160793@tinside.irccloud.com) (Ping timeout: 245 seconds) |
| 00:33:16 | × | amir quits (sid22336@user/amir) (Ping timeout: 245 seconds) |
| 00:34:07 | → | amir joins (sid22336@user/amir) |
| 00:36:12 | → | jmct_ joins (sid160793@id-160793.tinside.irccloud.com) |
| 00:43:29 | → | cyr4x3 joins (~cyr4x3@139.47.118.87) |
| 00:43:29 | × | cyr4x3 quits (~cyr4x3@139.47.118.87) (Client Quit) |
| 00:53:16 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: Lost terminal) |
| 00:53:47 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 01:02:20 | × | catman quits (~catman@user/catman) (Quit: WeeChat 3.4-dev) |
| 01:06:32 | → | catman joins (~catman@user/catman) |
| 02:04:40 | × | noex quits (~null@2600:8804:1280:aa0:5857:94a:25de:c513) (Quit: my dad's not a phone!) |
| 02:05:02 | → | noex joins (~null@2600:8804:1280:aa0:5857:94a:25de:c513) |
| 02:52:08 | × | matijja quits (~matijja@193.77.181.201) (Quit: ZNC 1.8.1 - https://znc.in) |
| 02:56:54 | → | matijja joins (~matijja@193.77.181.201) |
| 03:15:31 | → | rekahsoft joins (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
| 03:22:59 | × | td_ quits (~td@94.134.91.33) (Ping timeout: 250 seconds) |
| 03:24:49 | → | MrNobody_0000000 joins (~MrNobody@user/mrnobody-0000000/x-9129771) |
| 03:24:51 | → | td_ joins (~td@94.134.91.117) |
| 03:24:53 | × | MrNobody_0000000 quits (~MrNobody@user/mrnobody-0000000/x-9129771) (Client Quit) |
| 03:25:16 | → | MrNobody_0000000 joins (~MrNobody@user/mrnobody-0000000/x-9129771) |
| 04:27:57 | × | MrNobody_0000000 quits (~MrNobody@user/mrnobody-0000000/x-9129771) (Quit: MrNobody_0000000) |
| 04:31:36 | → | MrNobody_0000000 joins (~MrNobody@user/mrnobody-0000000/x-9129771) |
| 04:58:14 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: Lost terminal) |
| 05:32:27 | × | Vermoot quits (~vermoot@89-158-106-112.rev.numericable.fr) (Remote host closed the connection) |
| 05:32:44 | → | Vermoot joins (~vermoot@89-158-106-112.rev.numericable.fr) |
| 05:33:28 | × | rekahsoft quits (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Remote host closed the connection) |
| 05:34:01 | → | rekahsoft joins (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
| 05:38:10 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 05:48:11 | × | rekahsoft quits (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Remote host closed the connection) |
| 05:48:42 | → | rekahsoft joins (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
| 06:04:21 | × | rekahsoft quits (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Remote host closed the connection) |
| 06:04:54 | → | rekahsoft joins (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
| 06:18:38 | × | rekahsoft quits (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 256 seconds) |
| 06:24:21 | × | mvk quits (~mvk@2607:fea8:5cc1:fa00::4702) (Ping timeout: 250 seconds) |
| 06:38:13 | → | mvk joins (~mvk@2607:fea8:5cc1:fa00::4702) |
| 08:49:44 | → | qbt joins (~qbt@user/edun) |
| 08:54:22 | → | banc joins (banc@gateway/vpn/airvpn/banc) |
| 08:57:44 | → | alternateved joins (~user@staticline-31-183-149-3.toya.net.pl) |
| 09:00:08 | × | diamondtoken[m] quits (~diamondto@2001:470:69fc:105::1:2594) (Quit: You have been kicked for being idle) |
| 09:03:17 | × | qbt quits (~qbt@user/edun) (Quit: Leaving.) |
| 09:03:25 | × | Solid quits (~slot@xmonad/slotThe) (Remote host closed the connection) |
| 09:04:09 | → | Solid joins (~slot@xmonad/slotThe) |
| 09:12:36 | × | Solid quits (~slot@xmonad/slotThe) (Remote host closed the connection) |
| 09:14:42 | → | Solid joins (~slot@xmonad/slotThe) |
| 09:17:37 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 09:17:40 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 09:17:43 | allbery_b | is now known as geekosaur |
| 09:19:40 | × | Solid quits (~slot@xmonad/slotThe) (Quit: Connection reset by pear) |
| 09:20:04 | → | Solid joins (~slot@xmonad/slotThe) |
| 09:37:14 | → | qbt joins (~qbt@user/edun) |
| 09:37:54 | × | mvk quits (~mvk@2607:fea8:5cc1:fa00::4702) (Ping timeout: 260 seconds) |
| 10:00:32 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 10:01:23 | × | qbt quits (~qbt@user/edun) (Quit: Leaving.) |
| 10:04:00 | ← | alternateved parts (~user@staticline-31-183-149-3.toya.net.pl) (ERC 5.4.1 (IRC client for GNU Emacs 29.0.50)) |
| 10:05:17 | → | qbt joins (~qbt@user/edun) |
| 10:15:42 | × | qbt quits (~qbt@user/edun) (Quit: Leaving.) |
| 10:37:37 | <Vermoot> | So this is gonna be a bit different: |
| 10:38:08 | <Vermoot> | Can you guys think of a way I can bind something to two mouse buttons *at the same time*? |
| 10:38:55 | <Vermoot> | I'd like to move my windows (by default with mod+mouse1 and drag) by using both mouse buto |
| 10:39:15 | <Vermoot> | buttons (mouse 1 and mouse 3 and drag) simultaneously |
| 10:44:04 | <Vermoot> | and preferrably regardless of order (I was thinking of using mouse1 as a modifier, which would mean having to press mouse1 before mouse3, and I'd like to avoid that) |
| 10:48:26 | → | seschwar joins (~seschwar@user/seschwar) |
| 11:30:57 | × | haskl[error] quits (~haskl@user/haskl) (Read error: Connection reset by peer) |
| 11:33:04 | → | haskl joins (~haskl@user/haskl) |
| 12:55:00 | <FOSSHuman[m]> | <geekosaur> "windows (\ss -> foldr (W...." <- Thanks for the solution! It may take me a while to understand this and add it to my config, I wonder if I could use some kind of prompt to ask which workspace I want to windows shifted to, but for now I'll just try this.. (beginner at Haskell btw) |
| 13:07:52 | → | qbt joins (~qbt@user/edun) |
| 13:08:37 | <geekosaur> | https://hackage.haskell.org/package/xmonad-contrib-0.17.0/docs/XMonad-Prompt-Workspace.html |
| 13:09:18 | <geekosaur> | Vermoot, X11 doesn't really support that |
| 13:10:17 | <geekosaur> | moreover it's going to conflict with the default server behavior that both buttons at the same time emulates button 2 |
| 13:10:57 | <geekosaur> | which is wired in and you can't useit to emulate a different mouse button, which would make it much easier to implement if it worked :( |
| 13:24:27 | × | qbt quits (~qbt@user/edun) (Quit: Leaving.) |
| 13:26:25 | → | qbt joins (~qbt@user/edun) |
| 13:31:34 | × | qbt quits (~qbt@user/edun) (Quit: Leaving.) |
| 13:34:11 | → | qbt joins (~qbt@user/edun) |
| 13:36:07 | × | qbt quits (~qbt@user/edun) (Client Quit) |
| 13:52:03 | → | qbt joins (~qbt@user/edun) |
| 14:41:47 | × | qbt quits (~qbt@user/edun) (Quit: Leaving.) |
| 14:46:08 | → | qbt joins (~qbt@user/edun) |
| 14:49:32 | × | qbt quits (~qbt@user/edun) (Client Quit) |
| 14:51:35 | <Vermoot> | geekosaur, I had tested in xev how it looked when clicking with both buttons, and it seemed to me to properly recognize those, but alright |
| 14:53:06 | <Vermoot> | I'd actually be fine with using button 2 instead, but some apps I use (Bitwig Studio, for example) use button 2 click and drag for some actions, which I guess would be problematic |
| 14:53:28 | <Vermoot> | I'm guessing in general binding a mouse button without any modifier isn't a good idea? |
| 14:54:00 | → | qbt joins (~qbt@user/edun) |
| 15:00:23 | × | qbt quits (~qbt@user/edun) (Quit: Leaving.) |
| 15:09:31 | <geekosaur> | right, that takes it away from apps |
| 15:10:05 | <geekosaur> | and while you can configure a key to be a modifier, you can't configure a mouse button to be a modifier |
| 15:12:36 | <geekosaur> | there are other potential solutions, for example you can get a foot pedal and set it up as a modifier |
| 15:21:29 | <Vermoot> | eeeeh |
| 15:21:37 | <Vermoot> | I don't really have a use for that right now |
| 15:22:06 | <Vermoot> | I do have a mouse with tons of buttons though, some of which I could use for that kind of stuff |
| 15:22:24 | <Vermoot> | But right now the mouse is configured to send keyboard events, like a numpad |
| 15:22:27 | <Vermoot> | Which isn't ideal |
| 15:23:27 | <Vermoot> | I'm not sure how to make it output mouse button events (20 of them) |
| 15:23:34 | <Vermoot> | (It's a Logitech G600) |
| 15:24:32 | <geekosaur> | I think you have to run a configuration utility (which of course is only available for Windows) |
| 15:24:59 | <Vermoot> | My overall goal is always the same: have a setup I can use in keyboard-only (that's easy) mode, kb+m, or mouse only for when I'm lazily browsing with just my mouse |
| 15:25:09 | <geekosaur> | (maaaaaaybe MacOS if they felt like it; Logi goes through phases where they only admit to Windows existing) |
| 15:25:48 | <Vermoot> | geekosaur, eeeh, Logitech's software is really not great. G hub is the shitty replacement for the already-not-great Logitech Gaming Software |
| 15:27:46 | <Vermoot> | Problem is the mouse has some internal memory with bindings inside, so I can either run it in software mode, where mouse events are passed to Logitech's software, which outputs what's bound to them, or firmware mode, with bindings in memory. As far as I can tell, when the mouse can't detect any Logitech software on the system it automatically falls back to firmware mode, making it hard for me to do whatever I want with the mouse events |
| 15:28:34 | <Vermoot> | anyhoo |
| 15:29:15 | <Vermoot> | I need to find a way to be able to move and resize windows with the mouse only, without window decorations. Which doesn't seem very doable :D |
| 15:29:27 | <geekosaur> | so in that case I wonder if you can just bind some of those firmware events as modifiers |
| 15:29:43 | <geekosaur> | might be difficult if there's no way to distinguish from e.g. a digit |
| 15:30:26 | <Vermoot> | Yeah. In firmware mode right now the mouse is set to output 0-9 and -= |
| 15:30:48 | <Vermoot> | So I'd have to somehow grab those and verify the device ID from which they've been sent, maybe |
| 15:30:57 | <Vermoot> | But that's *very* jank imo |
| 15:32:07 | <geekosaur> | you'd have to use XInput2 to detach the mouse-"keyboard" from the shared keyboard input, then use handleEventHook to recognize the events, but then you lose them as modifiers |
| 15:32:36 | <geekosaur> | have to do everything yourself |
| 15:32:48 | <Vermoot> | I could probably do something with kmonad as well, grabbing events from the mouse-keyboard only and then rebinding them to something else |
| 15:32:59 | <Vermoot> | but iirc kmonad can't output mouse events right now |
| 15:34:47 | <Vermoot> | On a more practical note : when I was on macOS I had hidden firefox's window decorations, but I could still move the window by grabbing some parts of the UI which have the right property set to them. Now on linux with xmonad I can't do that anymore, though it'd be pretty useful |
| 15:35:39 | <Vermoot> | Now that I think of it, even without window decorations, most of the apps I use have some places that would be very convenient as "grabbers" to move the windows around |
| 15:37:17 | <geekosaur> | https://hackage.haskell.org/package/xmonad-contrib-0.17.0/docs/XMonad-Layout-BorderResize.html ? |
| 15:37:28 | <geekosaur> | sadly it's fairly limited |
| 15:38:31 | <Vermoot> | That's just to resize them though, right? |
| 15:39:01 | <Vermoot> | I'm talking about moving them around either in floating mode or to use with TiledWindowDragging |
| 15:40:05 | <geekosaur> | for moving, you can have the mouse anywhere in the window as long as you have the modifier pressed |
| 15:40:27 | <geekosaur> | doesn't require the app to be involved |
| 15:41:42 | <Vermoot> | Sure, my point is about moving the windows without a modifier :D Just like with window decorations in "classic" WMs. There's no modifier involved, it's all about where you grab the window |
| 15:41:51 | <Vermoot> | (I'm annoying, I'll concede) |
| 15:43:06 | <Vermoot> | The whole point actually is to be able to do this one handed |
| 15:43:12 | <geekosaur> | yeh, if you can't arrange for an extended mouse button, you may be happier with a different wm |
| 15:43:22 | <geekosaur> | not like xmonad is the only choice out there |
| 15:43:39 | <Vermoot> | Oh no way, I'm way too deep into xmonad and way too happy with most of it to go away now haha |
| 15:44:11 | <Vermoot> | I guess what I should do really is to bind the four main modifiers to side buttons of my mouse |
| 15:44:41 | <Vermoot> | But I was hoping for a more "universal" way that would work with any old mouse, or my laptop's trackpad |
| 15:56:10 | <Vermoot> | geekosaur, BorderResize only works on floating layouts but won't work with actual floating windows, right? |
| 16:04:52 | <geekosaur> | there is no such thing as a floating layout in xmonad |
| 16:05:20 | <geekosaur> | (well, there is, but it's a lot of work as you poretty much have to duplicate all the floating logic in the layout from scratch) |
| 16:06:25 | <geekosaur> | PositionStoreFloat is a layout modifier that tracks the relationship between floating windows and tiled windows |
| 16:08:17 | <Vermoot> | I was looking at BorderResize, and the docs say it works with layouts that react to the SetGeometry message. So looking at WindowArranger, you can apply `windowArrange` to layouts to make that happen. And the description for that function reads "A layout modifier to float the windows in a workspace" |
| 16:08:26 | <Vermoot> | So that's what I was talking about |
| 16:09:01 | <Vermoot> | I don't really know the specifics though |
| 16:09:56 | <geekosaur> | uh? I see "This is a pure layout modifier that will let you move and resize windows with the keyboard in any layout" |
| 16:10:14 | <Vermoot> | That's the module's description |
| 16:10:34 | <Vermoot> | I'm talking about the `windowArrange` and `windowArrangeAll` functions within that module |
| 16:10:42 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 16:15:02 | <geekosaur> | yeh, I'm looking at source now |
| 16:15:20 | <geekosaur> | thing is there are Arrange and Dearrange messages, the window is normally tiled on Dearrange |
| 16:16:05 | <Vermoot> | Yeah the WindowArranger stuff is very weird to me. You can move and resize windows around, but they're still tiled, but other windows don't react to it, etc |
| 16:16:13 | <Vermoot> | I don't really see a use case for it |
| 16:16:37 | <geekosaur> | afaict it's just so you can move and resize via keyboard |
| 16:16:58 | <geekosaur> | which you can't really do with normally floated windows |
| 16:17:06 | <Vermoot> | Ah, fair |
| 16:17:35 | <Vermoot> | So it's kind of a bastard state between floating and non-floating right? |
| 16:18:21 | <geekosaur> | yes |
| 16:18:35 | <geekosaur> | there's another layout of that sort in there,m specific to "bluetile" |
| 16:19:02 | <geekosaur> | come to think of it, bluetile might be of interest to you |
| 16:21:43 | <Vermoot> | I've come across it but haven't really been able to understand what it was |
| 16:22:49 | <geekosaur> | kind of a cross between xmonad and a traditional window manager |
| 16:59:04 | → | mvk joins (~mvk@2607:fea8:5cc1:fa00::4702) |
| 17:48:41 | × | Vermoot quits (~vermoot@89-158-106-112.rev.numericable.fr) (Read error: Connection reset by peer) |
| 18:13:07 | × | catman quits (~catman@user/catman) (Quit: WeeChat 3.4-dev) |
| 18:13:55 | → | catman joins (~catman@user/catman) |
| 18:22:11 | → | kaizoku joins (~kaizoku@user/kaizoku) |
| 18:22:18 | × | MrNobody_0000000 quits (~MrNobody@user/mrnobody-0000000/x-9129771) (Quit: MrNobody_0000000) |
| 18:27:37 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 18:29:42 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 18:58:51 | <spoonm> | does Stack(focus) change where it points to if I try to invoke it on an unfocused workspace? |
| 18:59:29 | <spoonm> | I'm trying to figure out why W.peek seems to wield a different window than the one that was actually focused when I switch to another workspace |
| 18:59:42 | <spoonm> | yield* |
| 19:13:41 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 19:14:37 | → | Vermoot joins (~vermoot@89-158-106-112.rev.numericable.fr) |
| 19:21:54 | <geekosaur> | I don't understand the question. W.peek always operates on the current ws, not a different one |
| 19:39:01 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: Lost terminal) |
| 19:46:36 | × | seschwar quits (~seschwar@user/seschwar) (Ping timeout: 245 seconds) |
| 19:51:29 | → | seschwar joins (~seschwar@user/seschwar) |
| 20:01:03 | × | seschwar quits (~seschwar@user/seschwar) (Ping timeout: 268 seconds) |
| 20:05:33 | → | seschwar joins (~seschwar@user/seschwar) |
| 20:14:31 | × | seschwar quits (~seschwar@user/seschwar) (Ping timeout: 245 seconds) |
| 20:19:47 | → | seschwar joins (~seschwar@user/seschwar) |
| 20:24:53 | → | Guest30 joins (~Guest30@169-0-75-49.ip.afrihost.co.za) |
| 20:26:08 | × | Guest30 quits (~Guest30@169-0-75-49.ip.afrihost.co.za) (Client Quit) |
| 20:26:40 | → | catman_ joins (~catman@user/catman) |
| 20:27:04 | × | catman quits (~catman@user/catman) (Killed (tungsten.libera.chat (Nickname regained by services))) |
| 20:27:04 | catman_ | is now known as catman |
| 20:29:22 | × | seschwar quits (~seschwar@user/seschwar) (Ping timeout: 260 seconds) |
| 20:31:01 | → | seschwar joins (~seschwar@user/seschwar) |
| 20:33:33 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 20:41:44 | × | seschwar quits (~seschwar@user/seschwar) (Ping timeout: 268 seconds) |
| 20:43:15 | → | seschwar joins (~seschwar@user/seschwar) |
| 20:48:02 | <spoonm> | so I've realized after reading the source code |
| 20:48:15 | <spoonm> | my bad, assumed it worked a specific way due to where I saw it being used |
| 20:50:19 | → | spidla joins (~spidla@94.142.238.3) |
| 20:50:39 | ← | spidla parts (~spidla@94.142.238.3) () |
| 20:54:31 | × | jsoo_ quits (~znc@irc.refl.club) (Quit: ZNC 1.8.2 - https://znc.in) |
| 21:07:50 | → | jsoo joins (~znc@irc.refl.club) |
| 21:36:09 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 21:44:34 | × | Eoco_ quits (~ian@x-160-94-179-157.acm.umn.edu) (Ping timeout: 256 seconds) |
| 22:19:00 | → | ebray187 joins (~ebray187@2800:150:129:17c4:224:1dff:fed5:599e) |
| 22:33:28 | × | ebray187 quits (~ebray187@2800:150:129:17c4:224:1dff:fed5:599e) (Quit: Konversation terminated!) |
| 22:45:43 | → | abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
| 23:27:19 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: Lost terminal) |
| 23:38:37 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 23:46:30 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 23:50:04 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 23:51:47 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Client Quit) |
All times are in UTC on 2021-11-27.