# TODO: move .pentadactyrc-firstrun to script-local dir WGET="wget -N" DELETE=0 # plugins plugins+=" 59" # *** User Agent Switcher plugins+=" 722" # *** NoScript plugins+=" 748" # *** Greasemonkey plugins+=" 1027" # **** All-in-One Sidebar plugins+=" 1368" # **** ColorfulTabs plugins+=" 1843" # **** Firebug plugins+=" 1865" # *** Adblock Plus plugins+=" 3880" # **** Add Bookmark Here plugins+=" 6366" # ***** FireGestures plugins+=" 7765" # ? IdentFavIcon plugins+=" 9609" # ** Ghostery # unfortunately, this much needed extension will not work with Tree Style Tab: # https://addons.mozilla.org/en-us/firefox/addon/bug489729-disable-detach-and-t/versions/?page=1#version-2.0 # https://addons.mozilla.org/cs/thunderbird/addon/tree-style-tab/reviews/310061/ # https://bugzilla.mozilla.org/show_bug.cgi?id=489729#c93 # https://github.com/piroor/treestyletab/issues/305 #plugins+=" 12276" # ? bug489729 (Disable detach and tear off tab) plugins+=" 12632" # **** FireQuery plugins+=" 13784" # **** Open Bookmarks in New Tab plugins+=" 71411" # ** Tile Tabs #plugins+=" 184566" # ***** Tree Style Tab plugins+=" 193270" # ? Print Edit -> http://piro.sakura.ne.jp/xul/xpi/treestyletab.xpi #plugins+=" 235854" # ***** Pentadactyl -> http://5digits.org/nightly/pentadactyl-latest.xpi plugins+=" 318228" # **** Super Start #plugins+=" 395282" # ** Capture & Print # current issue w/ FF22: http://code.google.com/p/dactyl/issues/detail?id=1003#c4 plugins_extra+=" http://5digits.org/nightly/pentadactyl-latest.xpi" plugins_extra+=" http://piro.sakura.ne.jp/xul/xpi/treestyletab.xpi" plugins_extra+=" https://addons.mozilla.org/firefox/downloads/file/164485/remove_google_search_redirects-0.5-fx.xpi" searches+=" 161972" # **** DuckDuckGo (HTTPS / SSL) if ( test ! -d "${HOME}/.mozilla" || test ! -d "${HOME}/.mozilla/firefox" ); then mkdir -p "${HOME}/.mozilla/firefox" touch -- "${HOME}/.mozilla/firefox/profiles.ini" fi while read -p "Enter name of the profile: " profile; do test ! -d "${HOME}/.mozilla/firefox/${profile}" && break echo "Exists: ${HOME}/.mozilla/firefox/${profile}" done touch -- "${HOME}/.mozilla/firefox/profiles.ini" PROFILE="${HOME}/.mozilla/firefox/${profile}" FIREFOX="firefox -P ${profile}" mkdir "${PROFILE}" echo created "${PROFILE}" ( python | sed 's| = |=|' > "${HOME}/.mozilla/firefox/profiles.ini" ) <<-EOF from sys import stdout from ConfigParser import RawConfigParser as RCP cp = RCP() cp.optionxform = str f = open('${HOME}/.mozilla/firefox/profiles.ini', 'r') cp.readfp(f) if not cp.has_section('General'): cp.add_section('General') cp.set('General', 'StartWithLastProfile', '1') new_sec = 'Profile' + str(len(cp.sections()) - 1) cp.add_section(new_sec) cp.set(new_sec, 'Name', '${profile}') cp.set(new_sec, 'IsRelative', '1') cp.set(new_sec, 'Path', '${profile}') cp.write(stdout) EOF echo "Please set security.dialog_enable_delay to zero (recommended to save time)" ${FIREFOX} about:config for plugin in $plugins; do ${WGET} "https://addons.mozilla.org/firefox/downloads/latest/${plugin}/addon-${plugin}-latest.xpi" ${FIREFOX} "addon-${plugin}-latest.xpi" & done for plugin in $plugins_extra; do ${WGET} "${plugin}" ${FIREFOX} "$(echo "${plugin}" | sed 's|.*/\([^/]\+\)|\1|')" & done SEARCHPLUGINS="${PROFILE}/searchplugins" mkdir "${SEARCHPLUGINS}" for search in $searches; do ${WGET} -P "${SEARCHPLUGINS}" "https://addons.mozilla.org/firefox/downloads/latest/${plugin}/addon-${plugin}-latest.xml" done cat > "${PROFILE}/search-metadata.json" <<-EOF { "[app]/duckduckgo.xml": { "alias": "ddg", "order": 1 }, "[app]/google.xml": { "alias": "g", "order": 2 }, "[app]/wikipedia.xml": { "alias": "we", "order": 3 }, "[app]/amazondotcom.xml": { "alias": null, "hidden": true, "order": 4 }, "[app]/bing.xml": { "alias": null, "hidden": true, "order": 5 }, "[app]/eBay.xml": { "alias": null, "hidden": true, "order": 6 }, "[app]/twitter.xml": { "alias": null, "hidden": true, "order": 7 }, "[app]/yahoo.xml": { "alias": null, "hidden": true, "order": 8 } } EOF [ "${DELETE}" -ne 0 ] && rm -I *.xpi || read -p "Press any key to continue " x mkdir -p "${PROFILE}/chrome" cat > "${PROFILE}/chrome/userContent.css" <<-EOF /* increase the size of checkboxes */ input[type=checkbox] { -moz-transform: scale(1.5); padding: 10px; } EOF mv "${PROFILE}/localstore.rdf{,.orig}" # add feed button to bottom toolbar xsltproc toolbar-layout.xsl -o "${PROFILE}/localstore.rdf{,.orig}" rm -f -- "${PROFILE}/localstore.rdf.orig" sleep 2 \ && ${FIREFOX} -pentadactyl "++cmd 'source pentadactylrc-firstrun' +c 'mkvimruntime'" # HTML5 for youtube #${FIREFOX} http://userscripts.org/scripts/source/105433.user.js ${FIREFOX} https://youtube.com/html5