在Ubuntu(Gnome)中,绝对没有办法改变GTK应用程序的鼠标滚轮速率。它在GTK中是硬编码的,由“智能”算法决定,该算法动态地取决于窗口大小。
所以我下载了源代码并找到了返回步长值的函数。我把它更改为首先返回一个非常小的数字,然后是0(看它是否有任何影响)。
我做了
./configure
make
sudo make install
按照GTK网站的指示。
它编译没有任何问题(我有库)
然后,我重启,它绝对没有影响。我的猜测是Ubuntu仍然使用它附带的原始GTK。你觉得这里有什么问题?答案 0 :(得分:5)
嗯,Ubuntu使用的GTK库位于/usr/lib
下,但您构建和安装的那些库位于/usr/local/lib
下(因为隐含的--prefix
到configure
是{ {1}}不是/usr/local
)。
或许,通过将/usr
设置为在LD_LIBRARY_PATH
之前调查/usr/local/lib
应该有所帮助。
答案 1 :(得分:2)
好消息是Ubuntu(通过Debian)具有特定的工具,例如:
sudo apt-get build-dep libgtk-3-0
将安装构建libgtk-3.0
所需的一切,同时:
apt-get source libgtk-3-0
将为您提供所需的源代码。您可以按照自己喜欢的方式对其进行修补,然后构建包含您的修补程序的.deb
文件(除非我的意思是补丁)与Ubuntu版本无法区分:
debuild
快乐的黑客攻击!
答案 2 :(得分:1)
对LD_LIBRARY_PATH
进行操作和/或将必要的库文件放在正确的文件夹中将会加载修改后的文件。
另请注意,使用ldd
可以验证是否已加载修改后的库。这是一个示例,显示如果我在当前计算机上调用ls
将加载的内容:
matt@stanley:~/src/pydlnadms$ ldd `which ls`
linux-vdso.so.1 => (0x00007fff7cdde000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f245e288000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f245e080000)
libacl.so.1 => /lib/x86_64-linux-gnu/libacl.so.1 (0x00007f245de77000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f245dae3000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f245d8df000)
/lib64/ld-linux-x86-64.so.2 (0x00007f245e4ca000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f245d6c0000)
libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x00007f245d4bb000)
安装修改后的GTK +共享库,正确操作环境,然后通过ldd
验证您的更改是否有效。