您尚未登录。

#1 2015-04-23 21:00:34

guanghui306
会员
注册时间: 2013-06-28
帖子: 16

折腾过awesome来看看

刚开始折腾awesome,有几个问题求指导:
1:Print健无法使用,照wiki上已在rc里加入了scrot截屏代码。

root.keys(globalkeys)
awful.key({ }, "Print", function () awful.util.spawn("scrot -e 'mv $f ~/Downloads/ 2>/dev/null'") end)

2:固定程序窗口的问题,如图:
473e86005b727d3f8e78601ca0a3b92bdd0fac.png
我想把firefox固定在屏幕右边的窗口里,该怎么写代码?
----------------------------------------------------


问题1解决方法:

在rc.lua搜globalkeys或是clientkeys,把截屏代码加在第一个搜到位置的方法内
如:
globalkeys = awful.util.table.join(
awful.key({ }, "Print", function () awful.util.spawn_with_shell("scrot -e 'mv $f /home/archlinux/Downloads/ 2>/dev/null'") end),
...............
)
Fn快捷键添加方法同样

最近编辑记录 guanghui306 (2015-04-26 17:47:19)

离线

#2 2015-04-24 00:16:53

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,918
个人网站

Re: 折腾过awesome来看看

截图那个,看看 stderr?

离线

#3 2015-04-24 14:28:56

guanghui306
会员
注册时间: 2013-06-28
帖子: 16

Re: 折腾过awesome来看看

thx 仙子 wxg4net
stderr下未有相关提示,换用awful.util.spawn_with_shell也不行
另外有几个Fn键(fn+f5 f6的音量开关 fn+f8 f9的亮度开关)也和Print键一样,感觉是不是awesome没有捕获到这些键的输入?

离线

#4 2015-04-24 17:00:43

atmouse
会员
注册时间: 2011-08-24
帖子: 701

Re: 折腾过awesome来看看

scrot 命令贴出来,
反正上次scrot+awesome截图出问题之后,我一直用import截图

离线

#5 2015-04-24 22:42:12

管毅
会员
注册时间: 2014-04-08
帖子: 326

Re: 折腾过awesome来看看

如果你只是想要让火狐固定在从窗口,那用以下代码就行
{ rule = { class = "Firefox" },--最好用xprop确认一下firefox的class名。
      properties = { tag = tags[1][1] },--固定在哪个标签显示,可以自己改。
      callback = awful.client.setslave },--标签1从窗口。
如果你想固定火狐窗口列宽,这个就没有研究了。

离线

#6 2015-04-25 07:57:57

wxg4net
会员
注册时间: 2012-01-07
帖子: 274

Re: 折腾过awesome来看看

帖·配置吧


Arch Linux User

离线

#7 2015-04-25 13:12:02

guanghui306
会员
注册时间: 2013-06-28
帖子: 16

Re: 折腾过awesome来看看

管毅 说:

如果你只是想要让火狐固定在从窗口,那用以下代码就行
{ rule = { class = "Firefox" },--最好用xprop确认一下firefox的class名。
      properties = { tag = tags[1][1] },--固定在哪个标签显示,可以自己改。
      callback = awful.client.setslave },--标签1从窗口。
如果你想固定火狐窗口列宽,这个就没有研究了。

callback = awful.client.setslave --这个是关键

最近编辑记录 guanghui306 (2015-04-25 13:13:23)

离线

#8 2015-04-25 13:37:53

guanghui306
会员
注册时间: 2013-06-28
帖子: 16

Re: 折腾过awesome来看看

wxg4net 说:

帖·配置吧

能不能帮忙瞅下

离线

#9 2015-04-25 14:17:00

guanghui306
会员
注册时间: 2013-06-28
帖子: 16

Re: 折腾过awesome来看看

wxg4net 说:

截图不成功 大概是用了 ~ 符号  spawn 不解析这种伪路径。换为绝对路径即可。
awful.client.setslave 是让指定窗口启动时以最后一个窗口显示。对于默认的布局从左到右、从上到下 的布局来说会显示在屏幕右侧。但不能保证窗口高度。浏览器如果宽度、高度不够,有时候很不方便查看的。

我起初以为布局比较难写,但是实践下来,在默认只有一个上导航条的情况下。写布局其实比想的要简单些。
比如有个需求,tag3上只运行sakura (当然自由窗口也可以)。sakura窗口在现有布局里面有时候宽度不够,显示长字符串会换行,不方便操作。所以我写了个 https://github.com/wxg4net/awesome-src/ … erm.lua.in 布局 只显示一列。然后等高窗口显示。这样就舒服多了

