{"id":16700211,"url":"https://github.com/guyzmo/fftabsoutliner","last_synced_at":"2025-12-27T22:35:33.383Z","repository":{"id":6844209,"uuid":"8092781","full_name":"guyzmo/FFTabsOutliner","owner":"guyzmo","description":"Tabs Outliner Addon for Firefox","archived":false,"fork":false,"pushed_at":"2017-12-12T11:25:10.000Z","size":260,"stargazers_count":120,"open_issues_count":0,"forks_count":22,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-01-21T00:31:02.323Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/guyzmo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-02-08T11:59:33.000Z","updated_at":"2023-11-04T16:46:42.000Z","dependencies_parsed_at":"2022-07-25T22:48:17.589Z","dependency_job_id":null,"html_url":"https://github.com/guyzmo/FFTabsOutliner","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guyzmo%2FFFTabsOutliner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guyzmo%2FFFTabsOutliner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guyzmo%2FFFTabsOutliner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guyzmo%2FFFTabsOutliner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guyzmo","download_url":"https://codeload.github.com/guyzmo/FFTabsOutliner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243528739,"owners_count":20305476,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T18:09:46.904Z","updated_at":"2025-12-27T22:35:28.353Z","avatar_url":"https://github.com/guyzmo.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"The Tabs Outliner Addon for Firefox\n===================================\n\nThis addon aims to implement for Firefox the feature provided by\nthe [TabsOutliner plugin](https://chrome.google.com/webstore/detail/tabs-outliner/eggkanocgddhmamlbiijnphhppkpkmkl) in Chromium, but\nin an Opensource License.\n\n\nHere is a screenshot of what it looks like at the time of the last \nmajor change in this repository:\n\n![Tabs Outliner Screenshot](http://www.m0g.net/TabsOutliner20120218.png)\n\n\u003e N.B.: as the author of Chrome's Tabs Outliner plugin, Vladyslav Volovyk, asked me to\n\u003e remove any content containing his crafted materials, the repository is now entirely \n\u003e free of materials under restrictive copyright. The picture above containing the previous\n\u003e version of the code using one of his images, the image shown is now striked out to\n\u003e avoid any conflict.\n\nFor the time being it is only a work in progress. That plugin is\naimed to be compatible with Firefox 18+, and uses the jetpack/addon\nAPI. \n\nTODO\n----\n * `[x]` refresh the tree on every window and tabs events (new, close, ready, refresh, \n     tab movement...), _(in v0.4)_ \n * `[#]` _select_, open/_close_, destroy support from the tabs outliner panel, _(will be v0.5)_\n * `[ ]` drag and drop support for the tabs in the tree, _(should be v0.6)_\n * `[ ]` create new level of tree when opening tabs from a tab and support groups of windows, _(should be v0.7)_\n * `[ ]` session state saving support, _(might be v0.8)_\n * `[ ]` sidebar integration, _(may be v0.9)_\n * `[ ]` better UI style, _(may be v0.10)_\n * `[ ]` no bugs, no glitches _(v1.0)_\n\nIf you want a taboutliner for firefox, don't hesitate to help me \nimplement that plugin and send patches!\n\nHow it works\n============\n\nAs of version v0.4, the algorithm of the addon is far from being good.\nAt each event, it (re)builds a two level tree of all opened windows and tabs,\nand (re)generates the DOM tree in the tabsoutliner tab.\nThough, it is not time and space efficient, the result is still (astonishly) fast.\n\nFor v0.7, the algorithmic model might have to be rewritten to support a n-level\ntree representing the tabs opened while browsing, and also the creation of groups\nof windows.\n\nHow to test it and hack\n=======================\n\nTo test:\n\n```\n\t$ npm install jpm --global\n\t$ cd FFTabsOutline (where package.json resides)\n\t$ jpm run\n```\n\nCode tree\n=========\n\n```\n.\n|-- README.md ............  this file\n|-- data .................  data resources included with the addon\n|   |-- images ...........  images included\n|   |   `-- favicon.ico ..  a logo I have drawn and rendered using gimp, \n|   |                           beautiful, isn't it ? :-)\n|   |-- panel.html .......  the tabs outliner panel base DOM\n|   |-- screen.css .......  the tabs outliner panel's style\n|   `-- tree .............  the 'tree' JS module used to render the window/tabs tree\n|-- doc ..................  documentation folder: to be written ;-)\n|   `-- main.md\n|-- lib ..................  directory containing all the JS code\n|   |-- main.js ..........  entry point for the javascript module\n|   |-- tools.js .........  simple utils for object introspection, useful to dig through the APIs\n|   `-- tree.js ..........  implementation of a N-Tree in javascript\n|-- package.json .........  package specification\n`-- test .................  tests: to be written\n    `-- test-main.js .....  bunch of tests for the tree.js file, that is failing\n\n```\n\nLicense\n=======\n\nAll the code of the addon is (c)2013, Bernard Guyzmo Pratz, under the AGPLv3 \u003chttp://www.gnu.org/licenses/agpl-3.0.html\u003e\n\nThe tree script is [jquery-treeview](https://github.com/jzaefferer/jquery-treeview) under the MIT and GPL\nlicences. It will be certainly be replaced for v0.6 to have a more updated tree plugin, with enhanced drag'n drop support.\n\n```\nTabs Outliner Addon for Firefox\nCopyright (C)2013, Bernard `Guyzmo` Pratz \u003ctabsoutliner at m0g dot net\u003e\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as\npublished by the Free Software Foundation, either version 3 of the\nLicense, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguyzmo%2Ffftabsoutliner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguyzmo%2Ffftabsoutliner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguyzmo%2Ffftabsoutliner/lists"}