electronic-wechat高分屏下的缩放修改

electronic-wechat是基于网页版微信开发的nodejs版微信客户端,可以在linux下使用。由于我的笔记本是高分辨率的,所以字体看起来特别小,打字和读消息特别费劲。早上起来没什么事做,就开始折腾吧。

首先可以通过菜单栏的工具打开开发人员工具,发现其实就是个chrome调试。那么这里肯定可以通过改样式的方式改字体大小了,弄了一下,确实可以,只是要改好几个地方的字体,每次启动都这样改一下略显麻烦。

查了html如何缩放整个网页,发现只要在body里面加zoom属性就可以了,这很便捷。只需要改一个地方就满足我的需求了。
electronic-wechat高分屏下的缩放修改_第1张图片
过了会儿觉得还是不满意,我想要启动时就能自动缩放,而不是手动改一下。觉得应该可以改下代码来实现,就在github上下载了源码来编译。
首先需要安装nodejs环境 sudo apt-get install nodejs npm。 使用npm install && npm start编译运行,期间解决了我电脑的两个编译问题。一个是报错命令node找不到,这个只需要把nodejs软链接到node即可,还有一个是什么socket超时,我开了软件再试就过了。

没接触过nodejs,这代码也看不太懂,就grep了一下zoom。找到一处webFrame.setZoomLevelLimits(1, 1);,查了下百度知道它相关的缩放函数setZoomFactor,就随便改了下,发现真缩放了。但是窗口太小,显示不全,于是再把窗口弄大一点就好了。如下是具体改动点:

放大了1.3倍

leon@leon-ubuntu:~/software/wechat/electronic-wechat$ git diff
diff --git a/src/common_cn.js b/src/common_cn.js
index 11c354e..d335755 100644
--- a/src/common_cn.js
+++ b/src/common_cn.js
@@ -9,20 +9,20 @@ Common.ELECTRON = 'Electron';
 Common.ELECTRONIC_WECHAT = 'Electronic WeChat';
 Common.DEBUG_MODE = false;
 Common.WINDOW_SIZE = {
-  width: 800,
-  height: 600,
+  width: 800*1.3,
+  height: 600*1.3,
 };
 Common.WINDOW_SIZE_LOGIN = {
-  width: 380,
-  height: 540,
+  width: 380*1.3,
+  height: 540*1.3,
 };
 Common.WINDOW_SIZE_LOADING = {
-  width: 380,
-  height: 120,
+  width: 380*1.3,
+  height: 120*1.3,
 };
 Common.WINDOW_SIZE_SETTINGS = {
-  width: 800,
-  height: 600,
+  width: 800*1.3,
+  height: 600*1.3,
 };

 Common.USER_AGENT = {
diff --git a/src/inject/preload.js b/src/inject/preload.js
index 0b4ddc9..2d1246a 100644
--- a/src/inject/preload.js
+++ b/src/inject/preload.js
@@ -20,7 +20,9 @@ class Injector {
     this.initAngularInjection();
     this.lastUser = null;
     this.initIPC();
-    webFrame.setZoomLevelLimits(1, 1);
+    webFrame.setZoomLevelLimits(1, 2);
+
+    webFrame.setZoomFactor(1.3);

     new MenuHandler().create();
   }

扫码时的界面:
electronic-wechat高分屏下的缩放修改_第2张图片
可以看到字体图片都放大了,标题栏字体很小,不过我并不care这个。
虽然并不懂他的代码,还是跌跌撞撞改好了,真开心 ^_^。

你可能感兴趣的:(ubuntu)