本站不兼容 8 以前的版本的 Interner Explorer 浏览器(或基于这些版本的 IE 的其他浏览器),并且页面样式不完全兼容 IE 8,我们建议你升级至 IE 9 或改用其他非 IE 浏览器

Mozest™

  • 正在加载用户菜单…

开放、分享、互助

1530# Nick-cave

一直在用beta版firefox,昨天也是无法打开penta的网站,今天好不容易可以打开了,却发现Nightly builds只到10月11日……于是firefox34beta2继续悲剧了
我在使用vimperator时,遇到一个很困绕的问题(我用好多年了,3年以前的版本似乎不记得这样过):
输入法是汉语时,点f键后,输入1234567890不管用(输入小键盘的数字官用)。
********
如果我把set hintcharactor=asdfghjkl等定位成26个字母,那么点击f后,譬如要打开“da”这个链接(输入拼音后按回车是上屏字母),按了da加车上屏了da,也不管用。
求助。
1531# Anaheim

10月11日以后其实也就更新过一次代码(https://code.google.com/p/dactyl/source/list)。Nightly停止自动bulid只是暂时的,应该很快会恢复
The machine that usually builds nightlies has been down for a
week. Once I recover the build scripts, I'm probably going to
transition the entire website to AWS sometime this week, so this
shouldn't be an issue in the future.
听老人说,今生做千件好事,来世方能讨生为猫。
1532# konyeth

这个恐怕得在命令行禁用输入法才行,比如可以试试下面的CSS
  1. @namespace dactyl url("http://vimperator.org/namespaces/liberator");
  2. @namespace html url("http://www.w3.org/1999/xhtml");
  3. @namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");

  4. @-moz-document url-prefix(chrome:) {
  5.     /* 命令行禁用输入法 */
  6.     #dactyl-statusline-field-commandline-command input {
  7.     ime-mode: inactive;
  8.     }
  9. }

  10. @-moz-document url-prefix(http) {
  11.     /* 网页输入框启用输入法 */
  12.     input,textarea {
  13.     ime-mode: active;
  14.     }
  15. }
复制代码
听老人说,今生做千件好事,来世方能讨生为猫。
今天用上了keepass 发现keepass在没有toolbar的时候用不了...不知道有没有什么解决办法. 我默认的pentadactyl就关掉了toolbar.
1535# nopcall

将按钮拖到底栏上试试?
听老人说,今生做千件好事,来世方能讨生为猫。
本帖最后由 wangjian 于 2014-11-9 22:39 编辑

熟悉了一段时间总算初步上手了。

有个问题请教:
如何把网址旁边的加减符号(表示可前进后退),变成 < 和 > 这样更直观点
这个好像有点难呢,或许得修改下源代码,安装包中 chrome\common\content\statusline.js 里第260和262行应该就是控制这两个符号的。
听老人说,今生做千件好事,来世方能讨生为猫。
本帖最后由 wangjian 于 2014-11-10 19:14 编辑

