Chrome / 技術情報 / Windows アプリケーション別ユーザプロファイルにして特定サイト専用Chromeを作る

別ユーザプロファイルにして特定サイト専用Chromeを作る

概要

  • Chromeは起動時に–user-data-dirオプションを付けるとユーザプロファイルを格納するフォルダを指定できる。
  • Chromeを起動するショートカットアイコンでこのオプションを付けて起動する事で、通常のユーザプロファイルとは別のユーザプロファイルでChromeを利用する事が出来る。
  • また、起動オプションにURLを指定して、Chrome起動時に自動的に特定サイトが開かれるようにする。
  • 今回はGmail専用Chromeを作る。このChromeはGmail専用な為、別のChromeを起動してGmailとは違うアカウントでGoogleにログインして、マルチアカウントでGoogleの各種サイトにアクセスする事が出来る。

手順

ユーザプロファイルフォルダ作成

  • 新しいユーザプロファイルを格納するフォルダを作る。今回は以下のようにした。
    • “C:\Users\taro\AppData\Roaming\Google2”

Chromeのショートカットアイコンの作成

  • Chromeの実行ファイルを探す。今回は以下の通りだった。
    • “C:\Program Files (x86)\Google\Chrome\Application\chrome.exe”
  • デスクトップ等に右ドラッグしてショートカットアイコンを作る。
  • アイコンを右クリックしてプロパティを開く。
  • リンク先が以下のようになっているので、
    • “C:\Program Files (x86)\Google\Chrome\Application\chrome.exe”
  • これを以下のように変更する。
    • “C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” –user-data-dir=”C:\Users\taro\AppData\Roaming\Google2″ “https://mail.google.com/”
  • ショートカットアイコンをダブルクリックしてChromeを起動する。
  • タスクバー上のChromeのアイコンを右クリックして”タスクバーにピン留する”を選ぶ。
  • これでこのアイコンでChromeを起動すると通常とは別のユーザプロファイルとなり、かつ指定したGmailのURLで起動する。

ショートカットアイコンのアイコン画像変更

  • www.easyicon.net/language.ja/ で適当なGmailのアイコンを探して、ダウンロードする。
  • タスクバー上のChromeのアイコンを右クリックして「プロパティ」を開く。
  • 「ショートカット」タブの「アイコンの変更」ボタンを押下する。
  • 先ほどダウンロードしたアイコンファイルを指定する。
  • OKでプロパティウィンドウを閉じる。

プロファイルの確認

  • ショートカットでChromeを起動する。
  • アドレスバーに以下の文字列を入力して、表示されるプロフィールパスを確認する。
chrome://version/

Chrome / 技術情報 / Windows アプリケーションユーザーデータのバックアップとリストア

ユーザーデータのバックアップとリストア

バックアップ

  • Chromeを終了する。
  • 以下にあるDefaultフォルダを適当なバックアップ先にコピーする。
    • C:\Users\taro\AppData\Local\Google\Chrome\User Data
  • なお、Defaultフォルダが見つからない場合は、Chromeを起動して、URLバーに と入力して開き、プロフィールパスを確認すること。

複数のユーザーがある場合

  • 通常は(User Dataフォルダ以下の)Defaultフォルダがユーザーデータの実体だが、Chrome上で複数のユーザーを登録している場合は、ユーザーごとにフォルダがある。
  • 例えば、Defaultフォルダ以外に、Profile 1フォルダ、Profile 2フォルダなどがある。
  • 次の手順でリストアする時は、Defaultフォルダ以外の、それらのフォルダもコピーしてリストアすること。

リストア

  • 別マシンのChromeを起動する。
  • 上のパスにあるDefaultフォルダを削除する。
  • バックアップしたDefaultフォルダを上のパスにコピーする。

参考

Chrome / 技術情報 / Windows アプリケーションChrome ユーザスタイルシート等でダークテーマ導入

Chrome ユーザスタイルシート等でダークテーマ導入

1.ユーザースタイルシート

  • メジャーなユーザースタイルシートカスタマイズ拡張機能Stylishは以下の2つ。
  • 共に似たような機能を持つが、Stylishはコミュニティで提供されているスタイルシートが豊富で、Stylebotのそれより質が高いように思われる。
  • Stylebotはコミュニティ提供のスタイルシートは少なく質が悪いが、自分で編集する場合の編集機能は優れている。
  • したがって、GoogleやMicrosoftなどメジャーなウェブサイトの場合、まずはStylishで好みのコミュニティスタイルシートを探す。そこで良いものが見つからなければ、Stylebotで自分でスタイルシートを編集すると良いと思う。

