notepad-plus-plus / notepad-plus-plus/notepad-plus-plus

Bring light-mode tabs visuals in line with dark-mode

Open
#10,919 18 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
29.4k
Forks
5.4k
PR merge metrics
No merged PRs in 30d

Description

Description of the Issue

Currently light-mode tabs use system default themeless visuals. This is inconsistent with what DarkMode tabs look like and also with themed system tab visuals (Windows 10). Also they just look ugly and I think many will agree.
DarkMode tabs are painted manually in WM_PAINT and are just plain rectangles which appears to be an accepted way of doing it.

Being a proud user of light theme and feeling constantly displeased with these visuals I made a little patch for personal use, which I would like to improve on and make it into official release if this gets approved. Screenshots are attached (no vertical, multi-line or coloured bar yet since I don't use them)

Additional info to discuss a fix

I remember finding out that tabs theme gets stripped in init TabBarPlus during _hwndArray processing or couple of lines after that point, but i didn't look into it more closely since manually painting in WM_PAINT might provide better visuals than default windows style and since it is already implemented like that for DarkMode

Steps to Reproduce the Issue

Launch npp with DarkMode disabled on Windows 7 or newer

Expected Behavior

Visuals similar to themed system apps

Actual Behavior

Ugly themeless visuals from Win98 era
npptabs

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in TabBarPlus around the _hwndArray processing where the issue reports the tab theme being stripped, then compare the existing DarkMode WM_PAINT handling. Reproduce with DarkMode disabled on Windows 7 or newer and compare the light-mode tabs with themed system tab visuals. Done means light-mode tabs no longer use the old themeless appearance and remain correct for the reported tab variants.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.