试过用绝对路径,但还是不行,我想是键盘捕获的问题,但是用xmodmap重新定义print键,并在rc.lua里绑定后还是一样不起作用,这就不知问题在那儿了。

布局的话还要再研究下,现在能固定住了,但是不能调节宽度,没有想象的灵活,比较与浮动窗口布局来说(可以用mod+鼠标去拖动),但还是觉得固定来的好点。

离线

#10 2015-04-25 18:48:57

管毅
会员
注册时间: 2014-04-08
帖子: 326

Re: 折腾过awesome来看看

试验出了个办法,不知跟楼主想像的效果一样不,用默认的下面这个布局,即主窗口在最右边的。
——| |
——| |
——| |
然后用如下代码
{ rule = { class = "Firefox" },
  properties = { tag = tags[1][1] },
  awful.tag.incmwfact( 0.1)},--增加默认宽度,可以自己调节合适数值。

----------------以上缺陷太大,因为只在tag1起作用,而且火狐窗口会出现问题,废弃-----
不知楼主有没有给浏览器设快捷键,如果设了的话就很简单了。比如我设modkey + f3,然后加入上面宽度调节代码,如:
awful.key({ modkey,           }, "F3", function () awful.util.spawn("firefox") awful.tag.incmwfact(0.15) end),--firefox
这样,还是用上面所说默认布局,先打开工作程序==>要查资料(打开浏览器)自动调节宽度。但是还是稍有缺陷,因为火狐窗口有时候会显示不完全,估计需要类似重绘窗口的函数刷新一下,但是我没找着,不知道坛子里有没有知道的了。
还有就是让上一个窗口再自动恢复原宽度就很麻烦了,我想到的办法是给火狐单独设一个关闭快捷键,然后在里面加上负调节宽度的代码,感觉这样也太繁琐了些,还不如就用系统快捷键调调宽度呢。
感觉比较完美的办法还是自己写一个布局比较好,可惜我现在是没空研究了,只能期待楼主了。

最近编辑记录 管毅 (2015-04-25 23:22:54)

离线

#11 2015-04-25 23:02:25

atmouse
会员
注册时间: 2011-08-24
帖子: 701

Re: 折腾过awesome来看看

这是我的,也许你想参考下

    -- awful.key({ }, "Print", function () awful.util.spawn("scrot -e 'mv $f ~/Pictures/snapshots/ 2>/dev/null'") end),
    awful.key({ }, "Print", function () awful.util.spawn("/home/atmouse/bin/capture.sh full 2>/dev/null") end),
    -- awful.key({ modkey,           }, "Print",  function () awful.util.spawn_with_shell("import ~/Pictures/snapshots/snapshot-`date +%Y%m%d-%s`.png 2>/dev/null") end)
    awful.key({ modkey,           }, "Print",  function () awful.util.spawn_with_shell("/home/atmouse/bin/capture.sh area 2>/dev/null") end)

atmouse@ArchCC ~ % cat /home/atmouse/bin/capture.sh

#!/bin/sh

#fn=/home/atmouse/Pictures/snapshots/snapshot-$(date +%Y%m%d%H%M%S-%s).png
fn=/dev/shm/capture.png
case $1 in
    "full")
        #scrot $fn -e 'mv $f ~/Pictures/snapshots/ 2>/dev/null'
        scrot $fn 2>/dev/null
	/home/atmouse/Dropbox/work_python/clipcd/clip_setimg_trigger.py $fn
	;;
    "area")
	import ${fn} 2>/dev/null
	/home/atmouse/Dropbox/work_python/clipcd/clip_setimg_trigger.py $fn
	;;
    *)
	exit 1
	;;
esac

离线

#12 2015-04-26 17:01:49

guanghui306
会员
注册时间: 2013-06-28
帖子: 16

Re: 折腾过awesome来看看

管毅 说:

试验出了个办法,不知跟楼主想像的效果一样不,用默认的下面这个布局,即主窗口在最右边的。
——| |
——| |
——| |
然后用如下代码
{ rule = { class = "Firefox" },
  properties = { tag = tags[1][1] },
  awful.tag.incmwfact( 0.1)},--增加默认宽度,可以自己调节合适数值。

