「Firefox」カテゴリーアーカイブ

検索エンジンメニューのミドルクリックで検索エンジンを切り替えてさらに貼り付けて検索.uc.js

select-and-paste-and-search
この検索エンジン選ぶメニューのミドルクリックです。分かりづらいです。

動作確認

「検索エンジン切り替え→貼り付けて検索」をするのに「クリック(メニュー出す)→クリック(検索エンジン選択)→右クリック→貼り付けて検索」とわりと手間が掛かるのでそこ一気にやってしまおうというやつです。

ノリで作ったのであまり確認してません。
たぶん同じmenuitem.labelがあると最初のやつになるような気がします。

すでに検索エンジン選択したあとだったら検索エンジンのアイコンをそのままミドルクリックするだけで貼り付けて検索します。

ダウンロード: search-engine-select-and-paste-and-search.uc.js
GitHub: search-engine-select-and-paste-and-search.uc.js

最近の修正内容とか

タブのダブルクリックでピン留め切り替えるだけ.uc.js

動作確認

タブ関連のアドオンは無駄な機能多くて入れたくないけど、ミドルクリックでタブ復元みたいな「これだけ欲しい!」という事が結構あるのですよ。

というわけで、タブのダブルクリックで「タブをピン留め」、もう一度ダブルクリックで「ピン留めを外す」です。

ダウンロード : dblclick-tab-pinned.uc.js
GitHub : dblclick-tab-pinned.uc.js

FirefoxのCtrl+Fで検索バーの表示/非表示に置き換えるやつ.uc.xul

動作確認

通常はCtrl+Fで検索バーが表示されますが、もう一度Ctrl+Fで非表示にするというアレです。

Firefoxまとめサイト userChrome.jsにあった「Ctrl+F押したらFindbarが出るけどもう一回押したら消える.uc.xul」はFirefox 4に対応してなかったので。

ドメイン失効したやつのリンクになってたのでURL修正。ついでに最新っぽいFirefoxでも動作確認。

ダウンロード : toggle-findbar.uc.xul
GitHub: toggle-findbar.uc.xul

<script type="application/x-javascript"><![CDATA[
var ucjsToggleFindBar = function() {
    gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close();
}
]]></script>
<window id="main-window">
  <keyset id="mainKeyset"><key id="key_find" oncommand="ucjsToggleFindBar()" /></keyset>
  <commandset id="mainCommandSet"><command id="cmd_find" oncommand="ucjsToggleFindBar()" /></commandset>
</window>

検索バーを自動でリセットする.uc.js として動作するはずだった

動作確認

検索開始したら2秒後ぐらいに一番上の検索エンジンに戻してキーワードクリアします。それだけです。

Firefox 34で動かなかったので作り直しました。それぞれaddEventListenerでみてるので修正しやすくなったのではと思います。

※動かないみたいなんでファイル消してます。git cloneでもしてください。

ダウンロード : auto-reset-searchbar.uc.js