2. 拡張機能 Night Mode Pro による強制ダークモード導入

  • Night Mode Pro mybrowseraddon.com/night-mode.html
  • ウェブページの白黒を反転させて表示する拡張機能。同種の拡張機能は他にもあるが、これが一番出来が良さそう。
  • ただし、機械的に反転表示させているので、不自然な表示になるウェブページも多い。

3. 拡張機能 ハイ コントラスト による強制ハイコントラスト導入

  • Google提供の拡張機能。同種の拡張機能は他にもあるが、いまいち違いが分からないので、Google純正のを使っておいた方が無難だろう。

解説

  • ダークテーマを導入したいウェブサイトがある場合、基本的なスタンスとして、
  • まず1.のユーザスタイルシートを試みる。
  • コミュニティスタイルシートが存在しなかったり、自分でユーザースタイルシートを編集するのが難しかったウェブサイトの場合は、
  • 2.のNight Mode Proを導入する。
  • Night Mode Proを導入してもしっくりこなかった場合は、3.のハイコントラストを使うと良いだろう。

ダークモード導入Chromeのプロファイルを別にする

  • 上のような方法でダークテーマを導入すると当然オリジナルのウェブサイトの見え方が分からなくなる。
  • したがって、IEやEdge、Firefoxのようなブラウザをオリジナルのウェブサイト閲覧用に用意するか、Chrome以外のブラウザを使いたくない場合はプロファイルを新規作成して、どこにダークモードを導入するとよいだろう。
  • プロファイルの新規作成の仕方はこのウィキなどに説明がある。

Chrome / 技術情報 / Windows アプリケーションアドレスバーに検索エンジンを追加

アドレスバーに検索エンジンを追加

  • パソコンで Chrome を開きます。
  • 右上の詳細アイコン その他 次へ [設定] の順にクリックします。
  • [検索] セクションにある [検索エンジンの管理] をクリックします。
  • [その他の検索エンジン] で、次の操作を行うことができます。
  • 検索エンジンを追加する: フィールドに入力して検索エンジンを設定します。
  • 検索エンジンを編集する: 検索エンジンが表示されている場合は、選択してフィールドを編集します。
  • 検索エンジンを削除する: 検索エンジンを選択し、行の端に表示される [X] をクリックします。
  • 既定の検索エンジンを設定する: 検索エンジンにカーソルを合わせて [デフォルトに設定] をクリックします(このボタンが表示されない場合は、URL を編集する必要があります)。
  • [完了] をクリックします。

検索URL

http://eow.alc.co.jp/search?q=%s
https://ja.wikipedia.org/wiki/%s
https://en.wikipedia.org/wiki/%s
http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=%s site:superuser.com

参考

support.google.com/chrome/answer/95426?co=GENIE.Platform%3DDesktop&hl=ja

Chocolatey / 技術情報 / Windows アプリケーションインストール先の変更

インストール先の変更

chocoコマンドのオプション

  • -iaオプションでインストーラーにパラメータを渡す。
  • -oオプションでインストーラーが(サイレントインストールではなく、実際にインストーラーダイアログが表示されて)起動する。

参考

github.com/chocolatey/choco/wiki/CommandsInstall#options-and-switches

