2016/12/31

スキン整理

zeKey自体にはスキン整理機能は付いていません(外部ファイルの扱いが難しいため)
エクスプローラーで変更することになります

右クリックメニューに開くメニューがあります
変更後は再取得してください

スキン名.xaml(スキン本体)とスキン名.config(スキン設定)はセットです
リネームや移動で.configを変えなかった場合は スキン設定が初期設定に戻ります

スキン名やフォルダ名を変更したい

好きなように変更できます(_から始まる名前にするとzeKeyに表示されませんので注意)

フォルダを移動させたい

外部ファイルを使用していなければ スキンファイルを移動するだけです
同名のスキンがある時はどちらかの名前を変えてください

外部ファイルを使用している場合はスキン読み込みエラーになるので 外部ファイルも移動する必要があります
エラーにファイル名が出るので 元と同じフォルダ構成でファイルをコピーします(複数スキンで共用している場合があります 共用がなければ移動で構いません)
スキンフォルダ 
    サンプルフォルダ
        サンプル.xaml
        画像.png
となっていた場合スキンフォルダ直下におろすには
スキンフォルダ
    サンプル.xaml
    画像.png
と します

スキンフォルダ
    サンプルフォルダ
        画像フォルダ
            画像.png
        サンプル.xaml
となっている場合は
スキンフォルダ
    画像フォルダ
        画像.png
    サンプル.xaml
と なります

外部ファイル名が他のスキンで使用している外部ファイル名と被った場合 スキン内のファイル名と外部ファイル名を変えてください
スキンフォルダ
    サンプルフォルダ
        サンプル.xaml("pack://siteoforigin:,,,/Skin/画像.png")
        画像.png
        他のスキン.xaml("pack://siteoforigin:,,,/Skin/画像.png")
        画像.png
となってしまった場合
スキンフォルダ
    サンプル.xaml("pack://siteoforigin:,,,/Skin/画像1.png")
    画像1.png
    他のスキン.xaml
    画像.png
という具合です

外部ファイル指定

xamlで <Image Source="a.png" />のように指定するとexeに埋め込まれているリソースの指定になりますのでスキンでは使えません(Visual Studio上では使えるように見えるので注意)

外部ファイルを読み込む場合は
<Image Source="file:///c:/a.png" />
<Image Source="http://www.___.com/a.png" />
<Image Source="pack://siteoforigin:,,,/Skin/a.png" />
のようにするのですが file:やhttp:を許すと危険すぎるので xeKeyのスキンでは使えなくしています

pack://siteoforiginは本来zeKey.exeからの相対パス指定ですが 扱いづらいので
zeKeyでは "pack://siteoforigin:,,,/Skin/" を該当スキンのフルパスと解釈します(スキンフォルダではありません そのスキンのあるフォルダです)
必ず/Skin/と表記する必要があります

該当スキンのあるフォルダ以下しかアクセスできません

<Image Source="pack://siteoforigin:,,,/a.png" />
<Image Source="pack://siteoforigin:,,,/../a.png" />
<Image Source="pack://siteoforigin:,,,/skin/a.png" />
<Image Source="pack://siteoforigin:,,,/Skin/../a.png" />
<Image Source="pack://siteoforigin:,,,/Skin/../a/a.png" />
すべてエラー

<Image Source="pack://siteoforigin:,,,/Skin/a.png" />
<Image Source="pack://siteoforigin:,,,/Skin/a/a.png" />
OK

<Image Source="pack://siteoforigin:,,,/Skin/../Skin/a.png" />
無意味だがOK

siteoforiginの意味が違うので気持ち悪いのですが スキン作成の簡便さとスキンフォルダを変更可能にするため 現時点ではこれがよいのかなと思っています

2016/12/23

紹介動画を投稿しました

1年も掛かってるとかどうかしてるとしか思えないんですが 今年中に公開されるぎりぎりで思い切って公開しました

