Chinaunix首页 | 论坛 | 博客
  • 博客访问: 755039
  • 博文数量: 111
  • 博客积分: 3895
  • 博客等级: 中校
  • 技术积分: 1300
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-29 21:26
文章分类

全部博文(111)

文章存档

2014年(22)

2013年(8)

2010年(14)

2009年(21)

2008年(46)

我的朋友

分类: LINUX

2013-09-25 10:08:32

作为fedora的忠实用户,早早地更新到了fc15. 装完之后,第一感觉是吓了一大跳,因为gnome2与gnome3差别实在是太大,找不到熟悉的感觉让我有点失落。但是,这种感觉没有持续很久,我开始兴奋起来。

 

对于键盘控,快捷键是第一位的

一. 快捷键

  1. Win或者Alt-F1    打开overview状态,这时候左边栏是收藏栏,右边栏是工作区间栏,中间有两个标签: Windows,Application. 还有一个搜索框,可以直接输入。搜索的时候下面还有两个搜索按扭: google和wikipedia. 中间的窗口或程序图标可以直接拖到边栏上。按ESC取消overview状态。对于Windows标签下的程序窗口来说, 鼠标scroll操作可以将其放大缩小。
  2. Alt-F2  打开程序,gnome下经典的快捷键。但在gnome3下,它不光可以打开应用程序,还可以打开javascript模拟器。输入lg即可。
  3. Ctrl-Alt-Shift-R  录屏。这是相当给力的一个功能,按此快捷键开始录制,再按停止录制。结果保存在$HOME下,为webm格式,效果不错。
  4. Alt-ESC 在所有窗口间切换,类似于原来的Alt-Tab
  5. Alt-Tab  在不同种类程序之间切换,注意,一种程序可能有多个窗口,Alt-Tab就无能为力了
  6. Alt-~       就是Tab上的那个键,在同一种程序的不同窗口间切换。Alt-Tab和Alt-~相结合的方式据说来自于Mac, 还是有点小小不习惯。
  7. Ctrl-Alt-Up/Down 在上下工作区间中切换,这和原来的水平布局不同。最妙的是工作区间的个数是动态增加和减少的。
  8. Ctrl-Alt-Shift-Up/Down 将当前窗口移到上一个或下一个工作区间
  9. Alt-Space 和原来的一样,打开当前窗口的菜单,进行最大化最小化操作,比如x是最大化或去最大化,n是最小化,r是resize, m是移动
  10. Ctrl-Alt-Delete 系统logout, 而不是原来的poweroff. 有点小郁闷。
  11. Alt+number  在overview模式下, 按一下Alt键,每个缩略图上左上角会出现一个数字

 

 

二. 鼠标

  1. 鼠标放到左上角或点Activities, 效果和Win, Alt-F1效果一样
  2. 双击窗口标题栏,最大化. 再次双击或拖动一小下,恢复大小
  3. 拖动窗口至桌面顶端,最大化, 至窗口最左端,则窗口占桌面左半,至最右端,则窗口占窗口右半。这称为tiling.
  4. 点击右上角用户名,可以看到下拉菜单,中间有logout, 而不是poweroff. 但是同时按住Alt键,则logout会变成poweroff. 
  5. 在overview模式下,可以将程序窗口图标或程序图标拖到边栏上。

 

注意,上述的操作都是在默认的gnome3界面下进行,这样的界面称为gnome shell, 它本身是由C和javascript一起实现的,使用了openGL渲染,所以即使cpu负担很重,也不影响窗口切换的流畅性。如果电脑显卡配置很低,可 以将gnome shell换成fallback模式: 点击右上角用户名->System Setting->System Info -> Graphics -> Force fallback mode

 

 

三. Javascript emulator

前面提到通过Alt-F2再输入lg可以启动js模拟器,这是gnome3的亮点所在。打开模拟器之后就是一个货真价实的计算器了

[javascript]
  1. 1+1  
  2. Math.sqrt(2)  
 

但是javescript可是一个脚本语言,其功能可不限于数值计算,其对象管理也是很强大的,比如试一下以下几个语句

[javascript]
  1. global.get_window_actors().forEach(function(w){w.set_opacity(255)})  
  2. global.get_window_actors().forEach(function(w){w.set_scale(0.5,0.5)})  
  3. global.get_window_actors().forEach(function (w) { Tweener.addTween(w, { time: 3, transition: ‘easeOutQuad’, scale_x: 0.3, scale_y: 0.3 })})  
  4. global.get_window_actors().forEach(function(w){w.rotation_angle_z=0;w.rotation_angle_y=0;w.rotation_angle_x=0})  
 

第一个设置透明度,第二个设置缩放,第三个也是缩放,只不过有动画,第四个最炫,可以形成3D效果.

 

这些功能可以写成扩展的形式,你可以发现在javascript emulator右边还有一个extensions标签。我们可以实现扩展。

 

  1. 安装官方extension的方法参考: 
  2. 自己用gnome-shell-extension-tool写扩展的方法参考: http://blogs.openshine.com/cgtapia/2011/05/16/writing-extensions-to-the-new-gnome-shell/3/ ,此过程更为简单。安装完扩展都要重新加载gnome shell: Alt-F2再输入r

gnome shell提供的一个简单例程是当你点击panel上的图标时,在屏幕中央写一个hello world. 将其修改一下,比如将global.get_window_actors().forEach(function(w) {w.set_opacity(125)})加入进去,就可以实现一键透明的作用。所有的扩展默认安装在~/.local/share/gnome- shell/extensions下,每个扩展都有一个extension.js的文件,我的修改如下

[javascript]
  1. function _setOpacity(){  
  2.     global.get_window_actors().forEach(function(w){  
  3.         if(w.opacity == 255){  
  4.             w.set_opacity(200)  
  5.         }  
  6.         else {  
  7.             w.set_opacity(255)  
  8.         }  
  9.     })  
  10.     if(Main.panel.actor.opacity == 255){  
  11.         Main.panel.actor.set_opacity(100);  
  12.     }  
  13.     else{  
  14.         Main.panel.actor.set_opacity(255);  
  15.     }  
  16. }  
  17. // Put your extension initialization code here  
  18. function main() {  
  19.     Main.panel.actor.reactive = true;  
  20.     Main.panel.actor.connect('button-release-event', _setOpacity);  
  21. }  
 

效果就是,点击一下面板(panel),所有窗口透明,再点一下,又全部恢复。


转载自:http://blog.csdn.net/pkuwwt/article/details/6526812

阅读(699) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~