作者HZYSoft (PCMan 知识+)
看板Browsers
标题Re: [-Fx-] PCMan-plugin for Firefox 20080627版
时间Mon Jun 30 22:55:51 2008
: → neopro:svn/cvs 等整理好有空在阶段性的放上去; 但还是先补上code 06/28 20:50
: ※ 编辑: neopro 来自: 203.187.100.39 (06/28 21:05)
: → neopro:加上滑鼠功能会让code变复杂不少, 因为原先hzysoft前辈设计 06/28 21:18
: → neopro:的plugin核心其实相当的简洁乾净 所以我是觉得最好是尽可能 06/28 21:19
: → neopro:的保持啦..不过我还是会尽力试看看罗 06/28 21:26
: → neopro:给楼上, 不好意思该部分的确是还没实作喔. 06/29 18:22
: → neopro:To shyangs 我的想法是,直接从plug-in拉出 Scriptable介面 06/29 18:23
: → neopro:(诸如sendString(), getSelectedText()..等),这些琐碎的小 06/29 18:23
: → neopro:功能应该是要由 Extension方面来完成,而不是把大大小小所有 06/29 18:23
: → neopro:功能全部写死在plug-in里面. 不过我对Fx Extension/html/ 06/29 18:25
: → neopro:javaScript完全不熟.不清楚可行性如何. 06/29 18:25
: → neopro:滑鼠触控我已经参考了qterm的作法,不过这个写起来需要时间 06/30 19:00
感谢你的改版
1. 我非常赞成你 scriptable 介面的想法,原先我也是这样想
所以,pcman plugin 里面本来就已经写好,暗藏 scriptable 支援了
可惜後来没有时间继续维护,把它完成。
字型、防闲置...等等,也早就都可以用 javascript 呼叫去更改 (密技)
改这部份需要同时改 idl 档和 C++ 程式,然後重新编译,让他产生新的
xpt 档案。 这部份 XPCOM 的技术非常复杂,说实话,我也没有全部搞懂
在 IE Tab 里面,我们也是使用了大量的这种技巧。
透过这样的方式,extension 和 plugin 可以做非常完美的结合。
而且扩充性会极强。 有兴趣你可以参考 IE Tab 的程式码。
2. 对 extension 不熟没关系,我也不熟,你可以到 moztw 的讨论区徵人
那边 extension 高手很多,只是没什麽人在研究 plugin
如果你能搞懂复杂的 plugin,去那边就可以找到 javascript 的高手合作
3. 滑鼠操作在 Linux 版本的 PCManX gtk+2 是有内建的,程式架构接近 pcman plugin
(因为都是源自 wx 版 PCManX ),你可以直接复制贴上过来,不用自己重写
4. 搜寻引擎支援在 pcman 2007 有内建,要移植过来当然是很简单,不过...
我会更建议透过 scriptable 的方式,让 extension part 用 javascript
去存取 firefox 里面的搜寻引擎,用 Firefox 原生的支援,这样会更好。
技术上绝对可行,不过实做起来很有挑战性,得先搞懂 XPCOM 技术,
然後找到够强的 extension 开发者合作。
--
个人网页:
http://pcman.sayya.org/ 上面有自画像及各种联络资讯
Blog:
http://pcman.sayya.org/blog.php?id=pcman
PCMan 全系列 BBS 连线软体
http://pcman.ptt.cc/ http://pcmanx.csie.net/
新酷音输入法 for Windows
http://chewing.csie.net/
IE Tab Firefox plugin/extension
http://ietab.mozdev.org/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.231.49.53
1F:推 neopro:其实extension化最麻烦的地方还是在於 DOM embedded object 06/30 23:30
2F:→ neopro:先天上的限制. 例如今天我要在 extension side实作"热键送 06/30 23:30
3F:→ neopro:出常用字串"功能; 这时会出现一个问题,当我焦点focus在em- 06/30 23:31
4F:→ neopro:bed物件主体上时 extension side 的EventListener会被夺走 06/30 23:32
5F:推 neopro:控制权! 执行extension side指令一定得focus在html body上! 06/30 23:37
6F:→ neopro:虽然不影响正常功能,但会严重影响user的操作感受 很别扭 06/30 23:54
7F:→ HZYSoft:我记得 pcman plugin 有提供 set_focus method 07/01 01:06
8F:→ HZYSoft:你可以先抢走 focus,再还回来... 07/01 01:07
9F:→ HZYSoft:另一个很脏的方法,把 plugin 键盘事件,redirect 给 07/01 01:07
10F:→ HZYSoft:html object。我在 IE Tab 有做这件事情 :P 07/01 01:07
11F:→ HZYSoft:总之,这部份要用一些比较低阶,很脏的方法来弄 07/01 01:07
12F:→ HZYSoft:在这部份 Firefox 大失败... 可以说完全没有考量到 07/01 01:08