如何追踪哪个应用程序为某个按钮定义了gtkgtkmm信号处理程序?

问题描述 投票:0回答:1

问题:你想为某个gnomegtkgtkmm项目做贡献,因为你注意到并知道一个可以让事情变得更好的方法,你想修复一些bug。这里有一些步骤可以帮助你开始。

例子问题:Gnome Builder中的 "Clean "按钮对我的项目没有任何作用,在这一点上,我相信它只是一个空的功能和占位符按钮,我想实现实际的动作。

gtk3
1个回答
0
投票

这里是步骤。

  1. 在终端打开你想修改的程序,其中环境GTK_DEBUG=interactive环境变量已被设置,所以运行以下程序 GTK_DEBUG=interactive gnome-builder
  2. Gtk检查器应该已经打开,你应该看到一堆Objects显示。如果你点击检查器中的对象,该对象应该会在你的应用程序中亮起。
  3. Gtk有清晰的层次结构,所以父代包含子代,而你的工作是检测你要修改的父代和子代在哪个层次上。
  4. 当你找到你想要的父代时,点击该父代名称旁边的箭头,就可以看到它的子代。
  5. 重复步骤3.和步骤4.通过应用2.得到你要修改的孩子。
  6. 例如,我的路径是 IdePrimaryWorkspace -> GtkPopover -> GtkBox -> DzlPriorityBox -> GbpBuilduiOmniBarSection -> GtkBox -> GtkBox -> GtkButton
    1. 最后双击 互动式 条目(如GtkButton
    2. 在左边,在下拉菜单中切换到属性视图。
    3. 找到你想要的属性,我的是GtkActionable,它的值是 builder-manager.clean
    4. 在您感兴趣的应用程序的终端中的开放源码文件夹(克隆该应用程序的源码)。
    5. 输入命令 tree | grep build-manager
    6. 如果有该文件名的条目,输入find . --name=filenameof.your.file。
    7. 获取文件路径,在文本编辑器IDE中打开该文件,修改里面的内容。
    8. 提交补丁
© www.soinside.com 2019 - 2024. All rights reserved.