翻到一个控制加减符号到网址前面来的插件,不知道能不能直接在这个插件上做修改,如果要改源码的话每次升级都要改也挺麻烦的,但我不懂代码
  1. (function() {
  2.     Object.defineProperty(statusline, "status", {
  3.             get: function() { return this._uri;},
  4.             set:
  5.     function(uri) {
  6.         let modified = "";
  7.         let url = uri;
  8.         if (isinstance(uri, Ci.nsIURI)) {
  9.             // when session information is available, add [+] when we can go
  10.             // backwards, [-] when we can go forwards
  11.             if (uri.equals(buffer.uri) && window.getWebNavigation) {
  12.                 let sh = window.getWebNavigation().sessionHistory;
  13.                 if (sh && sh.index > 0)
  14.                     modified += "+";
  15.                 if (sh && sh.index < sh.count - 1)
  16.                     modified += "-";
  17.                 if (this.bookmarked)
  18.                     modified += UTF8("\u2764");
  19.             }

  20.             if (modules.quickmarks)
  21.                 modified += quickmarks.find(uri.spec.replace(/#.*/, "")).join("");

  22.             url = util.losslessDecodeURI(uri.spec);
  23.         }

  24.         if (url == "about:blank") {
  25.             if (!buffer.title)
  26.                 url = _("buffer.noName");
  27.         }
  28.         else {
  29.             url = url.replace(RegExp("^dactyl://help/(\\S+)#(.*)"), function (m, n1, n2) n1 + " " + decodeURIComponent(n2) + " " + _("buffer.help"))
  30.                      .replace(RegExp("^dactyl://help/(\\S+)"), "$1 " + _("buffer.help"));
  31.         }

  32.         if (modified)
  33.             url = "[" + modified + "] " + url;

  34.         this.widgets.url.value = url;
  35.         this._status = uri;
  36.     },
  37.     enumerable: true,
  38.     configurable: true});
  39. })();
复制代码
试试这样改
  1. (function() {
  2.     Object.defineProperty(statusline, "status", {
  3.             get: function() { return this._uri;},
  4.             set:
  5.     function(uri) {
  6.         let modified = "";
  7.         let url = uri;
  8.         if (isinstance(uri, Ci.nsIURI)) {
  9.             // when session information is available, add [+] when we can go
  10.             // backwards, [-] when we can go forwards
  11.             if (uri.equals(buffer.uri) && window.getWebNavigation) {
  12.                 let sh = window.getWebNavigation().sessionHistory;
  13.                 if (sh && sh.index > 0)
  14.                     modified += "<";
  15.                 if (sh && sh.index < sh.count - 1)
  16.                     modified += ">";
  17.                 if (this.bookmarked)
  18.                     modified += UTF8("❤");
  19.             }

  20.             if (modules.quickmarks)
  21.                 modified += quickmarks.find(uri.spec.replace(/#.*/, "")).join("");

  22.             url = util.losslessDecodeURI(uri.spec);
  23.         }

  24.         if (url == "about:blank") {
  25.             if (!buffer.title)
  26.                 url = _("buffer.noName");
  27.         }
  28.         else {
  29.             url = url.replace(RegExp("^dactyl://help/(\\S+)#(.*)"), (m, n1, n2) => n1 + " " + decodeURIComponent(n2) + " " + _("buffer.help"))
  30.                      .replace(RegExp("^dactyl://help/(\\S+)"), "$1 " + _("buffer.help"));
  31.         }

  32.         if (modified)
  33.             url += " [" + modified + "]";

  34.         this.widgets.url.value = url;
  35.         this._status = uri;
  36.     },
  37.     enumerable: true,
  38.     configurable: true});
  39. })();
复制代码
听老人说,今生做千件好事,来世方能讨生为猫。
谢谢大神,这样可以了,但还有一个问题,本来这个插件是把符号加在网址左边的,
这样能不管网址长度,更方便寻找这个符号。
能不能顺便改一下到网址左边。多谢
将脚本37行改为
  1. url = "[" + modified + "] " + url;
复制代码
应该就行了。
听老人说,今生做千件好事,来世方能讨生为猫。
本帖最后由 wangjian 于 2014-11-11 18:57 编辑

多谢已经可以了
强烈推荐: Focus Regainer Lite by mikhail_s

之后可用快捷键ESC跳出embedded flash object的焦点了

http://bbs.kafan.cn/thread-1789679-1-1.html
好东西。话说什么时候html5真能取代flash就没这个问题了……
听老人说,今生做千件好事,来世方能讨生为猫。
不知从哪个版本开始,Pentadactyl 会自动重置页面缩放,请问怎么取消?

不能记住特定网站的自定义缩放,最近眼睛都要看瞎了
强烈推荐: Focus Regainer Lite by mikhail_s

之后可用快捷键ESC跳出embedded flash object的焦点了

http://bbs.kafan.cn/thread-1789679-1-1.html
weide 发表于 2014-11-28 10:35
谢谢分享,为什么我这里没有效果?
到优酷随便播放了一个视频,试过单击ESC双击ESC双击F11双击Ctrl-F1双击Ctrl-F11

版本是 Firefox33.1.1,系统 windows 8.1
1546# MarilynNorman

好像是个老毛病了,一直都没修复。
听老人说,今生做千件好事,来世方能讨生为猫。
1546# MarilynNorman

好像是个老毛病了,一直都没修复。
harnack 发表于 2014-12-7 15:58
嗯,很长时间了,喵大果然无所不知
请问有解决方法吗,等待 Pentadactyl 修复赶脚指望不上了
本帖最后由 weide 于 2014-12-7 21:58 编辑
谢谢分享,为什么我这里没有效果?
到优酷随便播放了一个视频,试过单击ESC双击ESC双击F11双击Ctrl-F1双击Ctrl-F11

版本是 Firefox33.1.1,系统 windows 8.1 ...
MarilynNorman 发表于 2014-12-7 03:31
This addon conflicts with Flashblock.-----看看你装没装这个?

另外fx升级到34.0.5之后,Focus Regainer会导致flash无法正常加载了,之前的33确实是可以用的

目前貌似只能坐等作者再升级了



大家升级fx到34.0.5了吗?貌似改about:config里边的checkcomptible..也无法使用

直接修改install.rdf中的maxversion才终于搞定,用了两天,按下f又无法出现hint提示了。费了半天劲儿,下载最新代码,替换当前xpi中的相关文件,勉强凑合用。

大家没有遇到此类问题吗?

nightly build好久没搞好了,kris不知道忙乎啥呢
本帖最后由 MarilynNorman 于 2014-12-8 00:27 编辑
This addon conflicts with Flashblock.-----看看你装没装这个?

另外fx升级到34.0.5之后,Focus Regainer会导致flash无法正常加载了,之前的33确实是可以用的

目前貌似只能坐等作者再升级了



大家升级fx到34. ...
weide 发表于 2014-12-7 21:50
谢谢,确实装了 FlashBlock
话说昨天在下载界面也看到你的反馈了,当时还看了下自己的 FF 版本,没升 34

_______________________________________________________________________________

还是等扩展稳定一些再用,现在用 ahk 暂时凑活,顺便贴一下 ahk,分享一下并求改进~~~~
主要的问题是退出 flash 焦点,是通过模拟鼠标点击屏幕上的一个点来实现的(现在选取的是屏幕右边缘的下 1/3 处,以前还试过很多别的点).如果右下角有一个大的弹窗或者别的什么按钮,就会误击在这个弹窗/按钮上,不知道有什么改进的方法

另外还有一些别的辅助,比如键盘操作视频播放/暂停/全屏/退出焦点/获得焦点之类的
(话说 vim/ahk 都容易上瘾,现在随便什么程序都喜欢附带一个 ahk 运行,提供一些自动操作或者快捷键映射什么的)
  1. ; 按下 ctrl-s 或者 ctrl-m 后,鼠标移动到屏幕中上方,按 g 退出 flash 焦点,f 播放/暂停视频,d 视频全屏,v 播放/暂停视频并获得 flash 焦点
  2. ; (鼠标未对准 flash 时,hjkl 手动微调鼠标位置,再按 g/f/d/v(hjkl 快速调整,ctrl-hjkl 慢速调整))
  3. ; ESC 退出 flash 全屏后,自动退出 flash 焦点
  4. ; 在标签页分组界面,通过 hjkl 移动焦点,空格选取标签
  5. ; 启动前删除 Profiles\dactyl\cache.zip 文件(解决 dactyl 帮助不能打开的 bug)

  6. SetMouseDelay -1                     
  7. SetDefaultMouseSpeed 0              
  8. coordmode,Mouse,Screen                  ;在整个屏幕上

  9. Hotkeyexist = 0

  10. ; 启动前删除 Profiles\dactyl\cache.zip 文件(解决 dactyl 帮助不能打开的 bug)
  11. FileDelete %A_ScriptDir%\Profiles\dactyl\cache.zip
  12. ; 启动火狐
  13. Run %A_ScriptDir%\FireFox.bat,%A_ScriptDir%

  14. ; 火狐退出后,自动退出脚本
  15. WinWait ahk_class MozillaWindowClass
  16. WinWaitClose ahk_class MozillaWindowClass
  17. Process WaitClose, FireFox.exe
  18. ExitApp

  19. ; 启动后去除标题栏(弃用)
  20. ;Loop {
  21. ;    winwait ahk_class MozillaWindowClass
  22. ;    WinSet, Style, -0xC00000,ahk_class MozillaWindowClass
  23. ;    WinMinimize ahk_class MozillaWindowClass
  24. ;    WinMaximize ahk_class MozillaWindowClass
  25. ;    WinWaitClose ahk_class MozillaWindowClass
  26. ;}
  27. ;

  28. ;标签页分组时,通过 hjkl 移动焦点,空格选取标签
  29. #IfWinActive Firefox - 分组您的标签页 ahk_class MozillaWindowClass
  30. h::Left
  31. j::Down
  32. k::Up
  33. l::Right
  34. Space::Enter
  35. #IfWinActive

  36. ; F4 退出火狐及脚本
  37. #IfWinActive ahk_class MozillaWindowClass
  38. F4::
  39.     SendInput,!{F4}
  40.     ExitApp
  41.     Return

  42. ;ctrl-s(ctrl-m) 进入或退出鼠标模拟模式
  43. ^m::
  44. ^s::
  45.     If (Hotkeyexist == 0)
  46.     {   
  47.         ;msgbox,开启
  48.         mousemove,A_ScreenWidth/2,A_Screenheight/2
  49.         Hotkey, IfWinActive, ahk_class MozillaWindowClass
  50.         Hotkey g, g
  51.         Hotkey f, f
  52.         Hotkey d, d
  53.         Hotkey v, v
  54.         Hotkey h, h
  55.         Hotkey j, j
  56.         Hotkey k, k
  57.         Hotkey l, l
  58.         Hotkey ^h, ^h
  59.         Hotkey ^j, ^j
  60.         Hotkey ^k, ^k
  61.         Hotkey ^l, ^l
  62.         Hotkey g, on
  63.         Hotkey f, on
  64.         Hotkey d, on
  65.         Hotkey v, on
  66.         Hotkey h, on
  67.         Hotkey j, on
  68.         Hotkey k, on
  69.         Hotkey l, on
  70.         Hotkey ^h, on
  71.         Hotkey ^j, on
  72.         Hotkey ^k, on
  73.         Hotkey ^l, on
  74.         Hotkey, IfWinActive
  75.         Hotkeyexist = 1
  76.     }
  77.     else
  78.     {
  79.         ;msgbox,关闭
  80.         mousemove,A_ScreenWidth,A_Screenheight*2/3
  81.         Hotkey, IfWinActive, ahk_class MozillaWindowClass
  82.         Hotkey g, off
  83.         Hotkey f, off
  84.         Hotkey d, off
  85.         Hotkey v, off
  86.         Hotkey h, off
  87.         Hotkey j, off
  88.         Hotkey k, off
  89.         Hotkey l, off
  90.         Hotkey ^h, off
  91.         Hotkey ^j, off
  92.         Hotkey ^k, off
  93.         Hotkey ^l, off
  94.         Hotkey, IfWinActive
  95.         Hotkeyexist = 0
  96.     }
  97.     Return

  98. ; 退出 flash 焦点
  99. g:
  100.     MouseClick,left,A_ScreenWidth,A_ScreenHeight*2/3
  101.     MouseClick,left,4,A_ScreenHeight-4
  102.     SendInput {Esc 5}
  103.     GoSub ^s
  104.     return
  105. ; 播放或暂停视频,并退出flash焦点
  106. f:
  107.     MouseGetPos,x,y
  108.     MouseClick, left,x,y
  109.     MouseClick,,A_ScreenWidth,A_Screenheight*2/3
  110.     GoSub ^s
  111.     return
  112. ;  flash 全屏
  113. d:
  114.     MouseGetPos,x,y
  115.     MouseClick, left,x,y,2
  116.     GoSub ^s
  117.     return

  118. ; 播放或暂停视频,不退出 flash 焦点
  119. v:
  120.     MouseGetPos,x,y
  121.     MouseClick, left,x,y
  122.     GoSub ^s
  123.     return

  124. ; 鼠标未对准 flash 时,手动微调鼠标位置(hjkl 快速,ctrl-hjkl 慢速)
  125. h:
  126.     MouseMove,-150,0,,R
  127.     return
  128. j:
  129.     MouseMove,0,150,,R
  130.     return
  131. k:
  132.     MouseMove,0,-150,,R
  133.     return
  134. l:
  135.     MouseMove,150,0,,R
  136.     return
  137. ^h:
  138.     MouseMove,-1,0,,R
  139.     return
  140. ^j:
  141.     MouseMove,0,1,,R
  142.     return
  143. ^k:
  144.     MouseMove,0,-1,,R
  145.     return
  146. ^l:
  147.     MouseMove,1,0,,R
  148.     return

  149. #IfWinActive

  150. ; ESC 退出 flash 全屏后,自动退出 flash 焦点
  151. #IfWinActive Adobe Flash Player ahk_class ShockwaveFlashFullScreen
  152. Esc::
  153.     SendInput {Esc}
  154.     WinwaitActive ahk_class MozillaWindowClass
  155.     MouseClick,left,A_ScreenWidth,A_ScreenHeight*2/3
  156. #IfWinActive
复制代码
本帖最后由 weide 于 2014-12-8 17:20 编辑

1551# MarilynNorman

首先还说移除flash焦点的问题:
这个帖子 https://g.mozest.com/viewthread.php?tid=34275&;page=1#pid253174
提到的emblur -- https://gist.github.com/satyr/401738

优点 uc脚本,放到pentadactyl的插件目录即可使用。不到30行代码,但非常给力,它的作用就是让flash始终不占用焦点,这对于大部分视频游戏类flash非常好用。
缺点 部分flash开发的应用如果需要输入密码或大段文本需要flash获取焦点时,可按下Ctrl或shit再通过鼠标点击进入flash-----遗憾的是emblur一旦让flash进入焦点就无法再通过快捷键跳出来了--这时候就必须用到Focus Regainer
调整失去焦点的时间 可以适当让flash失去焦点的时间间隔变长一点,修改了一点点代码如下:
  1. // ==UserScript==
  2. // @name    emblur
  3. // @desc    Unfocuses <embed>/<object> on focus.
  4. // @help    Hold shift/ctrl to turn off temporarily.
  5. // @include main
  6. // @author  satyr https://gist.github.com/401738
  7. // @license X
  8. // ==/UserScript==
  9. function emblur(e){
  10.   switch(e.type){
  11.     case 'keydown': case 'keyup':
  12.     return emblur.off = e.shiftKey || e.ctrlKey;
  13.   }
  14.   if(emblur.off || emblur.ignore.test(e.target.tagName)) return;
  15.   clearTimeout(emblur.tim);
  16.   var t = ["tracserver"].indexOf(content.document.location.host)<0?200:2000;//个别网站可适当延后失去焦点的时间,以便录入密码等信息
  17.   emblur.tim = setTimeout(function _emblur(lm) {lm && lm.blur();}, t, e.target);
  18. }
  19. emblur.ignore = /^(?!embed$|object$)/i;
  20. let(c = document.getElementById('content')){
  21.   for each(let type in ['focus', 'keydown', 'keyup'])
  22.     c.addEventListener(type, emblur, type == 'focus');//原文type==='focus',拼写错误?
  23. }
复制代码
再说AHK@Firefox,也没找到比较完美的ahk脚本,我之前用的一个让fx先最小化,然后最大化的办法,可以100%让flash失去焦点,但这个过程不顺滑..
  1. $esc::

  2. ;仅当激活firefox
  3. IfWinActive, ahk_class MozillaWindowClass
  4. {
  5.     WinGetTitle, active_title, A
  6.     ;包含指定标题,用逗号间隔多项
  7.     if active_title contains 标题1,标题2
  8.     {
  9.         WinMinimize, ahk_class MozillaWindowClass
  10.         sleep, 200
  11.         WinMaximize, ahk_class MozillaWindowClass
  12.         WinWaitActive, ahk_class MozillaWindowClass
  13.         Send, {ESC}
  14.         return
  15.     }
  16. }

  17. ;不做处理
  18. send,{ESC}
  19. return
复制代码
最后,喜欢vim/ahk,如果也用total commander,那么一定不能错过vimdesktop:
https://github.com/victorwoo/vimdesktop/wiki

里边的插件,相对TC是最成熟的,其它可能需要自行调整后再用
本帖最后由 MarilynNorman 于 2014-12-9 02:14 编辑
1551# MarilynNorman

首先还说移除flash焦点的问题:
这个帖子 https://g.mozest.com/viewthread.php?tid=34275&;page=1#pid253174
提到的emblur -- https://gist.github.com/satyr/401738

优点 uc脚本,放到pen ...
weide 发表于 2014-12-8 12:05
谢谢谢谢,都是拆腾一族啊,有几个问题想再请教一下

一是退出视频全屏后,Pentacatyl 会进入一个特别的 insert 模式,UC 脚本与 Focus Regainer 似乎都不能让焦点恢复正常.

另外UC脚本里,你修改的 t 变量与直接修改 500 有什么区别吗(PS 我直接改成 0 了,要清就清个痛,哈哈)

Focus Regainer 似乎会导致空格键失效(flash 获取焦点时),也就是不能空格控制暂停和播放了
flashblock 有替代品吗?FF 似乎把 flashPlayer 加入白名单了,Focus Regainer 作者说新版本下 flashblock 没用是什么意思?



一直使用 viatc,感觉非常顺手.VimD 刚发布的时候也去试用过,还加了讨论群,但是因为找不到帮助文档,就弃置了.比如怎么关闭组合键提示信息之类的(就是按 g 之后弹出的提示框)?
刚刚又折腾了一下新版本,变化好大,但是还是没找到文档,不知道该怎么做上面之类的设置.
1553# MarilynNorman

t变量是为了将部分网站跳出焦点的间隔变长,方便录入密码等信息

vimd看看wiki和vimd.ini.help.txt,还有源码
1549# MarilynNorman

这个缩放的问题我也不知道该如何解决,实在不行用autocmd?不过那得一个网站一个网站设置,太麻烦了点……
听老人说,今生做千件好事,来世方能讨生为猫。
1549# MarilynNorman

这个缩放的问题我也不知道该如何解决,实在不行用autocmd?不过那得一个网站一个网站设置,太麻烦了点……
harnack 发表于 2014-12-9 16:19
嗯嗯,只得多装了一个扩展 NoSquint
1553# MarilynNorman

t变量是为了将部分网站跳出焦点的间隔变长,方便录入密码等信息

vimd看看wiki和vimd.ini.help.txt,还有源码
weide 发表于 2014-12-9 09:51
谢谢,发行版里居然木有 vimd.ini.help.txt,找啊找,重新下了个开发版,在里面找到了
Focus Regainer Lite 在fx34上导致flash无法加载解决办法,转自扩展评论:
Firefox 34 is more careful with how XBL bindings are applied to untrusted content (see Bug 1050049 in Bugzilla). The way to make this add-on work again is actually pretty straightforward: add an attribute: bindToUntrustedContent="true" to the [binding] element in the chrome/content/focusregainer.xml file inside the XPI.
编译了一个最新(12月12日)的pentadactyl版本
附件: 您所在的用户组无法下载或查看附件
这里也可以下载到最新的每夜版:
http://backend.bolt80.com/pentadactyl/
听老人说,今生做千件好事,来世方能讨生为猫。