如何追踪在哪个应用程序中为某个按钮定义了信号处理程序 gtk/gtkmm
How to track down in which application is signal handler defined gtk/gtkmm for some button
问题:
你想为某个 gnome/gtk/gtkmm 项目做出贡献,因为你已经注意到并知道可以使事情变得更好的方法/你想修复一些错误。以下是帮助您入门的步骤。
示例问题:
"Clean" Gnome Builder 中的按钮对我的项目没有任何作用,因为此时我认为它只是带有占位符按钮的空函数,我想实现实际操作。
步骤如下:
- 在设置了环境GTK_DEBUG=交互式环境变量的终端中打开您想要修改的应用程序。所以 运行
GTK_DEBUG=interactive gnome-builder
- Gtk 检查器应该已经打开,您应该会看到显示了一堆对象。如果您在检查器中单击对象,该对象应该会在您的应用程序中亮起
- Gtk层次分明,所以parent包含child,你的工作是检测哪个parent是你要修改的child
- 当您确定要选择哪个父级时,单击该父级名称旁边的箭头以显示其子级
- 通过应用 2. 重复步骤 3. 和 4. 以找到您要修改的子项
- 例如我的路径是
IdePrimaryWorkspace -> GtkPopover -> GtkBox -> DzlPriorityBox -> GbpBuilduiOmniBarSection -> GtkBox -> GtkBox -> GtkButton
- 双击最后一个 interactive 条目(例如 GtkButton
- 在左侧,在下拉菜单中切换到属性视图
- 找到你想要的属性,我的是GtkActionable,它的值是builder-manager.clean
- 您感兴趣的应用程序终端中的开源文件夹(该应用程序的克隆源)
- 输入命令
tree | grep build-manager
- 如果在 find 中有具有该文件名类型的条目。 --name=filenameof.your.file
- 获取文件路径,以文本形式打开该文件 editor/IDE,更改其中的内容
- 提交补丁
问题: 你想为某个 gnome/gtk/gtkmm 项目做出贡献,因为你已经注意到并知道可以使事情变得更好的方法/你想修复一些错误。以下是帮助您入门的步骤。
示例问题: "Clean" Gnome Builder 中的按钮对我的项目没有任何作用,因为此时我认为它只是带有占位符按钮的空函数,我想实现实际操作。
步骤如下:
- 在设置了环境GTK_DEBUG=交互式环境变量的终端中打开您想要修改的应用程序。所以 运行
GTK_DEBUG=interactive gnome-builder
- Gtk 检查器应该已经打开,您应该会看到显示了一堆对象。如果您在检查器中单击对象,该对象应该会在您的应用程序中亮起
- Gtk层次分明,所以parent包含child,你的工作是检测哪个parent是你要修改的child
- 当您确定要选择哪个父级时,单击该父级名称旁边的箭头以显示其子级
- 通过应用 2. 重复步骤 3. 和 4. 以找到您要修改的子项
- 例如我的路径是
IdePrimaryWorkspace -> GtkPopover -> GtkBox -> DzlPriorityBox -> GbpBuilduiOmniBarSection -> GtkBox -> GtkBox -> GtkButton
- 双击最后一个 interactive 条目(例如 GtkButton
- 在左侧,在下拉菜单中切换到属性视图
- 找到你想要的属性,我的是GtkActionable,它的值是builder-manager.clean
- 您感兴趣的应用程序终端中的开源文件夹(该应用程序的克隆源)
- 输入命令
tree | grep build-manager
- 如果在 find 中有具有该文件名类型的条目。 --name=filenameof.your.file
- 获取文件路径,以文本形式打开该文件 editor/IDE,更改其中的内容
- 提交补丁