mirror of
https://github.com/osnr/TabFS.git
synced 2024-04-26 11:20:30 +02:00
md updates
This commit is contained in:
parent
1f9d5de4da
commit
dcce4221a2
48
tabfs.md
48
tabfs.md
|
@ -39,8 +39,8 @@ Firefox, on macOS and Linux.[^otherbrowsers]
|
|||
Each of your open tabs is mapped to a folder.
|
||||
|
||||
<div class="figure">
|
||||
<img src="doc/00-browser.png" style="width: 70%">
|
||||
<img src="doc/00-finder.png" style="width: 80%; max-height: 1000px">
|
||||
<a href="doc/00-browser.png"><img src="doc/00-browser.png" style="width: 70%"></a>
|
||||
<a href="doc/00-finder.png"><img src="doc/00-finder.png" style="width: 80%; max-height: 1000px"></a>
|
||||
<p class="caption" style="margin-top: -20px">I have 3 tabs open, and
|
||||
they map to 3 folders in TabFS</p>
|
||||
</div>
|
||||
|
@ -166,6 +166,20 @@ $ echo 'document.body.style.background = "green"' > mnt/tabs/last-focused/execut
|
|||
$ echo 'alert("hi!")' > mnt/tabs/last-focused/execute-script
|
||||
```
|
||||
|
||||
### Get images / scripts / etc on page
|
||||
|
||||
(TODO: [document better](https://github.com/osnr/TabFS/issues/5), put in screenshots)
|
||||
|
||||
The [`debugger/`
|
||||
subdirectory](https://github.com/osnr/TabFS/blob/fef9289e3a7f82cda6319d5f19d5a5f13f3cc44b/extension/background.js#L355)
|
||||
in each tab folder has synthetic files that let you access loaded
|
||||
resources (in `debugger/resources/`) and scripts (in
|
||||
`debugger/scripts/`). (this is experimental)
|
||||
|
||||
### Retrieve what's playing on YouTube Music: [youtube-music-tabfs](https://github.com/junhoyeo/youtube-music-tabfs)
|
||||
|
||||
[thanks](https://www.reddit.com/r/programming/comments/kok4dw/tabfs_mount_your_browser_tabs_as_a_filesystem/ghtbgw1/) to [Junho Yeo](https://github.com/junhoyeo)!
|
||||
|
||||
### Reload an extension when you edit its source code
|
||||
|
||||
Suppose you're working on a Chrome extension (apart from this
|
||||
|
@ -314,7 +328,9 @@ Choose manifest.json in the extension subfolder of this repo.
|
|||
|
||||
First, make sure you have FUSE and FUSE headers. On Linux, for example,
|
||||
`sudo apt install libfuse-dev` or equivalent. On macOS, get [FUSE for
|
||||
macOS](https://osxfuse.github.io/).
|
||||
macOS](https://osxfuse.github.io/). (on macOS, also check [this
|
||||
bug](https://github.com/osnr/TabFS/issues/11) -- TODO work out the
|
||||
best path to explain here.)
|
||||
|
||||
Then compile the C filesystem:
|
||||
|
||||
|
@ -363,7 +379,7 @@ in the extension's entry in the Chrome extensions page; in Firefox,
|
|||
click "Inspect")
|
||||
|
||||
<div class="figure">
|
||||
<img style="max-width: 90%; max-height: 1000px" src="doc/inspector.png">
|
||||
<a href="doc/inspector.png"><img style="max-width: 90%; max-height: 1000px" src="doc/inspector.png"></a>
|
||||
</div>
|
||||
|
||||
This console is also incredibly helpful for debugging anything that
|
||||
|
@ -443,9 +459,12 @@ GPLv3
|
|||
|
||||
## things that could/should be done
|
||||
|
||||
- add more synthetic files!! view DOM nodes, snapshot current HTML of
|
||||
page, spelunk into living objects. see what your code is doing. make
|
||||
more files writable also
|
||||
(maybe you can do these?)
|
||||
|
||||
- [add more synthetic files!! (it's just
|
||||
JavaScript)](https://twitter.com/rsnous/status/1345113873792126976)
|
||||
view DOM nodes, snapshot current HTML of page, spelunk into living
|
||||
objects. see what your code is doing. make more files writable also
|
||||
|
||||
- build more (GUI and CLI) tools on top, on both sides
|
||||
|
||||
|
@ -514,8 +533,8 @@ inside of the browser. 'browser tabs as files'
|
|||
Unix, and Unix is by far the more accessible and programmable and
|
||||
cohesive as a computing environment (it has concepts that compose!
|
||||
shell, processes, files), even though it's arguably the less important
|
||||
to my daily life. how can the browser take on more of the properties
|
||||
of Unix?
|
||||
to my daily life. [how can the browser take on more of the properties
|
||||
of Unix?](https://twitter.com/jcreed/status/1344982366243213312)
|
||||
|
||||
- it's [way too
|
||||
hard](https://twitter.com/rsnous/status/1342236988938719232) to make a
|
||||
|
@ -524,6 +543,11 @@ suggests making an extension is a whole Thing, a whole Project. like,
|
|||
why can't I just take a minute to ask my browser a question or tell it
|
||||
to automate something? lightness
|
||||
|
||||
- ["files are a sort of approachable 'bridge' that everyone knows how
|
||||
to interact with" / files are like one of the first things you learn
|
||||
if you know any programming language / "because of this fs thing any
|
||||
beginner coding thing can make use of it now"](https://twitter.com/rsnous/status/1345490658836926464)
|
||||
|
||||
- a lot of existing uses of these browser control APIs are in an
|
||||
automation context: testing your code on a robotic browser as part
|
||||
of some pipeline. I'm much more interested in an interactive,
|
||||
|
@ -596,9 +620,9 @@ files
|
|||
|
||||
- my [fake filesystems talk](https://www.youtube.com/watch?v=pfHpDDXJQVg)
|
||||
|
||||
- <https://luciopaiva.com/witchcraft/> it has the right idea for
|
||||
how to set up userscripts. just make files -- don't make [your
|
||||
own weird UI to add and remove
|
||||
- [Witchcraft](https://luciopaiva.com/witchcraft/) has the right
|
||||
idea for how to set up userscripts. just make files -- don't
|
||||
make [your own weird UI to add and remove
|
||||
them](https://twitter.com/rsnous/status/1196536798312140800). (I
|
||||
guess there is a political or audience
|
||||
[tradeoff](https://twitter.com/rsnous/status/1290031845363466242)
|
||||
|
|
Loading…
Reference in a new issue