2016年9月16日金曜日

タブの色をパスで分岐


パスで条件分岐し、タブに色を付けてみる。



以下を編集して取込。
KC_main = { ; PPcメイン窓
LOADEVENT ,*ifmatch "/C:\\Users\\tukasa\\Dropbox/",%1 %: *pane color ,_BLA,H507fff %: *stop
 *ifmatch "/D:\\bin/",%1 %: *pane color ,_BLA,He0feff %: *stop
 *ifmatch "/D:\\Data/",%1 %: *pane color ,_BLA,H7aa0ff %: *stop
 *ifmatch "/D:\\Download/",%1 %: *pane color ,_BLA,Heeeeaf %: *stop
 *ifmatch "/D:\\Temp/",%1 %: *pane color ,_BLA,H98fb98 %: *stop
 *ifmatch "/D:\\Work/",%1 %: *pane color ,_BLA,Hcce5ff %: *stop
 *pane color ,_AUTO,_AUTO
FIRSTEVENT ,*ifmatch "/C:\\Users\\tukasa\\Dropbox/",%1 %: *pane color ,_BLA,H507fff %: *stop
 *ifmatch "/D:\\bin/",%1 %: *pane color ,_BLA,He0feff %: *stop
 *ifmatch "/D:\\Data/",%1 %: *pane color ,_BLA,H7aa0ff %: *stop
 *ifmatch "/D:\\Download/",%1 %: *pane color ,_BLA,Heeeeaf %: *stop
 *ifmatch "/D:\\Temp/",%1 %: *pane color ,_BLA,H98fb98 %: *stop
 *ifmatch "/D:\\Work/",%1 %: *pane color ,_BLA,Hcce5ff %: *stop
 *pane color ,_AUTO,_AUTO
}

解説


LOADEVENTとFIRSTEVENTを使い、ディレクトリ読み込み時のイベントと、窓を開いた時のイベントを捉えている。

*ifmatchで条件分岐。この例では、

  • C:\Users\tukasa\Dropbox
  • D:\bin
  • D:\Data
  • D:\Download
  • D:\Temp
  • D:\Work

がパスに含まれているかどうかで分岐させているわけだ。各自の環境にあわせ、パスは置き換えよう。

タブの色は、

*pane color [ID][,[text color][,back color]]

で変えている。text color と back color の箇所を好きな色に変えればよい。色の指定は、

文字形式:
_BLA : 黒 _BLU : 青 _RED : 赤 _MAG : 紫
_GRE : 緑 _CYA : 明水色 _BRO : 黄色 _WHI : 白
_DBLA: 暗灰 _DBLU: 暗青 _DRED: 暗赤/茶 _DMAG: 暗紫
_DGRE: 暗緑 _DCYA: 暗水 _DBRO: 暗黄 _DWHI: 灰
_MGRE: 明緑 _SBLU: 水色/空 _CREM: 暗白 _GRAY: 明灰
_AUTO: 既定の色を使います。使用する色は項目毎に異なります。
※_MGRE,_SBLU,_CREM は 256色で正しく表示できません。

数値形式:
基本色以外は、Hbbggrr と、16進数で指定する。

とのこと。

2016年9月14日水曜日

PPxでツールバーのカスタマイズ

挨拶


つかさです。
今回はツールバーのカスタマイズについて。


今まではキーボード操作が基本でほとんど手を出してこなかったが、マウスを使うようになって、やっぱここもいじっといた方がいいよなと思うようになった。


ボタン用アイコンの準備


使用したいアイコン画像を、横並びに連結した画像ファイルを用意する。使用できる画像形式はbmpだが、各種プラグインがあれば他の形式でもいいみたいだ。



カスタマイザーでメニューを作成


カスタマイザーを開き、ボタンタブを選択する。
「種類」に表示されているのは登録済みのメニュー。B_から始まるのがツールバーメニューで、HM_から始まるのが隠しメニューだ。

まずは、「PPc標準ツールバー /B_cdf」を選択してみよう。



青い線で囲った箇所に、メニュー名「B_cdef」が入力されている。これを消して、新規メニュー名を入力する。ここでは「B_test」とする。


参照をクリックし、先に準備した画像を選択する。これでアイコン一覧が表示される。


  1. 利用したいアイコンをクリック
  2. 項目名に、ツールチップに表示する文字列を記述
  3. 登録内容詳細に、実行する内容を記述
  4. 設定をクリック


すると、新たにツールバーメニューB_testが作成され、そこに先に登録した項目が登録される。



