WEBVTT

00:00:00.000 --> 00:00:03.600
 going to start recording. All right. Thanks, Michael, for

00:00:03.600 --> 00:00:05.040
 the great talk. So

00:00:05.040 --> 00:00:09.070
 the Q&A is live now. Folks can ask questions on IRC or the

00:00:09.070 --> 00:00:10.440
 pad. And then

00:00:10.440 --> 00:00:12.660
 at some later point, we'll also open up this PDB room

00:00:12.660 --> 00:00:13.860
 itself for people to join

00:00:13.860 --> 00:00:16.310
 and ask their questions here if they want. Michael, take it

00:00:16.310 --> 00:00:16.720
 away.

00:00:16.720 --> 00:00:21.470
 Okay, I will start with the first question of etherpad is

00:00:21.470 --> 00:00:22.600
 are you using

00:00:22.600 --> 00:00:28.920
 this as it as a replacement of x ex WM? No, not yet. But I

00:00:28.920 --> 00:00:33.040
'm planning to. I'm a

00:00:33.040 --> 00:00:39.700
 I use x WM since many years like for my main computing

00:00:39.700 --> 00:00:42.400
 environment with Emacs.

00:00:42.400 --> 00:00:47.530
 And I would love to have a replacement and Wayland. I'm not

00:00:47.530 --> 00:00:49.120
 actually that sure

00:00:49.120 --> 00:00:54.390
 if that needed. But I plan on using it. It's not finished.

00:00:54.390 --> 00:00:55.760
 So is this testable?

00:00:55.760 --> 00:01:04.660
 Yes, it is testable. I have gonna provide you the code. At

00:01:04.660 --> 00:01:05.960
 the end of the

00:01:05.960 --> 00:01:10.180
 video, there was a link to my site, but there's no site yet

00:01:10.180 --> 00:01:12.160
. I bought this URL a

00:01:12.160 --> 00:01:16.520
 year ago, and that's a good reason to put something on

00:01:16.520 --> 00:01:18.040
 there. So wait a few

00:01:18.040 --> 00:01:22.250
 days and you can download a git repository. At least that's

00:01:22.250 --> 00:01:23.640
 the plan. And

00:01:23.640 --> 00:01:26.710
 then you can test it. Input handling is still missing, as I

00:01:26.710 --> 00:01:30.560
 said. Yes, that makes

00:01:30.560 --> 00:01:36.390
 it a bit rough. So the input is only guided by where the

00:01:36.390 --> 00:01:39.560
 mouse pointer is. And

00:01:39.560 --> 00:01:43.770
 it's missing in the C part in the C server part. But if

00:01:43.770 --> 00:01:45.160
 this is in there, I

00:01:45.160 --> 00:01:49.450
 think you can use it as a replacement. So it's testable,

00:01:49.450 --> 00:01:50.240
 and it's not a

00:01:50.240 --> 00:01:54.140
 replacement yet. Have you considered contributing to Emacs

00:01:54.140 --> 00:01:55.080
 cores? The next

00:01:55.080 --> 00:02:00.590
 question? Yes. Is it a general question? If I would like to

00:02:00.590 --> 00:02:03.680
 do that? Yeah, I got

00:02:03.680 --> 00:02:07.560
 quite a lot into Emacs core in the last year because I did

00:02:07.560 --> 00:02:08.800
 language work with

00:02:08.800 --> 00:02:13.030
 Lisp and really nerded out and got to know the core. So I

00:02:13.030 --> 00:02:15.360
 like it. Why not? If

00:02:15.360 --> 00:02:18.980
 it's a more specific question, if I would like to

00:02:18.980 --> 00:02:20.840
 contribute the Wayland

00:02:20.840 --> 00:02:24.810
 support to Emacs core, then I'm not that sure if it belongs

00:02:24.810 --> 00:02:27.160
 there. Like at first,

00:02:27.160 --> 00:02:29.660
 I thought, of course, you have to put it in the core. It's

00:02:29.660 --> 00:02:30.520
 C. It has to work

00:02:30.520 --> 00:02:35.120
 together. But after I looked into it a little bit more, how

00:02:35.120 --> 00:02:36.280
 to do a Wayland

00:02:36.280 --> 00:02:39.270
 compositor with Emacs, I found out, okay, there's this Way

00:02:39.270 --> 00:02:40.280
land protocol and

00:02:40.280 --> 00:02:43.970
 all the programs that are working together in a Wayland

00:02:43.970 --> 00:02:45.560
 desktop, they talk

00:02:45.560 --> 00:02:51.150
 in this protocol. And when I got Emacs to talk with the Way

00:02:51.150 --> 00:02:53.320
land protocol, it

00:02:53.320 --> 00:02:57.200
 was solved. And that is in the library, because it's an

00:02:57.200 --> 00:02:58.920
 asynchronous process,

00:02:58.920 --> 00:03:02.440
 like a network connection. And Emacs has an event loop that

00:03:02.440 --> 00:03:05.560
 listens to

00:03:06.480 --> 00:03:06.480


00:03:06.480 --> 00:03:09.490
 messages on the network. So it's integrated into the Emacs

00:03:09.490 --> 00:03:10.360
 core. You

00:03:10.360 --> 00:03:13.870
 don't have to do anything more. But where it gets

00:03:13.870 --> 00:03:15.920
 interesting, again, is this

00:03:15.920 --> 00:03:21.900
 idea I had, maybe we could use it for more in Emacs. Emacs

00:03:21.900 --> 00:03:23.840
 is fundamentally

00:03:23.840 --> 00:03:26.740
 about drawing buffers to a screen and not fundamentally.

00:03:26.740 --> 00:03:27.720
 But the part that's

00:03:27.720 --> 00:03:30.800
 not a Lisp machine, the graphical part, it's drawing buff

00:03:30.800 --> 00:03:32.000
ers to a screen and you

00:03:32.000 --> 00:03:36.060
 have to composite these buffers somehow. And now we're

00:03:36.060 --> 00:03:38.400
 using different desktop

00:03:38.400 --> 00:03:43.640
 toolkits like GTK on the Linux. And maybe we don't have to,

00:03:43.640 --> 00:03:45.000
 we can just draw

00:03:45.000 --> 00:03:49.980
 pixel buffers, like draw into a pixel buffer. Like, I don't

00:03:49.980 --> 00:03:50.880
 know, what do we

00:03:50.880 --> 00:03:55.640
 use for rendering? I forgot, Cairo or something. And this

00:03:55.640 --> 00:03:56.760
 could just write

00:03:56.760 --> 00:03:59.770
 into a pixel buffer. So now we arranged, and Emacs is

00:03:59.770 --> 00:04:01.080
 already a window manager.

00:04:01.080 --> 00:04:03.970
 So it's not that difficult to implement a window manager

00:04:03.970 --> 00:04:05.320
 with Emacs because Emacs

00:04:05.320 --> 00:04:11.060
 is a window manager, pretty good one, I think. And no, I

00:04:11.060 --> 00:04:13.040
 just lost a little bit

00:04:13.040 --> 00:04:16.670
 more train of thought. But so far to contributing to the

00:04:16.670 --> 00:04:17.960
 core and we could do

00:04:17.960 --> 00:04:20.840
 more with it. So next question.

00:04:20.840 --> 00:04:23.960
 - One thing, Michael, quickly. Sorry. Yeah, it would be

00:04:23.960 --> 00:04:25.200
 great if you could also

00:04:25.200 --> 00:04:27.510
 repeat the questions for the stream before you answer them.

00:04:27.510 --> 00:04:28.040
 That would be

00:04:28.040 --> 00:04:28.440
 awesome.

00:04:28.440 --> 00:04:30.120
 - I will do that.

00:04:30.120 --> 00:04:30.920
 - Thank you.

00:04:32.600 --> 00:04:32.600


00:04:32.600 --> 00:04:36.260
 Question. Is this valent compositor in Emacs? What

00:04:36.260 --> 00:04:39.040
 different with XReparent in

00:04:39.040 --> 00:04:45.290
 X11? Okay, this is a little bit difficult for me to

00:04:45.290 --> 00:04:48.520
 understand, but I answered

00:04:48.520 --> 00:04:53.550
 anyway. So first, is this a valent compositor in Emacs? I

00:04:53.550 --> 00:04:54.840
 would say no,

00:04:54.840 --> 00:04:58.870
 because the Emacs doesn't do the valent compositoring. I

00:04:58.870 --> 00:05:00.440
 first planned to do it

00:05:00.440 --> 00:05:03.130
 like this, but it doesn't work out like this because you

00:05:03.130 --> 00:05:06.120
 have to handle file

00:05:06.120 --> 00:05:10.120
 descriptors and Emacs can't handle file descriptors except

00:05:10.120 --> 00:05:11.480
 you go down to the C

00:05:11.480 --> 00:05:19.930
 part. So no, it's not. It's a C, a WL roots valent compos

00:05:19.930 --> 00:05:22.840
itor that talks to

00:05:22.840 --> 00:05:29.290
 Emacs and Emacs is, it's just like a helper compositor. Em

00:05:29.290 --> 00:05:31.160
acs says where to

00:05:31.160 --> 00:05:34.380
 put the windows. It's the window manager. And in the future

00:05:34.380 --> 00:05:35.360
, where to put the

00:05:35.360 --> 00:05:40.170
 inputs so that you can insert Emacs into the input stream

00:05:40.170 --> 00:05:43.320
 like XWM does it. Okay,

00:05:43.320 --> 00:05:49.070
 then what different with XReparent in X11? I don't actually

00:05:49.070 --> 00:05:51.000
 know what XReparent

00:05:51.000 --> 00:05:55.150
 is, so I'm sorry. I have to skip this one. How would

00:05:55.150 --> 00:05:57.000
 multiple monitors be

00:05:57.000 --> 00:05:59.990
 handled? Separate frames? Yes, separate frames. This is

00:05:59.990 --> 00:06:01.160
 already testable. It's

00:06:01.160 --> 00:06:08.540
 implemented. As soon as a new monitor crops up, the Emacs

00:06:08.540 --> 00:06:10.320
 is, the valent

00:06:10.320 --> 00:06:15.490
 protocol informs about a new output event and Emacs then

00:06:15.490 --> 00:06:17.000
 pops up a new frame

00:06:17.000 --> 00:06:22.240
 on this output. And depending on how usable you want to

00:06:22.240 --> 00:06:24.760
 have it, you can just,

00:06:24.760 --> 00:06:27.160
 there could be a menu like where do you want the output? Do

00:06:27.160 --> 00:06:27.840
 you want to have a

00:06:27.840 --> 00:06:30.230
 screen on it or something like that? And then you have

00:06:30.230 --> 00:06:31.480
 output handling. Output

00:06:31.480 --> 00:06:35.100
 handling is already working. So separate frames, one per

00:06:35.100 --> 00:06:37.480
 output because that's

00:06:37.480 --> 00:06:41.010
 the Emacs analog. You have windows, you have frames, frames

00:06:41.010 --> 00:06:42.760
 are like monitors.

00:06:42.760 --> 00:06:45.800
 And the special thing about valent outputs is they don't

00:06:45.800 --> 00:06:46.600
 have to be a whole

00:06:46.600 --> 00:06:49.980
 monitor or hardware device. They can also be like a normal

00:06:49.980 --> 00:06:52.840
 frame. Next question

00:06:52.840 --> 00:06:57.440
 is, could you make it so you can restart Emacs without

00:06:57.440 --> 00:06:59.400
 logging out or switch to

00:06:59.400 --> 00:07:02.640
 non-Emacs buffer while Emacs is blocking? These are the

00:07:02.640 --> 00:07:05.080
 biggest issues with XWM.

00:07:05.080 --> 00:07:13.240
 While Emacs is blocking. Okay, I have to think about this a

00:07:13.240 --> 00:07:14.760
 little bit

00:07:16.120 --> 00:07:19.270
 because right now I have a problem with restarting and the

00:07:19.270 --> 00:07:20.600
 code I wrote. Emacs

00:07:20.600 --> 00:07:25.340
 starts the valent server and then starts to talk to it, the

00:07:25.340 --> 00:07:28.520
 server to Emacs. And

00:07:28.520 --> 00:07:33.070
 as soon as the server terminates, Emacs terminates. Because

00:07:33.070 --> 00:07:34.680
 GTK has this feature

00:07:34.680 --> 00:07:38.550
 and it's a bug since several years and they know it, but

00:07:38.550 --> 00:07:39.880
 apparently it's a

00:07:39.880 --> 00:07:44.830
 feature, not a bug. So as soon as a valent GTK window

00:07:44.830 --> 00:07:47.000
 terminates, it terminates

00:07:47.000 --> 00:07:51.420
 its process. That means if there's an Emacs frame on valent

00:07:51.420 --> 00:07:52.440
 and the frame is

00:07:52.440 --> 00:07:57.610
 powered by GTK as Emacs currently does it, valent termin

00:07:57.610 --> 00:07:59.560
ates the frame, Emacs

00:07:59.560 --> 00:08:02.870
 gets terminated, whole thing is terminated. Well, normally

00:08:02.870 --> 00:08:03.480
 you would like

00:08:03.480 --> 00:08:06.500
 something that like Emacs terminal frame, and then you pop

00:08:06.500 --> 00:08:07.640
 open valent buffer

00:08:07.640 --> 00:08:10.160
 or something like that. And it's just a long running Emacs

00:08:10.160 --> 00:08:11.640
 session, but that's

00:08:11.640 --> 00:08:16.670
 a blocker right now and it's GTK's fault. But we already

00:08:16.670 --> 00:08:18.040
 know the other

00:08:18.040 --> 00:08:22.220
 bug we have since years. And so I don't think this one is

00:08:22.220 --> 00:08:23.640
 resolved either.

00:08:23.640 --> 00:08:29.040
 So what does mean or switch to non-Emacs buffers while Em

00:08:29.040 --> 00:08:31.000
acs is blocking? No,

00:08:31.000 --> 00:08:35.090
 you can't. Okay. Now you can't do this because Emacs does

00:08:35.090 --> 00:08:36.200
 the window managing

00:08:36.200 --> 00:08:43.700
 as in EXWM. So there's a new window or you want to switch a

00:08:43.700 --> 00:08:45.960
 window. So it has

00:08:45.960 --> 00:08:50.640
 to go through Emacs. Emacs gets a request for new window or

00:08:50.640 --> 00:08:52.280
 Emacs just says layout

00:08:52.280 --> 00:08:55.820
 this window at this point. And if Emacs as it's single

00:08:55.820 --> 00:08:58.200
 threaded is blocked, it

00:08:58.200 --> 00:09:05.830
 can't issue this layout request. So yeah, that's not going

00:09:05.830 --> 00:09:09.320
 to work out as long

00:09:09.320 --> 00:09:17.190
 as Emacs is just single threaded. Next question. Did this

