1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
[[!meta title="The browser in a buffer"]]
[[!meta copyright="Copyright © 2023 Michael Bauer"]]
[[!inline pages="internal(2023/info/poltys-nav)" raw="yes"]]
<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->
# The browser in a buffer
Michael Bauer (he/him) - Pronunciation: [ˈmɪçaːʔeːl] [ˈbaʊ̯ɐ], IRC: permcu, <http://perma-curious.eu>, <mailto:perma-curious@posteo.de>
[[!inline pages="internal(2023/info/poltys-before)" raw="yes"]]
In this talk I am going to show a thing I made to integrate my second
most used program with my first most used one.
Poltys - a periodic orb weaver - is an interactive interface to the
current browser session that lives inside an Emacs buffer. It forms a
[narrow
waist](https://www.oilshell.org/blog/2022/03/backlog-arch.html) between the browser & Emacs; bringing Emacs text editing
to tab management. This makes it one more thing ready to be used in
your favorite Emacs workflow.
During the talk I will explain what poltys does, how it can be used in
different workflows and how it is made. The first half of the talk is
show and tell, while the second half goes into the technical details.
This talk is for you if you like neat text interfaces,
already live mostly inside Emacs,
or just want to have a look at what Emacs - the universal shell - is
among many other things capable of.
About the speaker:
Michael Bauer is from Germany. He does most of his computing from
inside Emacs and works currently on an evolved lisp dialect.
# Discussion
## Questions and answers
- Q: Have you seen the Nyxt browser. It is the Emacs of Web browsers
and would probably be easier to work with as it matches a lot closer
to Emacs. I think you can tag browser tabs for example.
- A: Yes, but the author did not look into it yet. It could
probably be made to work as well.
- Q:Nice ideas. Needs a better name though to attract people to it.
What about browsys or webnote?
- A: Ideas for better naming are appreciated, but the suggestions
did not convince the author.
- Q: Can you use browser extensions with this, example ublock
sponserblock darkreader These are needed for browsing others peoples
web sites
- A: The presented software is a browser extension (plus elisp
code to interact with it), so it works in addition to other
already installed browser extensions.
- Q: Are there any inherent security issues with this (bi-directional
synchronization sounds like a possible issue) ? How are they solved?
Can a malicious website impact Emacs or the host system?
- A: The overall surface is limited, so there should be little a
website can do. One thing that helped with this is the web
extensions API being fine-grained in terms of things that can be
done with the browser.
- Q:When do you think you'll make a first release? I hate needing
browser extensions and would love to control my tabs in Emacs.
- A: The code is there, may be, in the next week, the presenter
would upload the code out there.
- I am not the presenter, but you can configure emacs to open
windows instead of tabs and control them with EXWMNeed
cross-window system support (GNU/Linux, MacOS and Windows).
- Q: What happened to the Sway compositor you showed last year? I am
an EXWM user and need a Sway equivalent!!! Please !!! Is the code
available?
- A: <http://perma-curious.eu/repo-ewx/>
- Q: Does the browser have to be firefox for syncing or is there a
choice there?
- A: It should be possible to use this with other browsers due to
the web extensions API working for both Chromium and Firefox,
but it needs testing and Chromium may switch to an incompatible
API in the future.
## Notes
- It is too small, please zoom up *4, for all the impaired, or normal
good old user of emacs...
- The highlighting copying could be done with xclip or wl-clipboard if
you don't mind a dependency outside Emacs.
[[!inline pages="internal(2023/info/poltys-after)" raw="yes"]]
[[!inline pages="internal(2023/info/poltys-nav)" raw="yes"]]
|