更新:zip亂碼的問題可以通過安裝patch之後的 和`unzip natspec`解決(archlinuxcn源),而仍使用Engrampa做前端。此文重點在pygtk... 問題是這樣的: 一切都起源於一個壓縮文件的亂碼… Windows的編碼真的是為所欲為,讓Linux這種守規矩的小傻子措手不 ...
更新:zip亂碼的問題可以通過安裝patch之後的p7zip-natspec
和unzip-natspec
解決(archlinuxcn源),而仍使用Engrampa做前端。此文重點在pygtk...
問題是這樣的:
一切都起源於一個壓縮文件的亂碼…
Windows的編碼真的是為所欲為,讓Linux這種守規矩的小傻子措手不及:
試了太多GUI的解壓縮軟體,peazip、Engrampa、xarchiver等等,以及國產的360壓縮,沒有一個能解決這個亂碼問題的。
其實吧,不少命令行工具是可以通過參數傳遞編碼來解決這個問題的,但是人總有懶的時候,即使勤奮如我也不例外,有時候就想拿個滑鼠啊觸摸板啊點啊點的(主要是看個壓縮包也要輸入命令行除了看起來裝逼實際上也真的很低效啊…)
然後我發現一個特別好用的工具:lsar。lsar不要傳遞任何參數就可以自動判斷編碼:
其實它和unar是一對(unar在之前Thunar自定義菜單的隨筆里已經說過了),它們是The Unarchiver的命令行版本。
The Unarchiver是給Mac設計的一個帶GUI的解壓縮工具,但是只給windows和Linux提供了命令行版。
(不得不說很多Mac平臺的工具用戶體驗都很好啊… 此處省略太多對Linux生態圈踢皮球和沒有產品經理的牢騷)
好了,正題來了:
如何給Thunar寫一個插件,通過滑鼠右鍵就能調用lsar
預覽壓縮包的內容?
答:
這種工作最適合python這種語言了,結合pygtk,調用lsar獲取結果傳入gtk顯示就可以了。
使用glade還可以快速畫個gtk界面,省去一堆python里創建和綁定的代碼。
代碼上傳到 github 了。
Thunar里自然少不了加個自定義選項:
效果:
按q
或者ctrl+w
可以退出預覽。
界面不是很好看,沒時間就這樣吧
About視窗也只是有個框(好像並不需要about視窗)