Our great sponsors
-
7.css
A JS-independent, tree-shakeable CSS framework for building faithful recreations of the Windows 7 UI.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Renkbench
Discontinued Javascript Amiga Workbench 1.3 look and feel clone [Moved to: https://github.com/renkman/Renkbench]
-
new-dawn
Discontinued Generate a Classic Mac interface in your browser [Moved to: https://github.com/npjg/classic.css]
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
I use ExplorerPatcher so that on W11, I can still have a button per open application:
https://github.com/valinet/ExplorerPatcher
It also brings other Windows 10 UI paradigm's back in.
Pretty cool. I love those old UI's. I once tried rebuilding a functional Windows 3.11 with pure CSS and Vue components. Sadly the used Vue version is kinda outdated by now and I am not sure if I want to spent time updating it all...
https://github.com/sleepybuildings/vuedows
...and this still does not catch all, because you wouldn't believe how often web devs just take some div and put an onclick handler on it without making it accessible.
Secondly, as soon as you overwrite the background color of all buttons, you will lose its background images which may be important. This happens way too often, also surrounding elements which actually have nothing to do with button semantics. So you need to apply a partially transparent background color. While it can still look perfect with the right tuning, it will then look horrible on non-white backgrounds.
There are also way too many nested buttons and empty buttons out there, it all needs consideration.
Finally, to detect a "pressed down" state, you'd normally use `aria-selected`, but barely anyone ever uses that, so it's back to matching class names `.active` and `.selected`, but then you also need to exclude `.inactive`, `.interactive`, `.deselected` and so on...
My conclusion so far is that building a global style sheet is definitely possible, but can get ugly sometimes.
Also worth mentioning: A near-perfect win95 XFCE theme: https://github.com/grassmunk/Chicago95