平衡点
2017/01/23
_ xmlrpc.rb
org2blog で叩けないかどうか試してみたが、うまく動かない。 ScribeFire だと動くので、処理が変なのかなぁ...
_ Emacs 25.1 と tDiary-mode からの更新
Emacs25.1 でも問題無かった. とはいえ Debian パッケージ版の apel だから,という気がしない訳でもない.
http.el の処理は多分,標準添付の url.el あたりで書き換えた方が良いんだろう. どうしたもんかな.
2017/01/24
_ eww で google 先生に質問するとエラーが出る件
読んで時の如し
403. That’s an error. Your client does not have permission to get URL /search?gbv=1&bih=&biw=&source=hp&hl=ja&ie=Shift_JIS&btnG=Google+%E6%A4%9C%E7%B4%A2&q=eww from this server. (Client IP address: XXX.XXX.XXX.XXX) Please see Google's Terms of Service posted at http://www.google.com/terms_of_service.html
で「report してね」ってあるんだけれど、リンク先が 404 だったりする。 emacs-w3m だと問題無いって事は、何か必要な設定があるのかしら?
ちなみに bing と duckduckgo だと問題無いっぽい。うーん...
(追記) dochang/mb-url で url-retrieve を override していたのだけれど、これが原因の様だ。
2017/01/26
_ Vimperator から VimFx に代えてみた.
sid に Firefox 51 が落ちてきて,例によって vimperator が動かなくなった.
- FF51.0 breaks :tabopen · Issue #671 · vimperator/vimperator-labs
- Vimperator don't work in Firefox Beta. Not e10s. · Issue #568 · vimperator/vimperator-labs
「とりあえず ESR 使えば?」「次の ESR って 2017 年 3 月リリース予定の 52 だよね」とか言われてて,なかなか.
とはいえ,普段の環境が vimperator 的な操作にドップリなので,どうしたモンだろうか,としばし悩んだが,VimFx という拡張を見つけた.
Even before Vimium there was Vimperator for Firefox. In my opinion, Vimperator has too many features and aggressively changes the default Firefox appearance and behavior. Vimium is exactly what I need in terms of added functionality, but for Chrome. That’s why I decided to develop a similar extension for Firefox.
[from:akhodakivskiy/VimFx: Vim keyboard shortcuts for Firefox]
ということで,試してみることに.
インストールと設定,など.
軽くてびっくりした.それだけ vimperator って色々なコトをやってるんですね,というか. e10s にも対応していて,使用にも問題無さげ.
- 基本的なキーバインドは既に設定されている.「?」 を押すと help 出るのもなかなか良さげ.
- Addon ⇒ preferences でそれなりに設定できるのも良い.
- Hint モードでの色使いも良い(というか,vimperator だとそもそも文字小さいよねぇ...).
違和感,というか慣れが必要なのは
- ロケーションバーで検索,移動を操作
- 通知等が右下に出る.
- いわゆるコマンドモードが無い? ⇒ 「:」 だと GCLI が起動してきた.restart ぐらいはこれでイケる.
Vimiumなんかはコマンド入力時に入力欄が全面に出てきたので違和感がなかったけれど, ちょっと視線が上下する.慣れって怖い. でも,vim のコマンドラインって下にあるじゃん...
カスタムコマンド等
vimperator のヘビーユーザではないので,無いと途方に暮れるのは
- プロキシの切り替え
- URL, title のコピー
といった所.このぐらいなら,まあ,適当に作れる.
現在の ~/.config/vimfx/config.js は以下
// config - based on const {classes: Cc, interfaces: Ci, utils: Cu} = Components Cu.import("resource://gre/modules/XPCOMUtils.jsm") XPCOMUtils.defineLazyModuleGetter(this, "Preferences", "resource://gre/modules/Preferences.jsm") const gClipboardHelper = Cc["@mozilla.org/widget/clipboardhelper;1"].getService(Ci.nsIClipboardHelper); // override default settings Preferences.set({ "devtools.chrome.enabled" : true, "browser.urlbar.filter.javascript" : false, // bookmarklet を使うのに必要 "findbar.modalHighlight": false, "findbar.highlightAll": false, }); // helper functions let {commands} = vimfx.modes.normal let set = (pref, valueOrFunction) => { let value = typeof valueOrFunction === "function" ? valueOrFunction(vimfx.getDefault(pref)) : valueOrFunction vimfx.set(pref, value) } let map = (shortcuts, command, custom=false) => { vimfx.set(`${custom ? "custom." : ""}mode.normal.${command}`, shortcuts) } // options set("prevent_autofocus", true) set("mode.normal.copy_current_url", "y"); // custom command vimfx.addCommand({ name: "goto_addons", description: "Addons", }, ({vim}) => { vim.window.BrowserOpenAddonsMgr() }) map(",a", "goto_addons", true) // vimfx.addCommand({ name: "goto_preferences", description: "Preferences", }, ({vim}) => { vim.window.openPreferences() }) map(",p", "goto_preferences", true) // vimfx.addCommand({ name: "goto_downloads", description: "Downloads", }, ({vim}) => { vim.window.DownloadsPanel.showDownloadsHistory() }) map(",d", "goto_downloads", true) // vimfx.addCommand({ name: "goto_config", description: "Config", }, ({vim}) => { vim.window.switchToTabHavingURI("about:config", true) }) map(",c", "goto_config", true) // vimfx.addCommand({ name: "search_bookmarks", description: "Search bookmarks", order: commands.focus_location_bar.order + 1, }, (args) => { let {vim} = args let {gURLBar} = vim.window gURLBar.value = "" commands.focus_location_bar.run(args) gURLBar.value = "* " gURLBar.onInput(new vim.window.KeyboardEvent("input")) }) map("b", "search_bookmarks", true) // vimfx.addCommand({ name: "copy_org", description: ""[[URL][title]]"でURLコピー", category: "location", }, ({vim}) => { let url = vim.window.gBrowser.selectedBrowser.currentURI.spec let title = vim.window.gBrowser.selectedBrowser.contentTitle let fmt = "[["+url+"]["+title+"]]" gClipboardHelper.copyString(fmt) vim.notify("Copied String: "+ fmt) }) map("co", "copy_org", true) // vimfx.addCommand({ name: "copy_rd", description: ""((<"title"|URL:URL>))"でURLコピー", category: "location", }, ({vim}) => { let url = vim.window.gBrowser.selectedBrowser.currentURI.spec let title = vim.window.gBrowser.selectedBrowser.contentTitle let fmt = "((<\""+title+"\"|URL:"+url+">))" gClipboardHelper.copyString(fmt) vim.notify("Copied String: "+ fmt) }) map("cr", "copy_rd", true) // vimfx.addCommand({ name: "foxyproxy_click_toolbar_button", description: "FoxyProxy", }, ({vim}) => { vim.window.document.getElementById("foxyproxy-toolbar-icon").click() }) map(".p", "foxyproxy_click_toolbar_button", true)
まとめ?
とりあえずコレ使ってみることにする.ライトユーザには充分じゃないかな.
(2017/01/28追記) proxy の切り替えは駄目っぽかったので削除.代わりにFoxyProxy Standard :: Add-ons for Firefoxを入れて,".p" で Foxyproxy のツールバーボタンを押すようにしてみた.
2017/01/31
_ udev で USB接続キーボードの keymap を変更する.
以前(平衡点(2015-06-01))では Xmodmap を使ってキー配列の remap をしていたのだけれど,
- 繋ぐ度に remap するのも面倒
- gnome-shell を再起動するとキーマップがリセットされる
ということで,割と面倒臭くて,どうにかならんかなぁ,と思っていたのだけれど.
どうも udev + evdev で key の remap ができる様なので試してみることに.
というわけで,/etc/udev/hwdb.d/99-BrackPawn.hwdb を作成し,中身を
evdev:input:b0003v0F39p0671* KEYBOARD_KEY_7008b=leftalt KEYBOARD_KEY_700e2=leftmeta
とした所,望み通りのキー配列になった.USB ケーブル差すだけで良いので,とても楽に.