00:09:17.190 --> 00:09:19.400
 project can implement

00:09:19.400 --> 00:09:23.680
 mirror of buffer for Emacs different window? Okay. I think

00:09:23.680 --> 00:09:25.320
 I got this question.

00:09:27.320 --> 00:09:31.810
 Can you, okay. In Emacs normally you know how buffers work.

00:09:31.810 --> 00:09:32.760
 Like you have one

00:09:32.760 --> 00:09:35.420
 buffer, you split it, you have two buffers, but it's the

00:09:35.420 --> 00:09:37.000
 same buffer. Then you can

00:09:37.000 --> 00:09:39.320
 take one of the buffers and look at another place in this

00:09:39.320 --> 00:09:42.360
 buffer. You can't do

00:09:42.360 --> 00:09:45.930
 this with Emacs buffers, but you can't do it like an EXWM.

00:09:45.930 --> 00:09:47.080
 You can't do it with

00:09:47.080 --> 00:09:50.980
 the X windows because there's only one view on the X

00:09:50.980 --> 00:09:54.440
 windows. So now the special

00:09:54.440 --> 00:09:57.790
 thing with Valent, you can have multiple views on the same

00:09:57.790 --> 00:10:00.040
 window. And when I got

00:10:00.040 --> 00:10:03.210
 to implement this idea, I was, yeah, of course I'm going to

00:10:03.210 --> 00:10:04.440
 do multiple views,

00:10:04.440 --> 00:10:09.710
 same window as Emacs does it. And I had it implemented. And

00:10:09.710 --> 00:10:11.560
 then I found out, no,

00:10:11.560 --> 00:10:16.660
 this is not going to work. Because a window has always one

00:10:16.660 --> 00:10:18.920
 size. Like you can't,

00:10:18.920 --> 00:10:23.000
 if you have a video open, you can't just tell it, make it

00:10:23.000 --> 00:10:24.680
 this size. Or if you have

00:10:24.680 --> 00:10:29.080
 a web browser open and you can't have different sizes. So

00:10:29.080 --> 00:10:32.360
 it's in principle, it's

00:10:32.360 --> 00:10:37.910
 comfortable with the Emacs model. Like the normal desktop

00:10:37.910 --> 00:10:39.640
 model doesn't work with Emacs. So

00:10:39.640 --> 00:10:44.200
 no, this still doesn't work. You can do a hack. I tried it.

00:10:44.200 --> 00:10:45.320
 You have like one big

00:10:45.320 --> 00:10:48.750
 window that you have other windows and you scale them or

00:10:48.750 --> 00:10:50.600
 you crop them, but this isn't

00:10:50.600 --> 00:10:54.890
 well supported in WL roots. And also it doesn't make a lot

00:10:54.890 --> 00:10:57.720
 of sense actually. So I scrapped it

00:10:57.720 --> 00:11:02.030
 and there's just one view. Okay. So just one view because

00:11:02.030 --> 00:11:04.280
 it doesn't make a lot of sense to have

00:11:04.280 --> 00:11:08.120
 multiple views. How does this next question, how does the

00:11:08.120 --> 00:11:10.840
 single threaded, threaded affects

00:11:10.840 --> 00:11:16.470
 the project? Yeah. And so far as it does affect any Emacs

00:11:16.470 --> 00:11:19.640
 package, like it's not a special

00:11:19.640 --> 00:11:25.400
 problem, not a, not a actual problem. Like the only, only,

00:11:25.400 --> 00:11:26.480
 um, um,

00:11:26.480 --> 00:11:32.850
 there's just one thing where Emacs could block, uh, the

00:11:32.850 --> 00:11:35.720
 other windows. It's when the other window

00:11:35.720 --> 00:11:39.730
 requests a layout, like there's a new program that opened a

00:11:39.730 --> 00:11:42.760
 window or another window opened

00:11:42.760 --> 00:11:46.840
 and Emacs is blocking and can't service this new surface

00:11:46.840 --> 00:11:49.400
 request. So you won't see anything,

00:11:49.400 --> 00:11:53.620
 but except from that, um, if you see the window Emacs hangs

00:11:53.620 --> 00:11:57.320
 like with the EXWVM, you just can use

00:11:57.320 --> 00:12:00.790
 the other program because it's not coupled to Emacs in any

00:12:00.790 --> 00:12:02.120
 significant way.

00:12:03.720 --> 00:12:08.190
 Um, and the good thing is, and that's the short side remark

00:12:08.190 --> 00:12:11.240
. If you want to go further than our

00:12:11.240 --> 00:12:14.000
 single threaded thing, it's like, I think we, we have a

00:12:14.000 --> 00:12:16.200
 talk somewhere in this conference, like,

00:12:16.200 --> 00:12:21.420
 um, how Emacs was always async and is it, is async and Em

00:12:21.420 --> 00:12:24.200
acs is async. Well, we have async

00:12:24.200 --> 00:12:27.670
 processes. We have callbacks, we have network processes we

00:12:27.670 --> 00:12:29.800
 can use asynchronously. And I think

00:12:29.800 --> 00:12:33.820
 that's the way forward for Emacs to don't be blocking, like

00:12:33.820 --> 00:12:35.800
 have worker threads, something

00:12:35.800 --> 00:12:40.140
 like this and have a main thing because it's one big muddle

00:12:40.140 --> 00:12:43.160
 of muddle of code. I don't think you

00:12:43.160 --> 00:12:49.280
 can just separate it. So, but we could lean more into these

00:12:49.280 --> 00:12:53.320
 helpers and workers like Node.js does

00:12:53.320 --> 00:12:57.950
 it or something like that. So next question is this

00:12:57.950 --> 00:13:01.800
 technology. I have a short matter question.

00:13:01.800 --> 00:13:08.200
 Do I have to stop or can I answer all the questions? Um,

00:13:08.200 --> 00:13:09.880
 yeah, I think we can go on for now.

00:13:09.880 --> 00:13:13.420
 And, um, the BBB room is also open for anyone who does want

00:13:13.420 --> 00:13:15.720
 to join here to ask questions directly,

00:13:15.720 --> 00:13:18.420
 um, in case the stream moves on. But I think this is our

00:13:18.420 --> 00:13:20.280
 last talk on the Dev track before the launch

00:13:20.280 --> 00:13:22.850
 break. So yeah, you should be good. Ah, nice. I don't need

00:13:22.850 --> 00:13:24.520
 a lunch break because, uh, uh,

00:13:24.520 --> 00:13:32.110
 in Europe it's already like the next meal. Right. So, um,

00:13:32.110 --> 00:13:34.760
 next question is this technology

00:13:34.760 --> 00:13:38.840
 need right? Valence server. Can it works with GNOME 3?

00:13:38.840 --> 00:13:42.760
 Actually, yes, it needs to write a

00:13:42.760 --> 00:13:47.490
 valence server because valence needs a valence server. And,

00:13:47.490 --> 00:13:49.320
 uh, just for you, what does the

00:13:49.320 --> 00:13:53.900
 server actually do? The server does, um, for example, it is

00:13:53.900 --> 00:13:55.880
 the compositor. The valence

00:13:55.880 --> 00:13:58.680
 compositor is part of the valence compositor. It's like

00:13:58.680 --> 00:14:00.360
 difficult naming they had there.

00:14:00.360 --> 00:14:04.320
 And it does a merging of, of windows. You have, um, you

00:14:04.320 --> 00:14:06.760
 have an application and it draws a window.

00:14:06.760 --> 00:14:09.730
 So you give it a pixel buffer, the application draws in

