New FamilyTreeView Addon (Thread 2)

If you put in an Apply, could you also add a Cancel (probably unnecessary if not Applying does the same thing) or a Reset (to defaults)

With the Scrollwheel changing menu selections (when scrolling the window causes a gadget to slide under the mouse pointer position), it is too easy to accidentally change settings and not recall the original setting.

@csam
I just released v0.1.146 which adds the family image to the info box and the panel. Let me know if this meets your needs.

(Unfortunately, example.gramps references an image of a person for the family of Big Louie.)

Info box:

Panel (first section):

Magnificent !

Where do the ToDo icon come from?

@ztlxltl
Here is what I do.
In Configure settings → Boxes → Family Boxes click [+]
Change the ‘Gutter’ to ‘Image’
Change ‘Max height’ from 80 to 60
Click the ‘Max width’ => crash

I ran Gramps from terminal with debugging
Here’s the output:

➜  ~ /Applications/Gramps.app/Contents/MacOS/Gramps --debug familytreeview
setup debugging familytreeview
/Applications/Gramps.app/Contents/Resources/lib/python3.13/site-packages/gi/overrides/Gio.py:48: Warning: g_object_notify: assertion 'G_IS_OBJECT (object)' failed
  return Gio.Application.run(self, *args, **kwargs)
/Applications/Gramps.app/Contents/Resources/lib/python3.13/site-packages/gi/overrides/Gio.py:48: Warning: g_object_set: assertion 'G_IS_OBJECT (object)' failed
  return Gio.Application.run(self, *args, **kwargs)

(Gramps.app:25716): Gtk-CRITICAL **: 07:31:14.767: gtk_widget_has_focus: assertion 'GTK_IS_WIDGET (widget)' failed

(Gramps.app:25716): Gtk-CRITICAL **: 07:31:37.914: gtk_widget_has_focus: assertion 'GTK_IS_WIDGET (widget)' failed
/Applications/Gramps.app/Contents/Resources/lib/python3.13/site-packages/gi/overrides/Gio.py:48: Warning: g_object_ref: assertion 'G_IS_OBJECT (object)' failed
  return Gio.Application.run(self, *args, **kwargs)

(Gramps.app:25716): Gtk-CRITICAL **: 07:31:37.914: gtk_widget_get_display: assertion 'GTK_IS_WIDGET (widget)' failed

(Gramps.app:25716): Gdk-CRITICAL **: 07:31:37.914: gdk_display_get_device_manager: assertion 'GDK_IS_DISPLAY (display)' failed

(Gramps.app:25716): Gdk-CRITICAL **: 07:31:37.914: gdk_device_manager_list_devices: assertion 'GDK_IS_DEVICE_MANAGER (device_manager)' failed

(Gramps.app:25716): Gdk-CRITICAL **: 07:31:37.914: gdk_device_manager_list_devices: assertion 'GDK_IS_DEVICE_MANAGER (device_manager)' failed

(Gramps.app:25716): Gdk-CRITICAL **: 07:31:37.914: gdk_device_manager_list_devices: assertion 'GDK_IS_DEVICE_MANAGER (device_manager)' failed
/Applications/Gramps.app/Contents/Resources/lib/python3.13/site-packages/gi/overrides/Gio.py:48: Warning: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
  return Gio.Application.run(self, *args, **kwargs)
/Applications/Gramps.app/Contents/Resources/lib/python3.13/site-packages/gi/overrides/Gio.py:48: Warning: g_object_add_weak_pointer: assertion 'G_IS_OBJECT (object)' failed
  return Gio.Application.run(self, *args, **kwargs)
/Applications/Gramps.app/Contents/Resources/lib/python3.13/site-packages/gi/overrides/Gio.py:48: Warning: g_object_remove_weak_pointer: assertion 'G_IS_OBJECT (object)' failed
  return Gio.Application.run(self, *args, **kwargs)

(Gramps.app:25716): Gtk-CRITICAL **: 07:31:38.120: gtk_widget_get_accessible: assertion 'GTK_IS_WIDGET (widget)' failed
/Applications/Gramps.app/Contents/Resources/lib/python3.13/site-packages/gi/overrides/Gio.py:48: Warning: g_object_get_qdata: assertion 'G_IS_OBJECT (object)' failed
  return Gio.Application.run(self, *args, **kwargs)
[1]    25716 segmentation fault  /Applications/Gramps.app/Contents/MacOS/Gramps --debug familytreeview
➜

