Z-index for TextView gutter

Added following widget as TextView gutter. It placed in bottom of page, using TextWindowType::Bottom option. But found an issue, sometimes, cursor reacts to link (TextTag), when this tag placed above the gutter widget.

Also, sometimes, by click on ‘close’ button, TextView get scrolled to position. Looks like click event penetrates the gutter and interact with TextView directly

Is any solution to make positioned this gutter on top of TextView, like z-index option in CSS?

Hi,

Yes, events are first caught by the TextView, and, if not consumed, passed to the gutters.

Gutters more intended to display info above the text, not really suitable for controls widgets like entries or buttons.

Better put your searchbar either below the TextView in a GtkRevealer, or if you prefer above the text then use a GtkOverlay

1 Like

Thanks, just remembered that capturing links by x/y coordinates

// ..
primary_button_controller.connect_released({
    let text_view = widget.text_view.clone();
    let links = links.clone();
    move |_, _, window_x, window_y| {
        // Detect tag match current coords hovered
        let (buffer_x, buffer_y) = text_view.window_to_buffer_coords(
            TextWindowType::Widget,
            window_x as i32,
            window_y as i32,
        );

        // Capture the tag
        if let Some(iter) = text_view.iter_at_location(buffer_x, buffer_y) {
        // ..

so yes, maybe it’s only one option - to move this widget somewhere out of cursor tracking area.

Just recorded this video, maybe the bug? Of course maybe others using gutter as the text label, rarely interact with buttons, but this feature exists, and not sure I must move it children widgets somewhere instead of report the issue.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.