00:14:09.730 --> 00:14:11.560
 this pixel buffer, and then you put it

00:14:11.560 --> 00:14:16.310
 on the screen and compositor this other surfaces that are

00:14:16.310 --> 00:14:19.560
 on the screen. And, um, you have to look

00:14:19.560 --> 00:14:22.320
 into the frame rate you want to have and stuff like that.

00:14:22.320 --> 00:14:24.360
 So it's really low level stuff. It's,

00:14:24.360 --> 00:14:28.020
 it's, um, that's the thing the valence compositor does. And

00:14:28.020 --> 00:14:30.200
 it does input handling like lip input,

00:14:30.200 --> 00:14:33.760
 and then it receives something and routes it to this

00:14:33.760 --> 00:14:37.320
 surface of that surface, or I think shell

00:14:37.320 --> 00:14:41.340
 it's called. It's a shell that reserves the input. Okay.

00:14:41.340 --> 00:14:44.760
 Can it work with GNOME 3? Yes,

00:14:44.760 --> 00:14:47.930
 maybe. I don't know how open they are and if you can

00:14:47.930 --> 00:14:50.600
 integrate it, but I don't think that's,

00:14:50.600 --> 00:14:55.520
 that's a good direction because what do you want to build?

00:14:55.520 --> 00:15:00.040
 So, ah, just one thing since Emacs can

00:15:00.040 --> 00:15:04.130
 talk valence and is a normal valence client with the

00:15:04.130 --> 00:15:07.880
 library I wrote, it can take, can talk to any

00:15:07.880 --> 00:15:13.520
 other valence program and maybe you can do something useful

00:15:13.520 --> 00:15:16.520
 with GNOME 3 and Emacs as a

00:15:16.520 --> 00:15:19.500
 valence client. Like you can automate parts of your desktop

00:15:19.500 --> 00:15:21.720
 or something like that. Um, yeah,

00:15:21.720 --> 00:15:25.850
 that would be a possibility. Good. I'm going now to the

00:15:25.850 --> 00:15:28.200
 next question that is, could there be an

00:15:28.200 --> 00:15:31.940
 Emacs valence server and just connect with Emacs client?

00:15:31.940 --> 00:15:36.600
 Cool. I named my thing Emacs valence

00:15:36.600 --> 00:15:42.050
 server. So there is already an Emacs valence server. Um,

00:15:42.050 --> 00:15:44.600
 connect with Emacs client.

00:15:44.600 --> 00:15:50.600
 I don't actually get the question, but I think, um, yes, of

00:15:50.600 --> 00:15:53.080
 course you have an Emacs running.

00:15:53.080 --> 00:15:56.070
 It doesn't have to be an Emacs valence server because Emacs

00:15:56.070 --> 00:15:56.920
 is multi-display

00:15:56.920 --> 00:16:01.090
 and then you can just pop open the windows in valence or

00:16:01.090 --> 00:16:04.360
 something like this. Next question is

00:16:04.360 --> 00:16:07.650
 when you share your code, could you provide the equivalent

00:16:07.650 --> 00:16:10.040
 of an X session script for those who

00:16:10.040 --> 00:16:17.920
 are on XWM and want to test? Yes, I can, because it's my

00:16:17.920 --> 00:16:21.720
 goal is to have it run like this for

00:16:21.720 --> 00:16:24.660
 myself. But when I share the code in the coming days, as I

00:16:24.660 --> 00:16:29.640
'm planning, no, you won't run it like

00:16:29.640 --> 00:16:33.910
 this because it's not that polished yet. So a startup is a

00:16:33.910 --> 00:16:36.360
 little bit more involved and I

00:16:36.360 --> 00:16:41.030
 haven't researched all the ways you can make it polished,

00:16:41.030 --> 00:16:44.600
 but it's on the roadmap. So stay tuned.

00:16:46.520 --> 00:16:51.220
 The next question is, I have a demo to show this Emacs val

00:16:51.220 --> 00:16:52.520
ence compositor,

00:16:52.520 --> 00:16:56.900
 even if buggy now, just curious. Yes, there is a demo. Like

00:16:56.900 --> 00:16:59.480
 you just watched one in the video. It

00:16:59.480 --> 00:17:06.370
 was the compositor running. It did the compositing of the

00:17:06.370 --> 00:17:11.080
 video I made. And the other demo is the

00:17:11.080 --> 00:17:16.980
 code I'm planning to release. The code right now is working

00:17:16.980 --> 00:17:21.960
, but there's some documentation also,

00:17:21.960 --> 00:17:26.510
 but it's not finished. So have fun digging in there, but

00:17:26.510 --> 00:17:29.400
 don't expect anything like hyper

00:17:29.400 --> 00:17:33.690
 polished or something like this. More, yeah, I'm looking

00:17:33.690 --> 00:17:36.680
 for feedback and ideas and where to take

00:17:36.680 --> 00:17:42.260
 this thing. Now we're going to get to buffer mirroring. So

00:17:42.260 --> 00:17:44.760
 next question is, so the current

00:17:44.760 --> 00:17:47.950
 limitation is that buffer mirroring doesn't respect

00:17:47.950 --> 00:17:50.360
 different widths or heights. Yeah,

00:17:50.360 --> 00:17:53.530
 the limitation is fundamentally if you have a normal

00:17:53.530 --> 00:17:55.800
 desktop window, look at your browser

00:17:55.800 --> 00:17:59.980
 or your video player, just watching me, you are just

00:17:59.980 --> 00:18:04.600
 watching me. It just has one size. You can't

00:18:04.600 --> 00:18:08.570
 say, please make yourself this size and this size and show

00:18:08.570 --> 00:18:12.040
 me two different parts of your site or

00:18:12.040 --> 00:18:17.520
 that doesn't work. It's not thought like this. So you can

00:18:17.520 --> 00:18:20.680
 hack something up that you have like

00:18:20.680 --> 00:18:24.300
 a big window and then you show a little crop part of it and

00:18:24.300 --> 00:18:26.760
 another buffer. This does actually work,

00:18:27.560 --> 00:18:32.940
 but just a little site or like if you want to do something

00:18:32.940 --> 00:18:38.680
 like this, be prepared. WL roots doesn't,

00:18:38.680 --> 00:18:43.740
 okay. So a Wayland server or compositor has to do its own

00:18:43.740 --> 00:18:47.880
 compositing. That means it has to

00:18:47.880 --> 00:18:51.590
 composite the different buffers or pixel buffer it has in

00:18:51.590 --> 00:18:53.880
 one pixel buffer and put it on the output.

00:18:55.000 --> 00:18:59.600
 That means you have to do that yourself. And there's a

00:18:59.600 --> 00:19:01.960
 helper to do this in WL roots.

00:19:01.960 --> 00:19:07.410
 This is WLR scene as it's called. And it does this for you.

00:19:07.410 --> 00:19:09.720
 You build a scene tree and does

00:19:09.720 --> 00:19:14.510
 damage tracking so it doesn't repaint everything. It saves

00:19:14.510 --> 00:19:16.920
 battery and it's a lot of work to do this

00:19:16.920 --> 00:19:21.710
 and it's ready there. But what is missing in this helper is

00:19:21.710 --> 00:19:24.920
 cropping and resizing. So right now you

00:19:24.920 --> 00:19:28.700
 can't crop and you can't resize. And I would say this is

00:19:28.700 --> 00:19:31.240
 the main blocker for using the thing I

00:19:31.240 --> 00:19:38.100
 built, Wayland compositor is you can't crop windows. And if

