Skip to content

No Icons in LazyGit in Konsole #4944

@lobneroO

Description

@lobneroO

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:

Image

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:

  1. In Konsole, set NerdFont
  2. Delete lazygit config, if any (or provide config as described)
  3. Start lazygit in a repository

Expected behavior

Icons appear in lazygit

Version info:

  • Run lazygit --version and 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 --version and 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions