Dark Mode?

Für Fragen rund um die Ide und zum Debugger
Antworten
joesky
Beiträge: 25
Registriert: Fr 12. Feb 2021, 16:38

Dark Mode?

Beitrag von joesky »

Hat jemand von Euch einen echten Dark Mode für Lazarus? MIt "echt" meine ich, dass nicht nur das Quellcode-Fenster dunkel wird, ich will alle Fenster dunkel haben...

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Dark Mode?

Beitrag von af0815 »

Klingt blöd, aber dazu gab es schon Diskussionen im englischen Forum. Nachdem ich mit dem 'Dark Mode' nichts am Hut habe, so habe ich mir die Diskussionen nicht tiefergehend angesehen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

PascalDragon
Beiträge: 825
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Dark Mode?

Beitrag von PascalDragon »

joesky hat geschrieben:
Do 30. Sep 2021, 12:41
Hat jemand von Euch einen echten Dark Mode für Lazarus? MIt "echt" meine ich, dass nicht nur das Quellcode-Fenster dunkel wird, ich will alle Fenster dunkel haben...
Ich nehme mal an du meinst unter Windows, da mit GTK und Qt unter Linux sich die IDE an das jeweilige Theme hält. Und unter Windows lautet die Antwort: gibt es nicht. Die API für den Dark Mode ist nicht öffentlich dokumentiert und dadurch ist es auch schwierig das in die LCL und damit die IDE einzufügen.
FPC Compiler Entwickler

joesky
Beiträge: 25
Registriert: Fr 12. Feb 2021, 16:38

Re: Dark Mode?

Beitrag von joesky »

Ja, ich meine unter Windows.

Ohne jetzt böse klingen zu wollen, aaaber andere Programme unter Windows kriegen es auch hin, ohne die API zu kennen.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Dark Mode?

Beitrag von af0815 »

Es ist nicht das Programm sonderen die Programmierungumgebung (IDE) die das können muß.
Die API für den Dark Mode ist nicht öffentlich dokumentiert
Das ist ein Punkt, da es nicht öffentlich ist, heisst das, das man dafür entsprechend Geld ausgeben muss um die Doku zu erhalten (falls sie fertig geworden ist). Oder die Betriebssystems eigenen IDEs zu benutzen.

Ohne Kenntnis der API kann man die LCL nicht anpassen, wo es nötig ist.
Zuletzt geändert von af0815 am Do 30. Sep 2021, 14:08, insgesamt 1-mal geändert.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Dark Mode?

Beitrag von wp_xyz »

Nur weil sie es in Eigenregie machen. Das sind Programme, die intern mit eigenen Themes arbeiten, ohne Unterstützung durch das Betriebssystem.

Hab gerade den "Dark mode" von Win10 aktiviert: "Systemeinstellungen (Zahnrad)" > "Personalisierung" > "Farben" > "Farbe auswählen" > "Benutzerdefiniert" > "Standard-App-Modus" > "dunkel". Damit wird vieles in Windows dunkel, aber nicht alles, selbst wenn es von Microsoft kommt: Taskmanager, Editor, Paint, Zeichentabelle, WordPad, Windows-Dienste, u.v.a - alle hell. Also ein vom Betriebssystem unterstützter Darkmode würde anders aussehen.

Wie die Beschriftung des letzten oben genannten Einstell-Elements sagt ("Standard-App-Modus"), ist der so eingestellte Darkmode für die "Smartphone-Apps" gedacht, die man mit Windows 10 ja angeblich auch erstellen kann, aber nicht für die Desktop-Applications.

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Dark Mode?

Beitrag von Warf »

Der Windows dark mode funktioniert nur bei den UWP Apps (und .Net WPF glaube ich). Programme die die normale Windows Forms API benutzen sind davon nicht betroffen.

Andere IDEs wie VSCode oder die JetBrains Reihe (IntelliJ, CLion, etc.) gehen einen ganz anderen weg und implementieren ihr UI komplett selbst, VSCode ist als Electron App eine Website die einfach über CSS gestyled werden kann und die JetBrains Produkte benutzen eine Java Forms API die AFAIK auch über CSS gestyled werden kann.
Der standard Windows build von Lazarus benutzt allerdings Windows Forms und kann damit nicht so einfach gestyled werden. Alternativ könntest du dein Lazarus gegen QT bauen und dort einen eigenen Style reinladen, das ist aber mMn. den Aufwand nicht wert.

PascalDragon
Beiträge: 825
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Dark Mode?

Beitrag von PascalDragon »

joesky hat geschrieben:
Do 30. Sep 2021, 13:39
Ohne jetzt böse klingen zu wollen, aaaber andere Programme unter Windows kriegen es auch hin, ohne die API zu kennen.
Wie die anderen gesagt haben: diese Programme zeichnen ihre Oberfläche eh selbst (Visual Studio, Firefox, etc.) oder verwenden das was man über die API Reverse Engineered hat auf die Gefahr hin, dass das beim nächsten Windows Update kaputt geht (und ja, es gab schon einen entsprechende gravierende Änderung von einer Version zur anderen, das ist also kein theoretisches Szenario wie beim Rest der WinAPI, die sehr in Stein gemeißelt ist).
Warf hat geschrieben:
Do 30. Sep 2021, 15:26
Der standard Windows build von Lazarus benutzt allerdings Windows Forms und kann damit nicht so einfach gestyled werden.
Lazarus benutzt nicht Windows Forms, weil das die Bezeichnung für die .NET Implementierung des Windows UI ist. Lazarus verwendet schlicht und ergreifend die (Common) Controls der WinAPI.
FPC Compiler Entwickler

jwdietrich
Beiträge: 167
Registriert: Mo 20. Okt 2008, 20:50
OS, Lazarus, FPC: macOS 10.4-13.4, Windows 2000-11, Raspbian (L 2.2.6, FPC 3.2.2)
CPU-Target: PowerPC, Intel, ARM
Wohnort: Hattingen, NRW
Kontaktdaten:

Re: Dark Mode?

Beitrag von jwdietrich »

Zumindest am Mac unterstützen die neueren Lazarus-Versionen ja den Dark Mode.

Unabhängig davon ist es sicher sinnvoll, auch den Quelltext passend darzustellen. Auf https://wiki.lazarus.freepascal.org/Use ... meSettings ist dokumentiert, wie man das beeinflussen kann. Dort gibt es auch Schemata, die man sich herunterladen kann.

Antworten