[HN Gopher] TabFS: Mount your Browser Tabs as a Filesystem
___________________________________________________________________
TabFS: Mount your Browser Tabs as a Filesystem
Author : thesephist
Score : 999 points
Date : 2021-01-01 02:48 UTC (20 hours ago)
(HTM) web link (omar.website)
(TXT) w3m dump (omar.website)
| cocktailpeanuts wrote:
| This is a brilliant piece of work. As someone who has thousands
| of tabs open, I've always wanted to "close all tabs with a single
| command", or view all the open tabs and mass select them and
| close, for years. Otherwise, going through them one by one and
| deleting takes forever. Now somebody make a vim pluggin so I can
| delete tabs by visual selecting a bunch of them and typing "d".
| npongratz wrote:
| With vim's netrw plugin [0], I'm able to do this:
| $ cd ~/tmp/foo $ touch a b c d e $ vim .
|
| Then select the file(s) you wish to delete, press D (must be
| capital "D"), confirm the deletion, and Bob's your uncle.
|
| [0] https://www.vim.org/scripts/script.php?script_id=1075
| yudlejoza wrote:
| 1 - Right-click empty space next to the tabs and select
| 'Bookmark all tabs'
|
| 2 - Name the bookmark folder (within the top-level bookmark
| folder) something like: 'Tab-mess-from-<date-time>'
|
| 3 - Ctrl-F4 close them. Press and hold Ctrl, then F4 them one
| at a time. You can close 200+ tabs in a minute. (or as other
| suggested, right-click any tab and use the option 'close other
| tabs').
| mulmen wrote:
| I open a new window for each "task" and open tabs in that
| window, if it is non trivial I also move that window to a new
| Desktop/Space. When I want to shelve a task I bookmark all
| the tabs in that window into a dedicated folder then close
| the whole window and the desktop.
| catchmeifyoucan wrote:
| you should try amna, which basically automates that
| process. You make a task, it gives you a chrome window for
| the task and syncs your work. You can then close the
| browser, and the data is saved.
|
| http://getamna.com
| frombody wrote:
| There is a browser extension called onetab that does this for
| you.
|
| The issue i find is that even if you create the perfect
| system, you still rarely m go back and revisit these tabs
| kept open.
| catchmeifyoucan wrote:
| Try amna - https://getamna.com.
|
| It can make this a little better by storing the tabs as
| part of a task. Soo you can get back to them as part of a
| context rather than just a link.
| rohan1024 wrote:
| > Ctrl-F4 close them. Press and hold Ctrl, then F4 them one
| at a time.
|
| Ctrl-F4 shuts down entire browser, Ctrl-W closes each tab
| with a press of w. This is behavior in Ubuntu and it holds
| true for most application windows.
| _flux wrote:
| Alt-F4 closes the entire browser, and indeed Ctrl-F4 closes
| the current tab. (Just tried it out, I've always used
| Ctrl-W for that.)
| rohan1024 wrote:
| My bad now I tried the Ctrl+F4 and yes it works exactly
| the way OP said. I assumed he was talking about Alt+F4 :)
| _flux wrote:
| I've used this extension for doing mass closes:
| https://addons.mozilla.org/en-US/firefox/addon/sorted-tabs/
|
| As a bonus you can arrange URLs by name, url, or time next to
| each other, so it's usually fast to churn through related or
| duplicate tabs.
| Shared404 wrote:
| This does seem like a brilliant idea, doesn't it. I'm thinking
| about how difficult it would be to setup something like 'surf'
| but using chromium/firefox, and then driving it completely off
| the CLI. It honestly sounds like my dream browser.
| frob wrote:
| You can kinda do that with the vimium plugin. Select a bunch of
| tabs and press "x", but it doesn't support visual selection of
| tabs.
| db48x wrote:
| If you just want to close all tabs then in Firefox right click
| a tab and select "Close Other Tabs". Also, you can control-
| click on tabs to apply commands the the whole set, such as
| closing them, sending them to your phone, etc.
| drran wrote:
| In Firefox, you can click at tab bar and select "Select all
| tabs", then bookmark them all, then close them all.
|
| Also, "Auto discard tab" plugin does a good job by keeping
| unused tabs closed, to save resources.
| db48x wrote:
| I'm not sure an addon is necessary for that. Firefox
| automatically unloads any tab that hasn't been used in a
| while.
| polm23 wrote:
| Onetab is great for dealing with that.
|
| https://www.one-tab.com/
| m463 wrote:
| I keep a few tabs open, and close the browser regularly.
|
| A friend of mine keeps basically infinity tabs open. I sort of
| rolled my eyes, but accepted his rare behavior.
|
| However as time has gone on, I've been surprised to find I may
| have the rare behavior and it is common for people to work this
| way.
|
| So.. maybe this is a way he can backup his "filesystem" and not
| suffer a nervous breakdown when his machine reboots or some
| othe browser failure where he loses his world.
| kapilkaisare wrote:
| Is having several tabs open in a browser rare? My social
| circle - which comprises mostly software engineers,
| admittedly - sees browsers with 30+ tabs open as normal.
| coliveira wrote:
| I can have as much as 100 tabs open, depending on what I'm
| doing.
| weaksauce wrote:
| I am like your friend... basically tabs are a "working
| memory" that you don't want to store permanently in
| bookmarks. each window or sets of windows is typically a
| different topic that is being research on with a bunch of
| middle clicks to open tabs. I have so many open that I wrote
| a small webext for it that shows a page of all your tabs that
| you can click on to navigate to that tab with a click. just a
| nicer interface to see all the windows open and all the tabs.
| https://github.com/fiveNinePlusR/tabist
| Havelock wrote:
| I have the same problem. I'm currently testing out the new
| tabmanager.io extension that seems to have a lot of potential.
| tobestobestobes wrote:
| It's a huge leap forward in browser management. Not exactly a
| replacement for headless browsing/scraping etc, but for
| personal use, nothing compares. A big contribution to the
| "personal data management" toolbox.
|
| In the realm of tab management, I use this one liner in console
| of chrome://inspect every once in a while, then just close all
| of my tabs: collection = document.getElementByI
| d("pages").getElementsByClassName("subrow"); final_output_tsv =
| "title\turl\n"; for (let item of collection) {final_output_tsv
| += `${item.children[0].innerHTML}\t${item.children[1] ?
| item.children[1].innerHTML : "N/A"}\n`}; copy(final_output_tsv)
|
| Substitute "devices" for "pages" to get android chrome tabs
|
| This way I can backup all my tabs in simple, non-bookmark
| format and search them using python etc.
| [deleted]
| eitland wrote:
| > I've always wanted to "close all tabs with a single command",
| or view all the open tabs and mass select them and close, for
| years.
|
| In Firefox you can right-click on a tab and close
|
| - all tabs
|
| - or all tabs to the right
|
| If you use tree style tabs you can also close a tree or a
| subtree.
|
| Edit: and there is an extension (yep :) to the tree style tab
| extension to allow you to export a subtree as a nested list of
| links - in Markdown!
| franga2000 wrote:
| Since recently, you can also ctrl- and shift-select them and
| either move or close just those tabs. Sounded like a gimmick
| when I first saw it, but it has proven to be a huge time
| saver when I neeed to split a window in two because my
| browsing session has expanded far beyond the original scope
| or kill a bunch of tabs in the middle somewhere because a
| thread of searching has proven fruitless.
| nine_k wrote:
| In Firefox, you can install the Tree-Style Tabs extension,
| and have a reasonable tree of tabs. It does resemble a
| filesystem tree a bit.
|
| I think it's the most important extension for people who do
| heavy browsing, research things online, etc.
| rasz wrote:
| >thousands of tabs open
|
| yeah about that, are you sure they are open and not hibernated?
| Chrome had proactive-tab-freeze-and-discard , later renamed to
| proactive-tab-freeze and finally forced On in 80 with no option
| of turning it off. 'hibernated' tabs are merely a bookmark
| without loaded content. I dont think this extension would be
| able to work with non loaded tabs without forcing them all to
| load. 300 tabs is able to easily eat 16GB of ram, Im scared to
| think what would happen with 1000 tabs loaded in Chrome.
|
| I remember good old Opera 12.x where you could sit on 200
| actually loaded and active tabs and RAM usage was somewhere
| around 2GB.
| saurik wrote:
| Somehow, Chrome doesn't seem to actually do this despite
| claims to, which is why I use The Great Suspender (a Chrome
| extension that _actually_ hibernates tabs).
| superkuh wrote:
| Using single process Firefox forks I often load in 500 tabs
| plus another 500+ suspended in under 4 GB. Of course I'm also
| running NoScript temp whitelist only and most sites are
| websites not web applications. But 1000 loaded tabs is
| certainly doable in way less than 16GB of ram if you don't
| use a multi-process browser. It's just a shame this is
| written as a chrome style extension (which modern FF
| supports) and not a firefox extension.
| mcdevilkiller wrote:
| You can use auto tab discard. I've done 1500 tabs on an 8GB
| windows machine.
| eitland wrote:
| Which fork do you use?
|
| I'm starting to get seriously tempted to go with one of the
| forks. I seriously miss the old extensions.
| axbytg wrote:
| > As someone who has thousands of tabs open
|
| This behavior always confuses me. To what end? Have you ever
| derived any value from a tab you chose not to close?
| blackrock wrote:
| I open a new window to research a specific topic. Then I open
| up all the links on sub tabs.
|
| This encloses all my research for this subject in one window.
| Often times I have upwards of 10+ windows opened. Since some
| of the work spans over several days or weeks.
|
| I also take screenshots of relevant information. Which gets
| automatically labeled by date and time into a screenshot
| folder, and sub-sorted into months.
| noisy_boy wrote:
| This is exactly how I "partition" my work; makes closing
| logically related tabs super simple too - just close the
| window related to the "topic".
| tveyben wrote:
| This is where I miss to be able to name each group-of-tabs
| (the window) with a name so I can manage (eg when alt-
| tab'ing) quickly.
|
| So window 'topic-1' have 10 tabs relating to 'topic-1' and
| the property 'topic-1' is visible in my WM.
|
| Is this possible (I have not -yet - searched 'enough' for
| this functionality...)?
| catchmeifyoucan wrote:
| Try Amna. https://getamna.com.
|
| You can do this per chrome window and bubble the tasks up
| to a task.
| noisy_boy wrote:
| I use Window Titler[0] for this because I use the same
| workflow of opening a new window for each "topic".
|
| [0]: https://addons.mozilla.org/en-
| US/firefox/addon/window-titler...
| Firerouge wrote:
| Chrome only preserves browsing history for 90 days. Keeping
| tabs open can work around that limitation
| samb1729 wrote:
| Without even bothering to check, this seems like it can't
| possibly be true. You are surely not saying that the
| billions of Chrome users worldwide have no browsing history
| from September or earlier, right?
| ossopite wrote:
| That's absolutely right, at least in terms of the Chrome
| browser history. I always found this limitation
| astounding.
|
| I use the History Trends Unlimited extension to work
| around this
| (https://chrome.google.com/webstore/detail/history-
| trends-unl...)
|
| With 5 years of history the stats page is a bit slow to
| load but the search feature works great and it can export
| to CSV
| brw wrote:
| "Your History page shows the webpages you've visited on
| Chrome in the last 90 days."[0]
|
| Google's My Activity[1] stores everything though.
|
| [0] https://support.google.com/chrome/answer/95589
|
| [1] https://myactivity.google.com/myactivity
| saurik wrote:
| Damn, that's ridiculously evil... why the hell am I only
| able to get basic functionality through a cloud service?!
| imtringued wrote:
| I derive close to zero value from bookmarks. The only value
| they provide is that they appear in the address bar during
| searches. They are organized in a linear fashion, they
| require constant maintenance and they are also not
| immediately accessible often requiring you to open a separate
| window. Worst of all even if you choose to do something as
| stupid as manage bookmarks you will now have to have to
| manage both tabs and bookmarks at the same time.
|
| Tabs? They are easy to organize, easily accessible because
| they are always visible and they are powerful enough to
| completely remove the need for bookmarks which makes using
| bookmarks always inferior because of the downsides of
| bookmarks.
|
| Now lets get to the actual point:
|
| >Have you ever derived any value from a tab you chose not to
| close?
|
| I close tabs that I don't need eventually, bookmarks just
| keep accumulating because there is an easy method to add
| them, but actually finding or deleting bookmarks is a lot of
| effort.
| [deleted]
| opan wrote:
| It helps if you use tags more than folders for bookmarks,
| that way you can have a page marked as "dogs, computers",
| another as "dogs, pizza" and then filter to dogs to see
| both. It also helps (in firefox) if you know the special
| symbols you can put in the address bar for filtering. * for
| normal bookmarks, I think + for tags, and % works for open
| tabs. Follow them with a space and your keyword.
|
| I've been using qutebrowser mainly for a couple months now,
| and I find the way bookmarks and quickmarks fit into the
| standard open or open in new tab dialogue feels very
| powerful. I often am just hitting O to open in new tab,
| typing a few characters, and picking a result from
| bookmarks or history. Searching and going to a URL happens
| there too. I try to use either descriptive names like
| "guix-bug-issue" for quickmarks so they show up when I type
| any of those bits (bug and issue intentionally redundant so
| if I think to search either, it comes up), or I use very
| shorts strings like "lfm" for my last.fm profile. In the
| case of these shorter ones, you get the added advantage of
| being able to go there without looking. If you type an
| exact quickmark name in the box and hit enter, it goes
| straight there, you don't have to wait and look over the
| suggestions in the box.
| mrmonkeyman wrote:
| It's their planning and todo solution. I'd bookmark things
| and make notes in an actual agenda but to each his own I
| guess.
| eitland wrote:
| > Have you ever derived any value from a tab you chose not to
| close?
|
| Not GP but of course!
|
| Why would we close something we are going back to?
| wutbrodo wrote:
| Hm, I'm kind of confused by your perspective here. Do you
| only have a single thread of tasks you're doing at any given
| time on your machine, all of whose resources are torn down
| and rebuilt from scratch when needed? I use my current laptop
| both for work and personally, and in my personal workspaces
| alone, I have at least half a dozen browser windows with ~20
| tabs representing research that I'm doing or a task that I'm
| organizing; everything from gift-buying to medical devices
| for a family issue to building a new workout routine for the
| pandemic. You can rack up tons of relevant tabs pretty
| quickly in these scenarios, and there's really no advantage
| to closing them in any well-managed environment (ie one that
| has non-rudimentary window management and a browser/extension
| that handles idle tabs with negligible ongoing resource use).
|
| I probably have hundreds of "productive" tabs open, and
| that's before even getting to tabs that are serving as an "L1
| cache" version of a read-it-later service. And all of this
| comes with extremely quick clean-up; once I buy the
| gift/finalize the routine/purchase the item, it's trivial to
| close the entire window for that task.
| masa331 wrote:
| Having hundreds or thousands open tabs also confuses me and
| always seems like a mess to me.
|
| The way i work: I mostly work on a one thing at a time. For
| that i can have probably at max 40 tabs open. Once it gets
| past some threshold(i don't recognize or remember what's in
| them) i tend to start to close the obsolete ones. If there
| is something i find useful i bookmark it. If there is
| something i think i would like to read in future i also
| bookmark it. Once the work is done i close all the tabs. In
| general i like my tabs closed, it brings peace to my mind.
| samb1729 wrote:
| > it brings peace to my mind.
|
| Mine too.
|
| My thoughts on this kind of thing aren't in any way
| backed by studies or research (I know some folks are
| sticklers for that sort of thing), but they essentially
| boil down to reflecting on human history.
|
| The ability to store a huge amount of information and
| near-instantly recall it with these computery things we
| all love is an _incredibly_ new development that I don 't
| really consider compatible with my brain. If the brain is
| a somewhat general purpose computer that's been really
| slowly optimised by evolution, the alternative approach
| to ours is akin to* scheduling hundreds of threads on a
| small number of hardware threads. Doable? Sure. Ideal?
| Doesn't feel like it to me.
|
| I've tried allowing myself to just continuously spawn
| tabs and it makes me uncomfortable much like it does to
| see a Windows desktop used as a dumping ground for
| whatever a person happens to want to save on their
| machine. Fortunately I almost never see the latter these
| days, and I'll choose to believe people don't do that
| anymore without verifying that assumption...
|
| *this is really hand-wavy, please don't shoot.
| franga2000 wrote:
| I don't think I go into thousands, but easily accumulate
| a few 100 tabs. The way I work, I rarely have a task
| truly done in one go. Besides various side projects, I
| work on multiple websites for multiple clients and
| constantly need to put one on hold and wait for feedback,
| so I go work on another one. If I expect feedback withing
| a ~2 day period, it really doesn't make sense for me to
| close the related tabs. Not only does it save time when
| picking up the task again, but helps me reconstruct my
| train of thought without having to take notes.
|
| The way I think of it is kind of like swap memory.
| Instead of wasting effort saving to disk and verifying
| the saved data (taking notes), I chuck the data somewhere
| it isn't in the way (a new virtual desktop) so I can pick
| it up later. In fact, this is exactly what happens with
| the tabs at the system level. Since I'm constantly
| running out of ram and have a stupid amount of swap space
| set up, my OS gladly swaps the relevant browser processes
| and unswap the relevant set.
| benedikt wrote:
| > well-managed environment (ie one that has non-rudimentary
| window management and a browser/extension that handles idle
| tabs with negligible ongoing resource use).
|
| Can you elaborate on this? Which extensions are you talking
| about?
|
| I also rack up hundreds of tabs and my browser is often the
| main resource hog for me. I'll often have to kill -9 it to
| force it to start with "oops we crashed, here are your
| previous tabs in an unloaded state", but it sounds like you
| have a better way of doing this
| edrobap wrote:
| I have seen this behaviour repeatedly. Having to many "task
| windows" makes it difficult to focus. Similar to having to
| many tasks in Asana or emails in my Inbox. Prioritisation
| is the only option to come out of this. Unfortunately, I
| haven't found a way to tag priority with the "task
| windows". And that's the reason I daily browse through all
| windows and close the ones that are not urgent.
| samb1729 wrote:
| I cannot speak for the user you replied to, but to answer
| this question:
|
| > Do you only have a single thread of tasks you're doing at
| any given time on your machine, all of whose resources are
| torn down and rebuilt from scratch when needed?
|
| Yes, absolutely, at least when it comes to my web browser.
|
| I run Firefox Nightly and intentionally use its prompt to
| restart for an update as a prompt to consider whether I
| should close the things I have open. I'll sometimes ignore
| the update for a few hours, but not usually longer than
| that.
|
| If I need to retain some information over a period of more
| than a few hours, I'll transfer it to a note-taking app or
| something similar. Habitually _not_ keeping a large number
| of tabs open helps me maintain focus to some extent, and
| deliberating over whether to close a tab or window presents
| and opportunity to think about extracting a snippet for
| storage elsewhere.
|
| To me the idea of keeping an entire webpage open as a
| method of storing what is likely a very small subset of
| what it contains just doesn't seem "right", regardless of
| _actual_ resource consumption on the computer I 'm using.
| mark_l_watson wrote:
| I do the same. In a notes app, I have a TODO note where I
| save links and a few word description of what a link is.
| This gives me one place to maintain a reading list.
|
| I also have notes for current projects/tasks. I have
| structure and search to find things.
|
| As a life-hack to make better use of my time, I use the
| Freedom.io service to block all social media and "time
| wasting" sites so that I can only access them before
| work, first half hour of lunch time, and after end of
| work day. In practice what this means is that I scan HN
| and Twitter early each morning for tech stuff that is
| useful/interesting and add any useful links to my notes.
| Every few days I edit my notes to discard material.
| samb1729 wrote:
| On the topic of blocking distractions, I've found that
| creating a separate user account for focus time helps
| quite a bit, since it's sufficiently annoying to remove
| that particular barrier. Choosing not to configure a
| keyboard shortcut for account switching was a good call,
| too.
|
| I tried using multiple Little Snitch profiles or
| different browsers on the same user account in the past
| but switching between them is way too low effort for my
| easily distracted brain. Getting back into distraction
| mode can be performed on autopilot in those cases.
|
| That little delay in waiting for my watch to unlock my
| user account is just long enough to make me stop and
| think, and the vibration is like a gentle slap on the
| wrist.
|
| My focus account has a single Little Snitch profile
| configured to block the time-vampires I know I'm
| susceptible to, along with Firefox configured to clear
| history on close. I don't need to be reminded Twitter
| exists just because I opened my browser and pressed T,
| they should at least have to pay for the privilege of
| advertising to my brain!
|
| In general I think that taking full advantage of
| computers to make absolutely everything instantly
| accessible is in many ways actively harmful to many types
| of brains. We live in an economy and too many of us just
| give that stuff away.
| iam-TJ wrote:
| May I recommend Zotero [0] to you?
|
| "Your personal research assistant
|
| Zotero is a free, easy-to-use tool to help you collect,
| organize, cite, and share research."
|
| Like you I am an avaricious multi-tasker over extended
| periods of time and was heading towards the same state you
| appear to have reached.
|
| I realised it was not optimal and did some research and
| discovered Zotero. I use it personally and require it at my
| businesses.
|
| It adds several wonderful abilities - best is the ability
| to share and collaborate on research at will.
|
| [0] https://www.zotero.org/
| saagarjha wrote:
| Yes-I go back and read them occasionally. By keeping things
| open I get frequent reminders to look at things and sometimes
| I do.
| rohan1024 wrote:
| I used to do this now I just search again and occasionally
| I will bookmark a page that is too valuable to miss in
| future searches.
|
| This keeps my bookmarks clean.
| aoeusnth1 wrote:
| Vim already supports a decent file explorer view, if you edit a
| directory instead of a file. It's sort of like emacs' dired
| (DIRectory EDit).
| ksec wrote:
| Same here, currently sitting at 300 tabs ( Lost about 800 a few
| weeks ago from Safari crash _again_ ). I just wish the Show All
| tabs on Safari put up a list of tabs so I could quickly
| navigate through them ( and selectively close them ). Right now
| Show All Tabs _Reloads_ all the tabs. That is the same on macOS
| and iOS. Your phone gets quite warm doing it.
| lilyball wrote:
| Show All Tabs on iOS definitely does not reload tabs. I know
| on macOS it used to force all tabs to load but I had the
| impression lately that it wasn't doing that anymore (though I
| rarely use this feature).
| ksec wrote:
| iOS reloads them ( or partially load them ) as you scroll
| through it to get a screenshot. I tried it just now. Or
| they somehow saved a Screenshot of it. ( But then there is
| no reason why macOS safari isn't doing the same. )
|
| macOS does the same except without the scrolling.
| theelous3 wrote:
| > Lost about 800 a few weeks ago from Safari crash again
|
| Sounds like someone taking a corner at 200 mph and rolling
| their eyes when they hit the crash barrier. Not often is the
| following true, but - you're using that tool wrong.
| zeckalpha wrote:
| Safari maintains a list of tabs in a plist. You can't delete
| while Safari is running, but at least you can extract the
| list to back it up.
| ksec wrote:
| Yes. I immediately check that after it happened except the
| plist was empty.
|
| Firefox used to have similar problem with their json so
| after a few bug report with them they fixed it with another
| json.bak as redundancy. ( The good days of Firefox )
| netsharc wrote:
| Vivaldi has a tabs panel that lists all open tabs (as well as
| recently closed ones) like files in Windows Explorer, you can
| multi-select them and hit delete, or indeed hit Ctrl-A and
| delete. Sadly afaik there's no filter to e.g. select all Stack
| Overflow tabs.
| aljungberg wrote:
| It would be cool if the DOM was exposed. Then you could write one
| liner bash scripts to do simple tasks like "download all images"
| or "delete script tags referencing spammyads.js", all with
| nothing more advanced than find, cp, rm and mv in the shell. E.g.
|
| cp html/body/*/img/.hero-img/hello.png ~Downloads/
|
| You would need some clever way to express the DOM with ids and
| classes etc but it could be done with some subdirectory structure
| and long names, sometimes having multiple names for the same
| thing.
| bakoo wrote:
| Cool idea, but I'd worry about all the malformed markup.
| cldellow wrote:
| That's a good concern, but I think we can happily ignore it.
|
| The DOM represents the tree structure derived from the markup
| by the browser, so dealing with malformed markup wouldn't be
| the problem of this extension, it'd be the problem of the
| browser it's integrating in to.
| dotancohen wrote:
| I'm finding malformed markup has not been a concern of mine
| for many years. It used to be bad, real bad, but now I cannot
| think of the last time that I had to deal with malformed
| markup while scraping.
| OOPMan wrote:
| This is exactly the kind of dumb idea I expected to see on HN
| Shared404 wrote:
| I'm loving this trend to do more things with filesystems.
|
| There was https://amoffat.github.io/supertag/ [,] which I'm
| intending to use in my filesharing sftp server, and now this,
| which seems like something that exposes functionality from a web
| browser that I would love.
| pjmlp wrote:
| KIO and GVfs wave hopeless to the crowd too busy replicating a
| UNIX V6 experience with a bit of Plan 9/Solaris influence.
| anthk wrote:
| Ironically this is reimplementing plan9/9fs and everything is
| a filesystem. If any, this is Unix++.
|
| Also, say hello to FUSE, which tries to mimic that on the
| userland.
| curlinglion wrote:
| Same here. I quite like some of the filesystem interfaces Linux
| provides (cgroups for example)
| nicolewhite wrote:
| Neat! Your example of closing all Stack Overflow tabs reminds me
| of a little extension I made a while ago to manage tabs by
| domain:
|
| https://chrome.google.com/webstore/detail/manage-tabs-by-dom...
|
| Which would allow you to easily close all tabs from Stack
| Overflow.
| nudpiedo wrote:
| It looks like a fancy way to create a reverse shell
| Palomides wrote:
| I like it, the plan 9/acme approach seems like it could be pretty
| powerful with browsers
| davidp670 wrote:
| This reminds me of Bookmark OS https://bookmarkos.com
| sfgweilr4f wrote:
| I didn't see any cookie or local storage management. Is that
| included?
| lilyball wrote:
| This is a really cool idea. Any chance of supporting Safari?
| dotancohen wrote:
| This is the type of tool that I would love to love.
|
| But experience tell me that any tool that interfaces with the
| browser will break in a year and a half. Depending on this tool
| will put me into a situation where I'll have to decide between
| preserving my workflow or updating my browser and possibly other
| software.
|
| Maybe once there's more than 5 forks or a few hundred Github
| stars, I'll start to see where I can incorporate it into my
| workflow. But as it is, I've become wary of super-useful tools
| that are not yet in widespread use.
| nyanpasu64 wrote:
| "mnt/tabs/by-id/*/title.txt" asks your shell to expand a wildcard
| match, generating a list of files holding the title of each tab.
| If I were to feed it into a command-line app, I might start
| running into command length limits.
|
| Would it work better as a "relational database" than a
| hierarchical tree filesystem? I noticced that "by-id" and "by-
| title" and "last-focused" are several views into an underlying
| source of data, and changing one view causes other branches of
| the filesystem to change automatically. Maybe it could be more
| cleanly modeled as a relational data store with one row per tab,
| and columns with different meanings. Then use SQL, or a cleaner
| notation for relational algebra, to query this interface.
|
| The downside is that you can no longer use command-line utilities
| that operate on files (find/grep, fd/rg).
| rektide wrote:
| /dev/disk and /dev/input both have a bunch of view
| subdirectories on my Debian box. the idea of a symlink itself
| suggests denormalization, suggests views, suggests relations,
| so perhaps we should try to loosen up our mental model of what
| a file-system is some?
|
| i upvoted because it's an interesting question, but to me i
| would like good patterns for how to express data & views on the
| file-system. data goes into databases to die, alas. it remains
| tragically single consumer, one database one application. not
| that it has to be, but that's how things usually are. the file
| system by contrast is exposed system wide, & requires no app
| configuration or discovery to consume data on it (I guess
| choosing a file might sort of count?). there are a wide range
| of command line and gui tools built in to the os for exploring
| & manipulating the file system.
|
| perhaps we could make a good sql on the file-system plugin, to
| make sql data more accessible across the system? :)
| arendtio wrote:
| Would be cool if it was compatible with Tree Style Tabs ;-)
|
| In fact, one feature I am missing in Tree Style Tabs is the
| ability to save a list of tabs as a text file to archive it and
| to open/import it at a later point in time again.
|
| Somehow TabFS feels like it could be used to achieve that.
| CDRdude wrote:
| It seems to be compatible with tree style tabs. I'm not sure
| how to import, but this seems to do a reasonable job of
| exporting: ls | xargs -I {} paste {}/url.txt {}/title.txt
| incanus77 wrote:
| I'm excited to dig into this a bit and possibly add Safari
| support. I recently built a script
| (https://github.com/incanus/fari) for Curses-based (terminal)
| navigation of Safari tabs with hopes of adding management
| functionality in the future.
| chx wrote:
| If you are running WSL1, https://github.com/billziss-gh/winfuse
| is your friend.
| popc0rn wrote:
| This is an awesome idea and great work! I didn't even know I
| needed this until now. Now I even feel like something similar
| should be a regular part of a web browser, just like web
| development tools :)
| amelius wrote:
| I think the most useful extension of this would be to have any
| DOM node become a node in the filesystem.
| Jarred wrote:
| A different kind of tab-based filesystem that would be nice:
|
| Expose all the resources used in each tab in a virtual filesystem
| (JS, CSS, images, HTML, fonts, etc) in a folder for each tab.
| Basically Chrome Developer Tool's Sources tab but as files and
| folders on your computer.
|
| This would be great for scraping with headless browsers. It'd let
| you use shell scripts or your favorite programming language's
| filesystem library to read/copy assets, rather than writing code
| with Puppeteer to copy files/data.
|
| It would have to copy from Chrome directly though, rather than
| re-fetch the content
| cookiengineer wrote:
| This sounds actually very similar to what I am building, if you
| ignore the Chrome part [1] :)
|
| The general idea is to have more persistent caching locally, so
| that peer offloading (and persistence of offline content) can
| be guaranteed.
|
| Since yesterday the cache supports multiple versions of each
| file (with a timestamp), and it will get a UI that allows to
| navigate back in time for each URL.
|
| [1] https://github.com/tholian-network/stealth
| vosper wrote:
| > Basically Chrome Developer Tool's Sources tab but as files
| and folders on your computer.
|
| Isn't that what happens when you save a page? Or is that not
| possible with Puppeteer?
| [deleted]
| mbreese wrote:
| I think they were thinking more along the lines of a live
| system. Where you could change the settings of the page in
| real time using the filesystem interface.
| felixr wrote:
| I really like the idea and it made me realize that I want a
| simple interface to list/switch/create tabs from custom tools.
|
| However, I think a less powerful extension that just subscribes
| to `chrome.(tab|window).*` events and reports them to a local
| server and listens for commands (e.g to create tabs) would be
| enough. Not using the debug api and not exposing more than tabs,
| windows and URLs.
|
| The reporting bit of the extension could be as simple as a bunch
| of listeners a la:
| chrome.tabs.onSelectionChanged.addListener( (tabId,
| props) =>
| fetch('http://localhost:8118/report?'+JSON.stringify([tabId,
| props])));
| tjoff wrote:
| Love it, I didn't see and would love to see them also grouped by
| window, as that is how they naturally get grouped into different
| tasks (for me at least).
| wutbrodo wrote:
| Wow, this is awesome!
|
| My OS is heavily scripted and keybound, thanks to 15 years of
| cumulative incremental fixes and a kick-ass WM. The one thing
| that's frustrated me is the relative black box that my browser
| represents, and writing a shim between my WM and browser tabs has
| been on my TODO list for a long, long time (through a couple of
| aborted attempts due to a combination of Chrome's at-the-time
| obsolete documentation and probably-necessary security model).
|
| I'm cautiously optimistic that this is going to represent a
| dramatic step function in ease-of-use of my OS, in the same way
| that i3 was.
|
| EDIT: I should clarify that I did read the author's note that
| this is experimental, not secure, etc. I'm mainly just excited
| about having a jumping-off point to play around with and possibly
| hack on a little.
| amdbcg wrote:
| would you mind providing context /docs to some of your fixes
| and scripts so I can observe/install some of them?
| banjomet wrote:
| What window manager do you use?
| boomboomsubban wrote:
| They mention they use i3.
| sub7 wrote:
| This is the best idea I've seen all year.
|
| You can make it so that every website is fully searchable and the
| data easily viewable/extractable. Set up the marketplace for user
| created plugins, the possibilities are endless.
|
| I would happily contribute $25k to this. reply if interested.
| samwhiteUK wrote:
| > This is the best idea I've seen all year.
|
| Ba-dum tsshhh
| KitDuncan wrote:
| I'd be willing to back a patreon that explores this concept
| further. I'd be worried about browser updates breaking things
| though.
| [deleted]
| [deleted]
| sho_hn wrote:
| KDE on Linux used to have something similar in the late 90s - it
| allowed you to open a website URL as a directory listing, so you
| could browse the site's asset directories and open image files,
| etc. Think like a client-side generated version of Apache's index
| pages, but using your local file manager. It was a plugin to the
| VFS framework (KIO) the desktop and all the apps use, so it would
| also work e.g. in Open File dialogs from anywhere within the
| toolset.
|
| I remember using this regularly to mass-download the images
| embedded into a page - open the page this way by replacing
| http:// with a pseudo-protocol, copy all, paste, done.
|
| KDE always came with a lot of VFS trickery like that. Ripping a
| music CD into MP3s was similar - you'd open the volume in the
| file manager and see your tracks along with a virtual folder full
| of MP3 files. The rip and encoding would happen on the fly, and
| you could do this e.g. straight from the file attach feature in
| an instant messenger.
|
| Desktop Linux was a lot less friendly to get working smoothly
| back then compared to now, and feature discovery was by word of
| mouth more than anything, but it sure felt like living in the
| future early.
| pjmlp wrote:
| The problem is that too many dump GNOME and KDE for their twm
| flavour window manager and then it is no wonder that these
| ideas get lost among GNU/Linux users.
| anthk wrote:
| Meh, I just remote-mount everything with stuff like rclone,
| then _everything_ is a VFS kinda like plan9.
| bayindirh wrote:
| > Ripping a music CD into MP3s was similar - you'd open the
| volume in the file manager and see your tracks along with a
| virtual folder full of MP3 files.
|
| AudioCD KIO is still working the same way. I'm ripping an old
| audio CD of mine to FLAC as I write this comment.
|
| KDE's one of the oldest and best maintained feature is KIO
| backend. It's still alive and kicking as hard as in 3.5.x days.
| ognarb wrote:
| Disclainer: KDE developer
|
| Yeah, KIO is an awesome piece of software. Yesterday, a fuse
| interface was released[1] so that non-KDE software in Plasma
| also get most of the benefits of KIO.
|
| And speaking of browser tabs, Plasma Browser integration
| allows to switch to an open tabs from Krunner directly and it
| works with Firefox, Chrome and Microsoft Edge.
|
| [1]: https://feverfew.home.blog/2020/12/31/kio-
| fuse-5-0-0-release...
| wazoox wrote:
| I think the first OS with this functionality to be IRIX 6.3 in
| early 1996. It integrated Netscape Navigator to the 4DWM file
| manager, and allowed you to browse both HTTP and FTP, and also
| audio CDs and even audio DATs if you had a DDS drive!
| cpach wrote:
| I wonder if they were inspired by BeOS.
|
| These days many desktop interfaces feel quite dumbed-down.
| Still very usable though. But perhaps sometimes with unrealized
| potential.
| pjmlp wrote:
| Nope, Telligent, Xerox PARC workstations, ETHZ Oberon based
| OSes, and Solaris already had this idea surfaced in different
| ways.
| adrianmonk wrote:
| > _Telligent_
|
| Taligent?
| severino wrote:
| Reading your comment, it also came to my mind this inter-
| process communication from KDE called DCOP, which allowed you
| to call methods from KDE applications supporting DCOP from the
| command line or shell scripts. For example, the Konqueror web
| browser exposed functions to open tabs, navigate to URLs...
| instant messaging applications allowed you to query your
| contacts' online status, send a message, the music player would
| let you control the playlist, etc.
|
| It then (IIRC 15 years ago) became deprecated in favor of DBUS,
| but I remember it was not as straightforward and simple to use
| as DCOP was, and also the applications, at least by the time,
| weren't supporting lots of useful operations with DBUS.
| eitland wrote:
| > KDE on Linux used to have something similar in the late 90s -
| it allowed you to open a website URL as a directory listing
|
| On this topic and more generally, I think KDE had gotten way
| too little credit!
| viraptor wrote:
| I suspect it would be harder to pull off these days without
| launching chrome headless for example. Opening the page itself
| wouldn't include images/resources loaded over JS. It would also
| not work great with image atlases.
| amyjess wrote:
| So one thing really cool about KIO is that any KDE
| application can understand KIO URIs.
|
| You can paste any KIO URI into any application's file open
| dialog box and it'll retrieve it. So for example, you could
| open any KDE media player, paste in an audiocd:// URI, and
| it'll play the specified track from your CD.
|
| And it also meant that any application could open remote
| files without having to manually download them first. Like,
| if I wanted to open some random file off the web in a text
| editor, I can just go into Kate, hit Ctrl-O, and paste its
| URL into the dialog box, and it'll fetch it into a temp
| folder and open it without me having to first download it
| manually. This was especially useful for PDFs, because Okular
| is generally way better than any browser's PDF reader (and I
| was doing this before most browsers came with PDF readers).
| lights0123 wrote:
| How does it work internally for non-KDE apps? GNOME's
| equivalent, GVFS, uses real FUSE paths at
| /run/user/1000/gvfs. Does KIO do the same thing, or copy
| them to a temporary directory before sending the path to
| the application?
| feverfew wrote:
| Since yesterday there's a stable release of KIO FUSE [0],
| which does functionally the same as GVFS.
|
| [0]:https://feverfew.home.blog/2020/12/31/kio-
| fuse-5-0-0-release...
| pvorb wrote:
| I think KDE still supports Konqueror, which implements things
| like this. It used to be KDE's file manager and web browser
| all in one app. I always found this to be quite logical. The
| underlying abstraction is called KIO. Unfortunately I have no
| KDE installation at hand, so I can't tell if dowloading all
| images of a webpage still works as easily. The Audio CD
| ripping feature should work without problems, though.
|
| Btw Konqueror also used/uses the KHTML rendering engine,
| which was the foundation for WebKit.
| awwaiid wrote:
| KHTML came from kde before apple times
| pvorb wrote:
| Oh, yeah, I meant to say that, but now I notice that I
| wasn't clear about this fact.
| mraza007 wrote:
| Wow i just learned that today Thanks btw and it's sad how
| this did got very little attention
| rhabarba wrote:
| Finally, I can simulate 9P on worse browsers.
| 22c wrote:
| I had been looking for a way to "scriptably" sort the Firefox
| tabs I have open. Unfortunately by cursory glance this would not
| allow us to change the order of tabs (AKA the index).
|
| Very cool idea though and looking forward to seeing what comes of
| it.
| dash2 wrote:
| Slightly OT: I would really like an alt-tab command that cycled
| through my browser tabs as well as my app windows. Nowadays a
| single website is more like an app than the entire web browser
| is, so I think this metaphor would make sense.
| jwalton wrote:
| This is a cool idea. It would be nice to be able to blacklist
| some tabs though. For example, I wouldn't want the text of my
| banks website easily readable by any random process.
| popc0rn wrote:
| You could probably run your bank website in incognito mode and
| avoid extensions. I do this all the time because I don't
| completely trust any of my installed extensions. Even if I did,
| they are auto-updated and their code can change at any time
| without any notice.
| selfishgene wrote:
| Fantastic idea! As someone who was just starting to slowly learn
| their way around the Chrome API, your timing couldn't be better
| either.
|
| Look forward to seeing what else gets implemented on your todo
| list.
| mcdevilkiller wrote:
| Perfect example of "everything is a file", imo.
| TekMol wrote:
| What is the tool used in the example where they select files and
| then delete them?
|
| https://omar.website/tabfs/doc/delete.mp4
|
| Ah, I see now. It is called "dired". I wonder if it can be used
| standalone, without emacs.
| mgaw wrote:
| There is also `vidir` which is part of `moreutils`:
|
| https://joeyh.name/code/moreutils/
| unhammer wrote:
| You could always emacs --eval '(dired ".")'
|
| to immediately start emacs-dired in this directory :-)
| githubalphapapa wrote:
| Also: $ cat ~/bin/dired #!/bin/bash
| # Launch Dired in a plain Emacs configuration. #
| Arguments are passed to Emacs, e.g. "-nw" works as expected.
| emacs -q "$@" \ --eval "(dired default-
| directory)" \ --eval "(defun kill-window-or-
| emacs () (interactive) (if (one-window-p) (kill-emacs)
| (delete-window)))" \ --eval "(setq dired-dwim-
| target t delete-by-moving-to-trash t)" \ --eval
| "(define-key dired-mode-map (kbd \"q\") #'kill-window-or-
| emacs)"
| freetonik wrote:
| You might like Ranger[1]. It's not dired, but has similar rich
| set of features.
|
| [1]: https://github.com/ranger/ranger
| blacklight wrote:
| I don't get why it requires to be loaded as a temporary extension
| in order to work. Both Chrome and Firefox nowadays only allow
| permanent installation for extensions that are present on the
| store.
|
| I know that both the Mozilla and Chrome stores have become
| increasingly strict in terms of what the uploaded extensions can
| do (I've gone through a quite bumpy road to get my extension
| published), but if you submit the extension to them and make sure
| that it is compliant with their policies I think that there would
| be no need to manually load the manifest from developer mode.
| dheera wrote:
| Sounds like a fantastic idea, especially if I can use it to save
| video and images from websites too.
|
| Unfortunately it doesn't work for me though -- I get "Unchecked
| runtime.lastError: Native host has exited."
|
| Output of install script: ``` $ ./install.sh chrome
| mnlmpigkagdnfjmicelbkejgfefcnlkp + [[ 2 -lt 1 ]] + [[ chrome ==
| \f\i\r\e\f\o\x ]] + [[ chrome == \c\h\r\o\m\e ]] + [[ 2 -eq 2 ]]
| + [[ 32 -eq 32 ]] ++ uname -s + OS=Linux ++ echo chrome ++ tr
| '[:upper:]' '[:lower:]' + BROWSER=chrome + case "$OS $BROWSER" in
| + MANIFEST_LOCATION=/home/dheera/.config/google-
| chrome/NativeMessagingHosts + mkdir -p
| /home/dheera/.config/google-chrome/NativeMessagingHosts +
| APP_NAME=com.rsnous.tabfs ++ pwd +
| EXE_PATH=/home/dheera/code/clone/TabFS/fs/tabfs + case "$BROWSER"
| in + EXTENSION_ID=mnlmpigkagdnfjmicelbkejgfefcnlkp ++ cat +
| MANIFEST='{ "name": "com.rsnous.tabfs", "description": "TabFS",
| "path": "/home/dheera/code/clone/TabFS/fs/tabfs", "type":
| "stdio", "allowed_extensions": ["tabfs@rsnous.com"],
| "allowed_origins": ["chrome-
| extension://mnlmpigkagdnfjmicelbkejgfefcnlkp/"] }' + echo '{
| "name": "com.rsnous.tabfs", "description": "TabFS", "path":
| "/home/dheera/code/clone/TabFS/fs/tabfs", "type": "stdio",
| "allowed_extensions": ["tabfs@rsnous.com"], "allowed_origins":
| ["chrome-extension://mnlmpigkagdnfjmicelbkejgfefcnlkp/"] }' ```
| rasz wrote:
| >save video
|
| Problem with HTML5 video is you can use more than just a link
| to video file https://developer.mozilla.org/en-
| US/docs/Web/API/MediaSource There are "certain" websites
| serving videos using BLOB object mediasource created
| dynamically from encrypted https sources. So far I had no luck
| trying to capture resulting video datastream, mediasource is a
| write and forget type of interface, and on top of that
| MediaRecorder/captureStream() is bugged and crashes so you cant
| even record lossy reencoded capture.
|
| https://stackoverflow.com/questions/50938089/how-to-download...
|
| I should probably experiment with shimming whole MediaSource
| api and capture data before its pumped into the read only void.
| why_only_15 wrote:
| Another trick is to use mobile safari, because mobile safari
| only supports HLS, which is more easily downloadable.
| ianbicking wrote:
| It's running a script in the background to exfiltrate the info
| from the browser to the system, and that script has an error. I
| believe it's a script like
| /home/dheera/code/clone/TabFS/fs/tabfs* - if you look around in
| the browser some more you should find the stderr output of the
| script, which probably explains the error
| Animats wrote:
| Next, a browser extension that shows your file system as browser
| tabs.
| ellis0n wrote:
| TabFS is what I was looking for LiveComment. With a simple
| frontend and backend plugin for livecomment, you can manage your
| 800 tabs in one tab with iframe preview
|
| https://www.npmjs.com/package/livecomment
| bjornsing wrote:
| Interesting idea that could be applied to a lot of other
| things... You could imagine a unified /proc-like file system for
| a big hairy backend for instance.
| bergstromm466 wrote:
| This is why we should move to Holochain and DAT: it allows this +
| more.
| adamretter wrote:
| Absolutely brilliant. Thank you
| skovorodkin wrote:
| Probably not as powerful as TabFS, but there's also
| https://github.com/balta2ar/brotab:
|
| > bt (brotab = Browser Tabs) is a command-line tool that helps
| you manage browser tabs. It can help you list, close, reorder,
| open and activate your tabs.
|
| It supports both Chrome and Firefox. I use it to get titles of
| tabs that make some sound in Firefox.
___________________________________________________________________
(page generated 2021-01-01 23:01 UTC)