更新した履歴

  • 2014.12.10 やっぱり動かないらしいです。自分しか使えないなら意味ないので消しました
  • 2014.12.10 デフォルトで2秒後にリセット、検索バーにフォーカスしてもタイマー止めない
  • 2014.12.09 定数名にプレフィックス
  • 2014.12.09 最初の定数でどの場合にリセットするか
  • 2014.12.09 Firefox 34で動かないので作り直した
  • // このへんを true / false 入れ替えたり タイマー(ミリ秒)の時間を変えるといいかもしれん
    
    (function() {
        // リセットするまでにちょっと時間をおくかどうか [true=タイマー使う, false=即時クリア]
        const ARS_USE_TIMER = true;
        // リセットするまでの時間(ミリ秒) [3000=3秒]
        const ARS_TIMER_MS  = 2000;
        // 検索したら一番上の検索エンジンに戻すかどうか [true=戻す, false=そのまま]
        const ARS_USE_DEFAULT_ENGINE = true;
        // リセットタイマーが動いてるときに検索バーにフォーカスでタイマーを止めるかどうか [true=止める, false=止めない]
        const ARS_USE_FOCUS = false;
        // 検索ボタンクリックでクリアするかどうか [true=クリア, false=そのまま]
        const ARS_USE_CLICK = true;
        // 貼り付けて検索のときにクリアするかどうか [true=クリア]
        const ARS_USE_COMMAND = true;
        // Enterキーで検索のときにクリアするかどうか [true=クリア]
        const ARS_USE_ENTER = true;
    
    
    
    

Firefox 31で移動できないボタン(進む・戻る・リロード)をブックマークボタンの左に持ってくるだけ.uc.js

fx31

Firefox 31でもこの配置にしたかっただけなんや……。
テーマによってはロケーションバーと進む・戻るが一体化してるようなのがあるのでuserChrome.cssなんかで修正が必要かもしれません。
リロードボタンもたぶんズレます。

ダウンロード: move_back_and_forward_button.uc.js

// ==UserScript==
// @name           Move back & forward button
// @description    進む・戻る・リロードボタンをブックマークボタンの左に持ってくるだけ
// @version        1.0
// @author         oflow
// @compatibility  Firefox 31
// @namespace      http://oflow.me/archives/1216
// ==/UserScript==

(function() {
    Components.utils.import('resource:///modules/CustomizableUI.jsm');
    var id = 'bookmarks-menu-button',
        buttonIds = ['back-button', 'forward-button', 'urlbar-reload-button', 'urlbar-stop-button'];

    // ブックマークボタンをナビゲーションバーの先頭に移動させとく
    var ids = CustomizableUI.getWidgetIdsInArea(CustomizableUI.AREA_NAVBAR);
    if (ids.indexOf(id) == -1) {
        CustomizableUI.addWidgetToArea(id, CustomizableUI.AREA_NAVBAR, -1);
    }

    var before = document.getElementById(id);
    buttonIds.forEach(function(buttonId) {
        var button = document.getElementById(buttonId);
        before.parentNode.insertBefore(button, before);
    });
})();

Firefox 31でシンプルさに定評のあるテーマ “rein” が使えないのをどうにかする

rein_modoki_fx31

Firefox 28ぐらいまではギリギリ使えたテーマ “rein” ですが、ESR 24.8の次は31になるようで今までこのテーマを使ってきた方々は苦渋の決断を迫られていると思うのです。
ESR 24を使い続けたのもそんな理由だったりします。

先日、Firefox ESR 31.1にしたのをきっかけに別のシンプルなテーマ “Simple White” に乗り換えたんですが、やっぱり違う!これじゃない!

そんな訳でrein-5.4-fx.xpiの中身から画像を取り出して強引にuserChrome.cssで置き換えました。
1日でそれなりになったので正式に対応されるまではなんとかいけそう。

#back-button,
#forward-button,
#home-button,
#urlbar-reload-button,
#urlbar-stop-button {
    list-style-image: url(data:image/png;base64,[reinのpng画像をbase64エンコードしたやつ]) !important;
}
#back-button {
    -moz-image-region: rect(0px, 16px, 16px, 0px) !important;
}

というような事をDOM Inspectorとにらめっこしながらせこせこ書いていくだけです。
超絶面倒臭いです。

Firefoxアドオン「GMarks」のメニューをブックマークツールバーに移動させる.uc.js (Firefox 24~31)

GMarks Menu in Bookmark Toolbar

動作確認
Firefox ESR 24.8, ESR 31.1 + userChromeJS 1.5 + Sub-Script/Overlay Loader v3.0.44mod

別のアドオン「Personal Menu」「Personal Titlelbar」と合わせて使う際に、メニューバーにある「GMarks」を表示させてると不格好なのでブックマークツールバーに移動させました。
上記2つのアドオンを使ってない場合でも「GMarks」メニューは移動します。

※画像はテーマ「rein」を使用してますが「全てのブックマークを表示する」アイコンになってるはずです。(デフォルトテーマで確認)

