screen で起動している別の window のワーキングディレクトリを補完したい
みなさん当然 cdd というのをつかっているんじゃないかと思いますが、cd 以外のときでも別の window のディレクトリを入力したいときがあるかと思いますので、zsh ユーザのかたであれば cdd の末尾に以下のように追加致しますと、[補完したい window の数字]C-x i と入力することで、指定 window のディレクトリが補完されるようになります。
function screen-cd () {
local MATCH
LBUFFER=${LBUFFER%%(#m)[0-9]#}
local -A arg
arg=$MATCH
if grep "^$arg:" "$CDD_PWD_FILE" > /dev/null 2>&1 ;then
local -A res
res=`grep "^$arg:" "$CDD_PWD_FILE"|sed -e "s/^$arg://;"|tr -d "\n"`
LBUFFER+=$res
fi
}
zle -N screen-cd
bindkey "^Xi" screen-cd
gerry++
✖
gerry++
Mac でデフォルトブラウザを変えるだけのコマンド
// #!gcc -framework Cocoa set_default_browser.m -o set_default_browser && ./set_default_browser com.google.Chrome
// bundleID = Appbundle.app/Contents/Info.plist CFBundleIdentifier
// eg:
// com.apple.Safari
// com.google.Chrome
// org.mozilla.firefox
// com.operasoftware.Opera
#import <Cocoa/Cocoa.h>
int main(int argc, char* argv[]) {
if (argc < 2) return 1;
printf("Set Default Browser to %s\n", argv[1]);
CFStringRef bundleID = CFStringCreateWithCString(NULL, argv[1], kCFStringEncodingASCII);
if (bundleID == NULL) return 2;
OSStatus httpResult = LSSetDefaultHandlerForURLScheme(CFSTR("http"), bundleID);
OSStatus httpsResult = LSSetDefaultHandlerForURLScheme(CFSTR("https"), bundleID);
if (httpResult == noErr && httpsResult == noErr) {
return 0;
} else {
return 1;
}
}
Plack::App::CocProxy
いろいろ纏めたり修正したりして CPAN にあげました。https://github.com/cho45/Plack-App-CocProxy
cocproxy というコマンドを同梱して、これがちょっと便利です (カレントディレクトリを基準ディレクトリにして置換プロキシを起動する)
gerry++
nginx で https を期待して listen してるポートに http でリクエストしてくるクライアントを強制的に https に飛ばしなおすには error_page 497
server {
ssl on;
listen 81 default ssl;
server_name foobar.hatena.ne.jp;
error_page 497 https://foobar.hatena.ne.jp:81/;
gerry++
一時的に端末の横幅を制限する
ゆとり世代の人が w3m とかをそのまま起動すると、画面サイズがでかいターミナルに文章が間延びして表示されて読みにくいわけなので、こういうとき一時的に幅を制限したいなあと思いそういうコマンドがあったらいいなあと思いました。コマンドに関してはよくわからなかったですが、screen のインタラクティブに入って
:width -w 80
とかやったらとりあえずうまくいったのでよかったです。戻しかたがよくわからないですが、ターミナルのウィンドウを動かすとリセットされる……
:width -d
だと微妙に戻るんですが、最大まではもどらないみたいです!