-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于高分辨率显示器下,开启缩放后输入法显示偏移问题的临时修改方案 #24
Comments
你好,请问一下这边报错怎么解决? |
你是不是直接修改了patch?得先打patch再直接修改源码。不能直接修改patch的,patch里有行信息。 |
@szoyj 在你的解决方案基础上,我简单修复了一下这个问题,可以下载试试会不会导致别的问题:Release 17.0.4.1-b469.62 · tangruize/JetBrainsRuntime-for-Linux-x64。没有什么问题的话再提一个pr. 修复方式:获取了X11的scale factor:
GDK的全局缩放factor(GDK_SCALE,org.gnome.desktop.interface/scaling-factor)只有整数才有效,字体缩放(GDK_DPI_SCALE)可以是浮点数,Xft.dpi (通过 参考了 |
能不能提供一个配置文件修改呢,这样就不用自己编译了 |
1 similar comment
能不能提供一个配置文件修改呢,这样就不用自己编译了 |
编译过程中,打prehonor大佬的patch报错,尝试了多个版本: $ git apply ../idea.patch
../idea.patch:25: trailing whitespace.
../idea.patch:41: trailing whitespace.
../idea.patch:45: trailing whitespace.
../idea.patch:96: trailing whitespace.
case KeyEvent.KEY_RELEASED:
../idea.patch:146: trailing whitespace.
error: patch failed: src/java.desktop/unix/classes/sun/awt/X11/XInputMethod.java:83
error: src/java.desktop/unix/classes/sun/awt/X11/XInputMethod.java: patch does not apply
$ git apply ../idea.patch
../idea.patch:25: trailing whitespace.
../idea.patch:41: trailing whitespace.
../idea.patch:45: trailing whitespace.
../idea.patch:96: trailing whitespace.
case KeyEvent.KEY_RELEASED:
../idea.patch:146: trailing whitespace.
warning: squelched 9 whitespace errors
warning: 14 lines add whitespace errors. 打RikudouPatrickstar大佬的patch也报错: $ git apply ../idea_rikudou.patch
error: patch failed: src/java.desktop/unix/classes/sun/awt/X11/XInputMethod.java:156
error: src/java.desktop/unix/classes/sun/awt/X11/XInputMethod.java: patch does not apply
$ git apply ../idea_rikudou.patch
error: patch failed: src/java.desktop/share/classes/java/awt/Container.java:25
error: src/java.desktop/share/classes/java/awt/Container.java: patch does not apply
error: patch failed: src/java.desktop/unix/classes/sun/awt/X11/XInputMethod.java:86
error: src/java.desktop/unix/classes/sun/awt/X11/XInputMethod.java: patch does not apply 想请教一下咱们这边编译的版本和编译的流程是怎样的呢? |
我fork了 @tangruize 的分支,将JBR版本更新到了17.0.6, Markdown预览功能在这版本的JBR是正常的。有需要可以下载来用 jbr-release-17.0.8.1b1080.1 |
这个算法应该是对的 |
这个很不错 唯一的问题就是终端光标更随的问题了 原来的候选框在左下角 现在因为终端不跟随 跑到是左上角 眼睛看的有点累.要是解决不了,不行就把终端的候选框还默认放回左下角 可能比较能接受. |
本地环境
Ubuntu 22.04,搜狗输入法 4.0.1.2123,编辑器intellij idea ce 2022.1.3,笔记本屏幕分辨率2560*1600,缩放比例150%
修改方案
由于能力有限也没有时间精力去找遍整个jbr源码,暂时没有找到函数可以直接获得系统的设置的缩放值。所以,需要各位自己根据自身情况写死。
修改这两行,调整result就行了。
JetBrainsRuntime-for-Linux-x64/idea.patch
Lines 296 to 297 in 9f69274
修改后
已知的问题
关于本地编译调试问题
1.编译参考 https://blog.csdn.net/qq_41929417/article/details/117171581 和 https://blog.csdn.net/joi_la/article/details/121998331
2.调试的话,先把编辑器安装目录下的jbr改名备份,再软链接到编译后的jdk目录(我这里是 ln -s xxxxx/JetBrainsRuntime/build/linux-x86_64-normal-server-release/jdk jbr),这样重新打开ide用的就是你编译的jbr了。
3.print调试大法,直接用下面这行,在我这里日志会输出到/home/xxxx/.cache/JetBrains/IdeaIC2022.1/log/idea.log里,直接tail -f就可以看了,每次在编辑器里鼠标点击或是按下键盘键就会有输出。
关于这行print里几个参数代表的含义,我推测point代表的是编辑器里editor控件的左上角坐标,c代表的是编辑器外框的左上角坐标,caret当然就是输入光标的位置了。
4. java代码修改后的重新编译,直接make images就行,几秒钟就编译好了,调试很方便。c代码make images无效,估计是修改后没有被编译工具检测到,我也没有深究,如果用make clean这样就很费时间了。
The text was updated successfully, but these errors were encountered: