-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Description
Describe the bug
I cannot get the icons to work at all - it's not wrong icons, it's just a bunch of '?' characters. See:
From what I have seen in other people's issues, it should just be a matter of choosing a NerdFont (which I did: "JetBrainsMono Nerd Font Mono", Regular style), and (maybe?) enabling Icons (or maybe they are on by default? I think I read that somewhere, but my config print out says they are set to false, even though I explicitly set them to true).
So the result is the same with:
- no config at all
- a config that sets nerdFontsVersion to either "2" or "3"
- the same config but also setting showIcons: true
- with and without tmux
I do have icons in neovim though, so it's not like the font can't do it.
To Reproduce
Steps to reproduce the behavior:
- In Konsole, set NerdFont
- Delete lazygit config, if any (or provide config as described)
- Start lazygit in a repository
Expected behavior
Icons appear in lazygit
Version info:
-
Run
lazygit --versionand paste the result here -
commit=v0.55.1, build date=2025-09-17T18:57:13Z, build source=binaryRelease, version=0.55.1, os=linux, arch=amd64, git version=2.51.0
-
Run
git --versionand paste the result here -
git version 2.51.0
Additional context
Output of the lg -c
gui:
authorColors: {}
branchColors: {}
branchColorPatterns: {}
customIcons:
filenames: {}
extensions: {}
scrollHeight: 2
scrollPastBottom: true
scrollOffMargin: 2
scrollOffBehavior: margin
tabWidth: 4
mouseEvents: true
skipAmendWarning: false
skipDiscardChangeWarning: false
skipStashWarning: false
skipNoStagedFilesWarning: false
skipRewordInEditorWarning: false
sidePanelWidth: 0.3333
expandFocusedSidePanel: false
expandedSidePanelWeight: 2
mainPanelSplitMode: flexible
enlargedSideViewLocation: left
wrapLinesInStagingView: true
useHunkModeInStagingView: true
language: auto
timeFormat: 02 Jan 06
shortTimeFormat: 3:04PM
theme:
activeBorderColor:
- green
- bold
inactiveBorderColor:
- default
searchingActiveBorderColor:
- cyan
- bold
optionsTextColor:
- blue
selectedLineBgColor:
- blue
inactiveViewSelectedLineBgColor:
- bold
cherryPickedCommitFgColor:
- blue
cherryPickedCommitBgColor:
- cyan
markedBaseCommitFgColor:
- blue
markedBaseCommitBgColor:
- yellow
unstagedChangesColor:
- red
defaultFgColor:
- default
commitLength:
show: true
showListFooter: true
showFileTree: true
showRootItemInFileTree: true
showNumstatInFilesView: false
showRandomTip: true
showCommandLog: true
showBottomLine: true
showPanelJumps: true
showIcons: false
nerdFontsVersion: ""
showFileIcons: true
commitAuthorShortLength: 2
commitAuthorLongLength: 17
commitHashLength: 8
showBranchCommitHash: false
showDivergenceFromBaseBranch: none
commandLogSize: 8
splitDiff: auto
screenMode: normal
border: rounded
animateExplosion: true
portraitMode: auto
filterMode: substring
spinner:
frames:
- '|'
- /
- '-'
- \
rate: 50
statusPanelView: dashboard
switchToFilesAfterStashPop: true
switchToFilesAfterStashApply: true
switchTabsWithPanelJumpKeys: false
git:
paging:
colorArg: always
pager: ""
externalDiffCommand: ""
useExternalDiffGitConfig: false
commit:
signOff: false
autoWrapCommitMessage: true
autoWrapWidth: 72
merging:
manualCommit: false
args: ""
squashMergeMessage: Squash merge {{selectedRef}} into {{currentBranch}}
mainBranches:
- master
- main
skipHookPrefix: WIP
autoFetch: true
autoRefresh: true
autoForwardBranches: onlyMainBranches
fetchAll: true
autoStageResolvedConflicts: true
branchLogCmd: git log --graph --color=always --abbrev-commit --decorate --date=relative --pretty=medium {{branchName}} --
allBranchesLogCmds:
- git log --graph --all --color=always --abbrev-commit --decorate --date=relative --pretty=medium
ignoreWhitespaceInDiffView: false
diffContextSize: 3
renameSimilarityThreshold: 50
overrideGpg: false
disableForcePushing: false
commitPrefix: []
commitPrefixes: {}
branchPrefix: ""
parseEmoji: false
log:
order: topo-order
showGraph: always
showWholeGraph: false
localBranchSortOrder: date
remoteBranchSortOrder: date
truncateCopiedCommitHashesTo: 12
update:
method: prompt
days: 14
refresher:
refreshInterval: 10
fetchInterval: 60
confirmOnQuit: false
quitOnTopLevelReturn: false
disableStartupPopups: false
customCommands: []
services: {}
notARepository: prompt
promptToReturnFromSubprocess: true
keybinding:
universal:
quit: q
quit-alt1: <c-c>
suspendApp: <c-z>
return: <esc>
quitWithoutChangingDirectory: Q
togglePanel: <tab>
prevItem: <up>
nextItem: <down>
prevItem-alt: k
nextItem-alt: j
prevPage: ','
nextPage: .
scrollLeft: H
scrollRight: L
gotoTop: <
gotoBottom: '>'
gotoTop-alt: <home>
gotoBottom-alt: <end>
toggleRangeSelect: v
rangeSelectDown: <s-down>
rangeSelectUp: <s-up>
prevBlock: <left>
nextBlock: <right>
prevBlock-alt: h
nextBlock-alt: l
nextBlock-alt2: <tab>
prevBlock-alt2: <backtab>
jumpToBlock:
- "1"
- "2"
- "3"
- "4"
- "5"
focusMainView: "0"
nextMatch: "n"
prevMatch: "N"
startSearch: /
optionMenu: <disabled>
optionMenu-alt1: '?'
select: <space>
goInto: <enter>
confirm: <enter>
confirmMenu: <enter>
confirmSuggestion: <enter>
confirmInEditor: <a-enter>
confirmInEditor-alt: <c-s>
remove: d
new: "n"
edit: e
openFile: o
scrollUpMain: <pgup>
scrollDownMain: <pgdown>
scrollUpMain-alt1: K
scrollDownMain-alt1: J
scrollUpMain-alt2: <c-u>
scrollDownMain-alt2: <c-d>
executeShellCommand: ':'
createRebaseOptionsMenu: m
pushFiles: P
pullFiles: p
refresh: R
createPatchOptionsMenu: <c-p>
nextTab: ']'
prevTab: '['
nextScreenMode: +
prevScreenMode: _
undo: z
redo: Z
filteringMenu: <c-s>
diffingMenu: W
diffingMenu-alt: <c-e>
copyToClipboard: <c-o>
openRecentRepos: <c-r>
submitEditorText: <enter>
extrasMenu: '@'
toggleWhitespaceInDiffView: <c-w>
increaseContextInDiffView: '}'
decreaseContextInDiffView: '{'
increaseRenameSimilarityThreshold: )
decreaseRenameSimilarityThreshold: (
openDiffTool: <c-t>
status:
checkForUpdate: u
recentRepos: <enter>
allBranchesLogGraph: a
files:
commitChanges: c
commitChangesWithoutHook: w
amendLastCommit: A
commitChangesWithEditor: C
findBaseCommitForFixup: <c-f>
confirmDiscard: x
ignoreFile: i
refreshFiles: r
stashAllChanges: s
viewStashOptions: S
toggleStagedAll: a
viewResetOptions: D
fetch: f
toggleTreeView: '`'
openMergeTool: M
openStatusFilter: <c-b>
copyFileInfoToClipboard: "y"
collapseAll: '-'
expandAll: =
branches:
createPullRequest: o
viewPullRequestOptions: O
copyPullRequestURL: <c-y>
checkoutBranchByName: c
forceCheckoutBranch: F
checkoutPreviousBranch: '-'
rebaseBranch: r
renameBranch: R
mergeIntoCurrentBranch: M
moveCommitsToNewBranch: "N"
viewGitFlowOptions: i
fastForward: f
createTag: T
pushTag: P
setUpstream: u
fetchRemote: f
sortOrder: s
worktrees:
viewWorktreeOptions: w
commits:
squashDown: s
renameCommit: r
renameCommitWithEditor: R
viewResetOptions: g
markCommitAsFixup: f
createFixupCommit: F
squashAboveCommits: S
moveDownCommit: <c-j>
moveUpCommit: <c-k>
amendToCommit: A
resetCommitAuthor: a
pickCommit: p
revertCommit: t
cherryPickCopy: C
pasteCommits: V
markCommitAsBaseForRebase: B
tagCommit: T
checkoutCommit: <space>
resetCherryPick: <c-R>
copyCommitAttributeToClipboard: "y"
openLogMenu: <c-l>
openInBrowser: o
viewBisectOptions: b
startInteractiveRebase: i
selectCommitsOfCurrentBranch: '*'
amendAttribute:
resetAuthor: a
setAuthor: A
addCoAuthor: c
stash:
popStash: g
renameStash: r
commitFiles:
checkoutCommitFile: c
main:
toggleSelectHunk: a
pickBothHunks: b
editSelectHunk: E
submodules:
init: i
update: u
bulkMenu: b
commitMessage:
commitMenu: <c-o>
Config as I wrote it
gui:
showIcons: true
nerdFontsVersion: "2"
Remember, I tried with no config and with this config but no showIcons line as well. Nothing worked and lg -c always has showIcons set to false.
Using LazyGit on Windows Terminal with JetBrainsMono NerdFont worked without issue for me (also without any config) - so maybe I'm just setting up Konsole incorrectly. But I don't know what else to try.