00:19:38.100 --> 00:19:42.920
 you, maybe you use MP4 like the

00:19:42.920 --> 00:19:48.310
 video player, it doesn't respect what you tell it, what the

00:19:48.310 --> 00:19:51.480
 size it should get. It just, it keeps its

00:19:51.480 --> 00:19:55.400
 aspect ratio and then just respects and either width or

00:19:55.400 --> 00:19:58.280
 height, but not both if they don't fit.

00:19:58.280 --> 00:20:01.790
 So you want to fit it in a buffer and then it's stay, it's

00:20:01.790 --> 00:20:04.360
 overflows the buffer a little bit. You

00:20:04.360 --> 00:20:09.200
 can see it in the talk video. In my talk, I posted like the

00:20:09.200 --> 00:20:11.720
 little camera picture of me is not always

00:20:11.720 --> 00:20:15.550
 there where it should be. It's over the mode line or

00:20:15.550 --> 00:20:18.680
 something like that. And yeah, there needs to

00:20:18.680 --> 00:20:25.180
 be some cropping. XWVM does cropping. It crops. You can try

00:20:25.180 --> 00:20:28.920
 it out. If someone of you is a XWM

00:20:28.920 --> 00:20:39.560
 user, he can do a full screen video MP4 video, and then

00:20:39.560 --> 00:20:42.200
 just split right. And then you'll see

00:20:42.200 --> 00:20:46.990
 just half the video screen because it's no cropped, but the

00:20:46.990 --> 00:20:49.320
 video player in the background

00:20:49.320 --> 00:20:55.480
 still sends the full screen. Okay. So much for this topic.

00:20:55.480 --> 00:20:59.420
 Ah, okay. And if you want to do cropping, you have to do

00:20:59.420 --> 00:21:03.720
 your own compositor. I asked the real W

00:21:05.080 --> 00:21:09.870
 WL roots. Sorry. That's this W is complicated for me. I

00:21:09.870 --> 00:21:16.120
 asked the WL roots developers on their IRC

00:21:16.120 --> 00:21:19.450
 channel and they told me, yes, we wanted to have this. We

00:21:19.450 --> 00:21:21.400
 have an issue open, but it's not

00:21:21.400 --> 00:21:24.870
 implemented and you have to do it yourself. And yes,

00:21:24.870 --> 00:21:27.320
 whoever wants us has to do it himself. And

00:21:27.320 --> 00:21:32.180
 that's a lot of work in C. Okay. I'll jump in quickly at

00:21:32.180 --> 00:21:33.800
 one thing. Yeah. I think we were about

00:21:33.800 --> 00:21:36.040
 like two minutes break, sorry, two minutes away from our

00:21:36.040 --> 00:21:38.840
 lunch break. At which point I think the

00:21:38.840 --> 00:21:42.160
 stream will be moving on or will be stopped, but this BQB

00:21:42.160 --> 00:21:44.600
 room will be open. So yeah, Michael and

00:21:44.600 --> 00:21:47.250
 anyone else who is participating in the Q&A, you're more

00:21:47.250 --> 00:21:49.160
 than welcome to stay here and continue the

00:21:49.160 --> 00:21:55.160
 question and answer. Okay. Thank you for this announcement.

00:21:55.160 --> 00:21:59.960
 Yeah. I would like to keep answering

00:21:59.960 --> 00:22:05.570
 questions and maybe yeah, until there's no more interest or

00:22:05.570 --> 00:22:08.200
 I am hungry too, but I don't need a

00:22:08.200 --> 00:22:12.600
 lunch as I already. Yep. Okay. Sounds great. Yep. So yeah,

00:22:12.600 --> 00:22:14.840
 the stream will probably be cut off in

00:22:14.840 --> 00:22:17.940
 about a minute or so, but yeah, this room will be open and

00:22:17.940 --> 00:22:20.040
 you and others will be able to stay here

00:22:20.040 --> 00:22:25.160
 and keep asking and answering questions. Okay. Thanks.

00:22:25.160 --> 00:22:29.720
 Thank you. Then let's go on to the next

00:22:29.720 --> 00:22:48.790
 question. I just scrolled. I forgot my place. Okay. Could

00:22:48.790 --> 00:22:51.000
 you use some of the packages with

00:22:51.000 --> 00:22:54.920
 other Wayland compositors? Probably not all of it's way KDE

00:22:54.920 --> 00:22:57.160
, Rivergnome. Yes, you can. And thank

00:22:57.160 --> 00:23:01.680
 you for this idea because I already, I didn't think of this

00:23:01.680 --> 00:23:04.440
 before. You can use it because you

00:23:04.440 --> 00:23:07.620
 can talk to them. Like you can talk to Wayland protocols.

00:23:07.620 --> 00:23:09.560
 You can have a look at them. There's

00:23:09.560 --> 00:23:14.830
 like the core protocol of Wayland is in the core repository

00:23:14.830 --> 00:23:18.120
 of the Wayland project. And there's a

00:23:18.120 --> 00:23:21.680
 Wayland protocols repository. They have like three tier

00:23:21.680 --> 00:23:23.720
 staging, experimental and stable,

00:23:23.720 --> 00:23:26.900
 almost nothing in Wayland is stable. So be prepared for

00:23:26.900 --> 00:23:28.920
 some changes in the future, I think.

00:23:28.920 --> 00:23:35.700
 And you can talk to these protocols. They are not that

00:23:35.700 --> 00:23:39.800
 difficult, but some things are already a bit

00:23:39.800 --> 00:23:43.370
 too complicated. Like you have to take output and then to

00:23:43.370 --> 00:23:45.640
 get the actual width or something like

00:23:45.640 --> 00:23:49.630
 this, you have to request another output. And this one

00:23:49.630 --> 00:23:52.600
 talks to you and the other output says, okay,

00:23:52.600 --> 00:23:55.050
 I'm done or something like this. Some things are a little

00:23:55.050 --> 00:23:58.680
 bit difficult, but it's quite readable

00:23:58.680 --> 00:24:03.520
 and understandable and you can do scripting Sway, but I don

00:24:03.520 --> 00:24:06.120
't have a lot of experience there because

00:24:06.120 --> 00:24:11.930
 like I'm an XWM user. I do it in Emacs. I'm staying on X. I

00:24:11.930 --> 00:24:14.520
 had Sway several years ago,

00:24:14.520 --> 00:24:18.110
 but only a short time. So I'm not that knowledgeable. The

00:24:18.110 --> 00:24:20.040
 next question is,

00:24:20.760 --> 00:24:26.170
 will Wayland support reach feature parity with XWM in the

00:24:26.170 --> 00:24:29.560
 future? Will there be other trade-offs?

00:24:29.560 --> 00:24:35.830
 No, it won't. Okay. But don't think, it's not something

00:24:35.830 --> 00:24:38.760
 usable because I don't think all the

00:24:38.760 --> 00:24:45.530
 features in the EXWM is needed. I want to work spaces as I

00:24:45.530 --> 00:24:49.320
 said in the talk, because yeah,

00:24:49.320 --> 00:24:53.460
 Emacs does work spaces and I won't do this, but I will do

00:24:53.460 --> 00:24:58.200
 everything. Like what's my plan with

00:24:58.200 --> 00:25:01.690
 this thing? It's like the two use cases I already alluded

00:25:01.690 --> 00:25:06.280
 to in the video. The first is you have a

00:25:06.280 --> 00:25:11.030
 Wayland surface and you show it inside an Emacs buffer or