ダウンロード: gmarks_menu_in_bookmark_toolbar.uc.js
GitHub: gmarks_menu_in_bookmark_toolbar.uc.js

(function() {
    var menupopup = document.getElementById('gmarksMenuPopup');
    var toolbarbutton = document.createElement('toolbarbutton');
    toolbarbutton.id = 'ucjs-gmarks-toolbarbutton';
    toolbarbutton.className = 'bookmark-item';
    toolbarbutton.setAttribute('type', 'menu');
    toolbarbutton.setAttribute('label', 'GMarks');
    toolbarbutton.setAttribute('container', 'true');
    // 他と区別しやすいように★のマークに変える
    toolbarbutton.setAttribute('image', 'chrome://browser/skin/places/allBookmarks.png');
    toolbarbutton.appendChild(menupopup);
    var personalBookmarks = document.getElementById('PlacesToolbarItems');
    if (personalBookmarks) {
        var bookmarkItem = personalBookmarks.getElementsByClassName('bookmark-item');
        if (bookmarkItem && bookmarkItem[0]) {
            bookmarkItem[0].parentNode.insertBefore(toolbarbutton, bookmarkItem[0]);
        } else {
            personalBookmarks.appendChild(toolbarbutton);
        }
    }
})();

Feedlyで読みたくないエントリーを非表示にするユーザースクリプト

Feedly Proに$99払ったのにあまりプロ感がなくどのあたりが有料なのか分からなくなってきたけど、メインのRSSリーダーとして使ってることに変わりはないので中途半端に作ったやつを修正しました。

例のごとく userscripts.org にありそうだけど自分で作ると修正するとき楽なのでということです。

動作確認

ダウンロード: feedly_filter.user.js

「井上喜久子17才です」っつってんだろ! 17sai.user.js

17sai

声優業界の基礎知識ともいえる井上喜久子さんの年齢がGoogle検索で間違って表示されてしまうのを自動で修正します。
他数名の年齢も同様に修正します。

いや、ノリで作ったジョークスクリプトなので細かく検証してませんよ。
元ネタは “hirataya / 17sai.user.js” です。
動かなかったので今のGoogleに対応させてたら他にも年齢間違って表示されてる箇所があったのでベタ書きで追加してってます。
たぶん、間違いなくGoogle検索が重くなります。要注意です。

※「17歳」ではなく「17才」と表記するのが正しいようなので修正しました。

ダウンロード: 17sai.user.js

Firefoxのキャッシュを1発で消す.uc.js

ucjs_clear_cache

キャッシュを削除してどうのこうのって殆ど使わないんだけど「最近の履歴を消去」から「キャッシュ」にチェック入れて消すってのが面倒臭すぎるのでツールメニューに追加することにした。

キャッシュのクリアは

0: STORE_ANYWHERE (すべて)
1: STORE_IN_MEMORY (メモリキャッシュ)
2: STORE_ON_DISK (ディスクキャッシュ)
3: STORE_ON_DISK_AS_FILE (今は使われてない)
4: STORE_OFFLINE (オフラインキャッシュ)

のどれか指定(nsICache | MDN)。やっぱり面倒臭いので全て削除にしている。

ダウンロード: clear_all_cache.uc.js

(function() {
    if (document.getElementById('menu_ClearStoreAnywhere')) return;
    var menuitem = document.createElement('menuitem');
    menuitem.setAttribute('id', 'menu_ClearStoreAnywhere');
    menuitem.setAttribute('label', 'u30adu30e3u30c3u30b7u30e5u3092u6d88u53bb');
    menuitem.addEventListener('command', function() {
        var cs = Cc["@mozilla.org/network/cache-service;1"].getService(Ci.nsICacheService);
        cs.evictEntries(Ci.nsICache.STORE_ANYWHERE);
    }, false);
    var menuTools = document.getElementById('menu_ToolsPopup');
    if (!menuTools) return;
    menuTools.appendChild(menuitem);
})();