From d9c9f44d6e83f4b90be1b97aa1693f25e20c1f7b Mon Sep 17 00:00:00 2001 From: Jon Parise Date: Fri, 15 Nov 2024 09:27:42 -0500 Subject: [PATCH 1/4] macos: add rounded corners to the URL hover view Also pad the view's position from the corners of the surface. --- macos/Sources/Ghostty/SurfaceView.swift | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/macos/Sources/Ghostty/SurfaceView.swift b/macos/Sources/Ghostty/SurfaceView.swift index 25fa99a2e..5bc4417c5 100644 --- a/macos/Sources/Ghostty/SurfaceView.swift +++ b/macos/Sources/Ghostty/SurfaceView.swift @@ -181,12 +181,16 @@ extension Ghostty { Text(verbatim: url) .padding(.init(top: padding, leading: padding, bottom: padding, trailing: padding)) - .background(.background) + .background( + RoundedRectangle(cornerRadius: 5) + .fill(.background) + ) .lineLimit(1) .truncationMode(.middle) .opacity(isHoveringURLLeft ? 1 : 0) } } + .padding([.trailing, .bottom], padding) HStack { VStack(alignment: .leading) { @@ -194,7 +198,10 @@ extension Ghostty { Text(verbatim: url) .padding(.init(top: padding, leading: padding, bottom: padding, trailing: padding)) - .background(.background) + .background( + RoundedRectangle(cornerRadius: 5) + .fill(.background) + ) .lineLimit(1) .truncationMode(.middle) .opacity(isHoveringURLLeft ? 0 : 1) @@ -204,6 +211,7 @@ extension Ghostty { } Spacer() } + .padding([.leading, .bottom], padding) } } From 07bff5f06d87b882234361361ef82e70e7658b05 Mon Sep 17 00:00:00 2001 From: Jon Parise Date: Fri, 15 Nov 2024 10:15:48 -0500 Subject: [PATCH 2/4] macos: reduce the corner radius to 3 pixels --- macos/Sources/Ghostty/SurfaceView.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/macos/Sources/Ghostty/SurfaceView.swift b/macos/Sources/Ghostty/SurfaceView.swift index 5bc4417c5..55733cb1d 100644 --- a/macos/Sources/Ghostty/SurfaceView.swift +++ b/macos/Sources/Ghostty/SurfaceView.swift @@ -182,7 +182,7 @@ extension Ghostty { Text(verbatim: url) .padding(.init(top: padding, leading: padding, bottom: padding, trailing: padding)) .background( - RoundedRectangle(cornerRadius: 5) + RoundedRectangle(cornerRadius: 3) .fill(.background) ) .lineLimit(1) @@ -199,7 +199,7 @@ extension Ghostty { Text(verbatim: url) .padding(.init(top: padding, leading: padding, bottom: padding, trailing: padding)) .background( - RoundedRectangle(cornerRadius: 5) + RoundedRectangle(cornerRadius: 3) .fill(.background) ) .lineLimit(1) From 69f396c252f1dc1734da0a9c580ea5b76b6698eb Mon Sep 17 00:00:00 2001 From: Jon Parise Date: Fri, 15 Nov 2024 11:16:25 -0500 Subject: [PATCH 3/4] macos: only round the opposing corner Also, removing the padding from the window edge. --- macos/Sources/Ghostty/SurfaceView.swift | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/macos/Sources/Ghostty/SurfaceView.swift b/macos/Sources/Ghostty/SurfaceView.swift index 55733cb1d..5d9ff501d 100644 --- a/macos/Sources/Ghostty/SurfaceView.swift +++ b/macos/Sources/Ghostty/SurfaceView.swift @@ -172,7 +172,7 @@ extension Ghostty { // If we have a URL from hovering a link, we show that. if let url = surfaceView.hoverUrl { - let padding: CGFloat = 3 + let padding: CGFloat = 5 ZStack { HStack { Spacer() @@ -182,7 +182,7 @@ extension Ghostty { Text(verbatim: url) .padding(.init(top: padding, leading: padding, bottom: padding, trailing: padding)) .background( - RoundedRectangle(cornerRadius: 3) + UnevenRoundedRectangle(cornerRadii: .init(topLeading: 9)) .fill(.background) ) .lineLimit(1) @@ -190,7 +190,6 @@ extension Ghostty { .opacity(isHoveringURLLeft ? 1 : 0) } } - .padding([.trailing, .bottom], padding) HStack { VStack(alignment: .leading) { @@ -199,7 +198,7 @@ extension Ghostty { Text(verbatim: url) .padding(.init(top: padding, leading: padding, bottom: padding, trailing: padding)) .background( - RoundedRectangle(cornerRadius: 3) + UnevenRoundedRectangle(cornerRadii: .init(topTrailing: 9)) .fill(.background) ) .lineLimit(1) @@ -211,7 +210,6 @@ extension Ghostty { } Spacer() } - .padding([.leading, .bottom], padding) } } From dab3c683116cbc9f97db044b459103a6fa9a384b Mon Sep 17 00:00:00 2001 From: Jon Parise Date: Fri, 15 Nov 2024 11:19:00 -0500 Subject: [PATCH 4/4] macos: use a constant for the corner radius --- macos/Sources/Ghostty/SurfaceView.swift | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/macos/Sources/Ghostty/SurfaceView.swift b/macos/Sources/Ghostty/SurfaceView.swift index 5d9ff501d..42bd04dc2 100644 --- a/macos/Sources/Ghostty/SurfaceView.swift +++ b/macos/Sources/Ghostty/SurfaceView.swift @@ -173,6 +173,7 @@ extension Ghostty { // If we have a URL from hovering a link, we show that. if let url = surfaceView.hoverUrl { let padding: CGFloat = 5 + let cornerRadius: CGFloat = 9 ZStack { HStack { Spacer() @@ -182,7 +183,7 @@ extension Ghostty { Text(verbatim: url) .padding(.init(top: padding, leading: padding, bottom: padding, trailing: padding)) .background( - UnevenRoundedRectangle(cornerRadii: .init(topLeading: 9)) + UnevenRoundedRectangle(cornerRadii: .init(topLeading: cornerRadius)) .fill(.background) ) .lineLimit(1) @@ -198,7 +199,7 @@ extension Ghostty { Text(verbatim: url) .padding(.init(top: padding, leading: padding, bottom: padding, trailing: padding)) .background( - UnevenRoundedRectangle(cornerRadii: .init(topTrailing: 9)) + UnevenRoundedRectangle(cornerRadii: .init(topTrailing: cornerRadius)) .fill(.background) ) .lineLimit(1)