KeepZotero 防止 Zotero 被關掉

Zotero Mar 31, 2022
GitHub - yhmtsai/KeepZotero: KeepZotero is a zotero plugin to keep zotero in taskbar by changing close to minimize
KeepZotero is a zotero plugin to keep zotero in taskbar by changing close to minimize - GitHub - yhmtsai/KeepZotero: KeepZotero is a zotero plugin to keep zotero in taskbar by changing close to min...

這是我寫的 Zotero 的 Add-on,功能很簡單,就是防止 Zotero 被關。

Zotero 並沒有縮小到右下角 (話說右下角那塊該怎麼稱呼?) 的選項,所以當關閉程式後,Zotero 就會關閉;但是這樣會導致瀏覽器的 connecter 無法加入文獻 (現在有多了連接網路帳戶功能,所以有啟用的話關掉是不會影響),但其他功能還是需要保持他開著,但我有時候會不小心的把他關起來,要再把 Zotero 打開就覺得很麻煩且會打斷操作。因此寫了 KeepZotero ,雖然達不到縮小到右下角的模式,但最後達成的效果是差不多的;一般關閉方式如 Ctrl+W 等會變成縮小,這樣就不容易關掉了,只有當最小化或者設定的結束才能關閉。

KeepZotero 展示 (預設)

  • Ctrl (Command) + W, 右上角關閉 或者 Alt + F4 只會縮小視窗
  • Crtl+Q 會關閉 Zotero
  • 當最小化時可以關閉 Zotero

安裝流程

  1. 從 Release 下載 xpi
  2. 打開 Zotero -> Tools -> Add-ons
  3. 右上角齒輪打開選擇 Install Add-on From File...
  4. 選擇剛剛下載的 xpi 即可安裝

詳細功能介紹

  1. (預設啟用) 當 Zotero 不是最小化時,一般關閉的方式只會使之最小化。這包含右上角的關閉按鈕、Alt + F4。當最小化時,從工具列關閉才能關閉 Zotero,另外從上方工具列的 File/Close 或者 File/Exit 還是保持原來作用。
  2. (預設啟用) 增加 Ctrl (Command) + W 讓他最小化。此快捷鍵在其他介面如 pdf reader 等仍保持原作用關閉該分頁
  3. (預設停用) 當關閉 Zotero 時,會跳出提示視窗詢問是否要退出。但這個目前不是很穩定,在 MacOS 上更是如此,如果沒有打開設定一次過,基本上會沒有作用。
  4. (預設停用) 將 Alt + F4 設為關閉 Zotero。當第一項啟用時,Alt + F4 會是最小化,配合此項可以再讓它變成關閉 Zotero
  5. (預設啟用) 增加 Ctrl + Q 關閉 Zotero

第 4, 5 項是只有在 Windows 和 Linux 上才有作用,因為 MacOS 並沒有使用 Alt + F4 且 Command + Q 就會關閉 Zotero 了

開發過程跟問題

雖然我有寫過其他程式語言,但 Javascript 或者 web extension 基本上沒碰過,整個能完成,主要是靠 Thunderbird keepintaskbar 給我一開始搜尋的方向,Zotfile  及 zotero-hellow-world 讓我能夠照著架構把這個完成。但途中我也遇到一些問題,但搜尋起來好像沒有個所以然,所以如果有人能幫忙解釋的話就幫大忙了。

  • 我有試過將監聽事件加入到按下 File/Close。他有再關閉前偵測到事件,但 Zotero 還是會關閉,即便我用  stopPropagation() and preventDefault() ,印象中也有使用 capture: true 的方式,但還是一樣
  • 有試過使用 visbilitychange 而不是 beforeunload (第三項功能),但 Zotero 好像不會改變 visiblitychange 這項。
  • 我只能用 2 而非 Components.interfaces.nsIDOMChromeWindow.STATE_MINIMIZED 來檢查是否最小化,後面那項會直接顯示 undefined 未定義。
  • 沒找到如何在設定頁面顯示確認按鈕於 MacOS 上,所以我把同步設定的改到 unload 時觸發。

結語

以上就是我寫的 KeepZotero 介紹跟一些開發上遇到的問題,歡迎大家來使用,也希望這個是大家所需要的功能之一,使用上發現任何問題都歡迎來回報。

Tags

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.