スキップしてメイン コンテンツに移動

LibreOffice Writer 文書の差分 (WinMerge x TortoiseGit) + 社畜PCの原因と対策

お久しぶりです。皆様におかれましてはお風邪などをひかれてはいませんでしょうか。
春と秋だけあればいいのにヽ(`Д´)ノとつい思ってしまう SakuraCrowd です。

今日はいつものような製作日記ではなく、ちょっとした役立つメモを書きました。
タイトルにもあるとおり、 TortoiseGit への WinMerge の導入の仕方です。

今まではソースコードくらいしか差分で確認しなかったので、 TortoiseGit 標準の Diff ツールで問題なかったのですが、 LibreOffice の Writer が最近自分の中で便利だと話題になっていて、それを差分表示するためにちょっと調べてみました。

#Writer は、文章書いて、ちょっと絵をいれたり表を作るのに便利だと思います。
#リッチテキストのエディタを探していて、これが一番よさそうな気がしたので使ってます。

それとブログを書くときはあまり長く書かないつもりだった、 Win7 PC が社畜PCになってしまった際の原因と対策も後半に書きました。割と有用な情報かもしれませんので、時間がありましたらご覧下さい。

まずは TortoiseGit で Writer の odt ファイルを管理して、差分も普通に表示させる方法です。

WinMerge(+plugin) 導入手順


すでに TortoiseGit はインストールしてある前提ではなします。

1.信頼と実績の窓の杜様から WinMerge 日本語版をダウンロードします。

WinMerge - 窓の杜ライブラリ
私の PC は 64 ビット版なのでそちらを選びました。

2.WinMerge をインストールします。

フォルダを指定し普通にインストールできます。
インストール直前の設定で TortoiseGit をチェックしておくと自動的に TortoiseGit の利用する Diff ツールの設定を置き換えてくれるようです。
これの設定は TortoiseGit の設定の Diff ツールの項目で確認できます。

3.LibreOffice Writer のファイルを読むためのプラグインをダウンロードします。

ぐぐって出てくる英語版のDLサイトは応答がなかったりしましたが、日本語版は大丈夫なようでした。
(2016/02/06追記 表示されなかったのは、セキュリティソフトのせいでした)
WinMerge 日本語版 様から xdocdiffPlugin64 のリンクをたどって、xdocdiffPlugin64 からダウンロードします。

4.ダウンロードした圧縮ファイルを解凍したら WinMerge のフォルダにいれます。

MergePlugins/amb_xdocdiffplugin.dll は、 WinMerge インストールフォルダの同じフォルダにいれます。
xdoc2txt.exe は WinMerge インストールフォルダの直下にいれます。
他のドキュメントも一応同じように入れておきました。

5.プラグインの設定を確認します。

上記の手順だけだと、 .odt ファイルを 2 つ選択して WinMerge を起動してもエラーで表示されないかもしれません。私はそうでした。

WinMerge をファイル指定しないで起動して、メニューバー>プラグイン>手動展開のチェックを自動展開にしてください。 これで .odt を比較することができます。

6.TortoiseGit の拡張子ごとの差分コマンドを編集する

2つの odt ファイルを指定して WinMerge で開けても、 TortoiseGit の差分からは開けないしエラーも出ないかもしれません。私はそうでした。

安心してください!(`・ω・´)直せますよ(たぶん)

TortoiseGit の設定の差分ビューアの「異なるリビジョンのファイルの比較に使用するプログラムの設定」を確認してみてください。
 WinMerge のコマンドになっているかもしれませんが、高度な設定を見るとさらに拡張子別に異なるコマンドを指定できます。

odt ファイルも↓こんな感じで設定されています。優先されてこれが実行されているようです。
wscript.exe "C:\Program Files\TortoiseGit\Diff-Scripts\diff-odt.vbs" %base %mine //E:vbscript 

この odt の設定を削除すると、 WinMerge のコマンドが適用されて差分が表示されるようになると思います。



これで odt も楽チンに差分を確認できるようになるはず!₍₍ (ง ˘ω˘ )ว ⁾⁾
まだ、ほとんど使っていないのでアレですが、たぶん大丈夫。

近況報告

