Initial push...
This commit is contained in:
parent
6e274c35bd
commit
9b8db70b0d
12
README.md
Normal file
12
README.md
Normal file
@ -0,0 +1,12 @@
|
||||
# Alt Tab Page
|
||||
Alt Tab Page allows the user to select their preferred load page for new tabs and defaults to Google's when not in use.
|
||||
|
||||
# Download
|
||||
https://addons.mozilla.org/en-US/firefox/addon/alt-tab-page/
|
||||
|
||||
# Version: 1.0.0
|
||||
Initial release.
|
||||
|
||||
# Images
|
||||
![1 settings](images/pic1.png)
|
||||
![2 icon logo](images/pic1.png)
|
171
altTabPage.svg
Normal file
171
altTabPage.svg
Normal file
@ -0,0 +1,171 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="64"
|
||||
height="64"
|
||||
id="svg3363"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
viewBox="0 0 64 64"
|
||||
sodipodi:docname="altTabPage.svg"
|
||||
inkscape:export-filename="/home/abaddon/Coding/Projects/FireFox_Plugins/000_Usable/AltTabPage/src/icons/altTabPage.png"
|
||||
inkscape:export-xdpi="135"
|
||||
inkscape:export-ydpi="135">
|
||||
<defs
|
||||
id="defs3365" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="5.5"
|
||||
inkscape:cx="-19.636363"
|
||||
inkscape:cy="46.181818"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:document-units="px"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="990"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="32"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata3368">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer">
|
||||
<rect
|
||||
style="fill:#ececec"
|
||||
id="rect3377"
|
||||
width="34.18182"
|
||||
height="54.727272"
|
||||
x="14.363637"
|
||||
y="3.8181818"
|
||||
ry="7.8181849"
|
||||
rx="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:7.5px;line-height:972.0000267%;font-family:sans-serif;text-align:center;letter-spacing:35.63999939px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="17.272726"
|
||||
y="17.818182"
|
||||
id="text3382"
|
||||
sodipodi:linespacing="972.00003%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3384"
|
||||
x="17.272726"
|
||||
y="17.818182" /></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:7.5px;line-height:972.0000267%;font-family:sans-serif;text-align:center;letter-spacing:35.63999939px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="32"
|
||||
y="20.909092"
|
||||
id="text3398"
|
||||
sodipodi:linespacing="972.00003%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3400"
|
||||
x="32"
|
||||
y="20.909092" /></text>
|
||||
<image
|
||||
y="13.272728"
|
||||
x="-1.8181822"
|
||||
id="image3355"
|
||||
xlink:href="data:image/png;base64,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
|
||||
"
|
||||
preserveAspectRatio="none"
|
||||
height="78.363632"
|
||||
width="67.090904" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:19.98666px;line-height:972.0000267%;font-family:sans-serif;text-align:center;letter-spacing:94.97660065px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="41.20261"
|
||||
y="62.528061"
|
||||
id="text3406"
|
||||
sodipodi:linespacing="972.00003%"
|
||||
transform="scale(1.1275552,0.88687454)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3408"
|
||||
x="59.02261"
|
||||
y="62.528061">T</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:19.20728683px;line-height:972.0000267%;font-family:sans-serif;text-align:center;letter-spacing:91.27302551px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="17.370365"
|
||||
y="61.147182"
|
||||
id="text3394"
|
||||
sodipodi:linespacing="972.00003%"
|
||||
transform="scale(1.0990507,0.90987616)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3396"
|
||||
x="35.190365"
|
||||
y="61.147182">A</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:20.30522728px;line-height:972.0000267%;font-family:sans-serif;text-align:center;letter-spacing:96.49042511px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="27.501137"
|
||||
y="65.364082"
|
||||
id="text3402"
|
||||
sodipodi:linespacing="972.00003%"
|
||||
transform="scale(1.1786966,0.84839473)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3404"
|
||||
x="73.916016"
|
||||
y="65.364082">L</tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 7.8 KiB |
BIN
images/pic1.png
Normal file
BIN
images/pic1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
BIN
images/pic2.png
Normal file
BIN
images/pic2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
BIN
src/icons/altTabPage_48x48.png
Normal file
BIN
src/icons/altTabPage_48x48.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
BIN
src/icons/altTabPage_96x96.png
Normal file
BIN
src/icons/altTabPage_96x96.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
22
src/manifest.json
Normal file
22
src/manifest.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"manifest_version": 2,
|
||||
"name": "Alt Tab Page",
|
||||
"version": "1.0.0",
|
||||
"description": "Alt Tab Page helps set the preferred load page for new tabs.",
|
||||
|
||||
"applications": {
|
||||
"gecko": {
|
||||
"id": "altTabPage@itdominator.com",
|
||||
"strict_min_version": "54.0"
|
||||
}
|
||||
},
|
||||
|
||||
"icons": {
|
||||
"48": "icons/altTabPage_48x48.png",
|
||||
"96": "icons/altTabPage_96x96.png"
|
||||
},
|
||||
|
||||
"permissions": [ "storage" ],
|
||||
"options_ui": { "page": "pages/options.html" },
|
||||
"chrome_url_overrides": { "newtab": "pages/newTab.html" }
|
||||
}
|
10
src/pages/newTab.html
Normal file
10
src/pages/newTab.html
Normal file
@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>New Tab</title>
|
||||
<meta charset="utf-8"/>
|
||||
</head>
|
||||
<body>
|
||||
<script src="../scripts/loadNewPage.js"></script>
|
||||
</body>
|
||||
</html>
|
26
src/pages/options.html
Executable file
26
src/pages/options.html
Executable file
@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Alt Tab Page Settings</title>
|
||||
<meta charset="utf-8"/>
|
||||
<style media="screen">
|
||||
button { float: right; }
|
||||
#tabPageToLoad { width: 100%; margin-bottom: 0.5em; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<font size="4">
|
||||
<p>
|
||||
Alt Tab Page allows the user to select their preferred load page for new tabs and defaults to Google's when not in use.
|
||||
<br/><br/>
|
||||
<label>Prefered Tab Page:</label>
|
||||
<input id="tabPageToLoad" type="text" value="">
|
||||
<button id="saveButtonAction" type="button" name="ButtonSave">Save</button>
|
||||
<button id="delButtonAction" type="button" name="ButtonDel">Delete</button>
|
||||
</p>
|
||||
</font>
|
||||
|
||||
<script src="../scripts/altTabPageSettings.js"></script>
|
||||
</body>
|
||||
</html>
|
44
src/scripts/altTabPageSettings.js
Normal file
44
src/scripts/altTabPageSettings.js
Normal file
@ -0,0 +1,44 @@
|
||||
// Declare variables.
|
||||
const browserStorage = browser.storage.local;
|
||||
const tabPgInput = document.querySelector("#tabPageToLoad");
|
||||
const saveBttn = document.querySelector("#saveButtonAction");
|
||||
const delBttn = document.querySelector("#delButtonAction");
|
||||
|
||||
|
||||
/* Asign signal handaling in settings page. */
|
||||
// Save desired url....
|
||||
saveBttn.addEventListener('click', () => {
|
||||
var urlLink = tabPgInput.value;
|
||||
urlLink = (urlLink.match(/(localhost)\b/)) ? urlLink.replace("localhost", "127.0.0.1") : urlLink;
|
||||
urlLink = (urlLink.match(/^(http:\/\/|https:\/\/)/)) ? urlLink : "http://" + urlLink;
|
||||
|
||||
browserStorage.clear();
|
||||
browserStorage.set({ userSelectedTabPage : urlLink });
|
||||
|
||||
tabPgInput.value = urlLink;
|
||||
console.log("Saved Alt Tab Page: " + urlLink);
|
||||
});
|
||||
|
||||
// Delete desired url and set Default marker....
|
||||
delBttn.addEventListener('click', () => {
|
||||
browserStorage.clear();
|
||||
tabPgInput.value = "Default";
|
||||
console.log("Deleted Alt Tab Page...");
|
||||
});
|
||||
|
||||
// On start load from settings
|
||||
function loadOnStart(restoredSettings) {
|
||||
var homeTabURL = restoredSettings.userSelectedTabPage;
|
||||
|
||||
console.log("Trying to load settings if any...");
|
||||
if (homeTabURL !== "Default" && homeTabURL !== undefined) {
|
||||
tabPgInput.value = homeTabURL
|
||||
} else {
|
||||
tabPgInput.value = "Default";
|
||||
}
|
||||
}
|
||||
|
||||
function onError(e) { console.error(e); }
|
||||
|
||||
|
||||
browserStorage.get().then(loadOnStart, onError);
|
21
src/scripts/loadNewPage.js
Normal file
21
src/scripts/loadNewPage.js
Normal file
@ -0,0 +1,21 @@
|
||||
function redirectToPreferedHome() {
|
||||
var tabPgSettings = browser.storage.local.get();
|
||||
tabPgSettings.then(finishLoad, onError);
|
||||
}
|
||||
|
||||
function finishLoad(toLoadSettings) {
|
||||
var loadSelectedPage = browser.tabs;
|
||||
var pageToLoad = toLoadSettings.userSelectedTabPage;
|
||||
|
||||
console.log("Trying to load settings if any...");
|
||||
if (pageToLoad !== "Default" && pageToLoad !== undefined) {
|
||||
loadSelectedPage.update({url: pageToLoad});
|
||||
} else {
|
||||
loadSelectedPage.update({url: "https://www.google.com/"});
|
||||
}
|
||||
}
|
||||
|
||||
function onError(error) { console.log(`Error: ${error}`); }
|
||||
|
||||
|
||||
redirectToPreferedHome();
|
Loading…
Reference in New Issue
Block a user