次いで、2つ目の項目を登録する。

  1. 「種類」からB_testを選択
  2. 右上から新規を選択
  3. 利用したいアイコンをクリック
  4. 項目名に、ツールチップに表示する文字列を記述
  5. 登録内容詳細に、実行する内容を記述
  6. 設定をクリック



これで、二つ目の項目が登録される。 同様にして、項目を追加していく。
区切り線を挿入したい場合は、「線S」をクリックして、区切り線を挿入する。


項目を全て追加したら、適用をクリックしよう。

作成したツールバーを登録


「メニューバー - 表示 - レイアウト - 上部ドック」から、先に作成したツールバー(ここではB_test)を選択する。




 これで、B_testが登録される。


2016年9月10日土曜日

PPxをタブ型一画面で使う


挨拶


つかさです。
PPxをタブ型一画面で使ってみる。




こんなのです。僕は今までタブを活用したことがあまりなかったのだが、マウスを中心にするのならタブも悪くはないのではないかと思うようになった。

タブ型一画面にする


以下を編集して取込。

X_mpane = 1,1 ; 一体化時の最大同時表示ペイン数,起動時のペイン数
X_combo = 1 ; 複数 PPc を一体化 0:しない 1:する

これで

  • 一体型
  • ペイン数を1で固定

となる。

マウスジェスチャーを使えるようにする


マウスジェスチャーを利用し、Webブラウザのようにタブを扱えるようにする。

以下を編集して取込。

XC_Gest = 2 ; 右ボタンでジェスチャーを 0:しない 1:する 2:する+D&D可
MC_click = { ; PPc メイン窓
RG_DU ,%K"@BS"
RG_LR ,*pane newtab
RG_DR ,*pane closetab
RG_L ,*pane select h-1
RG_R ,*pane select h+1
}

これで

↓↑:親フォルダへ
←→:新しいタブを開く
↓→:タブを閉じる
←:左のタブへ
→:右のタブへ

という挙動になる。


2016年9月5日月曜日

PPxでマウスジェスチャー

あいさつ


