summaryrefslogtreecommitdiffstats
path: root/2020/subtitles/emacsconf-2020--34-extend-emacs-to-modern-gui-applications-with-eaf--matthew-...
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2020-12-09 12:17:50 -0500
committerSacha Chua <sacha@sachachua.com>2020-12-09 12:17:50 -0500
commit839b298776e262a99eec18d23f4e52363fe937bc (patch)
tree05db68082ebe5fdb7f389a07a52596764d7fd8d1 /2020/subtitles/emacsconf-2020--34-extend-emacs-to-modern-gui-applications-with-eaf--matthew-zeng-autogen.sbv
parente7d7db03ac4e24d2ee7d7a8741f9e3da7edffab1 (diff)
downloademacsconf-wiki-839b298776e262a99eec18d23f4e52363fe937bc.tar.xz
emacsconf-wiki-839b298776e262a99eec18d23f4e52363fe937bc.zip
Add more autogenerated subtitles
Diffstat (limited to '')
-rw-r--r--2020/subtitles/emacsconf-2020--34-extend-emacs-to-modern-gui-applications-with-eaf--matthew-zeng-autogen.sbv1713
1 files changed, 1713 insertions, 0 deletions
diff --git a/2020/subtitles/emacsconf-2020--34-extend-emacs-to-modern-gui-applications-with-eaf--matthew-zeng-autogen.sbv b/2020/subtitles/emacsconf-2020--34-extend-emacs-to-modern-gui-applications-with-eaf--matthew-zeng-autogen.sbv
new file mode 100644
index 00000000..c90bab3d
--- /dev/null
+++ b/2020/subtitles/emacsconf-2020--34-extend-emacs-to-modern-gui-applications-with-eaf--matthew-zeng-autogen.sbv
@@ -0,0 +1,1713 @@
+0:00:03.600,0:00:06.720
+hello
+
+0:00:04.560,0:00:08.000
+hopefully everyone is staying safe and
+
+0:00:06.720,0:00:10.000
+staying home
+
+0:00:08.000,0:00:12.000
+i feel very grateful to live in a world
+
+0:00:10.000,0:00:13.759
+today that technology and free software
+
+0:00:12.000,0:00:16.080
+can be leveraged to connect people in
+
+0:00:13.759,0:00:17.840
+such disconnected and difficult times
+
+0:00:16.080,0:00:19.920
+and to have an online conference like
+
+0:00:17.840,0:00:22.960
+this hopefully you've all
+
+0:00:19.920,0:00:24.720
+enjoyed this year's emacs con so far
+
+0:00:22.960,0:00:26.880
+many thanks to all the people that made
+
+0:00:24.720,0:00:30.000
+this possible
+
+0:00:26.880,0:00:30.960
+anyways welcome to my talk extend emacs
+
+0:00:30.000,0:00:34.079
+to modern gui
+
+0:00:30.960,0:00:35.920
+applications with eaf the imax
+
+0:00:34.079,0:00:38.320
+application framework
+
+0:00:35.920,0:00:39.840
+this will be my first ever talk so
+
+0:00:38.320,0:00:43.280
+apologies for my
+
+0:00:39.840,0:00:46.559
+inexperience let us begin
+
+0:00:43.280,0:00:47.840
+about me my name is matthew zing you can
+
+0:00:46.559,0:00:50.640
+also call me mt
+
+0:00:47.840,0:00:51.440
+or mindu i'm a chinese canadian living
+
+0:00:50.640,0:00:54.239
+in toronto
+
+0:00:51.440,0:00:56.079
+ontario offline i'm an undergrad
+
+0:00:54.239,0:00:57.760
+studying mathematics at the university
+
+0:00:56.079,0:01:00.480
+of urudu
+
+0:00:57.760,0:01:03.039
+online i mean one of the admins of the
+
+0:01:00.480,0:01:06.320
+emacs china
+
+0:01:03.039,0:01:08.080
+the largest emacs forum in china so
+
+0:01:06.320,0:01:10.960
+to all chinese listen to my talk right
+
+0:01:08.080,0:01:14.320
+now feel free to check it out
+
+0:01:10.960,0:01:17.280
+and this is a link to my github profile
+
+0:01:14.320,0:01:18.240
+to my projects i'm involving one's me
+
+0:01:17.280,0:01:20.159
+max which is
+
+0:01:18.240,0:01:21.840
+i'm the author of a user-friendly
+
+0:01:20.159,0:01:22.799
+full-featured image configuration
+
+0:01:21.840,0:01:25.040
+distribution
+
+0:01:22.799,0:01:26.880
+it is what i'm using right now as well
+
+0:01:25.040,0:01:29.119
+as the imax application filter
+
+0:01:26.880,0:01:30.400
+which i help to maintain along with the
+
+0:01:29.119,0:01:33.040
+other other
+
+0:01:30.400,0:01:35.360
+lazy cat which of course is today's
+
+0:01:33.040,0:01:35.360
+topic
+
+0:01:35.759,0:01:40.960
+so as you might all might have already
+
+0:01:38.720,0:01:43.600
+noticed i'm currently using emacs
+
+0:01:40.960,0:01:45.360
+and oh and opening navigating closing
+
+0:01:43.600,0:01:46.159
+all these websites that are rendered
+
+0:01:45.360,0:01:49.200
+properly
+
+0:01:46.159,0:01:51.840
+or within emacs it's all thanks to the
+
+0:01:49.200,0:01:54.000
+ef project
+
+0:01:51.840,0:01:55.920
+so we're living in a society that's
+
+0:01:54.000,0:01:59.520
+heavily dependent on the internet
+
+0:01:55.920,0:02:01.200
+and multimedia it is unavoidable to run
+
+0:01:59.520,0:02:02.880
+to some occasion that you need to
+
+0:02:01.200,0:02:04.799
+open a fancy website that uses
+
+0:02:02.880,0:02:08.239
+javascript and css
+
+0:02:04.799,0:02:11.120
+or you need to watch some videos however
+
+0:02:08.239,0:02:11.840
+due to the nature and history of emacs
+
+0:02:11.120,0:02:13.840
+it cannot
+
+0:02:11.840,0:02:16.400
+render all these modern graphics
+
+0:02:13.840,0:02:19.360
+effectively and efficiently
+
+0:02:16.400,0:02:20.400
+emacs is solely a text-based editing
+
+0:02:19.360,0:02:23.520
+environment
+
+0:02:20.400,0:02:25.680
+and i argue that this is not a bad thing
+
+0:02:23.520,0:02:27.760
+in fact it is one of the reasons that me
+
+0:02:25.680,0:02:29.760
+and i believe many of you as well
+
+0:02:27.760,0:02:30.879
+are attracted to emacs in the first
+
+0:02:29.760,0:02:33.760
+place
+
+0:02:30.879,0:02:35.680
+unfortunately this results in us having
+
+0:02:33.760,0:02:37.040
+to open a dedicated web browser to
+
+0:02:35.680,0:02:38.879
+browse the internet
+
+0:02:37.040,0:02:41.440
+open a dedicated video player to watch
+
+0:02:38.879,0:02:42.640
+some videos or a pdf render to read some
+
+0:02:41.440,0:02:45.200
+documents
+
+0:02:42.640,0:02:46.000
+so far ems cannot do all these tasks on
+
+0:02:45.200,0:02:48.080
+its own
+
+0:02:46.000,0:02:51.519
+but can only be achieved using other
+
+0:02:48.080,0:02:55.840
+external applications
+
+0:02:51.519,0:02:58.640
+so the other the author manatee lazy cat
+
+0:02:55.840,0:03:00.560
+or lazy cat in short didn't want to use
+
+0:02:58.640,0:03:03.120
+all these external applications
+
+0:03:00.560,0:03:04.159
+he wanted to have an uninterrupted e-max
+
+0:03:03.120,0:03:07.280
+experience
+
+0:03:04.159,0:03:10.080
+he wanted to truly live in e-max
+
+0:03:07.280,0:03:11.040
+however it would be a lot of work to
+
+0:03:10.080,0:03:13.519
+build this
+
+0:03:11.040,0:03:16.239
+modern application from scratch there's
+
+0:03:13.519,0:03:18.800
+simply no time or research to do that
+
+0:03:16.239,0:03:20.400
+so lazy car without utilizing existing
+
+0:03:18.800,0:03:22.319
+applications
+
+0:03:20.400,0:03:24.959
+and to try to make it collaborate with
+
+0:03:22.319,0:03:26.000
+emacs there are many solutions available
+
+0:03:24.959,0:03:28.560
+one of it
+
+0:03:26.000,0:03:30.159
+is the e-max x windows manager and i'm
+
+0:03:28.560,0:03:33.360
+sure a lot of you already know that
+
+0:03:30.159,0:03:35.200
+the exwm however it didn't work for him
+
+0:03:33.360,0:03:37.440
+because although ux doubling opens the
+
+0:03:35.200,0:03:38.239
+door to use other applications within
+
+0:03:37.440,0:03:40.879
+emacs
+
+0:03:38.239,0:03:41.519
+it as a fine window manager cannot
+
+0:03:40.879,0:03:43.920
+modify
+
+0:03:41.519,0:03:45.040
+customize or extend other software from
+
+0:03:43.920,0:03:46.799
+emacs
+
+0:03:45.040,0:03:48.480
+for example it cannot modify the
+
+0:03:46.799,0:03:49.599
+behavior when you press a key in
+
+0:03:48.480,0:03:52.159
+chromium or
+
+0:03:49.599,0:03:54.000
+pdf viewer therefore it cannot utilize
+
+0:03:52.159,0:03:57.360
+the rich emax ecosystem that's been
+
+0:03:54.000,0:04:00.720
+growing for almost 40 years
+
+0:03:57.360,0:04:03.760
+on the other hand in the ef browser so
+
+0:04:00.720,0:04:07.200
+if you mx ef open
+
+0:04:03.760,0:04:09.840
+browser with history you can see
+
+0:04:07.200,0:04:11.920
+on the lower half of my screen a list of
+
+0:04:09.840,0:04:14.560
+histories sorted by my personal
+
+0:04:11.920,0:04:16.560
+most visited sites and you can search
+
+0:04:14.560,0:04:19.440
+for a site that you've been
+
+0:04:16.560,0:04:21.840
+into or search for some keyword and in a
+
+0:04:19.440,0:04:24.240
+search engine
+
+0:04:21.840,0:04:25.919
+so this is all achieved by utilizing the
+
+0:04:24.240,0:04:29.120
+popular completion framework in the
+
+0:04:25.919,0:04:29.120
+emacs ecosystem
+
+0:04:29.280,0:04:33.680
+so this car decided to develop a
+
+0:04:31.120,0:04:36.960
+solution of its own in 2018
+
+0:04:33.680,0:04:40.000
+namely the eaf project so i joined the
+
+0:04:36.960,0:04:40.000
+development last year
+
+0:04:40.840,0:04:47.880
+2019 ef is
+
+0:04:44.000,0:04:49.759
+a highly customizable and extensible
+
+0:04:47.880,0:04:52.160
+reapplication framework that extends
+
+0:04:49.759,0:04:57.840
+imax to graphical capabilities using pi
+
+0:04:52.160,0:05:02.479
+qd5 and it is not a window manager
+
+0:04:57.840,0:05:03.440
+alright so in the readme you can see a
+
+0:05:02.479,0:05:05.600
+list of gifs
+
+0:05:03.440,0:05:06.720
+showcasing all the available ef
+
+0:05:05.600,0:05:09.520
+applications
+
+0:05:06.720,0:05:10.960
+a browser a markdown premier a video
+
+0:05:09.520,0:05:14.240
+player
+
+0:05:10.960,0:05:16.160
+a pdf viewer and more today i don't have
+
+0:05:14.240,0:05:16.560
+enough time to demonstrate each one of
+
+0:05:16.160,0:05:18.720
+them
+
+0:05:16.560,0:05:21.120
+but i will select a couple applications
+
+0:05:18.720,0:05:24.240
+to show you
+
+0:05:21.120,0:05:27.840
+so since we are already using ef browser
+
+0:05:24.240,0:05:29.600
+we'll start with this besides using the
+
+0:05:27.840,0:05:32.000
+classic control n control p
+
+0:05:29.600,0:05:33.840
+you can also use the vim style xjkl to
+
+0:05:32.000,0:05:36.320
+move up or down
+
+0:05:33.840,0:05:37.280
+also meta shift comma or g to the
+
+0:05:36.320,0:05:39.120
+beginning of page
+
+0:05:37.280,0:05:41.199
+when that shift period or capital g to
+
+0:05:39.120,0:05:44.320
+the end of page
+
+0:05:41.199,0:05:46.479
+limiting and surfing keys linear and
+
+0:05:44.320,0:05:48.400
+surfing keys are popular keyboard-based
+
+0:05:46.479,0:05:50.479
+browsing techniques in chrome
+
+0:05:48.400,0:05:52.720
+and they've imported here as well you
+
+0:05:50.479,0:05:53.039
+can press f to toggle markers pointing
+
+0:05:52.720,0:05:55.280
+to
+
+0:05:53.039,0:05:56.960
+all the links in the current page say i
+
+0:05:55.280,0:05:59.680
+want to visit the wiki
+
+0:05:56.960,0:06:02.400
+which comes very very handy when you
+
+0:05:59.680,0:06:04.720
+want to configure ef to your liking
+
+0:06:02.400,0:06:05.440
+so you see the marker on top of wiki is
+
+0:06:04.720,0:06:08.479
+dd
+
+0:06:05.440,0:06:10.240
+press dd and you enter and now
+
+0:06:08.479,0:06:13.680
+you will navigate it to this link so you
+
+0:06:10.240,0:06:13.680
+don't need to use your mouse at all
+
+0:06:13.840,0:06:17.680
+so a full list of key bindings can be
+
+0:06:16.560,0:06:20.560
+found when you
+
+0:06:17.680,0:06:21.199
+control hm just as any other max major
+
+0:06:20.560,0:06:22.960
+mode
+
+0:06:21.199,0:06:25.600
+so you don't have to remember everything
+
+0:06:22.960,0:06:28.560
+all the key bindings i said to you
+
+0:06:25.600,0:06:30.960
+so this is a global binding application
+
+0:06:28.560,0:06:34.319
+to every other ef application as well
+
+0:06:30.960,0:06:36.720
+so you can find it under the week or or
+
+0:06:34.319,0:06:37.600
+you can find it under the wiki in the
+
+0:06:36.720,0:06:40.639
+key binding
+
+0:06:37.600,0:06:44.240
+section so press f again and use
+
+0:06:40.639,0:06:45.600
+ns press enter now you're in the key
+
+0:06:44.240,0:06:47.520
+binding web page
+
+0:06:45.600,0:06:49.280
+you can see all of the key buttons
+
+0:06:47.520,0:06:53.919
+available in every
+
+0:06:49.280,0:06:56.479
+es application and you can try them out
+
+0:06:53.919,0:06:57.360
+and you can customize your key bindings
+
+0:06:56.479,0:07:00.240
+using ef
+
+0:06:57.360,0:07:02.960
+bank key you can customize control n as
+
+0:07:00.240,0:07:05.759
+in the web page to
+
+0:07:02.960,0:07:06.639
+to scroll up in the ef pdf viewer or you
+
+0:07:05.759,0:07:09.599
+can unbind
+
+0:07:06.639,0:07:10.000
+an existing binding using using yet bank
+
+0:07:09.599,0:07:14.800
+key
+
+0:07:10.000,0:07:14.800
+binder to new so it doesn't bind to
+
+0:07:14.840,0:07:20.319
+anything
+
+0:07:16.160,0:07:22.479
+okay so here comes the important part
+
+0:07:20.319,0:07:25.440
+if you want to customize ef you should
+
+0:07:22.479,0:07:28.840
+visit the customization page in the wiki
+
+0:07:25.440,0:07:30.240
+so now i press meta b to go back in
+
+0:07:28.840,0:07:32.960
+history and
+
+0:07:30.240,0:07:34.080
+go to the customization package press f
+
+0:07:32.960,0:07:36.639
+press a d
+
+0:07:34.080,0:07:37.360
+enter and now we're in the customization
+
+0:07:36.639,0:07:39.280
+page
+
+0:07:37.360,0:07:42.400
+so the first customization option you
+
+0:07:39.280,0:07:42.400
+see is dark mode
+
+0:07:42.639,0:07:46.720
+let's say if you want to turn on the doc
+
+0:07:44.479,0:07:48.479
+mode for ef browser
+
+0:07:46.720,0:07:49.919
+and you don't want to use your mouse to
+
+0:07:48.479,0:07:53.360
+do all this stuff
+
+0:07:49.919,0:07:55.840
+you press c and you can select
+
+0:07:53.360,0:07:58.240
+c to toggle the correct browsing you can
+
+0:07:55.840,0:08:01.280
+see a lot of markers available
+
+0:07:58.240,0:08:02.720
+pop um again but they're not they're not
+
+0:08:01.280,0:08:03.599
+on top of links but instead of
+
+0:08:02.720,0:08:05.360
+paragraphs
+
+0:08:03.599,0:08:06.639
+you select the paragraph or your choice
+
+0:08:05.360,0:08:10.240
+in this case you want
+
+0:08:06.639,0:08:12.720
+ls which comes here
+
+0:08:10.240,0:08:15.120
+and then you just you just move the
+
+0:08:12.720,0:08:18.800
+cursor like what you always do
+
+0:08:15.120,0:08:23.280
+in emacs and now you select everything
+
+0:08:18.800,0:08:25.680
+and use meta w to
+
+0:08:23.280,0:08:26.479
+excuse me metadata to copy the taste the
+
+0:08:25.680,0:08:29.199
+text
+
+0:08:26.479,0:08:30.960
+now we made a shift column to evaluate
+
+0:08:29.199,0:08:35.120
+what we just copied
+
+0:08:30.960,0:08:38.320
+and set that to true and
+
+0:08:35.120,0:08:42.159
+press r or f5 to refresh the page
+
+0:08:38.320,0:08:44.880
+voila we have the dark mode enabled
+
+0:08:42.159,0:08:46.160
+so there are well let's take a toggle
+
+0:08:44.880,0:08:49.360
+back off for now
+
+0:08:46.160,0:08:51.600
+now we made our shift column again
+
+0:08:49.360,0:08:53.519
+and we find the the one we just used and
+
+0:08:51.600,0:08:56.880
+change it back to false
+
+0:08:53.519,0:08:59.120
+and refresh the page back in the light
+
+0:08:56.880,0:08:59.120
+mode
+
+0:08:59.360,0:09:03.680
+so there are many other customization
+
+0:09:02.160,0:09:05.920
+options available you can either
+
+0:09:03.680,0:09:08.000
+evaluate like what we just did or add it
+
+0:09:05.920,0:09:11.680
+to your emacs configuration file
+
+0:09:08.000,0:09:14.399
+so in this wiki you can have you can
+
+0:09:11.680,0:09:16.320
+you can make the ef browser to to
+
+0:09:14.399,0:09:20.160
+continue where you left off
+
+0:09:16.320,0:09:22.800
+similar to the chromium setting
+
+0:09:20.160,0:09:23.839
+and you can make yes the default browser
+
+0:09:22.800,0:09:26.720
+emacs by
+
+0:09:23.839,0:09:27.680
+aliasing aliasing browse web to your
+
+0:09:26.720,0:09:30.399
+open browser
+
+0:09:27.680,0:09:31.200
+or or set the browse url browser
+
+0:09:30.399,0:09:33.519
+function to
+
+0:09:31.200,0:09:34.480
+open browser there's just some tricks
+
+0:09:33.519,0:09:37.920
+and there are also
+
+0:09:34.480,0:09:41.680
+uh an experimental app blocker currently
+
+0:09:37.920,0:09:44.720
+take in place and so therefore it can
+
+0:09:41.680,0:09:47.279
+block some elements but not all so
+
+0:09:44.720,0:09:48.240
+we we really encourage people to help us
+
+0:09:47.279,0:09:51.440
+test out and
+
+0:09:48.240,0:09:54.560
+add more conditions in
+
+0:09:51.440,0:09:55.760
+so you can so the ef browser is able to
+
+0:09:54.560,0:09:57.680
+download
+
+0:09:55.760,0:09:59.920
+any files from the internet and it will
+
+0:09:57.680,0:10:04.000
+be downloaded using
+
+0:09:59.920,0:10:06.079
+a area too and
+
+0:10:04.000,0:10:07.200
+you can also customize the ef browser
+
+0:10:06.079,0:10:11.120
+download path
+
+0:10:07.200,0:10:14.399
+using ef set so it's a function that we
+
+0:10:11.120,0:10:15.040
+defined similar to set the normal set we
+
+0:10:14.399,0:10:16.480
+know
+
+0:10:15.040,0:10:18.160
+so by default the download file is
+
+0:10:16.480,0:10:19.600
+stored in your home directory slash
+
+0:10:18.160,0:10:20.800
+downloads
+
+0:10:19.600,0:10:22.720
+and you can change that whenever you
+
+0:10:20.800,0:10:26.079
+want you can also disable
+
+0:10:22.720,0:10:28.959
+saving browsing history so remember
+
+0:10:26.079,0:10:30.480
+when i press when i use mx you have open
+
+0:10:28.959,0:10:32.079
+browser's history i see all the
+
+0:10:30.480,0:10:33.680
+histories here but if you want more
+
+0:10:32.079,0:10:35.360
+privacy you don't want that to be
+
+0:10:33.680,0:10:36.560
+available at all you can turn it off
+
+0:10:35.360,0:10:38.720
+easily with ef
+
+0:10:36.560,0:10:40.640
+set queue and set that remember history
+
+0:10:38.720,0:10:42.399
+to false
+
+0:10:40.640,0:10:43.839
+you can also say your default search
+
+0:10:42.399,0:10:47.200
+engine so
+
+0:10:43.839,0:10:50.480
+so right now we have google although
+
+0:10:47.200,0:10:53.600
+not not really good but google and also
+
+0:10:50.480,0:10:57.360
+go which is a better search engine
+
+0:10:53.600,0:10:59.360
+well uh yeah ethically better search
+
+0:10:57.360,0:11:02.560
+engine
+
+0:10:59.360,0:11:05.040
+so you can also configure
+
+0:11:02.560,0:11:07.600
+the zoom so the default zoom of your
+
+0:11:05.040,0:11:10.000
+browser is 1.0 so you can convert
+
+0:11:07.600,0:11:11.920
+convert 3000 to 1.25 so you can so when
+
+0:11:10.000,0:11:14.079
+you open any web page about it will be
+
+0:11:11.920,0:11:17.360
+zoomed
+
+0:11:14.079,0:11:20.399
+by default uh you can
+
+0:11:17.360,0:11:22.240
+also disable javascript although i
+
+0:11:20.399,0:11:23.440
+personally don't really suggest you to
+
+0:11:22.240,0:11:26.240
+do because it will
+
+0:11:23.440,0:11:28.480
+basically break a lot of our features
+
+0:11:26.240,0:11:29.519
+because a lot of the browser browser
+
+0:11:28.480,0:11:33.600
+related features
+
+0:11:29.519,0:11:33.600
+must be implemented using javascript
+
+0:11:33.760,0:11:37.920
+but yeah you can do it if you really
+
+0:11:35.440,0:11:41.519
+want to and there also some
+
+0:11:37.920,0:11:45.519
+customization on ef camera
+
+0:11:41.519,0:11:45.519
+you can do as well yeah
+
+0:11:47.760,0:11:56.079
+so uh let's move on to efpd viewer
+
+0:11:52.399,0:11:59.440
+so now now let's open
+
+0:11:56.079,0:12:01.519
+the pdf file using af
+
+0:11:59.440,0:12:02.720
+so that's one something already here but
+
+0:12:01.519,0:12:06.079
+let's open it here
+
+0:12:02.720,0:12:08.160
+so yes open and
+
+0:12:06.079,0:12:11.440
+select introduction to programming in
+
+0:12:08.160,0:12:13.760
+e-max list
+
+0:12:11.440,0:12:16.800
+uh i have it already open but it's okay
+
+0:12:13.760,0:12:16.800
+so you have the file
+
+0:12:17.040,0:12:22.800
+you have other files displayed
+
+0:12:20.160,0:12:23.200
+you have all the pages display story yes
+
+0:12:22.800,0:12:27.040
+and
+
+0:12:23.200,0:12:29.279
+there are 273 pages in total but notice
+
+0:12:27.040,0:12:31.440
+like how fast it is to browse
+
+0:12:29.279,0:12:33.519
+all the pages it is blazingly fast
+
+0:12:31.440,0:12:37.040
+that's all thanks to python and
+
+0:12:33.519,0:12:39.839
+mupdf which you don't really get from
+
+0:12:37.040,0:12:39.839
+emacs list
+
+0:12:40.880,0:12:44.079
+so let's say if i want to jump to page
+
+0:12:43.600,0:12:48.320
+50
+
+0:12:44.079,0:12:48.320
+we press p and enter 50.
+
+0:12:48.639,0:12:55.440
+50 and here we are we are at page 50.
+
+0:12:53.279,0:12:58.880
+you can look at the lower right to
+
+0:12:55.440,0:13:02.079
+verify the page you're on
+
+0:12:58.880,0:13:05.120
+and you can you can
+
+0:13:02.079,0:13:07.839
+use i to toggle dark mode
+
+0:13:05.120,0:13:08.240
+as expected and let's say you want to
+
+0:13:07.839,0:13:11.519
+find
+
+0:13:08.240,0:13:15.680
+table of contents so use ctrl s
+
+0:13:11.519,0:13:19.360
+the image default binding for i search
+
+0:13:15.680,0:13:21.680
+and search for a table of contents
+
+0:13:19.360,0:13:23.120
+here we are it is highlighted for you
+
+0:13:21.680,0:13:24.240
+and you can control s for more but
+
+0:13:23.120,0:13:27.200
+there's only one or
+
+0:13:24.240,0:13:28.800
+one match one other one you ctrl g to
+
+0:13:27.200,0:13:30.880
+disable the highlight
+
+0:13:28.800,0:13:32.320
+and you see a lot of options for you to
+
+0:13:30.880,0:13:35.040
+go
+
+0:13:32.320,0:13:36.240
+okay let's say if you want to go to the
+
+0:13:35.040,0:13:39.519
+preface
+
+0:13:36.240,0:13:40.639
+so that is you press f which which is
+
+0:13:39.519,0:13:44.240
+also similar to
+
+0:13:40.639,0:13:47.760
+eef browser you press f for vimeo
+
+0:13:44.240,0:13:50.160
+and you see the marker now change to w
+
+0:13:47.760,0:13:51.279
+press wn and then you can go to the
+
+0:13:50.160,0:13:54.320
+prefix
+
+0:13:51.279,0:13:56.480
+now we'll add a prefix
+
+0:13:54.320,0:13:57.600
+so now you finish reading you want to
+
+0:13:56.480,0:13:59.440
+save your progress
+
+0:13:57.600,0:14:01.199
+no worries it is already saved for you
+
+0:13:59.440,0:14:04.240
+by ef you can safely
+
+0:14:01.199,0:14:07.519
+close the document using x
+
+0:14:04.240,0:14:10.560
+and opening again af
+
+0:14:07.519,0:14:14.000
+open and the file see your i
+
+0:14:10.560,0:14:16.560
+preface again so you're right at where
+
+0:14:14.000,0:14:19.440
+you let up left up
+
+0:14:16.560,0:14:20.480
+you can also use mx org store link or
+
+0:14:19.440,0:14:23.279
+ctrl cl
+
+0:14:20.480,0:14:24.480
+which i prefer to if you want to save a
+
+0:14:23.279,0:14:28.240
+particular page in
+
+0:14:24.480,0:14:30.320
+a orgmo file so now
+
+0:14:28.240,0:14:31.760
+i go back to my presentation now i don't
+
+0:14:30.320,0:14:35.600
+need this anymore
+
+0:14:31.760,0:14:39.120
+uh so you just control c control l
+
+0:14:35.600,0:14:41.040
+or i think mx or insert link
+
+0:14:39.120,0:14:42.399
+so you can find the file right here and
+
+0:14:41.040,0:14:44.320
+you press enter
+
+0:14:42.399,0:14:46.480
+and you press enter for the description
+
+0:14:44.320,0:14:50.720
+again and now it's right here
+
+0:14:46.480,0:14:54.000
+and ctrl c ctrl o to open it voila
+
+0:14:50.720,0:14:57.120
+you're back right so
+
+0:14:54.000,0:14:58.880
+let's now demonstrate the ef video
+
+0:14:57.120,0:15:02.639
+player
+
+0:14:58.880,0:15:03.279
+so mxef open if you use ef open whenever
+
+0:15:02.639,0:15:06.079
+you want to
+
+0:15:03.279,0:15:07.279
+open some file you use yet open browser
+
+0:15:06.079,0:15:09.920
+if you want to use some
+
+0:15:07.279,0:15:11.199
+actual application that's not really
+
+0:15:09.920,0:15:14.800
+related to a file
+
+0:15:11.199,0:15:15.600
+so you have open and select the video
+
+0:15:14.800,0:15:18.320
+you want so
+
+0:15:15.600,0:15:19.040
+video demo so i already have a video
+
+0:15:18.320,0:15:21.839
+demo
+
+0:15:19.040,0:15:22.720
+ready so because i recorded a video of
+
+0:15:21.839,0:15:26.000
+the demo
+
+0:15:22.720,0:15:28.079
+of the ef camera have a look so
+
+0:15:26.000,0:15:29.279
+let's move to the beginning hello people
+
+0:15:28.079,0:15:32.399
+from the future
+
+0:15:29.279,0:15:35.199
+this is a demo of the ef video player
+
+0:15:32.399,0:15:37.440
+that demos the ef camera feature
+
+0:15:35.199,0:15:38.639
+so as you can see on the screen of me
+
+0:15:37.440,0:15:40.959
+inside my camera
+
+0:15:38.639,0:15:42.880
+and the screen is actually with all
+
+0:15:40.959,0:15:46.079
+within emacs
+
+0:15:42.880,0:15:49.839
+right so and you can open this
+
+0:15:46.079,0:15:53.040
+using here open camera
+
+0:15:49.839,0:15:53.600
+and which i'm already into and you can
+
+0:15:53.040,0:15:56.720
+press
+
+0:15:53.600,0:15:59.680
+p to capture a photo
+
+0:15:56.720,0:16:00.880
+so the photo is by default stored at
+
+0:15:59.680,0:16:03.920
+your home slash
+
+0:16:00.880,0:16:04.320
+downloads directory and you can modify
+
+0:16:03.920,0:16:07.839
+it
+
+0:16:04.320,0:16:09.519
+freely so if you go here and you can see
+
+0:16:07.839,0:16:13.759
+the camera stored
+
+0:16:09.519,0:16:16.240
+right here so why what i used here
+
+0:16:13.759,0:16:17.120
+so you press space to pause what i used
+
+0:16:16.240,0:16:20.320
+here is
+
+0:16:17.120,0:16:22.959
+the year so ef open this entire so
+
+0:16:20.320,0:16:23.839
+basically so in direct you you go to you
+
+0:16:22.959,0:16:26.959
+you select
+
+0:16:23.839,0:16:30.320
+the file that should be opened by
+
+0:16:26.959,0:16:32.720
+eaf and i use that so it it detects that
+
+0:16:30.320,0:16:35.839
+it wants to use the ef image viewer so
+
+0:16:32.720,0:16:39.759
+i accidentally tested if image viewer
+
+0:16:35.839,0:16:40.240
+before i noticed so that that that gives
+
+0:16:39.759,0:16:43.680
+the
+
+0:16:40.240,0:16:47.040
+image of the photo i just took
+
+0:16:43.680,0:16:47.360
+using ef camera and as you can see you
+
+0:16:47.040,0:16:50.720
+can
+
+0:16:47.360,0:16:51.600
+i can use hl the bim button to navigate
+
+0:16:50.720,0:16:55.920
+in the time
+
+0:16:51.600,0:17:00.880
+timestamp in the video and i can use
+
+0:16:55.920,0:17:00.880
+jk to to change the volumes of the video
+
+0:17:02.320,0:17:06.160
+alright so now you've seen all the basic
+
+0:17:05.520,0:17:08.720
+usages
+
+0:17:06.160,0:17:11.600
+of the ef project it comes the question
+
+0:17:08.720,0:17:14.559
+of what is the magic behind it
+
+0:17:11.600,0:17:15.919
+all right let's open the hacking page in
+
+0:17:14.559,0:17:20.400
+the wiki
+
+0:17:15.919,0:17:24.799
+the design is laid out in a diagram here
+
+0:17:20.400,0:17:24.799
+so and let's put it
+
+0:17:25.120,0:17:28.160
+side by side along with my text so you
+
+0:17:27.839,0:17:32.320
+can
+
+0:17:28.160,0:17:36.080
+go we can follow through
+
+0:17:32.320,0:17:39.440
+right okay let me
+
+0:17:36.080,0:17:39.440
+sorry let me drink some water
+
+0:17:42.320,0:17:48.160
+so this page in the wiki went into a lot
+
+0:17:46.000,0:17:49.520
+of detail
+
+0:17:48.160,0:17:51.679
+due to the time constraint i will just
+
+0:17:49.520,0:17:53.520
+rephrase some of the ideas here so for
+
+0:17:51.679,0:17:55.600
+anyone interested please have a look at
+
+0:17:53.520,0:17:58.160
+the wiki yourself
+
+0:17:55.600,0:17:58.720
+the easiest way to think about eaf is
+
+0:17:58.160,0:18:01.679
+that
+
+0:17:58.720,0:18:02.960
+the actual gui application is started in
+
+0:18:01.679,0:18:04.960
+the background
+
+0:18:02.960,0:18:07.120
+then the frame of the application is
+
+0:18:04.960,0:18:07.679
+attached to the appropriate location on
+
+0:18:07.120,0:18:10.720
+the
+
+0:18:07.679,0:18:13.440
+emacs window so
+
+0:18:10.720,0:18:14.960
+you have linked qt5 with emacs using
+
+0:18:13.440,0:18:17.120
+list and python
+
+0:18:14.960,0:18:18.640
+of the python site which is colored
+
+0:18:17.120,0:18:20.559
+yellow in the image
+
+0:18:18.640,0:18:22.960
+you have two graphics view and queue
+
+0:18:20.559,0:18:25.039
+graphics scene objects
+
+0:18:22.960,0:18:26.640
+these are used to simulate the e-max
+
+0:18:25.039,0:18:28.640
+window buffer design
+
+0:18:26.640,0:18:29.840
+where q graphics scene is similar to
+
+0:18:28.640,0:18:31.840
+buffers in emacs
+
+0:18:29.840,0:18:34.240
+it controls the state and the content
+
+0:18:31.840,0:18:38.880
+details of the application
+
+0:18:34.240,0:18:38.880
+well q graphics view is similar to
+
+0:18:39.039,0:18:43.200
+geographic view is similar to imax
+
+0:18:41.200,0:18:45.919
+window it populates the buffer
+
+0:18:43.200,0:18:46.960
+to graphics scene to the full program at
+
+0:18:45.919,0:18:50.320
+the appropriate
+
+0:18:46.960,0:18:57.679
+position whenever an ef mode buffer
+
+0:18:50.320,0:18:59.679
+brings to a background
+
+0:18:57.679,0:19:00.880
+whenever an ef mode buffer brings to the
+
+0:18:59.679,0:19:02.559
+foreground sorry
+
+0:19:00.880,0:19:05.120
+a queue graphics view instance is
+
+0:19:02.559,0:19:06.080
+created and whenever the buffer goes to
+
+0:19:05.120,0:19:08.000
+the background
+
+0:19:06.080,0:19:09.120
+the q graphics view instance is then
+
+0:19:08.000,0:19:10.960
+deleted
+
+0:19:09.120,0:19:12.480
+while q graphics scene the actual
+
+0:19:10.960,0:19:14.480
+process remains running in the
+
+0:19:12.480,0:19:16.000
+background until the ef mode buffer is
+
+0:19:14.480,0:19:18.320
+killed
+
+0:19:16.000,0:19:19.440
+gpa compositing is used to ensure that q
+
+0:19:18.320,0:19:21.840
+graphics view and
+
+0:19:19.440,0:19:24.000
+graphics sync is synchronized real time
+
+0:19:21.840,0:19:25.679
+using q windows set parent function
+
+0:19:24.000,0:19:27.840
+the queue graphics view is attached to
+
+0:19:25.679,0:19:30.640
+appropriate location on the e-max frame
+
+0:19:27.840,0:19:32.400
+so that although great applications are
+
+0:19:30.640,0:19:35.760
+not running within e-max
+
+0:19:32.400,0:19:35.760
+they look as if they were
+
+0:19:36.160,0:19:41.039
+so when user types on the keyboard it is
+
+0:19:39.039,0:19:43.520
+first received by the emacs ef
+
+0:19:41.039,0:19:45.360
+ef mode buffer and then it lifts sends
+
+0:19:43.520,0:19:46.240
+the event to google graphics sync using
+
+0:19:45.360,0:19:48.720
+dbus
+
+0:19:46.240,0:19:50.400
+when user clicks on the gui application
+
+0:19:48.720,0:19:50.799
+it is received by the queue graphics
+
+0:19:50.400,0:19:53.280
+view
+
+0:19:50.799,0:19:55.200
+and process in python ellipse can
+
+0:19:53.280,0:19:59.200
+communicate with python through dbus
+
+0:19:55.200,0:20:01.360
+in other words in other words you can
+
+0:19:59.200,0:20:01.760
+customize and extend emacs not just
+
+0:20:01.360,0:20:04.480
+using
+
+0:20:01.760,0:20:05.360
+lisp and now you can use python this way
+
+0:20:04.480,0:20:07.039
+one can leverage
+
+0:20:05.360,0:20:09.600
+all the python properties like
+
+0:20:07.039,0:20:11.679
+multi-threading or some other stuff
+
+0:20:09.600,0:20:13.520
+the entire python ecosystem can be
+
+0:20:11.679,0:20:16.159
+utilized as well
+
+0:20:13.520,0:20:16.960
+such as the qt web engine that is the
+
+0:20:16.159,0:20:20.640
+basis for
+
+0:20:16.960,0:20:23.360
+our eef browser and pi mu pdf is the
+
+0:20:20.640,0:20:25.840
+basis for the ef pdf viewer
+
+0:20:23.360,0:20:28.240
+so this really opens the window to many
+
+0:20:25.840,0:20:31.120
+many new possibilities to extend emacs
+
+0:20:28.240,0:20:31.120
+using eaf
+
+0:20:32.720,0:20:37.760
+all right back here we are always
+
+0:20:36.080,0:20:39.679
+looking for people to join the
+
+0:20:37.760,0:20:42.720
+development there are many many
+
+0:20:39.679,0:20:44.640
+more work that needs to be done like
+
+0:20:42.720,0:20:46.640
+such as testing and debug if there are
+
+0:20:44.640,0:20:47.760
+more linux distros and window managers
+
+0:20:46.640,0:20:51.200
+such as i3
+
+0:20:47.760,0:20:52.080
+and stuff i mean you can also add new ef
+
+0:20:51.200,0:20:54.240
+applications
+
+0:20:52.080,0:20:55.440
+or debug and enhance existing af
+
+0:20:54.240,0:20:58.000
+applications
+
+0:20:55.440,0:21:00.240
+or you can port ef to native wayland
+
+0:20:58.000,0:21:03.840
+which i just discussed with the
+
+0:21:00.240,0:21:07.919
+the ems whip kit author uh a kill
+
+0:21:03.840,0:21:10.159
+akira tile and she he told me that like
+
+0:21:07.919,0:21:11.200
+really like it must really yeah it
+
+0:21:10.159,0:21:14.320
+doesn't really work
+
+0:21:11.200,0:21:16.799
+um native villain because it uses
+
+0:21:14.320,0:21:18.159
+x valence so it doesn't work on the pgdk
+
+0:21:16.799,0:21:20.559
+port of emacs
+
+0:21:18.159,0:21:22.080
+so and we also need people to pour ef to
+
+0:21:20.559,0:21:25.600
+non-free operating systems
+
+0:21:22.080,0:21:28.480
+including windows and mac os
+
+0:21:25.600,0:21:30.080
+and that's because like debug is a linux
+
+0:21:28.480,0:21:31.360
+specific feature so it doesn't really
+
+0:21:30.080,0:21:33.039
+work on other platform
+
+0:21:31.360,0:21:34.640
+we need to change replace it with some
+
+0:21:33.039,0:21:36.720
+alternative and
+
+0:21:34.640,0:21:38.640
+geographic scene somehow doesn't really
+
+0:21:36.720,0:21:40.320
+work on mac os
+
+0:21:38.640,0:21:42.880
+and there are many other to-do lists
+
+0:21:40.320,0:21:45.039
+available so please have a look
+
+0:21:42.880,0:21:46.640
+if and see it's anything you want to
+
+0:21:45.039,0:21:49.039
+work on
+
+0:21:46.640,0:21:51.120
+all right so since this is a
+
+0:21:49.039,0:21:53.520
+pre-recorded talk i won't be able to do
+
+0:21:51.120,0:21:56.080
+the q a real time in the video
+
+0:21:53.520,0:21:57.200
+however i will be around on the
+
+0:21:56.080,0:22:00.559
+collaborate pad
+
+0:21:57.200,0:22:01.360
+and the irc imax con you must come
+
+0:22:00.559,0:22:04.240
+questions
+
+0:22:01.360,0:22:05.760
+to answer any questions it pops up and
+
+0:22:04.240,0:22:09.120
+you can also submit an issue
+
+0:22:05.760,0:22:12.640
+on the repo and you can check the wiki
+
+0:22:09.120,0:22:15.039
+for some other guides and tricks
+
+0:22:12.640,0:22:16.000
+all right thank you guys and hopefully
+
+0:22:15.039,0:22:18.320
+you find the
+
+0:22:16.000,0:22:24.320
+this year project very interesting and
+
+0:22:18.320,0:22:24.320
+enjoy the rest of emacs com 2020
+