00:25:11.030 --> 00:25:13.160
 an Emacs window. So you have a kind of

00:25:13.160 --> 00:25:22.510
 Wayland buffer, I'm calling it. That's the thing EXWM does.

00:25:22.510 --> 00:25:26.600
 And I think, yeah, it should reach

00:25:26.600 --> 00:25:30.710
 feature parity with it. It also has output management and

00:25:30.710 --> 00:25:32.600
 like the input handling,

00:25:32.600 --> 00:25:37.700
 there's like the simulation keys and I don't know what else

00:25:37.700 --> 00:25:41.080
, but actually I don't have a solution

00:25:41.080 --> 00:25:46.060
 yet for the input handling. It's a thing I haven't looked

00:25:46.060 --> 00:25:49.480
 that much into. Will there be other

00:25:49.480 --> 00:25:53.660
 trade-offs? Yeah, most certainly there are always trade-

00:25:53.660 --> 00:25:56.200
offs, but I can't tell you which.

00:25:56.200 --> 00:26:00.920
 So the next question is, what is the biggest difference

00:26:00.920 --> 00:26:01.880
 between X,

00:26:01.880 --> 00:26:07.000
 Org and Wayland that you have found? Okay, what's the

00:26:07.000 --> 00:26:10.360
 biggest difference?

00:26:10.360 --> 00:26:18.970
 Don't know actually, don't know. First of all, I'm not that

00:26:18.970 --> 00:26:23.320
 knowledgeable in X, Org. I used it,

00:26:23.320 --> 00:26:28.150
 but I have no more programs in X Window Manager. I haven't

00:26:28.150 --> 00:26:30.520
 looked a lot into it, except

00:26:31.400 --> 00:26:37.380
 WEM, I looked into the code, into Elisp code and how it

00:26:37.380 --> 00:26:39.880
 does the communication and

00:26:39.880 --> 00:26:46.750
 took inspiration of course. Yeah, big difference is you don

00:26:46.750 --> 00:26:50.120
't have one monolithic server. Like you

00:26:50.120 --> 00:26:54.390
 have one X, Org server and in Wayland you have lots of

00:26:54.390 --> 00:26:57.800
 servers like GNOME has one, KDE has one,

00:26:58.760 --> 00:27:02.510
 then WL roots is another approach, Swae has an

00:27:02.510 --> 00:27:05.480
 implementation in WL roots and so on.

00:27:05.480 --> 00:27:10.350
 So now it's the last question I find in my path is, did you

00:27:10.350 --> 00:27:13.880
 know EAF? Yes, I know. Of course,

00:27:13.880 --> 00:27:17.000
 like I think we have a talk. We have a talk. We had talks

00:27:17.000 --> 00:27:21.400
 and I never used it. I'm sorry.

00:27:22.440 --> 00:27:29.400
 Maybe it's interesting. It's Python. I don't do a lot of

00:27:29.400 --> 00:27:31.640
 Python and

00:27:31.640 --> 00:27:37.220
 similar use case. It's like, I think it's embedded X

00:27:37.220 --> 00:27:40.200
 widgets. Please correct me if I'm wrong.

00:27:40.200 --> 00:27:47.450
 Yeah, that's all I can say to this topic. But I think like

00:27:47.450 --> 00:27:49.800
 any application framework,

00:27:49.800 --> 00:27:53.920
 you can want to do an Emacs or stuff like that will mesh

00:27:53.920 --> 00:27:57.240
 really good with Emacs compositor that

00:27:57.240 --> 00:28:02.650
 is integrated or like almost integrated in Emacs because

00:28:02.650 --> 00:28:05.640
 now you can use this to do your application

00:28:05.640 --> 00:28:10.070
 framework and paint the windows in Emacs. And I think maybe

00:28:10.070 --> 00:28:12.440
 we can come back to the reparenting

00:28:12.440 --> 00:28:18.450
 X thing, which I don't really understand. So I don't know

00:28:18.450 --> 00:28:21.560
 exactly how X does the X widgets, like

00:28:21.560 --> 00:28:28.190
 no idea. But I think we can do something similar with Way

00:28:28.190 --> 00:28:31.960
land. Like we can just embed the little

00:28:31.960 --> 00:28:36.710
 Wayland surfaces in an Emacs buffer. And that's a thing I

00:28:36.710 --> 00:28:40.440
 wanted to get a discussion started.

00:28:40.440 --> 00:28:45.950
 Someone, yeah, maybe someone has an idea. Maybe someone is

00:28:45.950 --> 00:28:49.000
 already deep down in Emacs internals

00:28:49.000 --> 00:28:54.620
 and knows how these displays stuff works like image display

00:28:54.620 --> 00:28:57.880
, X widget display, and so on.

00:28:57.880 --> 00:29:03.290
 And maybe this person or someone else has an idea how we

00:29:03.290 --> 00:29:05.640
 could do the Wayland surfaces.

00:29:05.640 --> 00:29:09.280
 Right now it's just Emacs receives a request for new

00:29:09.280 --> 00:29:13.160
 surface. Okay. You open a new program.

00:29:13.160 --> 00:29:16.430
 The program says to the Wayland server, "Hey, I'm here. I

00:29:16.430 --> 00:29:19.480
 want to have surface." Wayland server

00:29:19.480 --> 00:29:24.750
 gives it the surface and says to Emacs, "Hey, here's a new

00:29:24.750 --> 00:29:27.880
 surface. You can lay it out." And

00:29:27.880 --> 00:29:31.080
 Emacs then can lay it out or not, however it likes.

00:29:31.080 --> 00:29:33.480
 Normally the default path I choose is

00:29:33.480 --> 00:29:38.490
 Emacs bundles, the surface with a buffer. And if the buffer

00:29:38.490 --> 00:29:40.600
 is shown, it shows the surface.

00:29:40.600 --> 00:29:43.690
 And otherwise it's just hidden. But you can do whatever you

00:29:43.690 --> 00:29:45.800
 want with the surface. You just

00:29:45.800 --> 00:29:49.050
 have to say, please put it at this coordinate and this

00:29:49.050 --> 00:29:52.280
 width and this height. So you can put it in

00:29:52.280 --> 00:29:54.980
 a buffer and you can scroll it in a buffer. But this

00:29:54.980 --> 00:29:57.560
 integration, how to put something in a buffer

00:29:57.560 --> 00:30:00.060
 and scroll it there. I don't know how to do it. And I don't

00:30:00.060 --> 00:30:02.920
 know how to do it. It should be like

00:30:02.920 --> 00:30:06.070
 a good solution. I don't know how to do it. Maybe someone

00:30:06.070 --> 00:30:10.040
 of you has an idea. I'm finished with the

00:30:10.040 --> 00:30:17.190
 questions of the path. I haven't had a look in IRC because

00:30:17.190 --> 00:30:20.600
 yes, I was busy talking.

00:30:20.600 --> 00:30:27.910
 I can either like browse through the IRC if you want, or

00:30:27.910 --> 00:30:31.480
 maybe someone wants to say something or

00:30:31.480 --> 00:30:36.410
 have a look. Ah, thank you. I already answered the IRC

00:30:36.410 --> 00:30:39.880
 questions. So yes, I'm finished.

00:30:39.880 --> 00:30:47.720
 I still see some people in the room. Yeah. Maybe someone,

00:30:47.720 --> 00:30:49.880
 if you have an idea or wants to use it.

00:30:49.880 --> 00:30:58.330
 I don't know how fast I will have it in a usable state. It

