GithubHelp home page GithubHelp logo

mac641 / tab-split-merger Goto Github PK

View Code? Open in Web Editor NEW
5.0 1.0 0.0 118 KB

Tab Split Merger for Firefox splits tabs into multiple windows and merges them back together into one.

License: Mozilla Public License 2.0

JavaScript 98.67% HTML 1.33%
firefox-extension firefox-addon firefox-extensions mozilla-firefox-addon mozilla-firefox javascript html json markdown splitting-tabs

tab-split-merger's Introduction

Tab Split Merger for Firefox

Mozilla Add-on Mozilla Add-on Mozilla Add-on

Download Link: Firefox Browser Add-Ons - Tab-Split-Merger

Features ๐Ÿ†

Main Features ๐ŸŽ‰

  • Split tabs into multiple windows
  • Merge all windows
  • Move windows to the left / right of the currently active tab into a new window

Configuration Features ๐Ÿ”จ

  • Choose whether or not pinned tabs will be repinned
  • Configure when you will be prompted for confirmation when splitting tabs into windows

Installation ๐Ÿ”ง

In Firefox: Open the about:debugging page, click "This Firefox" (in newer versions of Firefox), click "Load Temporary Add-on".

Then navigate to the downloaded directory and select manifest.json.

MDN: Your first extension

Further information

Check out docs ๐Ÿ“– and known issues โ‰๏ธ.

Contributing ๐Ÿ’ก

PRs are very welcome! :)

Credits ๐Ÿ’ฐ

Inspired by jonathanKingston/merge-windows.
Icon taken from ICONFINDER.

tab-split-merger's People

Contributors

mac641 avatar treilik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

tab-split-merger's Issues

Fix CI pipeline

CI pipeline is deploying the extension to the add-on store, but it is failing when doing so.

Sort All tabs into Windows depeding on url

For example:

[Window] example
[tab] github.com/...
[tab] github.com/...
[tab] wikipedia.org

Gets processed to:

[Window] github.com
[tab] github.com/...
[tab] github.com/...

[Window] wikipedia.org
[tab] wikipedia.org

Maybe optional that tabs with no others of this domain get collected in one window also.
To Limit the number of Windows created.

Split into separate classes

All code is currently placed in windowManager class.

  • create separate class for configuration
    • add configuration option whether tabs will be repined after splitting / merging -> highly depends on clean class structure. Because of this it is moved to this issue.
  • create separate class for menu items

Various stuff

  • edit confirmation threshold text
    - [ ] sort os window preview order (maybe some 20ms delay when splitting) -> unable to perform from within Firefox extension...

Add option for granting host permission

By using optional_permissions firefox allows to ask for permissions after loading the extension. This can be used to ask for <all_urls> aka host permission.

Host permission allows the user to split and merge by selecting the proper menu option while the tab is not currently active or a about:... page is opened...

Make a full suite for converting between multiple windows and tabs

[ ] convert existing code in typescript -> Task is cancelled because it's too complex to make typescript compile background scripts for firefox.

  • add (original) functionality for merging all or select windows into one
    [ ] add configuration option whether tabs will be repined after splitting / merging -> moved to issue#7

Add flexibility to context menu

Firefox Add-on Review

- [ ] Add option to hide context menu
- [ ] make extension accessible from taskbar

=> can't be implemented due to Firefox API restrictions

Additions

  • Separate Docs from README.md
  • Add 'Contributing' section to README.md

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.