ログイン
編集不可のページディスカッション情報添付ファイル
"clear/misc"の差分

MMA
9と10のリビジョン間の差分
2011-05-10 01:20:40時点のリビジョン9
サイズ: 1772
編集者: clear
コメント:
2011-09-18 22:15:47時点のリビジョン10
サイズ: 1648
編集者: clear
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 1: 行 1:
いろいろ = 小物類いろいろ =
作りっぱなし置きっぱなし。
行 3: 行 4:
=== お手軽ストップウォッチ ===
1秒未満の精度がいらないとき用。英語の課題でスピーチの原稿を書いているとき、時間が測りたくなって5分足らずで書いた。このとき`difftime()`の存在を初めて知った。
 * `clock_t`と`clock()`を使って`(end - start) / CLOCKS_PER_SEC`の方が良かった気がする
{{{#!highlight c
/* stopwatch.c */

#include <stdio.h>
#include <time.h>

int main(void)
{
    time_t start, end;

    puts("Enter to start:");
    getchar();
    start = time(NULL);

    puts("Enter to stop:");
    getchar();
    end = time(NULL);

    printf("%.0f sec.\n", difftime(end, start));

    return 0;
}
}}}

=== セルフタイマー付きでスクリーンショットを撮る ===
一定時間`sleep`した後、ImageMagickの`import`を使って画面全体のキャプチャをするだけ。
 * すぐに制御を返すので、このコマンド自体のコマンドラインを隠せる
== スクリーンショット ==
=== タイマー付き、画面全体 ===
すぐに制御を返す。
行 48: 行 22:
=== クリックしたウィンドウのスクリーンショットを撮る === === クリックしたウィンドウ ===
実行するとマウスポインタが十字になる
スクリーンショットを撮りたいウィンドウをクリックす
行 53: 行 28:
 * 実行するとマウスポインタが十字になるのでスクリーンショットを撮りたいウィンドウをクリック
 * GUIのファイラで見ることを想定して、`date`でファイル名を生成

== dwm用ステータスバー ==
環境や起動の仕方によってはdwmが終了しても生き残る場合があるので、そのような場合は生存確認をする。
{{{
pgrep -aU $(id -u) dwm
if [ $? -eq 1 ]; then
    exit 0
else
    sleep 30
fi
}}}
=== バッテリ状態+シンプルな時計 ===
あまり画面に余裕のないラップトップ用。
{{{#!highlight sh
#!/bin/sh
while true; do
    b=$(acpi)
    state=$(echo $b | awk 'BEGIN{s=" "}/Discharging/{s="- "}/Charging/{s="+ "}END{print s}')
    remain=$(echo $b | awk '{print $4}'|tr -d '%,')
    xsetroot -name "$remain$state$(date +"%H:%M")"
    sleep 30
done
}}}

=== 普通の時計 ===
月日と曜日、時刻。
{{{#!highlight sh
#!/bin/sh
while true; do
    xsetroot -name "$(date +"%m/%d(%a) %H:%M")"
    sleep 30
done
}}}

小物類いろいろ

作りっぱなし置きっぱなし。

スクリーンショット

タイマー付き、画面全体

すぐに制御を返す。

   1 #!/usr/local/bin/bash
   2 if [ $# -eq 0 ]
   3 then
   4     echo "usage: desktopcap filename [sleeptime]"
   5     exit 0
   6 elif [ $# -eq 2 ]
   7 then
   8     sleeptime=$2
   9 else
  10     sleeptime=0
  11 fi
  12 (sleep $sleeptime; import -window root $1; echo "captured.")&

クリックしたウィンドウ

実行するとマウスポインタが十字になるのでスクリーンショットを撮りたいウィンドウをクリックする。

   1 #!/bin/sh
   2 id=$(xwininfo | grep "Window id:" | awk '{ print $4 }') && import -window $id $(date +"~/picture/scrnshot/scrnshot%y%m%d%H%M%S.png")

dwm用ステータスバー

環境や起動の仕方によってはdwmが終了しても生き残る場合があるので、そのような場合は生存確認をする。

pgrep -aU $(id -u) dwm
if [ $? -eq 1 ]; then
    exit 0
else
    sleep 30
fi

バッテリ状態+シンプルな時計

あまり画面に余裕のないラップトップ用。

   1 #!/bin/sh
   2 while true; do
   3     b=$(acpi)
   4     state=$(echo $b | awk 'BEGIN{s=" "}/Discharging/{s="- "}/Charging/{s="+ "}END{print s}')
   5     remain=$(echo $b | awk '{print $4}'|tr -d '%,')
   6     xsetroot -name "$remain$state$(date +"%H:%M")"
   7     sleep 30
   8 done

普通の時計

月日と曜日、時刻。

   1 #!/bin/sh
   2 while true; do
   3     xsetroot -name "$(date +"%m/%d(%a) %H:%M")"
   4     sleep 30
   5 done

clear/misc (最終更新日時 2013-05-31 16:43:07 更新者 clear)