From e7b88ff2469be48d1bae2014238aab3233db68ab Mon Sep 17 00:00:00 2001 From: Philipp Schirmer Date: Sun, 12 Oct 2014 16:14:48 +0200 Subject: [PATCH] Added Firefox add-on --- .gitignore | 5 ++-- fixed_navbar.css => Chrome/fixed_navbar.css | 0 fixed_navbar.js => Chrome/fixed_navbar.js | 0 {icons => Chrome/icons}/icon128.png | Bin {icons => Chrome/icons}/icon48.png | Bin {icons => Chrome/icons}/icons.svg | 0 manifest.json => Chrome/manifest.json | 2 +- Firefox/data/fixed_navbar.css | 24 ++++++++++++++++++++ Firefox/data/fixed_navbar.js | 22 ++++++++++++++++++ Firefox/lib/main.js | 9 ++++++++ Firefox/package.json | 9 ++++++++ Firefox/test/test-main.js | 12 ++++++++++ 12 files changed, 80 insertions(+), 3 deletions(-) rename fixed_navbar.css => Chrome/fixed_navbar.css (100%) rename fixed_navbar.js => Chrome/fixed_navbar.js (100%) rename {icons => Chrome/icons}/icon128.png (100%) rename {icons => Chrome/icons}/icon48.png (100%) rename {icons => Chrome/icons}/icons.svg (100%) rename manifest.json => Chrome/manifest.json (87%) create mode 100644 Firefox/data/fixed_navbar.css create mode 100644 Firefox/data/fixed_navbar.js create mode 100644 Firefox/lib/main.js create mode 100644 Firefox/package.json create mode 100644 Firefox/test/test-main.js diff --git a/.gitignore b/.gitignore index 5ff33a0..67da81b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ /screenshots - *.zip *.crx -*.pem \ No newline at end of file +*.pem +*.xpi +*.db \ No newline at end of file diff --git a/fixed_navbar.css b/Chrome/fixed_navbar.css similarity index 100% rename from fixed_navbar.css rename to Chrome/fixed_navbar.css diff --git a/fixed_navbar.js b/Chrome/fixed_navbar.js similarity index 100% rename from fixed_navbar.js rename to Chrome/fixed_navbar.js diff --git a/icons/icon128.png b/Chrome/icons/icon128.png similarity index 100% rename from icons/icon128.png rename to Chrome/icons/icon128.png diff --git a/icons/icon48.png b/Chrome/icons/icon48.png similarity index 100% rename from icons/icon48.png rename to Chrome/icons/icon48.png diff --git a/icons/icons.svg b/Chrome/icons/icons.svg similarity index 100% rename from icons/icons.svg rename to Chrome/icons/icons.svg diff --git a/manifest.json b/Chrome/manifest.json similarity index 87% rename from manifest.json rename to Chrome/manifest.json index 2d9a249..49b0f0a 100644 --- a/manifest.json +++ b/Chrome/manifest.json @@ -1,6 +1,6 @@ { "name":"FB fixed navbar", - "description":"", + "description":"Freezes left navigation pane on Facebook", "version":"0.0.4", "manifest_version":2, "author": "Philipp Schirmer", diff --git a/Firefox/data/fixed_navbar.css b/Firefox/data/fixed_navbar.css new file mode 100644 index 0000000..8ad9a6d --- /dev/null +++ b/Firefox/data/fixed_navbar.css @@ -0,0 +1,24 @@ +#scrollbarHider { + overflow: hidden; + top: 95px; + bottom: 0px; + position: fixed; + margin-left: -20px; + margin-top: 12px; + margin-bottom: -12px; + width: 181px; +} + +#navigationWrapper { + overflow: auto; + height: 100%; + padding-right: 5000px; + padding-left: 20px; + width: 181px; + position: absolute; + top: -12px; +} + +#leftColWrapper { + position: fixed; +} \ No newline at end of file diff --git a/Firefox/data/fixed_navbar.js b/Firefox/data/fixed_navbar.js new file mode 100644 index 0000000..9cb464f --- /dev/null +++ b/Firefox/data/fixed_navbar.js @@ -0,0 +1,22 @@ +setInterval(fixNavbar, 50); +function fixNavbar() { + var pagelet_navigation = document.getElementById('pagelet_navigation'); + if (document.getElementById('leftColWrapper') === null && pagelet_navigation !== null) { + var mainContainer = document.getElementById('mainContainer'); + var leftCol = document.getElementById('leftCol'); + var contentCol = document.getElementById('contentCol'); + var leftColWrapper = document.createElement('div'); + var scrollbarHider = document.createElement('div'); + var navigationWrapper = document.createElement('div'); + leftColWrapper.id = 'leftColWrapper'; + scrollbarHider.id = 'scrollbarHider'; + navigationWrapper.id = 'navigationWrapper'; + mainContainer + .appendChild(leftColWrapper) + .appendChild(leftCol) + .appendChild(scrollbarHider) + .appendChild(navigationWrapper) + .appendChild(pagelet_navigation); + mainContainer.appendChild(contentCol); + } +} \ No newline at end of file diff --git a/Firefox/lib/main.js b/Firefox/lib/main.js new file mode 100644 index 0000000..f872867 --- /dev/null +++ b/Firefox/lib/main.js @@ -0,0 +1,9 @@ +var data = require("sdk/self").data; +var pageMod = require("sdk/page-mod"); + +pageMod.PageMod({ + include: "*.facebook.com", + contentScriptFile: data.url("fixed_navbar.js"), + contentStyleFile: data.url("fixed_navbar.css"), + contentScriptWhen: "end" +}); \ No newline at end of file diff --git a/Firefox/package.json b/Firefox/package.json new file mode 100644 index 0000000..e262d40 --- /dev/null +++ b/Firefox/package.json @@ -0,0 +1,9 @@ +{ + "name": "fb-fixed-navbar", + "title": "FB-fixed-navbar", + "id": "jid1-9prtREtF6cjLPA", + "description": "Freezes left navigation pane on Facebook", + "author": "Philipp Schirmer", + "license": "MPL 2.0", + "version": "0.0.4" +} diff --git a/Firefox/test/test-main.js b/Firefox/test/test-main.js new file mode 100644 index 0000000..147f98a --- /dev/null +++ b/Firefox/test/test-main.js @@ -0,0 +1,12 @@ +var main = require("./main"); + +exports["test main"] = function(assert) { + assert.pass("Unit test running!"); +}; + +exports["test main async"] = function(assert, done) { + assert.pass("async Unit test running!"); + done(); +}; + +require("sdk/test").run(exports);