00:30:58.330 --> 00:30:58.840
's like,

00:31:01.080 --> 00:31:05.200
 at first I just wanted to do this presentation and show to

00:31:05.200 --> 00:31:09.400
 you the possibility. I already read

00:31:09.400 --> 00:31:13.400
 in the internet some places like Emacs, Devel, Mailindus

00:31:13.400 --> 00:31:16.120
 that was one time and other places that

00:31:16.120 --> 00:31:20.080
 other people's had the same, other person had the same

00:31:20.080 --> 00:31:25.800
 ideas. But I was thinking just to lay out

00:31:25.800 --> 00:31:29.740
 the general idea to you. And then I thought, okay, do an

00:31:29.740 --> 00:31:32.200
 experiment, show if it works. And the

00:31:32.200 --> 00:31:35.870
 experiments spun a little bit. It worked. And so I got

00:31:35.870 --> 00:31:40.520
 further and now I have an almost usable thing,

00:31:40.520 --> 00:31:46.990
 but I already spent like a month with it. So we'll take

00:31:46.990 --> 00:31:49.640
 some more time to finish.

00:31:52.840 --> 00:31:59.040
 Yeah. Thanks that you think, Gary, that you think it's, you

00:31:59.040 --> 00:32:03.800
 are happy to test it. Thank you.

00:32:03.800 --> 00:32:08.870
 I would like to have it like a little bit more flexible

00:32:08.870 --> 00:32:11.240
 than the X solutions, because

00:32:11.240 --> 00:32:16.880
 as I told you can have it nested, like you have a normal Em

00:32:16.880 --> 00:32:20.760
acs and you can just do the embedding

00:32:20.760 --> 00:32:24.710
 and the embedded surfaces. And so in a normal Emacs and you

00:32:24.710 --> 00:32:27.400
 don't have to give Emacs the whole

00:32:27.400 --> 00:32:35.080
 desktop. So you don't have to do XWM. You can just have a

00:32:35.080 --> 00:32:39.080
 normal Emacs window and have all the goodies

00:32:39.080 --> 00:32:45.770
 and features there. Okay. Again, the code will be available

00:32:45.770 --> 00:32:49.080
 on my site. I can post you the link,

00:32:49.080 --> 00:32:54.330
 but there's nothing there yet. Oh, wait a few days. I was

00:32:54.330 --> 00:32:57.480
 thinking of doing it this weekend,

00:32:57.480 --> 00:33:03.190
 but it's EmacsConf and I want to listen to your ideas and

00:33:03.190 --> 00:33:06.360
 participate and don't do coding instead.

00:33:06.360 --> 00:33:15.080
 This is the link. I could put it on another code forge, but

00:33:15.080 --> 00:33:18.120
 I want to do something

00:33:19.880 --> 00:33:19.880


00:33:19.880 --> 00:33:26.340
 myself instead. I have a landing page. If I put it in my

00:33:26.340 --> 00:33:29.320
 browser, it's just,

00:33:29.320 --> 00:33:35.840
 yeah, no connection possible. It's not configured. It's

00:33:35.840 --> 00:33:39.080
 just bought, wait a few days.

00:33:42.120 --> 00:33:46.520
 Okay. Short question for the room. Does anyone know someone

00:33:46.520 --> 00:33:48.280
 else working on stuff like this?

00:33:48.280 --> 00:34:05.250
 Because if, please let them know so we can team up and don

00:34:05.250 --> 00:34:06.840
't do it twice.

00:34:11.800 --> 00:34:14.440
 I had a lot of fun with the Emacs part of the code. I like

00:34:14.440 --> 00:34:17.640
 coding in Elisp in general,

00:34:17.640 --> 00:34:22.480
 but it's not that much fun to work on the C side. It's

00:34:22.480 --> 00:34:26.520
 complex and prone to break.

00:34:26.520 --> 00:34:32.360
 So don't mind collaborating.

00:34:41.560 --> 00:34:45.960
 Why the sad face?

00:34:45.960 --> 00:34:56.920
 Yes, I know the lack of active development.

00:35:02.920 --> 00:35:09.400
 Okay. Because yeah, so no problem. You can't know anyone or

00:35:09.400 --> 00:35:10.120
 a lot of,

00:35:10.120 --> 00:35:15.280
 like, it's a good thing. So I got to start it and I wanted

00:35:15.280 --> 00:35:16.200
 to start,

00:35:16.200 --> 00:35:24.260
 you know, people quitting the XW. I don't have problems yet

00:35:24.260 --> 00:35:26.120
. It's not that I started

00:35:26.120 --> 00:35:28.720
 implementing this because I thought, ah, it's not working

00:35:28.720 --> 00:35:30.840
 anymore. I need something new. It's like,

00:35:30.840 --> 00:35:37.680
 it's works fine. I just did it because I thought, well, why

00:35:37.680 --> 00:35:39.720
 not do something new? And because it

00:35:39.720 --> 00:35:45.180
 opens new possibilities, which weren't there before, or at

00:35:45.180 --> 00:35:47.320
 least I didn't know of them.

00:35:47.320 --> 00:35:58.920
 Okay. How could I put this? Okay. If it's ready for no, as

00:35:58.920 --> 00:36:00.440
 I will promote it. If it's

00:36:00.440 --> 00:36:06.030
 ready for normal usement, like you can just install it and

00:36:06.030 --> 00:36:09.480
 use it for an everyday driver

00:36:09.480 --> 00:36:12.150
 and have you do it. You would X session file and can just

00:36:12.150 --> 00:36:14.840
 start it up. It won't be an X session

00:36:14.840 --> 00:36:18.660
 file because that's X and that's a thing of the past and,

00:36:18.660 --> 00:36:20.200
 but something similar.

00:36:20.200 --> 00:36:26.320
 I could imagine posting, like, I don't know, he makes lists

00:36:26.320 --> 00:36:28.280
, Reddit, something like this, but

00:36:29.160 --> 00:36:33.240
 until then, like the code I will release now, it's just

00:36:33.240 --> 00:36:34.200
 experimental and

00:36:34.200 --> 00:36:41.710
 it's for the people who want to get involved and, or want

00:36:41.710 --> 00:36:43.320
 to do their own thing with it,

00:36:43.320 --> 00:36:48.130
 use the client to automate sway or so for them. It's really

00:36:48.130 --> 00:36:49.640
 interesting.

00:36:50.200 --> 00:36:50.200


00:36:50.200 --> 00:37:00.200
 [inaudible]

00:37:00.200 --> 00:37:02.760
 Yes, I know. Like you,

00:37:02.760 --> 00:42:20.290
 okay, this sway.el, I have to look at it, but I don't think

00:42:20.290 --> 00:37:15.000
 now is a good idea.

00:37:17.160 --> 00:37:21.680
 Maybe something useful there. Thank you, PlasmaStrike and G

00:37:21.680 --> 00:37:22.520
argiola.

00:37:22.520 --> 00:37:28.450
 Yes, people are moving and Valent is the future. That's the

00:37:28.450 --> 00:37:30.680
 point I wanted to say. Like, I think

00:37:30.680 --> 00:37:36.840
 you can stay on X, like in the future, but it's not gonna

00:37:36.840 --> 00:37:38.760
 get that much development and

00:37:38.760 --> 00:37:42.520
 sooner or later, like there will be new features and you

00:37:42.520 --> 00:37:44.200
 won't have it in the old one and stuff

00:37:44.200 --> 00:37:48.690
 like that. And for Emacs to be viable as a window manager