This a tag assigned to this particular family in the example.gramps database. It also appears in the panel but further down (below the children and buttons). The color is defined by the tag, and the shape should resemble a physical tag, just like the Gramps icon for tags:
image

Just did a quick grep for ‘logging’ on FamilyTreeView
None of the FamilyTreeView python files has an ‘import logging’, so I don’t think running Gramps with ‘–debug’ will output any usefull info.

That’s correct.
Thanks for posting the error messages. The segmentation fault suggests that this is an underlying problem in a GObject library, since (to my knowledge) Python itself or the PyGObject API should not directly cause a segfault. Most likely I can work around the problem somehow.

After a few hours of struggle, I managed to get a virtual machine with macOS Big Sur up and running. It’s horribly slow, though, even though I’ve increased the resources available to the VM.
Using this VM, I was able to reproduce your crash. I’ll try to investigate further from here.

@csam
I’m having a hard time finding the cause of the segfault. I’m currently out of ideas.
Can you please open a GitHub issue for this bug?

My suggestion is to create a Mantis bug report. Be sure to include the Crash Report. Mark it for Mac and assign to jralls.

To get the Crash Report, open Console, select Crash Reports. Hover and right click over the report. Reveal in Finder. The crash report is the *.ips file.

I can reproduce this on my Mac Sequoia.

1 Like

Created Mantis Bug report 0013837: MacOS FamilyTreeView Settings makes Gramps crash - Gramps - Bugtracker – Free Genealogy Software

@GaryGriffin I didn’t assign it to jralls, and I can’t figure out how to do that after I submitted.

1 Like

You created a Feature Request. It should have been a bug report. You cannot change that field once submitted.

I updated the fields I could (assigned to, OS, Platform) and attached a crash file from my system when I duplicated your issue.

1 Like

@ztlxltl a short question. We can see a colored dot of tag on a box. But its too small for me, I would like have ability to make it bigger. Where can I resize it and make much more bigger? Ubuntu. Thank you!

1 Like

Thanks @GaryGriffin, much appreciated.

@Urchello

I assume you’re referring to the colored dots that appear at the bottom of the boxes of the home person and the family in this screenshot:

The dot is the Unicode character U+2B24 with the text color set to the tag color. I could implement an option to increase the font size, but that would interfere with the line height algorithm used to calculate e.g. box heights.
You could try using a different “Visualization” of the tag: In the config window, on the “Boxes” page, in the “List of person box item definitions” table, select the row with “Tags” as “Item type”. On the right, select “Name and color” in the “Visualization” drop-down menu. Repeat the same with the “List of family box item definitions” table.

You should see something like this:

For long tag names and many tags, one line may not be enough so you can increase the “Number of lines” just above the “Visualization” dropdown (for both person and family boxes individually).

Does this solve your problem? If not, please describe your use case and the problem in more detail.

I’m currently working on a customizable background for the boxes, which will also allow you to use the color of tags. This should make it much easier to see which tag is applied to a person or family.

1 Like

year, exactly!

So, Its much more better, because of its bigger than dots. Anyway I will explain what do I do.
I opened two GRAMPS apps on WM and host and compare two very big trees. The compared people I mark with a green tag. And I would like zoom out the tree and see the people who isn’t synced yet. But the small green dot is invisible. It would be ideally if I have ability change the whole cards’ colors for synced people.

Even with such soom I almost dont see the green dot, but the tree is much more bigger.

1 Like

@Urchello
Thanks for the clarification!

That sounds pretty much like the feature I’m working on. But it still needs a lot of work and I’m not sure when I’ll have time to finish it, probably a few weeks.

As a workaround:

  • Use the sidebar filter and filter for the “Tag” you’re looking for.
  • On the “Appearance” page, check the “Gray out people who do not match the sidebar filter” checkbox.
  • On the “Experimental” page, make sure the checkbox labeled “Prune people who do not match the sidebar filter” is cleared.
  • You can select more saturated (not darker, as the filter’s grayscaling only reduces saturation) colors in the Gramps Preferences on the “Color” page to make it easier to identify the highlighted people. They are used by FTV.

Here is an example without changing the colors in the Gramps Preferences:


It’s not ideal, but it should be a bit better than just the small tag labels.

1 Like

Got it. Thanks for the idea!

1 Like

You could try the full block too: U+2588 █

@emyoulation
A Cancel button makes sense. A Reset button is not needed here, since the defaults are preserved and only copies of the default definitions are modified. But in general, I have this long-standing request on my todo list.

I tried not to use scrollable widgets in the config window. So this should not be a problem. If there is a scrollable config page that has a dropdown, please let me know.