いつの間にかPPvでもマウスジェスチャーができるようになっていた(俺が気づいてなかっただけだけど)。
これで、俺がいつか遠い昔に目指していた「片方の手だけで画像ファイル等をダラダラ閲覧する」ことが可能になる。そう、ブラウザでマウスジェスチャーだけで適当なサイトをダラダラ閲覧するように!
          ∧_∧         ⊂(´・ω・`)つ-、       ///   /_/:::::/        |:::|/⊂ヽノ|:::| /」     / ̄ ̄旦 ̄ ̄ ̄/|   /______/ | |   | |-----------| |
参考:片方の手だけでだらだらキーボード打ちたい

準備


以下を編集して取込。

XC_Gest = 2 ; 右ボタンでジェスチャーを 0:しない 1:する 2:する+D&D可
XV_drag = 0,1,3,2 ; ドラッグ開始ボタン スクロール,選択,窓移動,ジェスチャ(右のみ)
  ; 0:使用しない 1:左 2:右 3:中/ホイール 4:左右同時 5:第4 6:第5
MC_click = {
RG_L = @^LEFT
RG_R = @^RIGHT
RG_DU    ,%K"@BS"
RG_DR ,%K"@&F4"
}
MV_click = {
RG_L    ,*execute C,*cursor 6, -1 %: %KC"@N"
RG_R    ,*execute C,*cursor 6, 1 %: %KC"@N"
RG_U    ,%KC "@UP @N"
RG_D    ,%KC "@DOWN @N"
RG_DU ,%K-C"@BS@N"
RG_DR ,%K"@&F4"
LD_SPC ,*ifmatch attribute:d,%*extract(C"%%FCDN") %: %K-C"@Enter @N" %: *stop
 %K-C"@BS@N"
}


使い方


マウスジェスチャーは右クリックから行う。

PPc

→:履歴を進む
←:履歴を戻る
↓↑:上の階層へ
↓→:閉じる

PPv

→:右のファイルへ
←:左のファイルへ
↑:上のファイルへ
↓:下のファイルへ
↓↑:上の階層へ
↓→:閉じる
左ダブルクリック:フォルダ上なら下層移動。ファイル上なら上の階層へ


マウスジェスチャーは情報行に表示される。


右クリックから↓のマウスジェスチャーをすると下のファイルを表示する。



 PPvを閉じたい時は右クリックから↓→のマウスジェスチャー。


2016年8月7日日曜日

Linux Mint Xfceインストール時のメモ

Acer Aspire E11のHDDをSSDに換装した後、Linux Mint Xfceを入れてみた。その後にすることのメモ。

日本語化


$ sudo apt update
$ sudo apt dist-upgrade

としてパッケージを最新状態にした後、Fcitx-Mozc をインストールし、有効に。

$ sudo apt install fcitx-mozc --install-recommends
$ im-config -n fcitx

参考: 人気の「Linux Mint 17.2」/早速日本語入力を試す - ハルさんの電脳メモ 


輝度の調整



xbacklightをインストール。

$ sudo aptitude install xbacklight


次に、「セッションと起動」から「自動開始アプリケーション」を選んで「Add」。

名前:ディスプレイ輝度
説明:xbacklightで暗くする
コマンド:xbacklight -set 30

参考:LinuxMint17でのディスプレイ輝度の調整 - Raspi-Linux ガジェットベース


タッチパッドを無効化




僕のPCでは、タッチパッドを有効にしてると、なぜかたまにマウスカーソルが画面上を飛び回る愉快な状態になるので、無効化する。
スタートボタンをクリックし、「設定→マウスとタッチパッド」から無効化。


電池残量をタスクトレイに表示




タスクトレイを右クリックし、「パネル→新しいアイテムの追加」から「電源管理プラグイン」を追加。

Chrome


公式サイトからダウンロードし、インスコする。


Emacs


$ sudo apt install emacs

でインストール。次に、「.emacs」を編集し、以下を追加。

;;起動時の画面を消す
(setq inhibit-startup-message t)

;;アイコンを消す
(tool-bar-mode -1)

; 行番号表示
(require 'linum)
(global-linum-mode)

;; メッセージを消す
(setq initial-scratch-message "")

;; beep音を消す
(setq visible-bell t)
(setq ring-bell-function 'ignore)

;; *.~ とかのバックアップファイルを作らない
(setq make-backup-files nil)

;; .#* とかのバックアップファイルを作らない
(setq auto-save-default nil)

;; .emacs.dにパスを通す
(add-to-list 'load-path "~/.emacs.d")

;; howm-create2dir読み込み
(require 'howm-create2dir)

;; howmファイルをhowm2dirモードで開く
(setq auto-mode-alist
      (cons (cons "\\.howm$" 'howm-create2dir-mode) auto-mode-alist))

;; 文字コードをshift-jisに
(set-language-environment "Japanese")
(prefer-coding-system 'shift_jis)

次に、homeに「.emacs.d」フォルダを作成し、そこに以下のスクリプトを入れる(以前作ったやつをすっごく適当に改変したものなのでそのうち見直したい)。これで、Emacs起動後ミニバッファで「make-howm-create2dir-file」と入力すると、DropboxフォルダのTempフォルダにhowmを作成できる。
makehowm2dir.el 

;;; howmファイルを作成
(defun make-howm-create2dir-file (&optional howm-dir)
  (interactive)
  (let* ((filename (format-time-string "%Y-%m-%d-%H%M%S.howm"))
  (filepath
   (if howm-dir
       (concat (file-name-as-directory howm-dir) (format-time-string "%Y-%m-%d-%H%M%S.howm"))
     (format-time-string "Dropbox/Temp/%Y-%m-%d-%H%M%S.howm"))))
;;;     (format-time-string "%Y-%m-%d-%H%M%S.howm"))))
    (find-file filepath)
    (if (eq (point-max) (point-min))
 (progn
   (insert (format-time-string "= \n\n[%Y-%m-%d %H:%M]\n"))
   (goto-char (+ (point-min) 2))))
    ))

;;; howmファイルを作成2
(defun make-howm-create2dir-file2 ()
  (interactive)
  (let* ((filename (format-time-string "%Y-%m-%d-%H%M%S.howm"))
  (filepath (format-time-string "%Y-%m-%d-%H%M%S.howm")))
    (find-file filepath)
    (if (eq (point-max) (point-min))
 (progn
   (insert (format-time-string "= \n\n[%Y-%m-%d %H:%M]\n"))
   (goto-char (+ (point-min) 2))))
    ))


;;; 本体
(defun howm-create2dir (arg)
  (if (file-directory-p arg)
      (progn
 (make-howm-create2dir-file arg)
 (howm-create2dir-mode))))

;;; メジャーモード
(define-derived-mode howm-create2dir-mode nil "howm2dir"
       "homu mode"
       (define-key howm-create2dir-mode-map "\C-c,c" 'make-howm-create2dir-file2)
       (define-key howm-create2dir-mode-map (kbd "C-:") 'hateda-heading)
       (define-key howm-create2dir-mode-map (kbd "C-]") 'hateda-heading2)
       (font-lock-add-keywords
        nil
        '(("^\\*\\*\\*.*\n" . my-face-b-1)
   ("^\\*\\*.*\n" . my-face-b-2))))

;;; フェイス
(defface my-face-b-1 '((t (:foreground "white" :background "SteelBlue"))) nil)
(defface my-face-b-2 '((t (:foreground "white" :background "blue"))) nil)
(defvar my-face-b-1 'my-face-b-1)
(defvar my-face-b-2 'my-face-b-2)

;;; 行頭に見出しをつける
(defun hateda-heading ()
  (interactive "*")
  (save-excursion
    (beginning-of-line)
    (insert "**")))

(defun hateda-heading2 ()
  (interactive "*")
  (save-excursion
    (beginning-of-line)
    (insert "*")))

(provide 'howm-create2dir)
(provide 'howm-create2dir-mode)

Guake-terminal




F12を押すと上から降りてきて、もう一度F12を押すと戻っていくターミナル。

$ sudo apt-get install guake -y

でインストール。
次に、スタートボタンをクリックし、

「設定→設定マネージャー→セッションと起動→自動開始アプリケーション→追加」から、名前にguake、コマンドに「bash -c 'sleep 5s; guake'」と入力して、システム起動時に起動するようにする。


参考:Linuxmintでguake - 鶏口牛後

DropBox



公式サイトに行ってダウンロードし、インストールする。ついで、

$ dropbox start -i

とコマンドを打つと起動する。


Atom


Markdownをやるためにインスコする。


$ sudo add-apt-repository ppa:webupd8team/atom
$ sudo apt-get update
$ sudo apt-get install atom

参考:Ubuntu 15.04 LinuxMint 17 に Atomをインストールする - VariedTasteFinder

ranger




ターミナルで起動するファイラ。

まずは、ranger本体と必要なパッケージをインストールする。

$ sudo apt-get install ranger nkf w3m lynx highlight atool mediainfo xpdf caca-utils ranger --copy-config=all

次に、設定ファイルを作成する。

$ ranger --copy-config=all

scope.shを編集。テキストファイルが文字化けしないようにし、かつ枠の幅で折り返すようにする。nkfというコマンドとfoldというコマンドを使えばよさそう

#!/usr/bin/env sh
# ranger supports enhanced previews.  If the option "use_preview_script"
# is set to True and this file exists, this script will be called and its
# output is displayed in ranger.  ANSI color codes are supported.

# NOTES: This script is considered a configuration file.  If you upgrade
# ranger, it will be left untouched. (You must update it yourself.)
# Also, ranger disables STDIN here, so interactive scripts won't work properly

# Meanings of exit codes:
# code | meaning    | action of ranger
# -----+------------+-------------------------------------------
# 0    | success    | success. display stdout as preview
# 1    | no preview | failure. display no preview at all
# 2    | plain text | display the plain content of the file
# 3    | fix width  | success. Don't reload when width changes
# 4    | fix height | success. Don't reload when height changes
# 5    | fix both   | success. Don't ever reload

# Meaningful aliases for arguments:
path="$1"    # Full path of the selected file
width="$2"   # Width of the preview pane (number of fitting characters)
height="$3"  # Height of the preview pane (number of fitting characters)

maxln=200    # Stop after $maxln lines.  Can be used like ls | head -n $maxln

# Find out something about the file:
mimetype=$(file --mime-type -Lb "$path")
extension=${path##*.}

# Functions:
# runs a command and saves its output into $output.  Useful if you need
# the return value AND want to use the output in a pipe
try() { output=$(eval '"$@"'); }

# writes the output of the previouosly used "try" command
dump() { echo "$output"; }

# a common post-processing function used after most commands
trim() { head -n "$maxln"; }

# wraps highlight to treat exit code 141 (killed by SIGPIPE) as success
highlight() { command highlight "$@"; test $? = 0 -o $? = 141; }

case "$extension" in
    # Archive extensions:
    7z|a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\
    rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)
        try als "$path" && { dump | trim; exit 0; }
        try acat "$path" && { dump | trim; exit 3; }
        try bsdtar -lf "$path" && { dump | trim; exit 0; }
        exit 1;;
    rar)
        try unrar -p- lt "$path" && { dump | trim; exit 0; } || exit 1;;
    # PDF documents:
    pdf)
        try pdftotext -l 10 -nopgbrk -q "$path" - && \
            { dump | trim | fmt -s -w $width; exit 0; } || exit 1;;
    # BitTorrent Files
    torrent)
        try transmission-show "$path" && { dump | trim; exit 5; } || exit 1;;
    # HTML Pages:
    htm|html|xhtml)
        try w3m    -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; }
        try lynx   -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; }
        try elinks -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; }
        ;; # fall back to highlight/cat if the text browsers fail
esac

case "$mimetype" in
    # Syntax highlight for text files:
    text/* | */xml)
        try nkf "$path" && { dump | trim | fold -b -w $width; exit 5; } || exit 2;;
    # Ascii-previews of images:
    image/*)
        img2txt --gamma=0.6 --width="$width" "$path" && exit 4 || exit 1;;
    # Display information about media files:
    video/* | audio/*)
        exiftool "$path" && exit 5
        # Use sed to remove spaces so the output fits into the narrow window
        try mediainfo "$path" && { dump | trim | sed 's/  \+:/: /;';  exit 5; } || exit 1;;
esac

exit 1

参考


2016年7月23日土曜日

CyberFoxをインスコした後にやることのメモ

CyberFoxをインスコした時の設定メモです。

日本語化


Language Managerを利用する。

参考:Cyberfoxを簡単に日本語化できる「Language Manager」 - ハルパス


アドオン



FireGesturesは、マウスジェスチャーを有効にするアドオン。設定から、

  • 前のタブへ…マウスを右クリックしながら上にマウスを移動
  • 次のタブへ…マウスを右クリックしながら下にマウスを移動

という割当に変える。 これは、Tab Treeとの関係上こうしたほうが便利なため。



Gmail Notifier は、Gmailが届いたら、ツールバーアイコンとポップアップで知らせてくれるアドオン。特に難しい設定はしなくても、CyberFoxでGmailにログインしていたらいいらしい。

IME自動無効は、ロケーションバーに行ったら自動でIMEを無効にしてくれるアドオン。

Tab Treeは、 タブをツリー型にしてくれるアドオン。ツリー型タブというアドオンもあるが、こっちのほうがkikiっぽくていい。

ツリー型の何が素晴らしいかということは、十年前くらいに散々議論されてきただろうことなので(多分)特に言わないが、調べ物をしててたくさんタブを開きたい、一つのページからリンクを開きまくりたい、という時に、ツリーで階層構造を再現できるというのは非常に便利なのだ。


設定項目がたくさんあるので、いつか調べて記事にしてまとめるかもしれない。

参考

 

KiKiに一目惚れ! - 覚えられませんっ
Firefox2をKIKI似にしたい  - 覚えられませんっ

QuickDragは、調べたい単語とかリンクとかを選択してDrag&Dropすると新しいタブで検索してくれたり開いたりしてくれるアドオン。

uBlock Originは広告をブロックするアドオン。


2016年6月23日木曜日

PC自作した【十数年ぶり二度目】

十何年かぶりにPCを自作したのでそのメモ。
CPU用電源のケーブルを挿し忘れて「なんで起動しないんだよ!」と焦ったのは内緒だ。

about My Machine


  • 【CPU】Intel CPU Core i5-6500 3.2GHz
  • 【マザボ】ASUSTeK H110M-A
  • 【メモリ】CORSAIR DDR4 8GB×2 CMK16GX4M2A2666C16
  • 【電源】ANTEC NE650C
  • 【光学ドライブ】DRW-1814BLT
  • 【HDD】WD HDD 3.5インチ 1TB Blue WD10EZEX/N
  • 【SSD】Crucial CT240BX200SSD1
  • 【ケース】Define R5
  • 【グラボ】無し
  • 【OS】 Windows10



インストール後の設定


  • 環境変数にXYZZYHOMEを登録
  • スタートアップへのソフト登録。パスはC:\Users\ [ユーザー名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
  • 規定のIMEをGoogle日本語入力に。「コントロールパネル」>「すべてのコントロールパネル項目」>「言語」>「詳細設定」で上から2番めの項目「既定の入力方式の上書き」でGoogle日本語入力を選択
  • Screensaversを適当に設定
  • フォントをインストール

インストールしたソフト


  • マザボ(H110M-A)のドライバ
  • Office2007+SaveAsPDFandXPS.exe
  • Scribus
  • steam
  • Google日本語入力
  • Chrome
  • PDF-XChange Viewer
  • GhostScript
  • PDFTK
  • Caldix
  • MusicBee
  • DropBox
  • 7 Taskbar Tweaker(時刻表示のため)
  • Apache OpenOffice
  • FlashPlayer