00:37:48.690 --> 00:37:51.560
 in this whole computing environment, or as

00:37:51.560 --> 00:37:56.810
 I said, a Lispy Linux desktop, I think it needs to have

00:37:56.810 --> 00:37:59.000
 this Valent capability and

00:37:59.000 --> 00:38:08.680
 that's the way for it to get it.

00:38:09.960 --> 00:38:09.960


00:38:09.960 --> 00:38:21.960
 [inaudible]

00:38:21.960 --> 00:38:28.510
 I'm just reading the IRC log and someone wrote, I was

00:38:28.510 --> 00:38:32.600
 amazed to see the video inside Emacs.

00:38:32.600 --> 00:38:44.280
 Thank you. That was meant to be amazing. Yeah, thank you.

00:38:45.560 --> 00:38:45.560


00:38:45.560 --> 00:38:45.640
 [inaudible]

00:38:46.920 --> 00:38:46.920


00:38:46.920 --> 00:38:47.000
 [inaudible]

00:38:48.280 --> 00:38:48.280


00:38:48.280 --> 00:38:48.360
 [inaudible]

00:38:49.640 --> 00:38:49.640


00:38:49.640 --> 00:38:49.720
 [inaudible]

00:38:51.000 --> 00:38:51.000


00:38:51.000 --> 00:38:51.080
 [inaudible]

00:38:52.080 --> 00:38:52.240
 [inaudible]

00:38:52.240 --> 00:38:52.400
 [inaudible]

00:38:52.400 --> 00:38:52.480
 [inaudible]

00:38:52.480 --> 00:38:52.640
 [inaudible]

00:38:52.640 --> 00:38:52.720
 [inaudible]

00:38:52.720 --> 00:38:52.800
 [inaudible]

00:38:52.800 --> 00:38:52.880
 [inaudible]

00:38:52.880 --> 00:38:52.960
 [inaudible]

00:38:52.960 --> 00:38:53.040
 [inaudible]

00:38:53.040 --> 00:38:53.120
 [inaudible]

00:38:53.120 --> 00:38:53.200
 [inaudible]

00:38:53.200 --> 00:38:53.200
 [inaudible]

00:38:53.200 --> 00:38:53.280
 [inaudible]

00:38:53.280 --> 00:38:53.360
 [inaudible]

00:38:53.360 --> 00:38:53.440
 [inaudible]

00:38:53.440 --> 00:38:53.520
 [inaudible]

00:38:53.520 --> 00:38:53.600
 [inaudible]

00:38:53.600 --> 00:38:53.680
 [inaudible]

00:38:53.680 --> 00:38:53.760
 [inaudible]

00:38:53.760 --> 00:38:53.840
 [inaudible]

00:38:53.840 --> 00:38:53.920
 [inaudible]

00:38:53.920 --> 00:38:54.000
 [inaudible]

00:38:54.000 --> 00:38:54.080
 [inaudible]

00:38:54.080 --> 00:38:54.160
 [inaudible]

00:38:54.160 --> 00:38:54.160
 [inaudible]

00:38:54.160 --> 00:38:54.240
 [inaudible]

00:38:54.240 --> 00:38:54.240
 [inaudible]

00:38:54.240 --> 00:38:54.320
 [inaudible]

00:38:54.320 --> 00:38:54.400
 [inaudible]

00:38:54.400 --> 00:38:54.480
 [inaudible]

00:38:54.480 --> 00:38:54.560
 [inaudible]

00:38:54.560 --> 00:38:54.640
 [inaudible]

00:38:54.640 --> 00:38:54.640
 [inaudible]

00:38:54.640 --> 00:38:54.720
 [inaudible]

00:38:54.720 --> 00:38:54.720
 [inaudible]

00:38:54.720 --> 00:38:54.800
 [inaudible]

00:38:54.800 --> 00:38:54.880
 [inaudible]

00:38:54.880 --> 00:38:54.960
 [inaudible]

00:38:54.960 --> 00:38:55.040
 [inaudible]

00:38:55.040 --> 00:38:55.120
 [inaudible]

00:38:55.120 --> 00:39:20.000
 [inaudible]

00:39:20.000 --> 00:39:20.080
 [inaudible]

00:39:20.080 --> 00:39:20.160
 [inaudible]

00:39:20.160 --> 00:39:20.240
 [inaudible]

00:39:20.800 --> 00:39:20.800


00:39:20.800 --> 00:39:25.920
 Okay, Emax could already do. I'm just reading the IRC

00:39:25.920 --> 00:39:46.400
 because I don't know what else to say right now.

00:39:46.400 --> 00:39:57.040
 [inaudible]

00:39:57.040 --> 00:40:00.880
 Yeah, it's nice to see so many people saying thank you and

00:40:00.880 --> 00:40:07.600
 at least I read it like two times now. So yeah, I'm pleased

00:40:07.600 --> 00:40:10.160
 to see this and the interest in

00:40:10.160 --> 00:40:16.400
 gender.

00:40:16.400 --> 00:40:26.640
 [inaudible]

00:40:26.640 --> 00:40:38.640
 [inaudible]

00:40:38.640 --> 00:40:49.370
 Okay, I see there's still some people typing and it's a lot

00:40:49.370 --> 00:40:52.240
 of more thank yous and yeah,

00:40:52.240 --> 00:41:00.980
 thank you. I'm pleased and I will publish stuff like if it

00:41:00.980 --> 00:41:06.320
's usable. I want to use it myself,

00:41:06.320 --> 00:41:13.410
 so if you're in luck, you can use it too. And let's see, I

00:41:13.410 --> 00:41:18.160
 think I wrap up this Q&A here and

00:41:18.160 --> 00:41:22.780
 yeah, thank you for the discussion, for your questions and

00:41:22.780 --> 00:41:27.280
 your interest and have a nice rest

00:41:27.280 --> 00:41:48.950
 of EmaxConf. Yeah, bye. I'm just going to leave the room or

00:41:48.950 --> 00:41:51.760
 microphone or go back to EmaxConf.

00:41:55.360 --> 00:41:56.480
 Sounds good. Thanks again.

00:41:56.480 --> 00:42:00.320
 Ah, you're still there.

00:42:00.320 --> 00:42:03.760
 Hey, yeah, I just got back for a second.

00:42:03.760 --> 00:42:05.380
 Okay.

00:42:05.380 --> 00:42:08.960
 Yeah, just wanted to say thanks for the great talk and I'll

00:42:08.960 --> 00:42:10.720
 definitely be watching it and the Q&A.

00:42:10.720 --> 00:42:13.280
 And yeah, it's very exciting stuff.

00:42:13.280 --> 00:42:17.350
 Yeah, thank you. I got the feedback now. It's exciting. I

00:42:17.350 --> 00:42:20.400
 think so too. So yeah,

00:42:20.400 --> 00:42:24.160
 have a nice time at EmaxConf and see you next time. Bye.

00:42:24.160 --> 00:42:27.920
 Thank you. You as well. See you around. Bye.

00:42:27.920 --> 00:42:28.420
 Bye.

00:42:30.420 --> 00:42:30.420


00:42:30.420 --> 00:42:30.920
 Bye.

00:42:32.920 --> 00:42:32.920


00:42:32.920 --> 00:42:33.420
 Bye.

00:42:35.420 --> 00:42:35.420


00:42:35.420 --> 00:42:35.920
 Bye.

00:42:37.920 --> 00:42:37.920


00:42:37.920 --> 00:42:38.420
 Bye.

00:42:38.420 --> 00:42:46.420
 Bye.