Firefox で閲覧中の画面を Emacs からスムーススクロールする elisp
こちらの記事に触発されて、Firefox + mozrepl 版を書いてみた。
mozrepl が動く環境であれば Windows でも Linux でも動くと思います。
まだまだ便利な機能は作れそう。
Google Chromeで閲覧中のページをEmacsからスクロールする ※Mac限定
http://d.hatena.ne.jp/ramusara/20110211
ソース
(defvar moz-scroll-ratio "60") ;; スクロール量の比率。100(%)で1ページ毎のスクロール。 (defvar moz-scroll-time "60") ;; アニメーション時間。高いほどゆっくりに。 (defun moz-send-line (str) (interactive) (comint-send-string (inferior-moz-process) (concat moz-repl-name ".pushenv('printPrompt', 'inputMode'); " moz-repl-name ".setenv('inputMode', 'line'); " moz-repl-name ".setenv('printPrompt', false); undefined; ")) (comint-send-string (inferior-moz-process) (concat str "; ")) (comint-send-string (inferior-moz-process) (concat moz-repl-name ".popenv('inputMode', 'printPrompt'); undefined;\n"))) (defun moz-scroll-down () (interactive) (moz-send-line (concat "(function(){var t=" moz-scroll-time ",r=" moz-scroll-ratio " ;var i=0,w =document.documentElement,s=gBrowser.selectedBrowser.contentWindow.scrollY,e=s+w.clientHeight/(100/r),v=(e-s)/t,c=s;for(i;i<t;i++){setTimeout(function(){c+=v;content.scrollTo(0,c);},i+1)}})();"))) (defun moz-scroll-up () (interactive) (moz-send-line (concat "(function(){var t=" moz-scroll-time ",r=" moz-scroll-ratio " ;var i=0,w =document.documentElement,s=gBrowser.selectedBrowser.contentWindow.scrollY,e=s+w.clientHeight/(100/r),v=(e-s)/t,c=s;for(i;i<t;i++){setTimeout(function(){c-=v;content.scrollTo(0,c);},i+1)}})();"))) (defun moz-prev-tab () (interactive) (moz-send-line "gBrowser.mTabContainer.advanceSelectedTab(-1, true)")) (defun moz-next-tab () (interactive) (moz-send-line "gBrowser.mTabContainer.advanceSelectedTab(1, true)")) ;;(global-set-key (kbd "c-x ret <up>") 'moz-scroll-up) ;; C-x C-m C-p ;;(global-set-key (kbd "c-x ret <down>") 'moz-scroll-down) ;; C-x C-m C-n ;;(global-set-key (kbd "c-x ret del") 'moz-prev-tab) ;; C-x C-m C-h ;;(global-set-key (kbd "c-x ret c-l") 'moz-next-tab) ;; C-x C-m C-l
GAE Deploy 時に 500 Internal Server Error
デプロイ時に何やら 500 Internal Server Error が発生していた。
Unable to update: java.io.IOException: Error posting to URL: https://appengine.google.com/api/appversion/create?app_id=sandbox&version=1.0& 500 Internal Server Error Server Error (500) A server error has occurred. at com.google.appengine.tools.admin.ServerConnection.send(ServerConnection.java:153) at com.google.appengine.tools.admin.ServerConnection.post(ServerConnection.java:86) at com.google.appengine.tools.admin.AppVersionUpload.send(AppVersionUpload.java:582) at com.google.appengine.tools.admin.AppVersionUpload.beginTransaction(AppVersionUpload.java:400) at com.google.appengine.tools.admin.AppVersionUpload.doUpload(AppVersionUpload.java:112) at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:56) at com.google.appengine.eclipse.core.proxy.AppEngineBridgeImpl.deploy(AppEngineBridgeImpl.java:271) at com.google.appengine.eclipse.core.deploy.DeployProjectJob.runInWorkspace(DeployProjectJob.java:146) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
結果的に原因はバージョン番号。
Maven などの慣習で無意識に 1.0 などと少数点を含みバージョンを指定していたのだけど、整数値にしたら無事にデプロイ成功。
あまり嵌る事はないと思うけど、エラーから原因は分かりにくいので念の為共有。
statusline-toolbar.js の背景色
※4/2 更新 最新の stautsline-toolbar.js だと効かなくなっていたので修正。
statusline-toolbar.js を早速入れてみた。
ただ、Mac だと -moz-appearance: toolbar な背景色になっていたので、statusline と同じ色になる様に vimpwhite.vimp に追記。
style -name toolbar-background chrome://* #liberator-customize-toolbar { padding-left: 5px !important; -moz-appearance: none !important; }
anything-gist.el が便利
gist が emacs から直接編集できてとても便利なのですが、自分の環境ではどうにも動かなかったので少し修正。
変更点は大きく2点。
- wget に --no-check-certificate オプションを追加
- 既に gist が存在する場合 git pull する様に変更
https://gist.github.com/862360
@@ -156,7 +158,7 @@ (delete-region (point-min) (point-max)) (insert (shell-command-to-string (concat - "wget -q http://gist.github.com/" + "wget --no-check-certificate http://gist.github.com/" id ".txt -O -"))) (goto-char (point-min)) @@ -168,7 +170,7 @@ (with-current-buffer gist-buffer (insert (shell-command-to-string (concat - "wget -q http://gist.github.com/" + "wget --no-check-certificate -q http://gist.github.com/" id ".txt -O -"))) (switch-to-buffer gist-buffer)))))) @@ -206,26 +208,26 @@ ("view" . (lambda(obj-name) (anything-gist-fetch (nth 2 (split-string obj-name))))) - + ("edit" . (lambda(obj-name) + (setq gist-id (nth 2 (split-string obj-name))) (setq gist-tmp-dir - (concat temporary-file-directory - (nth 2 (split-string obj-name)))) + (concat temporary-file-directory gist-id)) (set-process-sentinel (start-process "anything-gist-clone" "*anything-gist-clone*" shell-file-name - shell-command-switch - (concat "cd " - temporary-file-directory - " && git clone git@gist.github.com:" - (nth 2 (split-string obj-name)) - ".git")) + shell-command-switch + (if (file-directory-p gist-tmp-dir) + (concat "cd " gist-tmp-dir " && git pull") + (concat "cd " temporary-file-directory + " && git clone git@gist.github.com:" + gist-id ".git"))) '(lambda (process event) (directory-walker #'find-file-save-hook gist-tmp-dir)))
Reference
anything-gist.elをまたまたアップデート
http://sheephead.homelinux.org/2010/11/24/6396/
simple-hatena-mode から投稿テスト
投稿テスト
(require 'simple-hatena-mode) (setq simple-hatena-default-id "tlync") (setq simple-hatena-bin "~/Scripts/hw.pl") (setq simple-hatena-root "~/.hatena") (add-hook 'simple-hatena-mode-hook '(lambda () (turn-on-screen-lines-mode) (require 'hatenahelper-mode) (hatenahelper-mode 1))) (global-set-key (kbd "C-z h c") 'simple-hatena) (define-key simple-hatena-mode-map (kbd "C-c <down>") 'simple-hatena-find-diary-for) (define-key simple-hatena-mode-map (kbd "C-c <left>") 'simple-hatena-go-back) (define-key simple-hatena-mode-map (kbd "C-c <right>") 'simple-hatena-go-forward) (define-key simple-hatena-mode-map (kbd "C-c o") 'simple-hatena-open-current-url) (define-key simple-hatena-mode-map (kbd "C-c p") 'simple-hatena-submit) (define-key simple-hatena-mode-map (kbd "C-c t") 'simple-hatena-trivial-submit)
HootSuite を少しだけ見栄えよくするユーザースタイル
最近、HootSuite を使いはじめたのですが、日々使うものは自分好みにカスタマイズしたいという欲求に駆られるので、早速ユーザースタイルを作成。
http://userstyles.org/styles/44638?r=1298776784
# Steel Blue, Classic テーマ専用
変更内容は下記の通り。
#3/7に少し更新。
- 表示量を増やす為、文字密度の調整
- 文字をはっきりと表示する為にテキストシャドウを調整
- フッターの非表示化
- コンテンツと UI 要素の font family が一緒で間延びした印象があるのでフォントスタイルを若干調整。
ちょっとした変更ですが、いつもより少し気持ち良く HootSuite が使えます ;)
Add-On Bar を非表示にする
vimperator 3.0pre の最近の latest をインストールすると、下記の様にステータスバーの上に Add-On Bar が表示される様になっています。
自分の場合は特に使う事が無い上、見た目も悪いので非表示にしたい、という事でその方法をメモ。
set gui+=noaddons