2013年8月24日 星期六

[XFCE] 一些設定上的細節

這裡放了一些XFCE在設定上的細節~

[How to add customize wallpaper]
Adding those wallpaper files into /usr/share/xfce4/backdrops.If it's not exist, create it.

[Whisker Menu]
Whisker menu is another application launcher which has great interface. Must try it! This plugin can be installed from ArchLinux AUR.

[Network Manager]
The application that I used to manage network connection. Follow these steps to enable the system tray. Remenbered! You must enable NetworkManager.service first then run the nm-applet.

[gcin]
https://wiki.archlinux.org/index.php/Gcin

[Cursor Theme]
https://wiki.archlinux.org/index.php/X11_Cursors
Remember to reboot after changing cursor theme.

[Chromium .crx files]
Directly drag those files from file manager to Chromium extentions page to install.

2013年8月23日 星期五

[XFCE] 如何自訂選單內容


在XFCE中,設定選單內容似乎沒有GUI可用囧…所以只好手動修改

參考官方How to後知道可能跟幾種檔案有關:*.desktop*.menu*.directory

在Linux系統中不少地方都擁有這些檔案,而這些路徑都是由XDG開頭的環境變數來規範(XDG Base Directory Specification),這邊也有詳細的XDG中文規範解釋

先來了解一下這些環境變數:

$XDG_DATA_HOME
使用者設定的資料放置路徑。若未設定則預設為$HOME/.local/share

$XDG_CONFIG_HOME
使用者設定的設定檔放置路徑。若未設定則預設為$HOME/.config

$XDG_DATA_DIRS
除了$XDG_DATA_HOME以外的資料放置路徑,可設置多個路徑並以:隔開,若不同路徑中有相同檔案則以較前方的為優先。若未設定則預設為/usr/local/share:/usr/share

$XDG_CONFIG_DIR
除了$XDG_CONFIG_HOME以外的設定檔放置路徑,可設置多個路徑並以:隔開,若不同路徑中有相同檔案則以較前方的為優先。若未設定則預設為/etc/xdg

其它還有$XDG_CACHE_HOME$XDG_RUNTIM_DIR等,但就沒那麼重要所以就不提了

若這些路徑中有相同的檔案則以_HOME結尾的為最優先,也就是使用者自行定義的設定會取代其它設定,但發生這種情況的前提是有相同檔名的檔案存在不同的路徑下!若沒有相同的檔案則所有路徑下的檔案都會被讀取。這或許就是在XFCE官方文件中提到的,將需要的檔案從原先的資料夾中複製到使用者的路徑再行修改,而不是修改原始檔案的原因吧。

OK,了解這些之後,接下來說明一下上述那些檔案

首先是*.menu,通常會存在以下路徑:
$XDG_CONFIG_HOME/menus/${XDG_MENU_PREFIX}applications.menu
$XDG_CONFIG_DIRS/menus/${XDG_MENU_PREFIX}applications.menu
(${XDG_MENU_PREFIX}會依不同的DE而有所不同,在KDE中就是kde-,而在XFCE中就是xfce-,這樣就能夠在不同的DE中使用不同的設定檔。)

這個檔案是整個結構中最重要的檔案,它決定了選單的架構,包括子選單和其中所要顯示的項目分類(Category,稍後會提到)還有分隔線等。有趣的是這個檔案只是架構,真正選單上的顯示名稱與這個檔案沒有什麼關係!實際上的名稱是由*.desktop*.directory來決定的。細節可參考Desktop Menu Spec

*.directory則會存在以下路徑:
$XDG_DATA_HOME/desktop-directories/*.directory
$XDG_DATA_DIRS/desktop-directories/*.directory

這些檔案決定了.menu中的子選單項目之屬性,如名稱、圖示、提示等。注意!該子選單中所要顯示的項目並不是在這裡設定唷!

*.desktop則會存在以下路徑:
$XDG_DATA_HOME/applications/*.desktop
$XDG_DATA_DIRS/applications/*.desktop

*.desktop決定了每個項目的屬性。由於可設定的項目相當多且Desktop Entry Spec.也有簡單明瞭的說明,這邊就只提一下Catagories屬性。Catagories的屬性為一連串以逗號分隔的字串,這些字串決定了這個項目的分類,而這些分類也就是.menu檔案中,用來決定子選單顯示內容的標籤。