[[!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>

[[!template id="help" 
summary="main talk does not have captions" 
tags="help_with_main_captions" 
message="""This talk does not have captions yet.
Would you like to help [caption this talk](/captioning)? 
You may be able to start with these [autogenerated captions](/2023/captions/emacsconf-2023-poltys--the-browser-in-a-buffer--michael-bauer--original.vtt)."""]]

[[!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"]]