diff --git a/CHANGELOG.md b/CHANGELOG.md index a423eff..d3ce826 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Stretch/Skew dialog's icons were missing from the package, and didn't show up in the dialog, in the release build. +- Fixed misaligned rows of text in Kitty terminal due to Pencil and Brush tool emojis. The Text and Curve tool icons are also swapped out for options that look better in Kitty. ## [0.1.0] - 2023-07-24 diff --git a/README.md b/README.md index 5321987..4ce453a 100644 --- a/README.md +++ b/README.md @@ -388,7 +388,7 @@ These are the symbols I've found so far: - Pick Color: ๐ŸŽจ๐ŸŒˆ๐Ÿ’‰๐Ÿ’…๐Ÿ’ง๐Ÿฉธ๐ŸŽˆ๐Ÿ“Œ๐Ÿ“๐Ÿช›๐Ÿช ๐Ÿฅ๐Ÿฉผ๐ŸŒก๐Ÿ’„๐ŸŽฏ๐–กกโคค๐€ƒ๐ŸฏโŠธโšฒ๐“‹ผ๐Ÿ—ก๐“Š๐Ÿถ๐Ÿงช๐Ÿผ๐ŸŒ‚๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ๐Ÿงฟ๐Ÿทโคตโฃโš— โค†ฯท โŸฝรพ โ‡ cโŸพ /ฬฅอšฬฅฬฅอšฬŠอšฬŠ - Magnifier: ๐Ÿ”๐Ÿ”Ž๐Ÿ‘€๐Ÿ”ฌ๐Ÿ”ญ๐Ÿง๐Ÿ•ต๏ธโ€โ™‚๏ธ๐Ÿ•ต๏ธโ€โ™€๏ธ - Pencil: โœ๏ธโœŽโœ๏ธ๐Ÿ–Ž๐Ÿ–Š๏ธ๐Ÿ–‹๏ธโœ’๏ธ๐Ÿ–†๐Ÿ“๐Ÿ–๏ธ๐Ÿชถ -- Brush: ๐Ÿ–Œ๐Ÿ‘จโ€๐ŸŽจ๐Ÿง‘โ€๐ŸŽจ๐Ÿ’…๐Ÿงน๐Ÿชฎ๐Ÿชฅ๐Ÿช’๐Ÿช โต„โ‘ƒแˆโ‹”โ‹ฒ โ–ญโ‹น ๐ˆธโ‹น โŠโ‹น โธฆโ‹น โŠ‚โ‹น +- Brush: ๐Ÿ–Œ๐Ÿ‘จโ€๐ŸŽจ๐Ÿง‘โ€๐ŸŽจ๐Ÿ’…๐Ÿงน๐Ÿชฎ๐Ÿชฅ๐Ÿช’๐Ÿช โต„โ‘ƒแˆโ‹”โ‹ฒ โ–ญโ‹น ๐ˆธโ‹น โŠโ‹น โธฆโ‹น โŠ‚โ‹น โ–ฌโ–ค - Airbrush: โ›ซ๐Ÿ’จะดแ–œ๐Ÿ’จโ•”๐Ÿ’จ๐Ÿงด๐Ÿฅค๐Ÿงƒ๐Ÿงฏ๐Ÿงจ๐Ÿพ๐Ÿฅซ๐Ÿ’ˆ๐Ÿซ ๐ŸŒฌ๏ธ๐Ÿ—ฏโ˜„๐Ÿ’ญเผ„เผบโ˜๏ธ๐ŸŒช๏ธ๐ŸŒซ๐ŸŒ€๐Ÿšฟ โชง๐–ค˜ แ—’แ—ฃ ะดแ–œแ—• - Text: ๐Ÿ“๐Ÿ“„๐Ÿ“ƒ๐Ÿ“œA๏ผก๐Ÿ…ฐ๏ธ๐Ÿ†Ž๐Ÿ”ค๐Ÿ” ๐ด - Line: ๐Ÿ“๐Ÿ“‰๐Ÿ“ˆ๏ผผโŸ๐ˆโ•ฒโงน\โงตโˆ– diff --git a/src/textual_paint/paint.py b/src/textual_paint/paint.py index 57df3f9..266d2b5 100755 --- a/src/textual_paint/paint.py +++ b/src/textual_paint/paint.py @@ -208,7 +208,7 @@ class Tool(Enum): # - Pick Color: ๐ŸŽจ๐ŸŒˆ๐Ÿ’‰๐Ÿ’…๐Ÿ’ง๐Ÿฉธ๐ŸŽˆ๐Ÿ“Œ๐Ÿ“๐Ÿช›๐Ÿช ๐Ÿฅ๐Ÿฉผ๐ŸŒก๐Ÿ’„๐ŸŽฏ๐–กกโคค๐€ƒ๐ŸฏโŠธโšฒ๐“‹ผ๐Ÿ—ก๐“Š๐Ÿถ๐Ÿงช๐Ÿผ๐ŸŒ‚๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ๐Ÿงฟ๐Ÿทโคตโฃโš— โค†ฯท โŸฝรพ โ‡ cโŸพ /ฬฅอšฬฅฬฅอšฬŠอšฬŠ # - Magnifier: ๐Ÿ”๐Ÿ”Ž๐Ÿ‘€๐Ÿ”ฌ๐Ÿ”ญ๐Ÿง๐Ÿ•ต๏ธโ€โ™‚๏ธ๐Ÿ•ต๏ธโ€โ™€๏ธ # - Pencil: โœ๏ธโœŽโœ๏ธ๐Ÿ–Ž๐Ÿ–Š๏ธ๐Ÿ–‹๏ธโœ’๏ธ๐Ÿ–†๐Ÿ“๐Ÿ–๏ธ๐Ÿชถ - # - Brush: ๐Ÿ–Œ๐Ÿ‘จโ€๐ŸŽจ๐Ÿง‘โ€๐ŸŽจ๐Ÿ’…๐Ÿงน๐Ÿชฎ๐Ÿชฅ๐Ÿช’๐Ÿช โต„โ‘ƒแˆโ‹”โ‹ฒ โ–ญโ‹น ๐ˆธโ‹น โŠโ‹น โธฆโ‹น โŠ‚โ‹น + # - Brush: ๐Ÿ–Œ๐Ÿ‘จโ€๐ŸŽจ๐Ÿง‘โ€๐ŸŽจ๐Ÿ’…๐Ÿงน๐Ÿชฎ๐Ÿชฅ๐Ÿช’๐Ÿช โต„โ‘ƒแˆโ‹”โ‹ฒ โ–ญโ‹น ๐ˆธโ‹น โŠโ‹น โธฆโ‹น โŠ‚โ‹น โ–ฌโ–ค # - Airbrush: โ›ซ๐Ÿ’จะดแ–œ๐Ÿ’จโ•”๐Ÿ’จ๐Ÿงด๐Ÿฅค๐Ÿงƒ๐Ÿงฏ๐Ÿงจ๐Ÿพ๐Ÿฅซ๐Ÿ’ˆ๐Ÿซ ๐ŸŒฌ๏ธ๐Ÿ—ฏโ˜„๐Ÿ’ญเผ„เผบโ˜๏ธ๐ŸŒช๏ธ๐ŸŒซ๐ŸŒ€๐Ÿšฟ โชง๐–ค˜ แ—’แ—ฃ ะดแ–œแ—• # - Text: ๐Ÿ“๐Ÿ“„๐Ÿ“ƒ๐Ÿ“œA๏ผก๐Ÿ…ฐ๏ธ๐Ÿ†Ž๐Ÿ”ค๐Ÿ” ๐ด # - Line: ๐Ÿ“๐Ÿ“‰๐Ÿ“ˆ๏ผผโŸ๐ˆโ•ฒโงน\โงตโˆ– @@ -282,6 +282,27 @@ class Tool(Enum): # "๐Ÿชฃ" shows as tofu if self == Tool.fill: return "๐ŸŒŠ" + elif os.environ.get("KITTY_WINDOW_ID"): + # Kitty terminal has alignment problems with the default Pencil symbol "โœ๏ธ" + # as well as alternatives "๐Ÿ–๏ธ", "๐Ÿ–Š๏ธ", "๐Ÿ–‹๏ธ", "โœ๏ธ", "โœ’๏ธ" + # and Brush symbol "๐Ÿ–Œ๏ธ" and alternatives "๐Ÿงน", "๐Ÿชฎ" + # "๐Ÿ–Ž", "๐Ÿ–†", and "โœŽ" don't cause alignment issues, but don't show in color and are illegibly small. + if self == Tool.pencil: + # Working for me: "๐Ÿชถ", and "๐Ÿ“", which may look more like a Text tool than a pencil tool, + # but at least has a pencil... + return "๐Ÿ“" + if self == Tool.brush: + # Working for me: "๐Ÿ‘จโ€๐ŸŽจ", "๐Ÿ’…", "๐Ÿชฅ", "๐Ÿช’", "๐Ÿช ", "โ–ญโ‹น" (basically any of the lame options) + # return "[tan]โ–ฌ[/][#5c2121]โ‹น[/]" + return "[tan]โ–ฌ[/]โ–ค" + if self == Tool.text: + # The wide character "๏ผก" isn't centered-looking? And is faint/small... + return "๐ด" # not centered, but closer to MS Paint's icon, with serifs + if self == Tool.curve: + # "๏ฝž" appears tiny! + # "ใ€œ" looks good; should I use that for other platforms too? + # (It's funny, they look identical in my IDE (VS Code)) + return "ใ€œ" return { Tool.free_form_select: "โš", Tool.select: "โฌš",