含力's profile鳥的俚人PhotosBlogLists Tools Help

Blog


    November 27

    Magic Lamp - 記一個被compiz閹掉的特效


    compiz這個視窗管理程式有一個特效,叫做「magic lamp」,將它設定為視窗縮放的指定特效,配合awn使用,會模擬出類似mac os x的視窗在dock縮放的感覺,在mac os x這種特效叫做genie effect,這裡有youtube短片可供參考。雖然在這裡說是「類似」,實際上的使用感覺差多了。只是用過的人都知道,這裡頭一定是有什麼設定被蓋掉了,致使我們不能在linux產出相像、甚至是更好的genie effect。

    這篇文章就是要記述將magic lamp特效「還原」為genie effect的過程。這當然已不是什麼大新聞新鮮事,只是每一次compiz在ubuntu的更新,都會把我先前做過的設定覆蓋掉,我又得爬google把設定的步驟找出來,不如就在這裡把過程記錄下來,以後就不再需要花時間上網爬文。



    1. 首先,用位元檔編輯器(我電腦已經預裝好ghex2了)打開 /usr/lib/compiz/libanimation.so
    2. 搜尋 magic_lamp_max_waves 字段,把它的設定值從 <min>3</min> 改為 <min>0</min> (原來是它在搞鬼),儲存,關閉
    3. 接下來,用文字編輯器打開 /usr/share/compiz/animation.xml
    4. 重複步驟二
    5. 「解放」完畢,重新啟動gdm,執行 CompizConfig Settings Manager
    6. 在 Effects -> Animations -> Effect Settings -> Magic Lamp 找到 Magic Lamp Max Waves (就是它)的值改成 0
    7. 到 Effects -> Animations -> Minimize Animation,選定 Magic Lamp,duration就是阿拉丁神燈的縮放時間,數值越大越慢
    (以上英文字眼,在沒有善心人士為 compiz 進行中文翻譯之前,都不會有中文名詞對照)

    接下來,就是重新啟動gdm,迎接神燈的到來。


    Magic Lamp特效(截圖由這篇著名的文章轉來)


    August 28

    xorg.conf.failsafe

    今早快要出門上班之際,看見我「充滿勇氣和決心的長臂猿」出了個更新警示,細讀之下發現原來是要更新2.6.22-15的kernel,按下確定更新的按鈕之後我就出門了。

    下班回到家,更新程序當然已經完成,就給他一次reboot,結果「長臂猿」開始出現異狀,螢幕解析度變回800x600鬼樣子,查了log,發現因為不知名的原因,2.6.22-15的kernel不能使用正常的xorg.conf,硬是要假好心的套用xorg.conf.failsafe。

    懶惰找出原因,就直接把2.6.22-15的kernel幹掉,一切恢復正常。

    一個字,爛!

    July 09

    M1210的音效

    sudo vi /etc/modprobe.d/alsa-base

    刪除:
    options snd-cmipci mpu_port=0x330 fm_port=0x388
    options snd-hda-intel model=ref


    July 05

    totem for real

    事情是這樣的:

    前陣子為了看一些電視劇,到real的官方網站裝了realplayer的linux版。
    一切安好,一直到最近才發現原來有些rm檔在realplayer看得不是那麼流暢,跳格就罷了,還有殘影。

    這事發生之後,心裡就有些毛毛:為了看realplayer的檔案,我得多裝一個播放器。問題是這多餘的「官方」播放器看起來卻又不太靈光,簡直就是廢物!一氣之下就把它刪除了。

    最好的系統,就是最簡單的系統。要秉持這個原則的話,就得把ubuntu原本所附的totem改造成萬能的媒體播放器。
    要這麼作的話,就是得多加編碼器(codec),上網查了一下,方法千奇百怪,總結就是先要安裝以下這兩條:
    sudo apt-get install totem-xine w32codecs
    這以上的什麼是為什麼,我都懶得解釋,因為正當我以為一切就緒的時候,才發現檔案還是播不了,疑似某「cook.so」無效!
    最討厭的才是解決這個笨問題的方法:
    編輯~/.gnome2/Totem/xine_config
    找出「decoder.external.real_codecs_path」及「decoder.external.win32_codecs_path」這兩條設定,改成「/usr/lib/win32」
    為什麼要改成這樣?這我不想討論了。
    為什麼要這樣改?這真的是令我無奈的地方......
    只能說這可能就是為什麼老是有人覺得windows比較好的原因吧!


    June 21

    Picasa Web Albums - Ubuntu - CPAN - Picasa


    我在Picasa Web Albums看到一輯很想收集的圖輯,但作者並沒有公開圖輯下載的網址。
    這圖輯計有圖片146張,我當然不要像驢子一樣,一張張的點進去下載。

    google了一陣子,發現解決這種問題的方法還不少,不過最引起我興趣的是CPAN中已經存在的Picasa套件。我的ubuntu已經有perl,套用這個方法的複用(reusability)比任何方法都來得高:往後我能利用這個perl套件撰寫更方便使用的Picasa相關程式。

    所以我需要準備的就是:
    • 設定CPAN
    • 安裝Picasa套件

    設定CPAN
    預設的ubuntu是沒有lynx(好懷舊!)與ncftp這兩套程式,所以在進行CPAN的設定前,可以先用apt-get把它們裝好。
    用「sudo cpan」進入設定,大部分的設定都可以用預設值......
    在CPAN套件網站的設定中,選擇最靠近的網域。

    安裝Picasa套件
    CPAN設定好之後,就要安裝Picasa套件了。
    cpan>install Picasa

    完成以上兩件小事之後,接下來的任務就非常簡單了。直接用perl執行picasa套件的程式:
    $perl -MPicasa -e "Picasa->new()->get_list_of_photos({'userid'=>'陳冠希','album'=>'裸照'})"

    Sit back and enjoy, happily ever after!


    May 30

    Firefox3下載日

    Firefox喜歡玩把戲,這已經不是第一次。
    但我相信這應該是最有趣的一次。

    在Firefox3的正式版發行日還沒定下之際,他們搞了一個下載日的活動,廣邀天下的同好一起在即將定下的發行日當天,共同下載Firefox3,創造下載次數最多的健力士世界紀錄。因此,這裡有這麼一個網站,讓有意拔刀相助的熱血人士上網登記承諾。

    最有趣的地方,就在那張網頁上的世界地圖,上面顯示目前的承諾人數。

    到目前為此,馬來西亞共有1,169人次,比新加坡少26人。
    大陸有6,699人次。
    非洲有一堆不超過百人提交的國家。

    到目前為此,還沒找到只有個位數人次的國家。
    May 29

    [偷] Linux下对文件进行编码转换

    偷:http://www.lpi-china.org/bbs/viewthread.php?tid=2912

    其实说到编码转换,那就不得不说到iconv这个库了,如果已经安装了这个工具,那在命令行下直接打这个命令就行了。下面就用这个工具来实现中文系统下的常用编码转换。

    首先,来了解一下iconv这个命令的使用方法。命令格式如下

    iconv -f 编码 -t 编码 文件名

    -f 参数指所要转换文件的文件编码,当然必须事先知道文件的编码,不然不能正确转换。

    -t 参数指希望转换成的文件编码,当然应该知道所指定文件的编码能不能转换成该编码,不然转换后的结果可能一无所用。比如你将中文编码转换成西欧的某种编码的话,是没有什么意义的。

    文件名 就是你希望转换的文件的名称的,当然也可以包含路径了。

    比如将a.txt文件用GB2312(简体)转换成BIG5(繁体),命令如下:

    $iconv -f GB2312 -t BIG5 a.txt

    当然也可以使用iconv -l来查看都有哪些编码可用,命令如下:

    $iconv -l

    那么,如果不知道文件的编码怎么办?比如我的系统中有繁体字编码的文件,也有UTF-8编码的文件,又有简体字编码的文件,但是系统说使用的编码是简体的。怎样把所有文件的编码都转换成简体字,或者怎样将所有文件的编码变成繁体字编码,或者怎样将所有的文件都转换成UTF-8编码呢?下面的这段程序将告诉你去怎样实现这个功能。

    #!/bin/bash

    #文件名
    fname=$1
    #临时文件,用来保存转换的结果
    tmpfile="cc`date +%0H%0M%0S`.liu"
    #没有输入文件名
    if [ -z ${fname} ] ; then
    echo "Bad file name. ";
    exit;
    fi
    #输入的文件不存在
    if [ ! -f ${fname} ] ; then
    echo "File is not existed.FILE="${fname};
    exit;
    fi
    ################################################
    # f_code:现有文件的编码,当不太清楚现有文件的编码的时候,
    # 可以同时指定的几种可能的编码
    # t_code:希望转换成的目标编码
    ################################################
    #比如要将GB2312或者UTF-8的文件转换成BIG5(繁体)文件
    t_code="BIG5" #目标编码
    f_code="GB2312 UTF-8" #可以转换的文字编码

    #判断系统文字编码是否为GB2312,是的话则将BIG5或者UTF-8编码的文件转换成系统一样
    #的GB2312
    echo $LANG | grep -i GB2312> /dev/null
    if [ $? -eq 0 ] ; then
    t_code="GB2312" #目标编码
    f_code="BIG5 UTF-8" #可以转换的文字编码
    fi

    #判断系统文字编码是否为BIG5, 是的话则将GB2312或者UTF-8编码的文件转换成系统一样
    #的GB2312
    echo $LANG | grep -i BIG5 > /dev/null
    if [ $? -eq 0 ] ; then
    t_code="BIG5" #目标编码
    f_code="GB2312 UTF-8" #可以转换的文字编码
    fi
    #如果要把GB2312,BIG5文字编码的文件统一转换成UTF-8,则应该这样
    t_code="UTF-8" #目标编码
    f_code="GB2312 BIG5" #可以转换的文字编码

    #当然你也可以任意设置你需要互相转换的编码,但主意要保证编码之间可以自由转换。比如
    #你要将GB2312转换成某种西欧编码,则没有什么意义了。
    normal_msg=""
    error_msg=""
    #依次尝试从可以转换的文字编码开始对文件进行编码转换
    for code in ${f_code} ; do
    #文字编码转换
    iconv -f $code -t $t_code ${fname} > ${tmpfile}
    #转换成功,一旦转换成功则不用再尝试用其他编码来读取文件
    if [ $? -eq 0 ] ; then
    normal_msg="ICONV SUCCESSED! FILENAME=${fname} F_CODE=$code,T_CODE=$t_code"
    break
    else #转换失败
    if [ ! -z "${error_msg}" ] ; then
    error_msg="${error_msg} "
    fi
    error_msg="${error_msg}ICONV FAILED! FILENAME=${fname} F_CODE=$code,T_CODE=$t_code"
    fi
    done
    #输出转换结果消息
    #转换成功,则输出转换成功消息;所有尝试转换都失败的时候,则输出所有转换失败消息
    if [ -z "${normal_msg}" ] ; then
    echo -e ${error_msg}
    else
    cp -f ${tmpfile} $fname
    echo ${normal_msg}
    fi

    #删除临时文件
    if [ -f ${tmpfile} ] ; then
    rm -f ${tmpfile};
    fi


    在上面的程序中,实际上只是实现了一个文件的转换,如果要实现多个文件的转换的话,该怎么办了,其实很简单了,只需要遍历一下文件就行了。遍历文件的方法很多,也就不详细解说了,下面仅举一个用find命令来查找文件并对找到的文件进行编码转换。命令很简单,如下:

    $find . -type f -name ‘*.txt’ | xargs -l sh cc.sh

    其中cc.sh是上面的程序文件。该命令查找当前目录下所有的后缀为txt的文件比对其进行编码转换。

    在上面的程序中,为了说明方便,文件编码和转换的目标编码都是在程序里设定的,如果需要更加实用一点的话,可以把原文件的编码和转换的目标编码都作为参数来输入,这样的话,这个程序就不光是中文系统下的文件编码转换了,日文,韩文等等编码的转换也能很轻松实现了。
    May 27

    恐怖的trackerd

    對於我的機器總是硬碟忙線的這事情,大概也發生有很久的一段時期了,只是我一直都不太在意。

    一直到今天,硬碟從開機的初始狀態一直忙線到登錄gnome完畢之後的十五分鐘,只要我一進房間,就會聽到硬碟忙碌到不斷打冷顫的恐怖聲音。大概在我上樓燒開水泡咖啡的那段時間,一定是有某個程式偷偷幹了不少好事,使得我機器陷入停擺的罕見狀態。

    從重新開機之後top了一下,查出trackerd這東西,google告訴我這原來就是我那個常常什麼檔案都找不到的tracker搜索工具的deamon,主要在幫系統建立索引檔案。tracker這東西我是用過一兩次,對於為何他什麼也找不到的這條事實,由於本人業已習慣find或者locate之類的工具,所以也不太在意。不過既然是這樣,就順便到「~/.cache/tracker」看看這些年月來trackerd幫我建了「什麼都找不到的」好索引。

    接下來發生的事情,恐怕是我的linux生涯以來經歷過最震撼的發現:

    $:~/.cache/tracker$ ls -alh
    總計 23G
    -rw------- 1 成龍 房組名 2.0G 2008-05-26 12:27 file-index.db
    -rw------- 1 成龍 房組名  21G 2008-05-27 11:22 file-meta.db

    23G!這是哪一國的索引啊!
    再怎麼建也不可能建出一個比所有檔案總和還要大的索引檔吧!

    接下來的事情,恐怕也不用再多說:
    • 關了trackerd,硬碟恢復寧靜
    • 至於這些索引檔,寫完這一篇,在咖啡被我喝完之前,我就會把他們d了




    May 25

    改一改字型

    之前一直在使用從自己ibook貝殼機挖出來的Lihei Pro字型,不是不好,就是在遇到一些歐洲文字上常有缺字的現象。譬如說,「Citroën」的「ë」常常被顯示成黑方塊,還沒到厭煩的程度,但就是有點納悶。

    前幾天在網上看到熱心人士提供了一套看起來比我自己的ibook還要完美的STHeiti,昨晚心血來潮試了一下,感覺非常不錯,解決了所有缺字,對簡繁體中文字的支援更好,目前我這台所擁有的作業系統可說已經達到了自己前所未有的滿意境界。

    一時之間大概也想不出還有什麼好改的了,除了Global Menu

    鼠標尋回紀事

    事情是這樣的:
    gnome-look上有這麼一位善心人士所設計的鼠標Shere Khan X一直是我的最愛,打從使用ubuntu feisty開始,她就是我改裝osx的必備好物。
    但到了gutsy,這一切都不一樣了。鼠標是裝了,但看起來怪怪,時隱時現,好像只得firefox才有效用。
    一直沒想到是什麼原因,要google也找不出一個頭緒。反正也好像不是那麼重要,就這樣用了好長的一段時間。

    剛剛在compiz-fusion的「general options」設定中不小心瞄到一項嫌疑重大的選項——「Cursor theme」,忽然間有了撥霧見雲的希望!gutsy跟feisty最大的不同不正就是附了一個compiz-fusion嗎?google了一下,證明了兇手就是她。在「Cursor theme」這項目中,必須填入Shere Khan X在「/usr/share/icons/」中所出現的目錄名字,以我的例子來說,是Shere_Khan_X。

    起初我還以為是要輸入Shere Khan X這個在主題顯示的名稱,經過實驗才發現原來這個設定還真無聊,是認目錄名,不認主題名,@!#$@#$%


    還真想不到要把這問題歸到那裡去才合理:
    • 怪compiz-fusion多事搶了鼠標設定:我看來看去,除了設定鼠標大小之外,compiz-fusion對滑鼠便再也沒有其他有意義的設定,還真想不通把這個設定搶過去是要幹嘛。
    • ubuntu的一個bug:既要gnome,又要compiz-fusion,那這個問題就實在應該好好想辦法修補一下。不然像我這種手多多,沒事喜歡改東改西的傢伙還真不少(最糟糕就是我本人以及類似我本人的人,除了改之外通常便什麼也不懂)很多人還真搞不清楚為什麼一個簡單的滑鼠指標設定,必須分別要在兩個不同的地方進行。

    相信但凡包含了gnome與compiz-fusion的Linux Desktop發行都應該會面對這個問題,想到這裡就會覺得好笑,大概在這類愚蠢的usability問題被解決之前,想要跟誰說ubuntu(或是其他Linux Desktop)怎麼親和,怎麼方便使用都是不太可能的。
    而我呢?我是打從心底喜歡這顆會轉動的彩球,才會花那麼多時間來修改、並紀錄她的。

    Slideshow Screensaver in Ubuntu

    我一直很喜歡osx的slideshow螢幕保護程式。
    或許有一位會寫程式的同志也跟我有同樣的想法,所以ubuntu原來也有加入了這麼一個mock-up,不過我玩了一陣子,發現她是呈現不出任何效果。更糟糕的是,她沒有提供任何介面給使用者進行任何設定,這包括照片的指定目錄(這到底是什麼意思,附了一個沒有作用也不能設定的螢幕保護程式!)。

    原來:
    要把這傢伙搞定,首先需要手動修改兩個檔案。
    • .xscreensaver:這檔案應該會存在於home目錄,否則便自行建立一個。在檔案加入這麼一行「imageDirectory: /home/成龍/Pictures/wallpapers」(也就是我要呈現的照片目錄)
    • glslideshow.desktop:這檔案應該會存在於「/usr/share/applications/screensavers」中,否則便自行建立一個。找出這麼一段「Exec=glslideshow -root」,把她改成類似「Exec=glslideshow -root -duration 20 -pan 20 -fade 5」,設定的詳細如下:
    • duration:呈現每張照片的秒數
    • pan:對照片進行移動拍攝效果的秒數
    • fade:轉換時照片消褪的秒數
    大概調整了這三個選項,效果就非常明顯的好。更多的細項可以透過glslideshow的manpage來了解。譬如我的畫面稍有延遲,或許便要調整fps。




    May 07

    vim

    想要啟用vim的syntax highlight很久了,但一直就沒動手,心想有沒有語句提示並不重要,但其實是懶惰使然。
    今天應該是身體有根筋不對盤,一片灰白白的文件怎麼看心裡就是不歡喜,是到了非把highlight打開不可的地步了。

    懶得進行個人局部設定,直接把/etc/vim/vimrc的文件打開,將syntax on的註解拿掉,從今以後不管誰來vi都給你顏色看看!

    後話:
    裝了幾個文字編輯器在gutsy裡,但是沒幾個是看得上眼的。
    gedit看起來還真有點pro,但其實是noobmousepad看起來很簡潔,但用起來便發現功能還真的是非常「簡潔」。
    eclipse的編輯器,其實也沒好到哪裡去,況且在只需要編輯一個程式檔案的情況下,等待eclipse這類型的ide啟動,真是一件非常沒效率的事情。
    總是在這時候,才會想到vi的好。

    實在是很懷念vi。
    想到vi,就會想起大學一年級的那個驢樣的我。
    到台灣念大學之前,對電腦的認識程度大概就是握著朋友的滑鼠亂晃,嘩嘩聲地看著螢幕的小箭頭亂跑的那種白痴,沒想到就是這樣的一個人,吃了豹子膽便要出國念電腦科系。
    好吧!第一天到系所報到,助教在電腦室講解如何使用自己的學號登入unix工作站,然後編輯一個文字檔案,使用mail寄發給助教。當作是指導課也好,大學第一份作業也好,離開電腦室前就是要把文件寄出去。

    那時,助教就是教大家用vi編輯文字檔案的。大概是同學覺得vi別扭,不像記事本,螢幕畫面上看不到鼠標,又a又i又d又x的,搞了半天還打不出一粒字。

    倒是我,因為之前什麼也沒學過,什麼負擔也沒有,硬是照著助教的指導和指令,很快就把字給打出來了,連同附件把email寄發出去。
    現在想起,還真覺得時光如裊煙,才回過頭一看,除了vi,身邊的人與事都飄散了似的消失了。

    哈!大概當時誰也不相信我這個膽敢來報讀電腦科學的電腦大白痴,人生所學習的第一個電腦文字編輯器,竟然不是記事本,而是vi!

    May 05

    pimp my ubuntu

    原本不想寫這一篇東西,但是最近發現常常被我拿來參考的「ubuntu改造網」(我姑且以此稱之)好像已經不太熱衷於此道了,由於不知道作者何時會一時興起忽然關blog(這也不是不會發生的事情)於是當作整理也好,轉錄也好,順便紀錄一些我改造ubuntu的五四三。

    以下是有關於改造的文章參考網址:
    Ubuntu 非完美的 OSX 风格改造
    用 Beryl 装饰出更棒的窗口button
    另外參考:
    Linux Desktop imitating OSX

    以下是一些重點整理:

    • 佈景主題
    佈景主題(theme)的修改,使用該作者的Perfect-OSX這個theme,把按鍵之類的控制改成更簡潔的風格。但是這個theme的icon沿用Tango,所以要把圖示蘋果化的話,要不借用類似Mac4Lin之類的主題套件,就得親自動手把圖示一個一個替換。

    還得設定Beryl這等好物,使用它來裝飾視窗,才能得到窗角防鋸齒(anti-alias)外加窗邊陰影等等一大堆美化視窗的特效。在這裡必須下載已經調配好的emerald檔案
    • gnome panel
    主要是把面板改裝成仿osx的樣式。下載作者已經繪製好的圖版,解壓縮到/usr/share/icons去,則登出及搜索兩個面板項目便分別會被修改成蘋果及放大鏡的樣式,接下來便是在面板兩端分別加上就大功告成。我們能在網路上找到很多修改面板的方法,大多數都是偏向於加裝仿osx menubar的面板項目,但由於這需要加裝經過修改的libgtk,並且程式對於非gtk的程式支援並不完整,所以我沒有把它加裝到我的系統。
    • dock
    也就是那模仿osx,(通常)常駐在桌面下方的一條工具列。安裝與否是一道見仁見智的問題,它既被人擁戴,又同時引人詬病。我個人則非常喜愛這種設計,在我的系統上我選擇安裝AWN
    • firefox
    經過上述三道手續,我的ubuntu基本上已經非常osx了,不過firefox一開出來還是那副驢樣就未免有點遺憾。所以我還需要改......
    這大致上就是加裝一些firefox的extensions,手續非常簡單,只要按下列extensions名到firefox的plugins站搜索安裝就好了:
    Hide Menubar,Fission,Stop-or-Reload Button.......(如果你還覺得不夠的話)

    對於firefox的theme,由於個人對netscape的偏愛,為了紀念一個已經消失了的傳奇,我挑用了該作者修改過的仿Camino,把Netscape的圖示安插進去。有興趣的朋友可以在這裡下載。

    一切改裝工作大概到這裡為止,或許遺漏了一些事項,下次要是記起了便回來更新。

    來一張整容完畢的ubuntu:


    May 02

    儷黑尋回紀事

    昨晚不知更新了什麼,GNOME的sans又變回去以前的鬼樣子(如下圖)。



    想了很久都記不起以前是怎麼把儷黑(LiHei Pro)這中文字型聯合Bitstream Vera Sans的英文字型一併聯到sans去的了,於是google。

    慢著!/etc/fonts/底下好像少了一個language-selector.conf這條link,真相大白了,應該是某程式暗暗砍掉了這個捷徑,於是只好再ln一次:

    sudo ln /usr/share/languate-selector/fontconfig/zh_TW ./language-selector.conf

    重新啟動X,一切恢復完美,儷黑重現。



    language-selector.conf的片段:

        <alias>
            <family>serif</family>
            <prefer>
                <family>Bitstream Vera Serif</family>
                <family>LiHei Pro</family>
                <family>STHeiti</family>........

        <alias>
            <family>sans-serif</family>
            <prefer>
                <family>Bitstream Vera Sans</family>
                <family>LiHei Pro</family>
                <family>STHeiti</family>



    後記(二零零八年五月十日更新):

    昨天因為工作需要,新增了一個將會使用簡體介面的使用者。
    一切就緒,登入一看,簡體字爛得跟上圖一樣,才知道我先前對language-selector.conf的編輯是做了全域的設定,把這種設定套上簡體介面,弄糟了字體。於是只好把language-selector.conf拿走,各自在使用者的家目錄下調配「.fonts.conf」,這就把設定從全域給改成局部了。



    gnome's hotkeys

    我把這種東西放在Windows Live裡,是分明來找碴的。

    Gnome HotKeys


    ALT-Tab Task List Selection
    Crtl-Alt-(F1-F12) Command prompt
    Crtl-Alt-Backspace Restart XWindows
    Crtl-C Copy the selected text or region onto the clipboard
    Alt-(leftclick mouse) To hold on to the window/GUI and move it around
    Ctrl-F Switch to desktop
    Alt-F2 Show the panel run application dialog
    Alt-F1 Show the panel menu
    Print Take a screenshot
    Alt-Print Take a screenshot of a window
    Ctrl-Alt-Arrow keys Switches to the workspace to the specified direction of the current workspace
    Ctrl-Alt-D Minimizes all windows, and gives focus to the desktop
    Ctrl-Alt-Tab Switches the focus between the panels and the desktop
    Alt-F4 Closes the currently focused window
    Alt-F5 Unmaximize the current window, if it is maximized
    Alt-F7 Move the currently focused window

    Resize the currently focused window
    Alt-F9

    Minimize the current window

    Alt-F10 Maximize the current window
    Alt-spacebar
    Shift-Ctrl-Alt-Arrow keys Moves the current window to another workspace in the specified direction
    Ctrl-N Create a new document or window
    Ctrl-X Cut the selected text or region and place it on the clipboard
    Ctrl-V

    Paste the contents of the clipboard


    Undo the last action
    Ctrl-S

    Save the current document to disk

    F1
    Tab Move between controls in the interface or items in a list
    spacebar Activate or choose the selected item
    F10

    Activate the left-most menu of the application window

    Shift-F10

    Activate the context menu for the selected item

    Esc Close a menu without selecting a menu item, or cancel a drag operation