Logs on 2022-04-08 (liberachat/#xmonad)
| 02:03:33 | × | banc quits (banc@gateway/vpn/airvpn/banc) (Ping timeout: 260 seconds) |
| 02:24:54 | → | banc joins (banc@gateway/vpn/airvpn/banc) |
| 02:33:29 | × | benin quits (~benin@183.82.204.110) (Quit: The Lounge - https://thelounge.chat) |
| 02:35:51 | → | benin joins (~benin@183.82.204.110) |
| 02:48:00 | × | benin quits (~benin@183.82.204.110) (Quit: The Lounge - https://thelounge.chat) |
| 02:53:00 | → | benin joins (~benin@183.82.204.110) |
| 03:04:44 | × | akamar quits (~akamar@p5b0ca16a.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 03:20:34 | × | benin quits (~benin@183.82.204.110) (Quit: The Lounge - https://thelounge.chat) |
| 03:51:24 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::9d5a) (Ping timeout: 240 seconds) |
| 04:03:09 | → | benin joins (~benin@183.82.204.110) |
| 05:03:29 | × | benin quits (~benin@183.82.204.110) (Quit: The Lounge - https://thelounge.chat) |
| 05:07:23 | × | rekahsoft quits (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Remote host closed the connection) |
| 05:07:49 | → | rekahsoft joins (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) |
| 05:08:14 | → | benin joins (~benin@183.82.204.110) |
| 05:10:37 | × | rekahsoft quits (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Remote host closed the connection) |
| 05:10:59 | → | rekahsoft joins (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) |
| 05:11:43 | × | rekahsoft quits (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Remote host closed the connection) |
| 05:12:05 | → | rekahsoft joins (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) |
| 05:13:43 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 05:15:26 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 05:21:12 | × | twiclo quits (~twiclo@vpn.utahbroadband.com) (Quit: WeeChat 3.4) |
| 05:34:39 | × | rekahsoft quits (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Remote host closed the connection) |
| 05:37:07 | → | rekahsoft joins (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) |
| 05:37:59 | × | rekahsoft quits (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Remote host closed the connection) |
| 05:38:23 | → | rekahsoft joins (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) |
| 05:39:05 | × | rekahsoft quits (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Remote host closed the connection) |
| 05:39:25 | → | rekahsoft joins (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) |
| 05:43:15 | <Ether[m]> | Does someone know how to do something like && in bash in haskell? |
| 05:43:46 | <Ether[m]> | Haskell cmd 1 >> Haskell cmd2 |
| 05:44:01 | <Ether[m]> | But it doesn't work :( |
| 05:45:11 | <abastro[m]> | What does && do in bash? |
| 05:45:34 | <abastro[m]> | Btw I think you can always code scripts in bash and call using `spawn` |
| 05:46:07 | × | rekahsoft quits (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Ping timeout: 256 seconds) |
| 05:52:58 | <Ether[m]> | && in bash allows you to use multiple commands at the same time |
| 05:53:04 | <Ether[m]> | Its an bash argument.. |
| 05:53:16 | <Ether[m]> | a* |
| 05:59:54 | <abastro[m]> | When cmd1 and cmd2 are IO actions, cmd1 >> cmd2 should work |
| 06:01:32 | <Ether[m]> | I am using bindbylayout |
| 06:01:47 | <Ether[m]> | Which is not an IO action? |
| 06:05:58 | <Solid> | Ether[m]: you gotta be a little bit more specific than that |
| 06:06:10 | → | liskin[m] joins (~liskinmat@2001:470:69fc:105::768) |
| 06:06:44 | <abastro[m]> | The ones which does not have `IO` in type |
| 06:06:55 | <abastro[m]> | Well actually |
| 06:07:07 | <abastro[m]> | In xmonad's case, sth like X is also IO action |
| 07:22:33 | → | cfricke joins (~cfricke@user/cfricke) |
| 07:48:17 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 08:19:53 | → | defc0n[m] joins (~defc0nmat@2001:470:69fc:105::1:f39b) |
| 08:19:54 | <defc0n[m]> | hello people |
| 08:20:49 | <defc0n[m]> | does anyone know why i cant change my theme, im using plasma/xmonad |
| 08:36:55 | <davve> | plasma and xmonad? didnt know they worked together |
| 09:00:09 | × | kwer[m] quits (~kwermatri@2001:470:69fc:105::1:4da1) (Quit: You have been kicked for being idle) |
| 09:03:48 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.4.1) |
| 09:07:20 | <Ether[m]> | Is there way to do a cmd when spawning any new window > 1 |
| 09:12:05 | <defc0n[m]> | <davve> "plasma and xmonad? didnt know..." <- well no youtube video or any documentation exists on this, so how could i ever know? |
| 09:12:41 | <Ether[m]> | defc0n[m]: https://wiki.haskell.org/Xmonad/Using_xmonad_in_KDE |
| 09:13:32 | <Ether[m]> | https://youtu.be/-PO5gqexi8c |
| 09:14:12 | <Ether[m]> | defc0n kde has something called "konkite" which is for tilling |
| 09:14:25 | <defc0n[m]> | why none of these showed up when i searched for this |
| 09:14:36 | <Ether[m]> | Why use xmonad just for running a DE? |
| 09:14:43 | <Ether[m]> | defc0n[m]: What ? |
| 09:15:08 | <Ether[m]> | Its the first thing you get when you search "kde with xmonad" |
| 09:16:04 | <defc0n[m]> | im sooo blind, its literlly the frist page |
| 09:17:33 | <Ether[m]> | defc0n[m]: Exactly... :) |
| 09:20:48 | <davve> | i think its "krohnkite" and is what I used with plasma |
| 09:21:14 | <davve> | its tiling in xmonad/dwm-esque |
| 09:21:35 | <davve> | a plugin for kwin |
| 09:21:56 | <davve> | might have still used it if there were some way to save plasma configuration |
| 09:22:03 | <davve> | its just a dotfolder with a huge mess |
| 09:26:30 | <davve> | now just using xmonad with DE installed and a key bound to open its settings |
| 09:26:40 | <davve> | fits my case pretty well |
| 09:27:19 | <davve> | and its easily replicable and editable :) (if one considers haskell easy, tsk) |
| 09:27:57 | <Ether[m]> | But why plasma.desktop? |
| 09:28:17 | <Ether[m]> | Its kinda getting slower and slower 😒 |
| 09:28:46 | × | jeeeun quits (~jeeeun@78.40.148.178) (Quit: The Lounge - https://thelounge.chat) |
| 09:29:05 | <Drishal[m]> | btw one small question... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/a6f1602e351b6f938427c674683850e85d7c2680) |
| 09:29:21 | → | jeeeun joins (~jeeeun@78.40.148.178) |
| 09:29:23 | <Drishal[m]> | s/floating/`simplestfloat`/ |
| 09:29:28 | <Ether[m]> | As in mouse focus? |
| 09:29:46 | <Drishal[m]> | Ether[m]: yes I want click to focus so that windows do not go behind lol |
| 09:29:56 | <Drishal[m]> | when in floating mod e |
| 09:29:56 | <Ether[m]> | Yes thats possible |
| 09:30:21 | <Ether[m]> | But it will apply for all layouts. |
| 09:30:30 | <Drishal[m]> | I want clicktofocus only and only in `simplestfloat` not in tile |
| 09:30:46 | <Drishal[m]> | instead of hover to focus |
| 09:31:12 | <Ether[m]> | Ok hook with floating layout.. |
| 09:31:58 | <Ether[m]> | myConfig p = def { borderWidth = border , clickJustFocuses = myClickJustFocuses , focusFollowsMouse = myFocusFollowsMouse , normalBorderColor = myNormalBorderColor , focusedBorderColor = myFocusedBorderColor , manageHook = myManageHook , handleEventHook = myHandleEventHook , layoutHook = myLayoutHook , logHook = myLogHook p , modMask = myModMask , mouseBindings = myMouseBindings , startupHook = myStartupHook , terminal = myTerminal , |
| 09:31:58 | <Ether[m]> | workspaces = myWorkspaces } |
| 09:36:20 | <Drishal[m]> | <Ether[m]> "Ok hook with floating layout.." <- how exactly? |
| 09:37:01 | <Ether[m]> | Can share your config? |
| 09:37:21 | <Ether[m]> | I could do a PR in github? |
| 09:37:56 | <Drishal[m]> | https://gitlab.com/drishal/dotfiles/-/blob/master/xmonad/README.org |
| 09:38:09 | <Ether[m]> | Do you have github? |
| 09:38:22 | <Ether[m]> | Gotta create gitlab acc... |
| 09:39:39 | <Drishal[m]> | Ether[m]: thank god my mirroring is working lol |
| 09:39:39 | <Drishal[m]> | https://github.com/drishal/dotfiles/tree/master/xmonad |
| 09:41:11 | <Ether[m]> | Where is your xmonad.hs? |
| 09:41:53 | <Ether[m]> | Drishal |
| 09:42:12 | <Drishal[m]> | Ether[m]: I actually do in emacs org mode 😅 |
| 09:42:17 | <Ether[m]> | Your using nix packages.. |
| 09:42:24 | <Ether[m]> | Drishal[m]: Whatttt? |
| 09:43:02 | <Drishal[m]> | Ether[m]: wait, is it wrong to do it that way? 👀 |
| 09:43:06 | <Drishal[m]> | I love emacs kek |
| 09:43:12 | <Ether[m]> | Ohh god, how do i modify? |
| 09:43:28 | <Drishal[m]> | you dont use emacs? |
| 09:43:30 | <Drishal[m]> | 👀 |
| 09:43:32 | <Ether[m]> | I dont use emacs or org mode.. neovim for life |
| 09:43:45 | <Drishal[m]> | maybe just tell me where to modify stuff lol |
| 09:43:51 | <Ether[m]> | Neovim is lighter and faster.. |
| 09:44:01 | <Ether[m]> | Drishal[m]: Suree. |
| 09:44:09 | <Ether[m]> | I dont have irc on pc.. |
| 09:44:12 | <Drishal[m]> | ooh god I am not ready for another neovim vs emacs debate lol |
| 09:44:33 | <Ether[m]> | How do I write code from phone? |
| 09:44:43 | <Drishal[m]> | I can share the tangled xmonad.hs tho |
| 09:44:51 | <Ether[m]> | Yeah do that |
| 09:44:56 | Drishal[m] | posted a file: (3KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/XcFyDRYMtTwiWBFtGQZdnKdT/xmobar.hs > |
| 09:44:56 | <Ether[m]> | Make a git commit |
| 09:45:01 | <Ether[m]> | Ohh |
| 09:45:14 | <Ether[m]> | Can u push this in github? |
| 09:45:27 | <Ether[m]> | Call it temp.hs? |
| 09:45:43 | <Ether[m]> | Drishal |
| 09:45:44 | <Drishal[m]> | hmm |
| 09:45:56 | <Ether[m]> | Thanks 😊 |
| 09:47:49 | <Drishal[m]> | Ether[m]: https://github.com/drishal/dotfiles/blob/master/xmonad/xmonad.hs |
| 09:48:00 | <Ether[m]> | Done? |
| 09:48:10 | <Drishal[m]> | pushed the temp to github |
| 09:48:33 | <Ether[m]> | I see it |
| 09:53:15 | <Ether[m]> | You already have it in your config 🤣🤣🤣 |
| 09:53:23 | <Ether[m]> | Drishal |
| 09:53:38 | <Ether[m]> | U just need to set it to true.. |
| 09:53:46 | <Ether[m]> | Making a PR.. |
| 09:55:57 | <Drishal[m]> | Ether[m]: ``` myClickJustFocuses = False |
| 09:55:57 | <Drishal[m]> | ``` |
| 09:55:57 | <Drishal[m]> | to true ? |
| 09:56:15 | <Drishal[m]> | > <@etherror_code_404:matrix.org> U just need to set it to true..... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/042ad0262f2b0a018137667a89eedbf1183148cc) |
| 09:56:16 | <lambdabot> | <hint>:1:1: error: parse error on input ‘<@’ |
| 09:58:16 | <Ether[m]> | Drishal: done... |
| 10:01:24 | <Drishal[m]> | Ether[m]: but the thing is |
| 10:01:24 | <Drishal[m]> | I want it only in the float layout |
| 10:01:30 | <Ether[m]> | Ohh |
| 10:01:44 | <Ether[m]> | Ok i can implement that too.. |
| 10:01:53 | <Drishal[m]> | like how dwm implements it |
| 10:02:11 | <Ether[m]> | Making a PR... |
| 10:02:12 | <Drishal[m]> | like new windows do not go behind in floating mode |
| 10:02:47 | <Drishal[m]> | Ether: well the real exact behavour I really need is that the windows should not go behind till I do a proper mod+click |
| 10:03:09 | <Drishal[m]> | thats why I wanted to disable hover to focus just for floating layout |
| 10:03:26 | <Ether[m]> | Not sure i get what you mean |
| 10:03:33 | <Drishal[m]> | so it behavs like how dwm does it |
| 10:03:45 | <Ether[m]> | But i can implement click to focus for the floating.. |
| 10:03:50 | <Drishal[m]> | s/it/floating/, s/behavs/behaves/ |
| 10:04:01 | <Drishal[m]> | Ether[m]: that also will do 👍️ |
| 10:04:22 | <Ether[m]> | Ok 😀 |
| 10:04:57 | <Ether[m]> | Can you merge the first commit? |
| 10:06:13 | <Drishal[m]> | Ether[m]: well I have copied to the xmoand.org |
| 10:06:13 | <Drishal[m]> | will credit you when the commit is pushed lol |
| 10:06:58 | <abastro[m]> | I wonder how hard it would be to make a status bar myself |
| 10:07:27 | <abastro[m]> | ~~As it feels like I could make better one by myself~~ |
| 10:07:45 | <pantsu> | more tedious than hard |
| 10:08:01 | <abastro[m]> | I see |
| 10:08:13 | <pantsu> | x11 has a lot of iritating cornercases etc |
| 10:08:30 | <abastro[m]> | Tedious in implementing widgets? |
| 10:08:31 | <abastro[m]> | Or is there more to.. oh |
| 10:08:45 | <Drishal[m]> | Ether[m]: soo uuh the real thing is I needed a dwm style floating layout |
| 10:08:45 | <Drishal[m]> | i.e newly spawned windows do not get pushed behind if I accidentally hover my mouse over the previous window |
| 10:08:47 | <abastro[m]> | Meh having to think about corner cases when just making a status bar is.. eh |
| 10:08:53 | <pantsu> | using gtk or similar do take some of the worst out of it though |
| 10:09:12 | <Ether[m]> | Drishal dm instead.. |
| 10:09:19 | <Ether[m]> | Getting crowded |
| 10:09:26 | <abastro[m]> | Like I wanted to try out monomer-based task bars |
| 10:09:38 | <abastro[m]> | Tho I guess it would take.. quite an efforts |
| 10:10:57 | <abastro[m]> | Well you can use this chat here, my topic likely ended here |
| 10:11:08 | <abastro[m]> | s/here/now/ |
| 10:18:21 | → | a1eaiactaest joins (~a1eaiacta@user/a1eaiactaest) |
| 10:18:48 | ← | a1eaiactaest parts (~a1eaiacta@user/a1eaiactaest) () |
| 10:21:37 | × | benin quits (~benin@183.82.204.110) (Quit: The Lounge - https://thelounge.chat) |
| 10:42:42 | → | benin joins (~benin@183.82.204.110) |
| 10:48:07 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.4.1) |
| 11:47:58 | <YusefAslam[m]> | <Ether[m]> "Neovim is lighter and faster.." <- Emacs is better |
| 11:47:59 | <YusefAslam[m]> | Emacs for life |
| 11:49:03 | <geekosaur> | meh. I use both |
| 11:49:28 | <YusefAslam[m]> | geekosaur: yeah same |
| 11:50:39 | <YusefAslam[m]> | <Drishal[m]> "ooh god I am not ready for..." <- you are ready |
| 11:53:02 | <YusefAslam[m]> | <Ether[m]> "I dont use emacs or org mode..." <- illegal |
| 12:18:29 | <Drishal[m]> | <YusefAslam[m]> "you are ready" <- emacs bess hands down :P |
| 12:18:46 | <Drishal[m]> | emacs+gold linker+pgtk+jit |
| 12:19:09 | <Drishal[m]> | * emacs+gold linker+pgtk+jit/aot |
| 12:20:00 | <abastro[m]> | What about notepad >.> |
| 12:23:45 | → | cfricke joins (~cfricke@user/cfricke) |
| 12:26:23 | <Solid> | pgtk is only really needed when you're on wayland instead of xorg |
| 12:27:03 | <Drishal[m]> | Solid: its stable even on xorg |
| 12:27:21 | <Solid> | sure it's stable but it also doesn't buy you anything |
| 12:27:47 | <Drishal[m]> | Solid: well |
| 12:27:47 | <Drishal[m]> | it feels a bit more responsive lol |
| 12:28:55 | <Solid> | placebo, I reckon :P |
| 12:38:27 | <YusefAslam[m]> | <Drishal[m]> "emacs+gold linker+pgtk+jit" <- what is pgtk |
| 12:38:30 | <YusefAslam[m]> | and what is aot |
| 12:41:09 | <Drishal[m]> | YusefAslam[m]: pgtk means pure gtk |
| 12:41:10 | <YusefAslam[m]> | <abastro[m]> "What about notepad >.>" <- notepad++ is good aswell much better than plain notepad on Windows |
| 12:41:39 | <abastro[m]> | Well I meant plain notepad |
| 12:41:40 | <Drishal[m]> | btw whats the xmoand equivalent of |
| 12:41:40 | <Drishal[m]> | ```python |
| 12:41:40 | <Drishal[m]> | auto_minimize = False |
| 12:41:40 | <Drishal[m]> | ``` |
| 12:42:08 | <Solid> | YusefAslam[m]: PGTK is essentially Wayland support for Emacs |
| 12:42:38 | <YusefAslam[m]> | Solid: I thought Emacs already supported Wayland? |
| 12:42:53 | <Solid> | Only through xwayland |
| 12:43:21 | <YusefAslam[m]> | ohk so like native Wayland support |
| 12:43:37 | <Solid> | yes |
| 12:43:48 | <YusefAslam[m]> | pretty decent |
| 12:44:00 | <YusefAslam[m]> | although I still use Xorg |
| 12:44:01 | <Solid> | by just going through GTK and side-stepping the whole "we need to do this ourselves" entirely |
| 12:44:16 | <Drishal[m]> | Solid: and also pure gtk means that the client has full gtk support |
| 12:44:16 | <Drishal[m]> | means that emacs should hang/stutter a little more less |
| 12:44:26 | <Drishal[m]> | even on Xorg |
| 12:45:03 | <Solid> | how would that follow? |
| 12:45:35 | <YusefAslam[m]> | > <@drishal:matrix.org> and also pure gtk means that the client has full gtk support |
| 12:45:35 | <YusefAslam[m]> | > means that emacs should hang/stutter a little more less |
| 12:45:35 | <YusefAslam[m]> | nice |
| 12:45:37 | <lambdabot> | <hint>:1:1: error: parse error on input ‘<@’ |
| 12:45:37 | <lambdabot> | error: |
| 12:45:37 | <lambdabot> | Variable not in scope: |
| 12:45:37 | <lambdabot> | means :: t0 -> t1 -> t2 -> (Doc -> Int -> Doc -> Doc) -> aerror: Varia... |
| 12:45:41 | <geekosaur> | you haven't seen how emacs does things |
| 12:45:45 | <Solid> | why would GTK be any more responsive than any of the other toolkits that Emacs ships with natively? |
| 12:46:16 | <geekosaur> | because they're all abused so emacs still keeps full control of the event loop, refreshes, etc. |
| 12:46:45 | <geekosaur> | "pure gtk" would mean they actually gave control to the toolkit instead of abusing it |
| 12:46:51 | <pantsu> | Solid: it has good hw acceleration |
| 12:46:56 | <YusefAslam[m]> | > <@drishal:matrix.org> btw whats the xmoand equivalent of... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/abab80d860ed1fc26a8531c6b8d931665610817b) |
| 12:46:57 | <lambdabot> | <hint>:1:1: error: parse error on input ‘<@’ |
| 12:47:10 | <pantsu> | assuming >=gtk3 |
| 12:47:33 | <geekosaur> | I didn't understand that question either. minimizing what? |
| 12:47:36 | <pantsu> | also have pretty efficient drawing |
| 12:47:40 | <Solid> | geekosaur: yeah it hacks its own event-loop, but that doesn't make it less responsive really |
| 12:47:58 | <geekosaur> | it's responsive most of the time |
| 12:48:08 | <Solid> | plus, there has been pretty good progress to support XInput 2.4 in master |
| 12:48:28 | <Solid> | allowing for things like pixel-scroll-precision-mode |
| 12:48:42 | <YusefAslam[m]> | pantsu: PGTK has better hardware acceleration? How |
| 12:48:53 | <geekosaur> | but if you go digging through emacs bug reports for the past two decades you'll find it causes lots of things from glitches to actual failures |
| 12:50:51 | <abastro[m]> | Emacs hacks event-loop? Wh |
| 12:51:10 | <abastro[m]> | I heard it is lightweight and editor-done-well, and now I am hearing this |
| 12:51:22 | <abastro[m]> | But then, I am using VSCode IRL soo |
| 12:51:55 | <Solid> | Emacs is older than X11 itself |
| 12:51:59 | <geekosaur> | oh, emacs is done well if you stick to a tty |
| 12:52:01 | <Solid> | so it's not really that surprising |
| 12:52:10 | <geekosaur> | GUI support is hacked in on top |
| 12:52:21 | <abastro[m]> | Oh. |
| 12:52:44 | <abastro[m]> | Why did I think emacs is essentially gui application |
| 12:52:44 | <Solid> | and yet it's still much superior to be able to embed pictures in org :P |
| 12:53:00 | <YusefAslam[m]> | Solid: lol |
| 12:53:00 | <pantsu> | YusefAslam[m]: gtk has better hw acceleration for drawing than using x11 primitives yes |
| 12:53:05 | <Solid> | really, you should be using Emacs as a GUI application |
| 12:53:39 | <geekosaur> | do remember that emacs started out as a set of macros for an older editor (hence its name: Editor MACroS) |
| 12:53:42 | <YusefAslam[m]> | pantsu: ohk, so all the gui stuff in Emacs is now using GTK? |
| 12:53:46 | <abastro[m]> | Well but emacs is done well for tty, not GUI |
| 12:54:22 | <Solid> | abastro[m]: it's a perfectely reasonable GUI program if you don't look into the source too much ;) |
| 12:54:38 | <geekosaur> | (I've actually used TECO, that older editor. it was … freaky. but powerful enough that Gosling & co. could build emacs on top of it) |
| 12:54:39 | <abastro[m]> | XD |
| 12:54:52 | <Solid> | the chances that you're going to hit an actual bug due to its behaviour are very minimal |
| 12:54:54 | <YusefAslam[m]> | abastro[m]: I basically always use Emacs in GUI mode and Neovim for terminal editing |
| 12:55:08 | <pantsu> | YusefAslam[m]: and old version of gtk, but yes it does support gtk as the backend now |
| 12:55:11 | <abastro[m]> | Well tbh I feel GTK (and many other UI programs) are reasonable until source is looked into |
| 12:55:23 | <pantsu> | (it has a few gui backends) |
| 12:55:47 | Solid | still happily compiles Emacs with LUCID |
| 12:55:52 | <geekosaur> | GTK's not bad as UI toolkits go |
| 12:56:04 | <abastro[m]> | I guess emacs would be whope lot better than Eclipse at least, then |
| 12:56:05 | <pantsu> | they did finally port to gtk3 too which helped a bit |
| 12:56:21 | <Solid> | abastro[m]: of course, it's the best editor |
| 12:56:38 | <abastro[m]> | s/whope/whole/ |
| 12:56:43 | <YusefAslam[m]> | pantsu: ohk |
| 12:56:46 | <YusefAslam[m]> | nice I guess |
| 12:56:51 | <geekosaur> | but they work very differently from tty-based frameworks, which means there's always been a noticeable impedance mismatch between GUI and emacs |
| 12:57:13 | <abastro[m]> | Hmmm |
| 12:57:27 | <abastro[m]> | Well it would still be better than VSCode tho |
| 12:57:44 | pantsu | think that the emacs gui is generally not really implemented well in general |
| 12:58:09 | <abastro[m]> | (The only reason I am using VSCode is basically since I don't know how to configure editors in general) |
| 12:58:28 | <pantsu> | lots of legacy/"deprecated" element used etc |
| 12:58:29 | <abastro[m]> | In the end, it is hard to be worse than Eclipse anyway |
| 12:58:53 | <pantsu> | no out of the box support for light/darkmode etc |
| 12:59:33 | <Solid> | the first step is to turn off all of the UI elements anyways :> |
| 12:59:36 | <abastro[m]> | Well whenever I look into gtk, I want to puke. Perhaps it is just my distaste towards C++, but ehh |
| 12:59:57 | <pantsu> | abastro[m]: funny since gtk is in C |
| 13:00:07 | <pantsu> | and the gtkmm bindings are not fantastic :p |
| 13:00:12 | <abastro[m]> | I should have said C |
| 13:00:28 | <abastro[m]> | But it does seem like gtk is built on inheritance |
| 13:00:36 | <pantsu> | it is |
| 13:00:42 | <abastro[m]> | * said C I guess |
| 13:00:55 | <abastro[m]> | I dislike whenever inheritance is actually used in C |
| 13:00:58 | <abastro[m]> | Like wja |
| 13:01:04 | <abastro[m]> | * Like wha |
| 13:01:07 | <pantsu> | partly anyway, its how they can do the memory management without driving the users insane |
| 13:01:13 | <abastro[m]> | Oh, that and gtk being singlethreaded |
| 13:01:35 | <abastro[m]> | Oh, memory management |
| 13:01:38 | <pantsu> | that isn't stricly true |
| 13:01:44 | <abastro[m]> | I guess one written in rust could be wildly different then |
| 13:01:54 | <geekosaur> | note that singlethreaded actually derives from X11 |
| 13:02:08 | <abastro[m]> | Ouch |
| 13:02:23 | <abastro[m]> | So.. is Xmonad also singlethreaded? |
| 13:02:27 | <geekosaur> | you have one socket connecting to the server. multiple threads cannot meaningfully listen on that socket for responses from the X server |
| 13:02:30 | <geekosaur> | yes |
| 13:02:35 | <pantsu> | the mainloop does support threading etc, it uses callbacks for communication |
| 13:02:57 | <geekosaur> | well,there are parts that spawn temporary threads but they have to open their own distinct server connections |
| 13:03:07 | <abastro[m]> | I see, tho I heard that threading with gtk main loop is quite cumbersome |
| 13:03:08 | <geekosaur> | and can't share state |
| 13:03:28 | <abastro[m]> | But I see that with x11 it is even more severe |
| 13:03:59 | <pantsu> | its not that bad really |
| 13:04:36 | <abastro[m]> | Can you receive and handle inputs in other threads than main? |
| 13:04:55 | <pantsu> | but it is C after all :p (you can always use another language though, the introspection is pretty damn nice) |
| 13:05:21 | <geekosaur> | not without some forwarding mechanism, which is why gtk implementations come with such (postAsync and similar) |
| 13:05:44 | <geekosaur> | or openm your own connection, but again you can't share state in that case |
| 13:05:48 | <abastro[m]> | So you need forwarding mechanisms.. |
| 13:06:02 | <geekosaur> | gtk comes with such mechanisms |
| 13:06:11 | <abastro[m]> | Oh so this limitation again comes from X11 |
| 13:06:18 | <abastro[m]> | Meh |
| 13:06:19 | <geekosaur> | it's one reason it's so popular |
| 13:06:23 | <abastro[m]> | TIL X is bad |
| 13:06:33 | <geekosaur> | most alternatives will be no better |
| 13:06:40 | <geekosaur> | \multiplexed I/O is difficult at best |
| 13:07:08 | <abastro[m]> | Hm why do I feel so bad when programming with gtk then |
| 13:07:22 | <geekosaur> | and limits you to atomic transactions which often means size limitations, which makes e.g. uploading a pixmap to a server difficult |
| 13:07:36 | <geekosaur> | C's a lousy language for such things |
| 13:08:02 | <abastro[m]> | Eh it felt decent enough for making OS |
| 13:08:04 | <geekosaur> | I don't feel any worseprogramming GTK than programming anything else in C, but I'm kinda inured to it since C was my first language |
| 13:08:17 | <geekosaur> | but after something like Haskell, oh god does C feel klunky |
| 13:08:25 | <abastro[m]> | My first language is C as well |
| 13:08:54 | <YusefAslam[m]> | My first language is Bash LOL |
| 13:08:59 | <abastro[m]> | And tbh while I feel C to be klunky, it doesn't go that bad when I avoid resorting to inheritance |
| 13:09:14 | <abastro[m]> | Procedural programming has worked well for me |
| 13:10:16 | <geekosaur> | well, inheritance in C is just as klunky as the rest of it. but gtk didn't invent that either |
| 13:10:25 | <geekosaur> | go look at Xt/Xaw sometime |
| 13:10:42 | <abastro[m]> | Oh I don't even know about Xt soo |
| 13:11:04 | <geekosaur> | no, it's mostly well forgotten :) |
| 13:11:09 | <abastro[m]> | Plus, I did feel simulating inheritance in C more problematic than typical C programming |
| 13:11:19 | <geekosaur> | the poriginal X toolkit. ugly as sin |
| 13:12:22 | <geekosaur> | come to think of it, Motif was implemented on top of Xt too |
| 13:12:32 | <geekosaur> | so did the same kind of "inheritance" |
| 13:13:48 | <abastro[m]> | Like that one toy OS task where there was page "class" with uninitialized page, memory-backed page and file-backed page inheriting it |
| 13:13:49 | <geekosaur> | GTK's is actually cleaner and mostly safer than the original |
| 13:14:41 | <geekosaur> | at least you get an assert if you inherit fromthe wrong thing, instead of a core dump |
| 13:14:43 | <abastro[m]> | Many fields inside the page "class" which is used or not used depending on which "subclass" it resides on |
| 13:14:47 | <abastro[m]> | It was a nightmare to me |
| 13:15:15 | <abastro[m]> | Oh, so gtk's implementation of inheritance was at least slightly better |
| 13:17:01 | <geekosaur> | re pages, that's true even without subclassing |
| 13:17:28 | <geekosaur> | a zero page has very little associated state, but you still have to tell the MMU about it |
| 13:17:30 | <abastro[m]> | Well yeah but it got even worse with subclassinf |
| 13:17:51 | <abastro[m]> | s/subclassinf/subclassing/ |
| 13:18:33 | <abastro[m]> | I forgot to mention that the "methods" implemented are quite limited, and somehow, general functionality has to go in each of those methods. |
| 13:19:24 | <abastro[m]> | I am fine with zero page, tho equating anonymous page and file page, then page cache was nightmare |
| 13:19:56 | <geekosaur> | it is anyway. sounds good in theory, painful to implement in practice |
| 13:21:51 | <geekosaur> | (was this minix btw? it's been a few years and my book is long gone, to say nothing of the disk that came with it) |
| 13:22:08 | <abastro[m]> | What is minix? |
| 13:23:16 | <geekosaur> | https://en.wikipedia.org/wiki/Operating_Systems:_Design_and_Implementation |
| 13:24:38 | <geekosaur> | quite a few of us bought that book just toget our hands on minix, back in the day. reportedly it also inspired linux torvalds to develop linux |
| 13:25:49 | <abastro[m]> | Oh, I was more talking about my uni assignment on toy OS dev |
| 13:25:59 | <geekosaur> | minix was a message-passing microkernel, so while a little slow it was easy to modify and easy to see how all the pieces fit together |
| 13:26:07 | <geekosaur> | right, minix was such a toy os |
| 13:26:19 | <geekosaur> | and the book was intended for such courses |
| 13:26:20 | <abastro[m]> | Took debugging of millions of multithreading bugs |
| 13:26:35 | <abastro[m]> | What I worked with was pintos |
| 13:28:28 | <abastro[m]> | I don't know how message-passing kernel would work, but it sounds like it would be easier to work with |
| 13:29:05 | <geekosaur> | they're mostly slower than traditional kernels but a lot more secure and easier to understand and work with |
| 13:29:28 | <geekosaur> | windows and macos are both based on message-passing systems |
| 13:29:45 | <abastro[m]> | Hmm perhaps pintos is also message-passing then? Idk |
| 13:29:48 | <abastro[m]> | https://pintos-os.org/ |
| 13:29:54 | <abastro[m]> | ^ what I was talking about |
| 13:30:35 | <abastro[m]> | Could be smaller than minix, considering how I was able to implement some parts towards working OS in the end |
| 13:31:57 | <abastro[m]> | Wait, its VM part seems to be largely left out for students to flesh details out |
| 13:32:19 | <geekosaur> | from the slides it's a traditional architecture, not microkernel |
| 13:32:44 | <abastro[m]> | What is microkernel? |
| 13:33:08 | <abastro[m]> | Perhaps I simply read that as "kernel" |
| 13:33:13 | <abastro[m]> | Traditional architecture? |
| 13:33:29 | <geekosaur> | in essence you have a tiny fixed scheduler, then the kernel consists of independent processes that communicate with each other (typically via messages) |
| 13:33:52 | <geekosaur> | a traditional architecture has the kernel as a single large chunk, like linux |
| 13:34:02 | <abastro[m]> | Oh, I see |
| 13:34:27 | <abastro[m]> | Microkernel sounds nicer to code in with separation of concerns (tho I have no experience in them) |
| 13:34:44 | <abastro[m]> | Easier to hack stuff together randomly in traditional architecture |
| 13:35:35 | <abastro[m]> | Anyway it seems like, instead of letting students to write the virtual memory managenent, the prof decided to write down sh*tty, hard-to-extend code with many limitations and meh inheritance schemes |
| 13:36:07 | <abastro[m]> | The nicer parts of it seem to come from original pintos code |
| 13:43:29 | <abastro[m]> | (Sorry for the rant) |
| 13:55:59 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Quit: Leaving) |
| 13:57:35 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 14:17:58 | × | ^[ quits (~user@user//x-8473491) (Ping timeout: 260 seconds) |
| 14:24:53 | → | ^[ joins (~user@user//x-8473491) |
| 14:32:47 | × | benin quits (~benin@183.82.204.110) (Quit: The Lounge - https://thelounge.chat) |
| 15:03:23 | × | lambdabot quits (~lambdabot@haskell/bot/lambdabot) (Ping timeout: 260 seconds) |
| 15:22:47 | × | Czernobog quits (~Czernobog@user/czernobog) (Ping timeout: 268 seconds) |
| 15:30:01 | × | jmct_ quits (sid160793@id-160793.tinside.irccloud.com) () |
| 15:30:20 | → | jmct joins (sid160793@id-160793.tinside.irccloud.com) |
| 15:39:49 | → | lambdabot joins (~lambdabot@haskell/bot/lambdabot) |
| 16:05:57 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.4.1) |
| 16:36:55 | → | cfricke joins (~cfricke@user/cfricke) |
| 16:43:32 | → | Czernobog joins (~Czernobog@user/czernobog) |
| 16:58:59 | × | theproffesor quits (~theprofff@user/theproffesor) (Ping timeout: 268 seconds) |
| 17:01:24 | × | Czernobog quits (~Czernobog@user/czernobog) (Quit: ZNC 1.8.2 - https://znc.in) |
| 17:03:55 | → | Czernobog joins (~Czernobog@user/czernobog) |
| 17:20:56 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.4.1) |
| 17:40:42 | → | abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
| 18:42:18 | → | theproffesor joins (~theprofff@user/theproffesor) |
| 19:29:43 | → | krrishg[m] joins (~krrishgma@2001:470:69fc:105::1:f40c) |
| 19:57:35 | → | rekahsoft joins (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) |
| 20:02:21 | × | rekahsoft quits (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Remote host closed the connection) |
| 20:02:43 | → | rekahsoft joins (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) |
| 20:51:56 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 20:53:41 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 20:55:45 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Excess Flood) |
| 20:55:47 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 20:55:50 | allbery_b | is now known as geekosaur |
| 21:03:51 | <liskin> | Saw a tweet of someone getting train tickets for ZuriHac. Shall I start worrying about that as well? :-) |
| 21:20:53 | <tdammers> | depends where you're traveling from, and how hard you depend on those train tickets to be cheap |
| 21:22:37 | <tdammers> | fwiw, I booked mine a couple weeks ago |
| 22:13:09 | <liskin> | We intend to use the budget from donations for the travel, so being cheap is more of a PR thing than anything personal. |
| 22:13:34 | <liskin> | And I have no idea where I'll be traveling from :-) |
| 22:14:01 | geekosaur | wonders if he should get in his claim now, then |
| 22:14:07 | <liskin> | But booking a place to stay might be a good idea anyway as the destination isn't going to change |
| 22:14:14 | <geekosaur> | not that I'm capable of going to zurihac or much of anything else :( |
| 22:15:46 | <liskin> | So where are people staying for ZuriHac? Random airbnbs/bookings nearby or some specific tips? |
| 22:15:55 | <liskin> | geekosaur: :-( |
| 22:19:03 | <liskin> | geekosaur: Speaking of the budget though, I don't think our European travels are going to make much of a dent in it, so you're probably not necessarily in a rush. |
| 22:20:36 | <liskin> | And I'm getting a proper job soon meaning someone's going to be paying for my mental health shit and I'll have way less uncertainty in my life and I don't think I'll be spending less time on the xmonad project than now so I'm somewhat optimistic about the future :-) |
| 22:38:23 | × | chomwitt quits (~chomwitt@2a02:587:dc0e:4f00:e2a4:4df9:d340:7660) (Ping timeout: 260 seconds) |
| 23:54:49 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::9d5a) |
All times are in UTC on 2022-04-08.