----------------以上缺陷太大,因为只在tag1起作用,而且火狐窗口会出现问题,废弃-----
不知楼主有没有给浏览器设快捷键,如果设了的话就很简单了。比如我设modkey + f3,然后加入上面宽度调节代码,如:
awful.key({ modkey,           }, "F3", function () awful.util.spawn("firefox") awful.tag.incmwfact(0.15) end),--firefox
这样,还是用上面所说默认布局,先打开工作程序==>要查资料(打开浏览器)自动调节宽度。但是还是稍有缺陷,因为火狐窗口有时候会显示不完全,估计需要类似重绘窗口的函数刷新一下,但是我没找着,不知道坛子里有没有知道的了。
还有就是让上一个窗口再自动恢复原宽度就很麻烦了,我想到的办法是给火狐单独设一个关闭快捷键,然后在里面加上负调节宽度的代码,感觉这样也太繁琐了些,还不如就用系统快捷键调调宽度呢。
感觉比较完美的办法还是自己写一个布局比较好,可惜我现在是没空研究了,只能期待楼主了。

布局问题我刚开始想简单了,以为awesome会“记住”firefox的窗口大小,这样只要指定它铺在那个窗口上就行了,没有考虑到布局的限制。
至于解决的方法可能只有自己写布局了, 像LZ这样大白的来说还有点小问题,哈哈 所以现在也不强求太多了,弄成浮动的随便用鼠标拽了 smile

离线

#13 2015-04-26 17:42:55

guanghui306
会员
注册时间: 2013-06-28
帖子: 16

Re: 折腾过awesome来看看

atmouse 说:

这是我的,也许你想参考下

    -- awful.key({ }, "Print", function () awful.util.spawn("scrot -e 'mv $f ~/Pictures/snapshots/ 2>/dev/null'") end),
    awful.key({ }, "Print", function () awful.util.spawn("/home/atmouse/bin/capture.sh full 2>/dev/null") end),
    -- awful.key({ modkey,           }, "Print",  function () awful.util.spawn_with_shell("import ~/Pictures/snapshots/snapshot-`date +%Y%m%d-%s`.png 2>/dev/null") end)
    awful.key({ modkey,           }, "Print",  function () awful.util.spawn_with_shell("/home/atmouse/bin/capture.sh area 2>/dev/null") end)

atmouse@ArchCC ~ % cat /home/atmouse/bin/capture.sh

#!/bin/sh

#fn=/home/atmouse/Pictures/snapshots/snapshot-$(date +%Y%m%d%H%M%S-%s).png
fn=/dev/shm/capture.png
case $1 in
    "full")
        #scrot $fn -e 'mv $f ~/Pictures/snapshots/ 2>/dev/null'
        scrot $fn 2>/dev/null
	/home/atmouse/Dropbox/work_python/clipcd/clip_setimg_trigger.py $fn
	;;
    "area")
	import ${fn} 2>/dev/null
	/home/atmouse/Dropbox/work_python/clipcd/clip_setimg_trigger.py $fn
	;;
    *)
	exit 1
	;;
esac

问题找到了 

现在awesome用着也慢慢顺手了

最近编辑记录 guanghui306 (2015-04-26 18:00:49)

离线

#14 2015-05-04 09:05:36

transtone
会员
注册时间: 2015-05-03
帖子: 5

Re: 折腾过awesome来看看

tiling window需要手动配置的地方还是太多,配置好了倒是很顺手,但一旦有什么新情况(好吧,我说的是wineqq)就要调试很久,很郁闷的。
后来我发现了,其实对于我的小本本来说,平铺不起多大作用,根本不能兼顾多个程序,只能以一个为主,其他为辅,还不如直接全屏了当。
现在干脆openbox配合多个桌面使用,还是用mod4+1..5切换,用mod4-t全屏,倒也很顺手。

离线

#15 2015-05-04 12:30:45

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,918
个人网站

Re: 折腾过awesome来看看

transtone 说:

tiling window需要手动配置的地方还是太多,配置好了倒是很顺手,但一旦有什么新情况(好吧,我说的是wineqq)就要调试很久,很郁闷的。
后来我发现了,其实对于我的小本本来说,平铺不起多大作用,根本不能兼顾多个程序,只能以一个为主,其他为辅,还不如直接全屏了当。
现在干脆openbox配合多个桌面使用,还是用mod4+1..5切换,用mod4-t全屏,倒也很顺手。

除了聊天窗口,以及偶尔需要对比外,我都是一个工作区一个最大化的窗口的。

Awesome 对我来说最大的好处就是定制性强,易于编程。

离线

页脚