mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-17 01:06:08 +03:00
Merge pull request #1932 from ghostty-org/urllen
macOS: URL preview limited to one line, truncate
This commit is contained in:
@ -153,12 +153,28 @@ extension Ghostty {
|
||||
let padding: CGFloat = 3
|
||||
ZStack {
|
||||
HStack {
|
||||
Spacer()
|
||||
VStack(alignment: .leading) {
|
||||
Spacer()
|
||||
|
||||
Text(verbatim: url)
|
||||
.padding(.init(top: padding, leading: padding, bottom: padding, trailing: padding))
|
||||
.background(.background)
|
||||
.lineLimit(1)
|
||||
.truncationMode(.middle)
|
||||
.opacity(isHoveringURLLeft ? 1 : 0)
|
||||
}
|
||||
}
|
||||
|
||||
HStack {
|
||||
VStack(alignment: .leading) {
|
||||
Spacer()
|
||||
|
||||
Text(verbatim: url)
|
||||
.padding(.init(top: padding, leading: padding, bottom: padding, trailing: padding))
|
||||
.background(.background)
|
||||
.lineLimit(1)
|
||||
.truncationMode(.middle)
|
||||
.opacity(isHoveringURLLeft ? 0 : 1)
|
||||
.onHover(perform: { hovering in
|
||||
isHoveringURLLeft = hovering
|
||||
@ -166,18 +182,6 @@ extension Ghostty {
|
||||
}
|
||||
Spacer()
|
||||
}
|
||||
|
||||
HStack {
|
||||
Spacer()
|
||||
VStack(alignment: .leading) {
|
||||
Spacer()
|
||||
|
||||
Text(verbatim: url)
|
||||
.padding(.init(top: padding, leading: padding, bottom: padding, trailing: padding))
|
||||
.background(.background)
|
||||
.opacity(isHoveringURLLeft ? 1 : 0)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -224,6 +224,7 @@ pub const URLWidget = struct {
|
||||
pub fn init(surface: *const Surface, str: [:0]const u8) URLWidget {
|
||||
// Create the left
|
||||
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), "url-overlay");
|
||||
c.gtk_widget_set_halign(left, c.GTK_ALIGN_START);
|
||||
@ -232,6 +233,7 @@ pub const URLWidget = struct {
|
||||
|
||||
// Create the right
|
||||
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), "view");
|
||||
c.gtk_widget_add_css_class(@ptrCast(right), "url-overlay");
|
||||
|
Reference in New Issue
Block a user