http://www.nicovideo.jp/watch/sm30282369

Vectorにて公開しました

http://www.vector.co.jp/soft/winnt/util/se514849.html
いつまでもだらだらやっても仕方がないので思い切って公開しました

色々思いついた機能を追加をしていたりしていたのですが ブログの説明を更新したり サンプルスキンを用意したりが面倒で 完成がのびのびになってしまい
結局自分が使わない機能をオミットしシンプルなものにしました

しかし今年中に公開される期日ぎりぎりに勢いでアップロードしてしまったので すでにバグがありますw
・タイプライター風スキンの小さいスペースキーに割り当てがない
・落書きスキンで使用しているWidth HeightのBindingが効いていない
・「エクスプローラーでスキンフォルダを開く」メニューが効かない
年明けにVer. 1.0.1に差し替えます

2016/11/24

設定ファイル

設定ファイルを削除した時のデフォルト値
[]は実際には付けない []が付いているものはデフォルト値または値がない場合省略される

zeKey.config

zeKey自体の設定ファイル
SkinFolder: exeフォルダ下のSkinフォルダ フォルダ指定した場合フルパス
Startup.File: SkinFolderからの相対パス

<Setting>
  <Window>
    <Top>100</Top>
    <Left>100</Left>
    <Width>700</Width>
    <Height>600</Height>
    [<HideStart>false</HideStart>]
    [<TopMost>false</TopMost>]
    <VerticalSplitter>200</VerticalSplitter>
    <HorizontalSplitter>200</HorizontalSplitter>
  </Window>
  <SkinFolder>Skin</SkinFolder>
  <Startups>
    [<Startup>
      <File></File>
    </Startup>]
  </Startups>
  [<IgnoreSaveError>false</IgnoreSaveError>]
  [<DesktopFrame>false</DesktopFrame>]
  [<DesktopTool>false</DesktopTool>]
</Setting>

スキン名.config

各スキンの設定ファイル
メイリオ好きなのでデフォ値ですがWin10に入っていないこともある??
入ってないと游ゴになるのかどうか?よくわかりません

<Setting>
  <Position>
    <Top>100</Top>
    <Left>100</Left>
    <Width></Width>
    <Height></Height>
  </Position>
  <AutoHide>
    <IsEnabled>false</IsEnabled>
    <HideType>SlideTop</HideType>
    <OffsetX>5</OffsetX>
    <OffsetY>5</OffsetY>
    <HideAnimation>
      <Mode>Instantly</Mode>
      <Delay>1</Delay>
      <Duration>0.5</Duration>
    </HideAnimation>
    <ShowAnimation>
      <Mode>Instantly</Mode>
      <Delay>1</Delay>
      <Duration>0.5</Duration>
    </ShowAnimation>
  </AutoHide>
  <Font>
    <Family>メイリオ</Family>
    <Style>Normal</Style>
    <Weight>Normal</Weight>
    <Stretch>Normal</Stretch>
    <Size>16</Size>
  </Font>
  <Colors>
    [<Color>
      <Name></Name>
      <Code></Code>
    </Color>]
  </Colors>
</Setting>

同梱スキン - 落書き.xaml


全画面スキンテスト
ブログの画像作成用に適当に作ったスキン
全画面スキンはちょっとした設定ミスでPC操作が効かなくなるため十分注意すること
スキン作成者向けオプション-デスクトップにzeKeyツールを表示する
にチェックを入れておくことを推奨
入れ忘れて操作不能になった場合 すべてキーボード操作で[Ctrl]+[Alt]+[Del]でタスクマネージャを起動しzeKeyを終了する

2016/11/23

同梱スキン - テンキー.xaml


トグルボタンでの2面切り替えサンプル
数字入力の機会があまりないので 使い勝手が良いかどうかはわかりません
キーボードのFnキーのような機能は ボタンを2つ用意して表示非表示を切り替えるのが簡単で作りやすいです