iterm2 issueshttps://gitlab.com/gnachman/iterm2/-/issues2017-05-15T07:07:22Zhttps://gitlab.com/gnachman/iterm2/-/issues/5392Parse OTF GSUB table to find ligatures2017-05-15T07:07:22ZGeorge NachmanParse OTF GSUB table to find ligaturesCore text is slow. With ligature fonts and ASCII text we only need it when a ligature is present. We could look at the OTF tables to find what ligatures substitutions are in use for the current font. From looking at FreeType, it's not to...Core text is slow. With ligature fonts and ASCII text we only need it when a ligature is present. We could look at the OTF tables to find what ligatures substitutions are in use for the current font. From looking at FreeType, it's not too bad. The structure of the GSUB table is like this:
````
GSUB {
4 bytes of version which must equal 0x00010000
2 byte offset of scripts
2 byte offset of features
2 byte offset of lookups
data
}
Features table: {
2 byte count
`count` entries {
4 byte feature tag
2 byte offset to feature
}
}
Feature:
2 byte feature params
2 byte lookup count
`lookup count` entries {
2 byte index into lookup table
}
Lookup table: {
2 byte count
`count` entries {
2 byte offset to subtable
}
}
Lookup Subtable {
2 byte lookup type [1, typecount)
2 byte lookup flag
2 byte subtable count
`subtable count` entries {
2 byte entry offset
}
}
Ligature sub entry:
2 byte sub format (must be 1)
If type is 1: G 2 byte coverage offset
2 byte coverage count
`count` entries {
2 byte LigatureSet offset
}
}
LigatureSet {
2 byte count
`count` entries {
2 byte Ligature offset
}
}
Ligature {
2 byte ligature glyph [0, glyphcount]
2 byte component count > 0
`component count` entries {
2 byte glyph index
}
}
Coverage: {
2 byte coverage format
If coverage fromat is 1 {
2 byte glyph count
`glyph count` entries {
2 byte glyph id < glyph count
}
} else if coverage format is 2 {
2 byte range count
`range count` entries {
2 byte start
2 byte end < start
2 byte start cov index
}
}
}
Lookup types:
single-sub = 1
multi-sub = 2
alt-sub = 3
ligature sub = 4 * this is the one we care about *
context sub = 5
chain context sub = 6
extension sub = 7
reverse chain single sub = 8
````
The relevant freetype files to infer the structure are are otvgsub.c, otvcommn.h, and otvcommn.c
We can get the GSUB table with core graphics APIs like this:
````
CTFontRef ctfont = (CTFontRef) [NSFont fontWithName:@"FiraCode-Regular" size:12];
CGFontRef cgfont = CTFontCopyGraphicsFont(ctfont, nil);
CFArrayRef *tags = CGFontCopyTableTags(cgfont);
int numTags = CFArrayGetCount(tags);
for (int t = 0; t < numTags; t++) {
uint32_t tag = CFArrayGetValueAtIndex(tags, t);
if (tag == TRUETYPE_TAG('G', 'S', 'U', 'B')) {
CFDataRef table = CGFontCopyTableForTag(cgfont, tag);
char *p = CFDataGetBytePtr(table);
int len = CFDataGetLength(table);
NSLog(@"%p %d",p, len);
}
}
````Feature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/5182it2ul2017-05-15T07:07:37ZZGainsforthit2ul* iTerm2 version: 3.0.9
* OS version: OS X 10.11.6 (El Capitan)
I love iTerm!
I would like an it2ul to match it2dl. Even better would be it2edit (link to sublime?) which downloads the file, and when I save it then it automatically upl...* iTerm2 version: 3.0.9
* OS version: OS X 10.11.6 (El Capitan)
I love iTerm!
I would like an it2ul to match it2dl. Even better would be it2edit (link to sublime?) which downloads the file, and when I save it then it automatically uploads it again (assuming I'm at the prompt and haven't logged out or am running something else at the moment.)
Unfortunately, I cannot use scp. So it2dl is very useful. But uploading is still hard and has to be done through a separate app. I have been managing this with cat << EOF > filename [Cmd-V] -- luckily I'm mostly dealing with text files. ;-)
Thanks again for the wonderful app!Feature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/5178Send clear-history on cmd-k in tmux integration mode2017-05-15T07:07:38ZGeorge NachmanSend clear-history on cmd-k in tmux integration modeFeature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/5176Check For Updates denied on Sierra when iTerm is in a subdir of /Applications2017-05-15T07:07:38ZCharlesCheck For Updates denied on Sierra when iTerm is in a subdir of /Applications* iTerm2 version: 3.0.10
* OS version: 10.12.0
No prefs to attach, this happens even when installed fresh and no prefs exist yet.
Detailed steps to reproduce the problem:
1. Put iTerm.app into some subfolder of /Applications, say, /App...* iTerm2 version: 3.0.10
* OS version: 10.12.0
No prefs to attach, this happens even when installed fresh and no prefs exist yet.
Detailed steps to reproduce the problem:
1. Put iTerm.app into some subfolder of /Applications, say, /Applications/foo
2. Launch iTerm.app
3. Try to "Check for Updates"
What happened: I see a dialog box with this: "iTerm2 can’t be updated when it’s running from a read-only volume like a disk image or an optical drive. Move iTerm2 to your Applications folder, relaunch it from there, and try again."
What should have happened: It should've checked for updates. It should not have claimed that it's running from a read-only volume or optical drive, because it isn't. Also, the new security "features" of Sierra shouldn't be blocking this, because it's not being launched from the Downloads folder. I moved the .zip into /Applications/foo and then unpacked it. I would think that subdirs of /Applications would be fair game.Feature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/5168iTerm freezes when process crashes during image display2017-05-15T07:07:38ZKeno FischeriTerm freezes when process crashes during image displayc.f. https://github.com/Keno/TerminalExtensions.jl/issues/16
If the process crashes (or the SSH connection drops, etc.) after it indicated it would send image data, iTerm2 will keep waiting for it and it's almost
impossible to get the t...c.f. https://github.com/Keno/TerminalExtensions.jl/issues/16
If the process crashes (or the SSH connection drops, etc.) after it indicated it would send image data, iTerm2 will keep waiting for it and it's almost
impossible to get the terminal back. I'm not entirely sure what I'm asking you to do here, I guess leave error mode if a non-base64 character is encountered
or maybe even after a (long-ish) timeout.Feature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/5118iTerm insert control sequences on switching to another app and back2017-05-15T07:07:45ZKirill DmitrenkoiTerm insert control sequences on switching to another app and back* iTerm2 3.0.8:
* 10.11.6
* [com.googlecode.iterm2.plist](/uploads/74b1d9694ab4faef561ad538c16b1d13/com.googlecode.iterm2.plist);
* [debuglog.txt](/uploads/ff72a1fa92c97a7cf4eb6413f0b9044a/debuglog.txt)
Detailed steps to reproduce the ...* iTerm2 3.0.8:
* 10.11.6
* [com.googlecode.iterm2.plist](/uploads/74b1d9694ab4faef561ad538c16b1d13/com.googlecode.iterm2.plist);
* [debuglog.txt](/uploads/ff72a1fa92c97a7cf4eb6413f0b9044a/debuglog.txt)
Detailed steps to reproduce the problem:
1. open a `ssh` session with `tmux` in it;
2. kill the connection (no the client);
3. wait till `ssh` client exits with error (broken pipe);
4. open `cat`;
5. switch to another app and back
What happened: `^[[O^[[I` appeared in terminal
What should have happened: nothingFeature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/5116Copy-paste has weird letters2017-09-05T21:15:42ZDanqing LiuCopy-paste has weird lettersThanks for filing an issue! Please answer the questions below so I can help you.
* iTerm2 version: 3.0.8, but this issue has been around since at least 3.0.5
* OS version: 10.11.6
Detailed steps to reproduce the problem:
1. Use iTerm ...Thanks for filing an issue! Please answer the questions below so I can help you.
* iTerm2 version: 3.0.8, but this issue has been around since at least 3.0.5
* OS version: 10.11.6
Detailed steps to reproduce the problem:
1. Use iTerm for a while (it will eventually happen...)
2. Use copy-paste (Cmd C/V)
What happened:
Say I copy-paste "hello", it will become "~0hello1~". Restarting iTerm fixes things.
What should have happened:
It should always copy past correctly.Feature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/5109Underline too thin and close to the text?2018-05-04T03:20:51ZJohn RileyUnderline too thin and close to the text?* iTerm2 version: Latest Nightly
* OS version: 10.11.6
I just updated to the latest nightly and noticed that the underline is really thin and also really close to the text!
Wouldn't be possible to have it like a pixel bigger and a pixel...* iTerm2 version: Latest Nightly
* OS version: 10.11.6
I just updated to the latest nightly and noticed that the underline is really thin and also really close to the text!
Wouldn't be possible to have it like a pixel bigger and a pixel below the current position?
I also noticed that the underline is broken when there are characters that would pass through it, which is really cool!
But would it be possible to make the "space" around these characters bigger? Because especially when using smaller font sizes (like 12-13) it looks like it is just badly rendered and not broken into pieces, so I think more space would solve that!
I'm using a retina display, not sure it may impact something!Feature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/5102Slow display performance of specific unicode characters2017-05-15T07:07:46ZGrant HernandezSlow display performance of specific unicode charactersThanks for filing an issue! Please answer the questions below so I can help you.
* iTerm2 version: 3.0.4
* OS version: El Capitan 10.11.5 (15F34)
* Preferences: [com.googlecode.iterm2.plist](/uploads/785aaa434b0372cb77eefa9acefe03f4/com...Thanks for filing an issue! Please answer the questions below so I can help you.
* iTerm2 version: 3.0.4
* OS version: El Capitan 10.11.5 (15F34)
* Preferences: [com.googlecode.iterm2.plist](/uploads/785aaa434b0372cb77eefa9acefe03f4/com.googlecode.iterm2.plist)
* Debug log: [debuglog.txt.gz](/uploads/0aff577423b6acd2e6d0e01f10176b59/debuglog.txt.gz)
* Performance issue: [Sample_of_iTerm2.txt](/uploads/d02d9d915ca6cfab661e7cae0fe21721/Sample_of_iTerm2.txt) (not sample was not taken when debug logging, but on separate run of test file)
* Test file: [really_slow](/uploads/f92c32d315994c423e4fb44546436cd8/really_slow)
Detailed steps to reproduce the problem:
1. Download `really_slow` to a directory
2. Go to that directory in iTerm and run the command `cat really_slow`
What happened:
iTerm spends a lot of time drawing the characters in the file. Enough time to notice stuttering and lag.
Scroll performance is also terrible.
What should have happened:
The display of these characters should have been instant.Feature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/5091tmux pending output does not escape backslashes2017-05-15T07:07:46ZGeorge Nachmantmux pending output does not escape backslashesThe tmux command `capture-pane -p -P -C -t %%%d` outputs `\nnn` for control characters and raw backslashes, so you can't tell if a backslash is part of an escape or not.
Send a patch to fix tmux and update iTerm2 to detect the tmux ve...The tmux command `capture-pane -p -P -C -t %%%d` outputs `\nnn` for control characters and raw backslashes, so you can't tell if a backslash is part of an escape or not.
Send a patch to fix tmux and update iTerm2 to detect the tmux version and treat backslashes appropriately.Feature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/5064Can't see tabs in full screen mode2021-03-23T13:40:48ZDavid LeeCan't see tabs in full screen modeThanks for filing an issue! Please answer the questions below so I can help you.
* iTerm2 version: 3.0.5
* OS version: Mac OSX Yosemite 10.10.5
* Attach ~/Library/Preferences/com.googlecode.iterm2.plist here (drag-drop from finder i...Thanks for filing an issue! Please answer the questions below so I can help you.
* iTerm2 version: 3.0.5
* OS version: Mac OSX Yosemite 10.10.5
* Attach ~/Library/Preferences/com.googlecode.iterm2.plist here (drag-drop from finder into this window)[com.googlecode.iterm2.plist](/uploads/50866269a56986325f928fc551c54f6c/com.googlecode.iterm2.plist)
Detailed steps to reproduce the problem:
1. Open iTerm
2. Create a new tab (CMD-T)
3. Enter full screen mode (CMD-Enter)
What happened:
When opening a shell with multiple tabs, the tabs don't show up as soon as I enter full screen mode. To be more specific, the tabs are still visible up until the animation for full screen finishes. As soon as the animation finishes, the tabs vanish.
What should have happened:
Before, opening a shell with multiple tabs in full screen mode still displayed the tabs on top. Feature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/5052Triple-click selects the screen line, not the logical line2017-05-15T07:07:49ZSimson GarfinkelTriple-click selects the screen line, not the logical lineWhen I triple-click, iTerm2 attempts to select the entire line. However, if the logical line takes up multiple screen lines, only the clicked screen line is selected
* iTerm2 version: 3.0.5
* OS version: 10.11.6
* Attach ~/Libra...When I triple-click, iTerm2 attempts to select the entire line. However, if the logical line takes up multiple screen lines, only the clicked screen line is selected
* iTerm2 version: 3.0.5
* OS version: 10.11.6
* Attach ~/Library/Preferences/com.googlecode.iterm2.plist here (drag-drop from finder into this window) [com.googlecode.iterm2.plist](/uploads/0b8881ee50e909ba686bc53f8e03fd71/com.googlecode.iterm2.plist)
* Attach a debug log, if possible. Instructions at https://iterm2.com/debuglog
* Are you reporting a performance issue or a hang? Please attach a sample. Instructions at https://gitlab.com/gnachman/iterm2/wikis/HowToSample
Detailed steps to reproduce the problem:
1. `cat ~/.ssh/id_rsa.pub`
2. Triple-click the public key
3. Only one line of the public key is selected. There is no way to select the entire key without dragging.
What happened:
Only one line is selected.
What should have happened:
The entire key should be selectedFeature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/5046pbpaste like functionality, across iTerm2017-05-15T07:07:50ZSimenpbpaste like functionality, across iTerm* iTerm2 version: 3.0.5
* OS version: 10.11.5
I was told to go here for a feature request:
> **pbpaste like functionality, across iTerm**
>This works great!
>`echo -se '\033]1337;CopyToClipboard=name\a' 'foo' '\033]1337;EndC...* iTerm2 version: 3.0.5
* OS version: 10.11.5
I was told to go here for a feature request:
> **pbpaste like functionality, across iTerm**
>This works great!
>`echo -se '\033]1337;CopyToClipboard=name\a' 'foo' '\033]1337;EndCopy\a'`
>Would be great to have something like this for pasting as well. I can do it on tmux, but would be great to have a native iTerm implementation! :)
https://groups.google.com/forum/#!topic/iterm2-discuss/CTizw3JaOKcFeature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/5005Default for paste prompt should be "Cancel"2017-05-15T07:07:52ZleojDefault for paste prompt should be "Cancel"![Screen_Shot_2016-07-27_at_8.18.36_PM](/uploads/8ebe9e2a07c892569c709ceb5e95e98f/Screen_Shot_2016-07-27_at_8.18.36_PM.png)
It would be "safer" if the default was "Cancel".![Screen_Shot_2016-07-27_at_8.18.36_PM](/uploads/8ebe9e2a07c892569c709ceb5e95e98f/Screen_Shot_2016-07-27_at_8.18.36_PM.png)
It would be "safer" if the default was "Cancel".Feature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/4986Thin strokes strokes shouldn't always be enabled2017-05-15T07:07:54ZEnrico GhirardiThin strokes strokes shouldn't always be enabledWhile investigating the differences I observed in the issue https://gitlab.com/gnachman/iterm2/issues/4956 I noticed that in OS X applications the smoothing style to obtain thin strokes isn't applied to all text.
The logic is still real...While investigating the differences I observed in the issue https://gitlab.com/gnachman/iterm2/issues/4956 I noticed that in OS X applications the smoothing style to obtain thin strokes isn't applied to all text.
The logic is still really basic:
1. Obtain `brightnessComponent` of both the text foreground and background color
2. Check if the brightness of the foreground is higher than the background one
3. If so apply the smoothing style 16, else don't
From some quick tests the difference is noticeable, especially when the text is drawn on bright colours and it looks better imho.
iTerm doesn't seem to set the background color attribute so I hacked together support for it just for testing, but I'm still not comfortable with your codebase so this is probably the wrong approach on how to code it. Anyway here's a diff that cleanly applies to last master if you want to test the difference yourself.
``` diff
diff --git a/sources/PTYTextView.m b/sources/PTYTextView.m
index 701b9d1..958dbb4 100644
--- a/sources/PTYTextView.m
+++ b/sources/PTYTextView.m
@@ -1064,8 +1064,8 @@ static const int kDragThreshold = 3;
}
- (CGFloat)minimumBaselineOffset {
- CGFloat asciiOffset = -(floorf(self.font.leading) - floorf(self.font.descender));
- CGFloat nonasciiOffset = self.useNonAsciiFont ? -(floorf(self.nonAsciiFont.leading) - floorf(self.nonAsciiFont.descender)) : 0;
+ CGFloat asciiOffset = -(floorf(self.font.leading) - floorf(self.font.descender + 0.5));
+ CGFloat nonasciiOffset = self.useNonAsciiFont ? -(floorf(self.nonAsciiFont.leading) - floorf(self.nonAsciiFont.descender + 0.5)) : 0;
return MIN(asciiOffset, nonasciiOffset);
}
diff --git a/sources/iTermTextDrawingHelper.m b/sources/iTermTextDrawingHelper.m
index ef1d84b..456e193 100644
--- a/sources/iTermTextDrawingHelper.m
+++ b/sources/iTermTextDrawingHelper.m
@@ -50,6 +50,7 @@ typedef struct {
BOOL initialized;
BOOL shouldAntiAlias;
NSColor *foregroundColor;
+ NSColor *backgroundColor;
BOOL boxDrawing;
NSFont *font;
BOOL bold;
@@ -915,15 +916,6 @@ typedef struct iTermTextColorContext {
origin:(VT100GridCoord)initialOrigin
positions:(NSArray<NSNumber *> *)positions
inContext:(CGContextRef)ctx {
- int savedFontSmoothingStyle = 0;
- BOOL useThinStrokes = [self useThinStrokes];
- if (useThinStrokes) {
- // This seems to be available at least on 10.8 and later. The only reference to it is in
- // WebKit. This causes text to render just a little lighter, which looks nicer.
- savedFontSmoothingStyle = CGContextGetFontSmoothingStyle(ctx);
- CGContextSetFontSmoothingStyle(ctx, 16);
- }
-
NSPoint point = initialPoint;
VT100GridCoord origin = initialOrigin;
NSInteger start = 0;
@@ -946,9 +938,6 @@ typedef struct iTermTextColorContext {
}
- if (useThinStrokes) {
- CGContextSetFontSmoothingStyle(ctx, savedFontSmoothingStyle);
- }
}
- (void)drawBoxDrawingCharacter:(unichar)theCharacter withAttributes:(NSDictionary *)attributes at:(NSPoint)pos {
@@ -1012,6 +1001,9 @@ typedef struct iTermTextColorContext {
DLog(@"Draw attributed string beginning at %d", (int)round(origin.x));
NSDictionary *attributes = [attributedString attributesAtIndex:0 effectiveRange:nil];
NSColor *color = attributes[NSForegroundColorAttributeName];
+ NSColor *color2 = attributes[NSBackgroundColorAttributeName];
+ CGFloat br1 = [color brightnessComponent];
+ CGFloat br2 = [color2 brightnessComponent];
BOOL bold = [attributes[iTermBoldAttribute] boolValue];
BOOL fakeBold = [attributes[iTermFakeBoldAttribute] boolValue];
@@ -1033,6 +1025,15 @@ typedef struct iTermTextColorContext {
CGContextSetShouldAntialias(cgContext, antiAlias);
CGContextSetFillColorWithColor(cgContext, [self cgColorForColor:color]);
CGContextSetStrokeColorWithColor(cgContext, [self cgColorForColor:color]);
+ int savedFontSmoothingStyle = 0;
+ bool changedStyle = false;
+ if (br1 > br2) {
+ // This seems to be available at least on 10.8 and later. The only reference to it is in
+ // WebKit. This causes text to render just a little lighter, which looks nicer.
+ savedFontSmoothingStyle = CGContextGetFontSmoothingStyle(cgContext);
+ CGContextSetFontSmoothingStyle(cgContext, 16);
+ changedStyle = true;
+ }
CGFloat c = 0.0;
if (fakeItalic) {
@@ -1095,6 +1096,9 @@ typedef struct iTermTextColorContext {
CTFontDrawGlyphs(runFont, buffer, (NSPoint *)positions, length, cgContext);
CGContextTranslateCTM(cgContext, antiAlias ? -_antiAliasedShift : -1, 0);
}
+ if (changedStyle) {
+ CGContextSetFontSmoothingStyle(cgContext, savedFontSmoothingStyle);
+ }
}
CFRelease(lineRef);
[ctx restoreGraphicsState];
@@ -1262,6 +1266,7 @@ static BOOL iTermTextDrawingHelperIsCharacterDrawable(screen_char_t *c,
// Properly compare object fields
*combinedAttributesChanged = (newAttributes->shouldAntiAlias != previousAttributes->shouldAntiAlias ||
![newAttributes->foregroundColor isEqual:previousAttributes->foregroundColor] ||
+ ![newAttributes->backgroundColor isEqual:previousAttributes->backgroundColor] ||
newAttributes->boxDrawing != previousAttributes->boxDrawing ||
![newAttributes->font isEqual:previousAttributes->font] ||
newAttributes->bold != previousAttributes->bold ||
@@ -1315,6 +1320,7 @@ static BOOL iTermTextDrawingHelperIsCharacterDrawable(screen_char_t *c,
i,
textColorContext);
}
+ attributes->backgroundColor = textColorContext->backgroundColor;
const BOOL complex = c->complexChar;
const unichar code = c->code;
@@ -1338,6 +1344,7 @@ static BOOL iTermTextDrawingHelperIsCharacterDrawable(screen_char_t *c,
return @{ (NSString *)kCTLigatureAttributeName: @0,
NSForegroundColorAttributeName: attributes->foregroundColor,
NSFontAttributeName: attributes->font,
+ NSBackgroundColorAttributeName: attributes->backgroundColor,
iTermAntiAliasAttribute: @(attributes->shouldAntiAlias),
iTermIsBoxDrawingAttribute: @(attributes->boxDrawing),
iTermFakeBoldAttribute: @(attributes->fakeBold),
```Feature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/4976Performance issues with Tmux on nightly iTerm2-3_0_20160720-nightly2017-05-15T07:07:54ZFarruco SanjurjoPerformance issues with Tmux on nightly iTerm2-3_0_20160720-nightlyThanks for filing an issue! Please answer the questions below so I can help you.
* iTerm2 version: Build 3.0.20160720-nightly
* OS version: 10.11.3
* Attach ~/Library/Preferences/com.googlecode.iterm2.plist here (drag-drop from find...Thanks for filing an issue! Please answer the questions below so I can help you.
* iTerm2 version: Build 3.0.20160720-nightly
* OS version: 10.11.3
* Attach ~/Library/Preferences/com.googlecode.iterm2.plist here (drag-drop from finder into this window) (I'm executing the nightly build directly from the Downloads folder so I don't know if the `~/Library/Preferences/com.googlecode.iterm2.plist` belongs to the nightly build or to the other version I have installed. Please advise)
* Attach a debug log, if possible. Instructions at https://iterm2.com/debuglog
* Are you reporting a performance issue or a hang? Yes. Sample [Sample_of_iTerm2.txt](/uploads/776fb691171242aee48830b890b8fc95/Sample_of_iTerm2.txt)
Detailed steps to reproduce the problem:
1. Launch iterm2
2. Do a git log (`git log og --graph --pretty=format:'%Cred%h%Creset - %C(bold blue)%an%Creset %Cgreen(%cr) %C(yellow)%d%Creset %s ' --abbrev-commit --date=relative`)
What happened: The output lags as if tmux/iterm2 couldn't keep with the log. Also the CPU usage for iterm2 spikes close to 50%
What should have happened: The output should be smooth as in the stable version of iterm2 Build 3.0.4
Feature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/4957Baseline difference from other OSX applications2017-05-15T07:07:56ZEnrico GhirardiBaseline difference from other OSX applications* iTerm2 version: Build 3.0.20160717-nightly
* OS version: 10.11.5
The baseline computation algorithm used by iTerm seems to be different from the one used by other OS X applications.
For example with the Source Code Pro font usin...* iTerm2 version: Build 3.0.20160717-nightly
* OS version: 10.11.5
The baseline computation algorithm used by iTerm seems to be different from the one used by other OS X applications.
For example with the Source Code Pro font using regular font style at 12 point size, I noticed that the baseline is 2 pixels above the baseline computed by Safari (in general all Webkit based apps), TextEdit and Terminal.app
As a possible/alternative solution it would be cool adding an option to modify the baseline value manually. (just like vertical and horizontal spacing)
Feature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/4955Spacing and rendering of ligatures inconsistent depending on coloring on macO...2017-05-15T07:07:56ZDavid Z. ChenSpacing and rendering of ligatures inconsistent depending on coloring on macOS Sierra* iTerm2 version: Build 3.0.20160717-nightly
* OS version: macOS Sierra 10.12 Beta 16A239j
* [com.googlecode.iterm2.plist](/uploads/2c3a6a3d248c1be1c3c5b2089b37c00a/com.googlecode.iterm2.plist)
* [debuglog.txt](/uploads/4bd65c4c013ccd...* iTerm2 version: Build 3.0.20160717-nightly
* OS version: macOS Sierra 10.12 Beta 16A239j
* [com.googlecode.iterm2.plist](/uploads/2c3a6a3d248c1be1c3c5b2089b37c00a/com.googlecode.iterm2.plist)
* [debuglog.txt](/uploads/4bd65c4c013ccde8d822effc6b598c1d/debuglog.txt)
* Screencast: [screencast.mov](/uploads/5cea32c03dc5b0709e95fec7eca68568/screencast.mov)
On macOS Sierra Beta 2, the spacing and rendering of ligatures seems to be inconsistent depending on the context in which the characters are output. In the screencast above, the ligature for the character sequence `==>`is rendered incorrectly when it is by itself but renders correctly as a string argument to `echo`. Further, the string `"==>"` renders incorrectly as well:
![Screen_Shot_2016-07-17_at_7.09.06_PM](/uploads/ce162c6544a2c2372cc0b02d5b94f3f8/Screen_Shot_2016-07-17_at_7.09.06_PM.png)
Further, `==>` renders in yet another way in the output of `brew upgrade`, where the `=>` portion of the character sequence renders as the greater-equals ligature:
![Screen_Shot_2016-07-17_at_7.04.08_PM](/uploads/6fa2983cea1781d6a7eddd42438ad4ea/Screen_Shot_2016-07-17_at_7.04.08_PM.png)
Other ligatures, such as `+++`, have similar problems:
![Screen_Shot_2016-07-17_at_7.03.50_PM](/uploads/442b4cc02585de496ff19d4b32ef5743/Screen_Shot_2016-07-17_at_7.03.50_PM.png)
Feature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/4954Ligatures spacing is incorrect on macOS Sierra Beta in tmux2017-05-15T07:07:56ZDavid Z. ChenLigatures spacing is incorrect on macOS Sierra Beta in tmux* iTerm2 version: Build 3.0.20160717-nightly
* OS version: macOS Sierra 10.12 Beta 16A239j
* [com.googlecode.iterm2.plist](/uploads/f2f500f60268efa592634021cd4b30dd/com.googlecode.iterm2.plist)
* [debuglog.txt](/uploads/decf15691f348b...* iTerm2 version: Build 3.0.20160717-nightly
* OS version: macOS Sierra 10.12 Beta 16A239j
* [com.googlecode.iterm2.plist](/uploads/f2f500f60268efa592634021cd4b30dd/com.googlecode.iterm2.plist)
* [debuglog.txt](/uploads/decf15691f348b1824d58797e12962e0/debuglog.txt)
* Screencast: [screencast.mov](/uploads/66c0e69ff17985ee079fd444a61be1c1/screencast.mov)
I am not sure if this is an iTerm issue or a tmux issue.
Certain ligatures (such as `//` and `++`) have incorrect spacing on macOS Sierra 10.12 Beta 2 but only under tmux. The same ligatures do not seem to have this problem outside of tmux. This bug does not reproduce on 10.11.Feature Complete 3.1https://gitlab.com/gnachman/iterm2/-/issues/4924Hotkey window arrangement won't get saved2017-05-15T07:07:58ZchenjauHotkey window arrangement won't get savedThanks for filing an issue! Please answer the questions below so I can help you.
* iTerm2 version: build from source: 3.0.20160712
* OS version: Mac OS X 10.11.5
* [com.googlecode.iterm2.plist](/uploads/fb82488ae088fa61e5a2396546910...Thanks for filing an issue! Please answer the questions below so I can help you.
* iTerm2 version: build from source: 3.0.20160712
* OS version: Mac OS X 10.11.5
* [com.googlecode.iterm2.plist](/uploads/fb82488ae088fa61e5a2396546910f9a/com.googlecode.iterm2.plist)* Attach a debug log, if possible. Instructions at https://iterm2.com/debuglog
Detailed steps to reproduce the problem:
1. call out hotkey window, create several panels.
2. (tried) save arrangement, set this arrangement to default, make iterm2 open default arragement when startup. but not worked.
3. quit iterm2.
3. reopen iterm2, call out hotkey window, panels created last time lost.
What happened:
iTerm2 can not save arrangement of hotkey window.
What should have happened:
iTerm2 should startup with remember arrangement of hotkey window.
Feature Complete 3.1