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