apprt/gtk: ellipsize URLs in middle to show end

This commit is contained in:
Mitchell Hashimoto
2024-07-09 09:26:07 -07:00
parent eaa7a3f69c
commit 53fbed492b

View File

@ -224,6 +224,7 @@ pub const URLWidget = struct {
pub fn init(surface: *const Surface, str: [:0]const u8) URLWidget { pub fn init(surface: *const Surface, str: [:0]const u8) URLWidget {
// Create the left // Create the left
const left = c.gtk_label_new(str.ptr); const left = c.gtk_label_new(str.ptr);
c.gtk_label_set_ellipsize(@ptrCast(left), c.PANGO_ELLIPSIZE_MIDDLE);
c.gtk_widget_add_css_class(@ptrCast(left), "view"); c.gtk_widget_add_css_class(@ptrCast(left), "view");
c.gtk_widget_add_css_class(@ptrCast(left), "url-overlay"); c.gtk_widget_add_css_class(@ptrCast(left), "url-overlay");
c.gtk_widget_set_halign(left, c.GTK_ALIGN_START); c.gtk_widget_set_halign(left, c.GTK_ALIGN_START);
@ -232,6 +233,7 @@ pub const URLWidget = struct {
// Create the right // Create the right
const right = c.gtk_label_new(str.ptr); const right = c.gtk_label_new(str.ptr);
c.gtk_label_set_ellipsize(@ptrCast(right), c.PANGO_ELLIPSIZE_MIDDLE);
c.gtk_widget_add_css_class(@ptrCast(right), "hidden"); c.gtk_widget_add_css_class(@ptrCast(right), "hidden");
c.gtk_widget_add_css_class(@ptrCast(right), "view"); c.gtk_widget_add_css_class(@ptrCast(right), "view");
c.gtk_widget_add_css_class(@ptrCast(right), "url-overlay"); c.gtk_widget_add_css_class(@ptrCast(right), "url-overlay");