進捗ダメです(´・ω:;.:...
ちょっとずつ進んではいるんですが新しいジャンルだったので、すごく SLOW ԅ( ˘ω˘ ԅ)
きっと想像以上にややこしい不慣れなことをしているんだろうと言い聞かせ
あせらず、あまり落ち込まないように進めようと思います。

あと割り込みが結構多かったかも。

interrupt1. RaspberryPi2 のマイクロSDカードが昇天

バックアップもなかったので新規のカードにインストールしてました。スクリプトとか残してないからまた一から書くはめになったけど、まだそこまではやってない。

interrupt2. Win7 が休止状態を勝手に解除するようになった ( 社畜PCの原因と対策 )

スリープ・休止状態にしても5分くらいですぐ起きて動き出す、
社畜もびっくりの24時間働けます状態にうちのPCがなってしまったのでその原因を探ってた。
#電気代高いのに・・・(´・ω:;.:...


いろいろやったけどダメ('∀`)だった内容

USBを外しては休止状態にして5分くらい待つ地味に時間のかかる作業でいらいらしました。
USBを外しても勝手に復活。
デバイスマネージャでUSBやキーボードやマウスの電源の管理のチェックボックスも確認してOFFにしても勝手に復活。
デバイスマネージャのLANの同じような設定はすでにOFFだった。

究極的にはコントロールパネルの電源オプションの詳細設定で「スリープ解除タイマーの許可」を無効にすると直ったが、その他の有用なタイマーも無効になってしまって、自動で起きてほしいときも起きなくなったので却下。


イベントビューアで見ると、 PowerManagement TroubleShooter みたいなやつが svchost プロセスによって休止状態を解除させたみたい。
svchost はいろんなところから利用されるらしくこれ以上の特定は難しそう。

Trouble Shooter が Trouble を Make してどうするんだよおおおヽ(`Д´)ノウワァァァン!!

少しいじっては休止状態にして真っ暗な画面の前で正座待機する作業飽きたお(´Д⊂ヽ

と思っていたら、 Windows 10 へのアップグレードが悪さをしていることがあるらしいと知恵袋に書いてありました。
スリープモードに入っているパソコンが勝手に復帰してしまい困ってい... - Yahoo!知恵袋

そのリンクをたどって、 Windows 10 へのアップグレードのための更新プログラムをアンインストールして、自動でそれらの更新プログラムをインストールしないように設定したら見事に社畜PCから一般PCに戻ることができました。(非公式なので自己責任でお願いします)
「Windows 10」、予約しなくても約6GBのファイルを自動ダウンロード(回避方法あり) - ITmedia ニュース

Windows 10 追い込みバルーンも消えてすっきりです。ヽ( ´¬`)ノ ワ~イ !!
ただうざいだけのバルーンかと思いきや善良なPCを社畜PCに変えてしまう恐ろしいバルーンだったのか(; ・`д・´)…ゴクリ…(`・д´・ ;)
#閣下の蝋人形みたいな言い方で「お前も Win10 にしてやろうかぁ?」って言ってるように思えてきた。(´・ω・`)

だがしかし、第二第三の追い込みバルーンがやってくることも考えられ油断できない。
本当に必要な更新に紛れさせていれてこられたら、どう対処すればいいのだろう。。。

まだまだ油断はできない現場からは以上です。(`・ω・´)ゞ

コメント

このブログの人気の投稿

QTableView で表を表示してみる

タイトルは駄洒落を狙っているわけではありません。 こんばんわ SakuraCrowd です。 今回は今作っているソフトの経過報告です。 最近のブログのパターンは、 「XXX作ったよ。これがスクリーンショットね。あとこんなこと思ったよ。」 という流れですが、 今日はできていないソフトの部分的な話なので、 いつもよりもプログラムちっくな話になると思います。(´Ծ_Ծ´)メガネノトキハマジメブッテル QTableView は GUIライブラリ Qt のクラスです。 それを Python で使うための PySide というライブラリを使っています。 某表計算ソフト っぽい表の GUI です。 このデータの日付が 09/01 なのでおそらくその日に   QTableView 使うぞ!(`・ω・´) とサンプルデータを作ったのでしょう。 Qt Designer という GUI エディタを使うとポトペタでウィンドウを設計できます。 選択できる GUI の中に QTableView と QTableWidget があります。 どちらも上のような表の GUI です。 QTableWidget は 簡単 に値をいれたりできます。 Qt Designer 上で直接編集 することができるので、 サンプルの表を簡単に作ることができます。 それに対して、 QTableView は Qt Designer 上では値を編集できません。たぶん。 QTableView の強みは MVC の構造 を使えることです。 名前のとおり QTableView は View です。 これにデータを管理している Model オブジェクトを設定して使います。 Model クラスを作る手間がかかりますが、 GUI の細かな操作をしなくても Model に応じた表を表示してくれます。 Model は QAbstractTableModel を 継承 して作ります。 コンストラクタで基底クラスの処理を呼び出し、いくつかの純粋仮想関数をオーバーライドします。 def __init__ ( self , parent= None , *args):

QWidget の選択時のデザインを CSS で変える方法

ひさびさに書きやすいネタができたので、1ヶ月ぶりくらいに書きます。 ここ1ヶ月の作業内容 タイトルのとおりなのですが、 テーマがいきなりマニアックでとまどったり、 デスチェリー農場の続編はどうしたんだよおおおお! とか新作を楽しみにしている生命が宇宙のどこかにいるかもしれないので あらかじめ書いておくと、 ここ1ヶ月は日記ソフトを作ろうと python + pyside + sqlite の勉強をしていました。 勉強というか、ウィンドウ起動から初めて、 GUI をせっせと作ったり、ファイル保存と復元を作ったりしてます。 Copy & Paste や Redo/Undo など未実装の処理も多くあります。 今回は、タブ遷移とかクリックで選択されたウィジェットの、 背景色が変わるとか、 枠線が出るとか そんな設定を CSS で実現します。 PySide と CSS について PySide は前も Raspberry Pi 2 で使う mount コマンドの GUI ツールで使いました。 Python の GUI フレームワークです。 さすがに HSP ほど簡単にウィンドウを出すことはできませんが、 かなり楽だし、 GUI の種類や機能もかなり充実しています。 ある程度 GUI を作っていて、 こんな露骨なウィンドウだと受けが悪いんじゃないかな と思いました。 なんか今っぽいおしゃれなデザインにしたい。 そんな誘惑にかられて調べていると、 CSS でお手軽にデザインを変更 できることがわかりました。 QWidget 派生のオブジェクトを作る際に、 setStyleSheet(str_css)で css を読み込ませることで簡単に実現できます。 次の例では file.css というファイルに書いた css を QWidget 派生クラスのオブジェクトに読み込ませます。 # css の読み込み with open("file.css","r") as f:     self.setStyleSheet("".join(f.readlines())) いろいろな G