平衡点


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/25

_ 再びxmlrpcのテスト

試しに有効にしてみたが、書き込めるかしら...。

いけてる様だ.

_ ついでに Org style も試してみる.

いけてる様ですね.よしよし

... と思ったが,あんまり良くないな. うーむ...


2017/01/26

_ Vimperator から VimFx に代えてみた.

sid に Firefox 51 が落ちてきて,例によって vimperator が動かなくなった.

「とりあえず 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 ケーブル差すだけで良いので,とても楽に.


連絡先など
最近の日記
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|
Back to Top ▲