インストール時のパラメータの確認

  • パッケージの詳細ページを開き、(例えば、 chocolatey.org/packages/python2
  • Files項のtools\chocolateyInstall.ps1を開く。
  • 以下のようにTARGETDIRの指定等が確認出来る。これをchocoコマンドのオプションで上書き指定する。
$packageName = 'python2'
$url = 'https://www.python.org/ftp/python/2.7.11/python-2.7.11.msi'
$url64 = 'https://www.python.org/ftp/python/2.7.11/python-2.7.11.amd64.msi'
$version = '2.7.11'
$fileType = 'msi'
$partialInstallArgs = '/qn /norestart ALLUSERS=1 TARGETDIR='

インストーラー種別指定

MSI形式

choco install foo -ia 'INSTALLDIR=C:\bar'
choco install foo -ia 'TARGETDIR=C:\bar'

Inno Setup形式

choco install foo -ia '/DIR=C:\bar'

Git for Windows

CMD> choco install git.install -ia '/DIR=C:\Git'

PowerShellからだと何故か動作しない?

Python 2

choco install python2 -y -o -ia "'/qn /norestart ALLUSERS=1 TARGETDIR=C:\Python2'"

参考

Chocolatey / 技術情報 / Windows アプリケーションインストーラー版とポータブル版

インストーラー版とポータブル版

インストーラー版とポータブル版の違い

  • インストーラー版はMSI等のそのアプリケーションのインストーラーを利用してインストールされる。Chocolatey上では仮想パッケージとしてインストールされ、実際のファイルはそのインストーラーに従って設置される。(C:\Program Files以下等)
  • ポータブル版はそのアプリケーションのインストーラーは使わず、Chocolateyの管理フォルダ以下に設置される。(C:\ProgramData\chocolatey\lib\以下等)

Gitインストール例

コマンド

choco instlal git             (指定無しの為インストーラー版がインストールされる)
choco install git.install     インストーラー版
choco install git.commandline ポータブル版

git/git.install/git.commandlineの3つが提供されている。

インストーラー版

  • コントロールパネルのアプリケーション一覧に表示される
  • インストール先 C:\Program Files (x86)\git
  • choco uninstall gitしても実際のファイルは削除されない

ポータブル版

  • コントロールパネルのアプリケーション一覧に表示されない
  • インストール先
    • C:\ProgramData\chocolatey\bin\git.exe
    • C:\ProgramData\chocolatey\lib\git.commandline
  • choco uninstall gitで実際のファイルは削除される

参考

github.com/chocolatey/choco/wiki/ChocolateyFAQs#what-distinction-does-chocolatey-make-between-an-installable-and-a-portable-application

AutoHotKey / 文法 / 技術情報 / Windows アプリケーション変数

変数

代入

my_num  := 10        ; "my_num = 10" のように、":=" の代わりに "=" でも代入可能(以下、同様)
my_txt  := "Hello"
my_null := 
my_var2 := my_var1   ; 変数を代入する場合は ":=" で代入する
my_var3 =  %my_var1% ; "=" で代入するには、変数を "%XXX%" と%で包む必要がある

参考

www.autohotkey.com/docs/Variables.htm

AutoHotKey / 文法 / 技術情報 / Windows アプリケーションマルチディスプレイ

マルチディスプレイ

SysGet, MonitorCount, MonitorCount
SysGet, MonitorPrimary, MonitorPrimary
MsgBox, Monitor Count:`t%MonitorCount%`nPrimary Monitor:`t%MonitorPrimary%
  • MonitorCount: モニタの数
  • MonitorPrimary: プライマリモニタの番号(1や2等)
 SysGet, Mon, MonitorWorkArea, 1
 MonHeight := MonBottom - MonTop
 MonWidth := MonRight - MonLeft
 MsgBox, WinX:%WinX%`nWinY:%WinY%`nHeight:%MonBottom%
  • 変数名”Mon”を指定してSysGetすると、変数MonTop/MonBottom/MonRight/MonLeftが自動的に生成される。

マルチディスプレイでの位置情報

 ---------------
| 2             |
|             A |
|               |---------------
|               | 1             |
 ---------------|               |
                |               |
                |               |
                 ---------------

1がメインディスプレイで、2がサブディスプレイの場合、Aの位置は X:-100,Y:-50のようになる。

サブディスプレイのタスクバーを除いた幅と高さ

SysGet, MonWorkArea, MonitorWorkArea, 2
MsgBox, Width:%MonWorkAreaLeft%`nHeight:%MonWorkAreaBottom%

サブディスプレイの番号が2の場合、上のように指定すると、Width:-1024 Height:728のように取得出来る。

参考

ahkwiki.net/SysGet

AutoHotKey / 文法 / 技術情報 / Windows アプリケーションAHK キーバインド

AHK キーバインド

*ワイルドカード

*#c::Run Calc.exe  ; Win+C, Shift+Win+C, Ctrl+Win+C, etc. will all trigger this hotkey.

~チルダ – アンブロック

; 以下はaキーを押下すると、abが押下される
; すなわち、元のaの機能がブロックされない
~a::Send, b

$プリフィクス – 無限ループ防止

; 以下はaキーを押下すると無限にaがsendされる
a::Send, a

; これを避けるため、以下のように先頭に$をつけると、一度だけaがsendされる
$a::Send, a

; なお、以下のようにUseHookをOnにすると、以降すべてのキーバインドが$をつけるのと同等になる
; 基本的にAHKスクリプトの先頭でUseHookをOnにするとよい
#UseHook On

AutoHotKey / 文法 / 技術情報 / Windows アプリケーションウィンドウ

ウィンドウ

アクティブウィンドウ情報の取得

 WinGetPos, WinX, WinY, WinHeight, WinWidth, A
 MsgBox, WinX:%WinX%`nWinY:%WinY%`n

ウィンドウの指定方法

ahkwiki.net/Window

ウィンドウ関連の関数

ahkwiki.net/Commands_Category#window

AutoHotKey / 文法 / 技術情報 / Windows アプリケーションIfWinActiveと#IfWinActiveの違い

IfWinActiveと#IfWinActiveの違い

コマンドとは別に「#」で始まるプリプロセッサ指令のようなものがある。
これは、スクリプトが実行される前の解析の段階で処理されるので、引数に変数の参照を含めることは出来ない。

sites.google.com/site/autohotkeyjp/reference/Scripts

参考

stackoverflow.com/questions/22525478/what-does-hash-mean-when-it-doesnt-mean-windows-key/22534694#22534694