55th Release of CPE Language
Highlights
- Hand cursor now shows up on dropdown links, buttons and floating buttons only if the link actually points to something (aka the
hrefattribute is used) otherwise the default cursor is used. If any of the aforementioned element opens a dropdown upon clicking on it, the context menu cursor is instead used. - You can make a dropdown open by hovering on its toggle by adding the
opens-on-hoverclass tocpe-dropdown - Improved accessibility for keyboard users in much of the CPE Language and Evelution elements by providing distinct focus state styling from the base ones (Which in turn the focus state styling is the same as the active state styling). In the default styling, a border that matches the foreground color of the container (Either black or white outside of High Contrast Mode) is used and those styles apply when
:focus-visiblematches - Introduced the ability to set Hyperlink color dynamically, previously on OS level only. When
--hyperlink-background-coloris set toauto, it will be set to a color that exists in the image but inverted to ensure that light backgrounds will produce light themes. If the theme lacks a background image, then the color will be the same as the Desktop Color albeit inverted for the same reason. In cases where color cannot be found, the fallback#3366ccones is used. This takes advantage of another color.js library and async functions. Do note that image filters won't affect the final color meaning setting to the theme an image, adding anopacity(0)filter to the image and setting all color variables to auto will create a dynamic theme with a preselected color from the background image that would normally be seen that has no image- With this, all color variables default to
autoand can become dynamic.
- With this, all color variables default to
- Added a new monospaced font, Patty Console and is available for use in themes, Goes best with the Level font being set as sans-serif font
- Fixed up emoji (That have defined variation sequences and default to color presentation) in monospaced contexts and high contrast being displayed in color (In System's native font) instead in the expected BW style (Noto Emoji)
- This fix is for Chrome 131.0.0 onward, and will apply browsers that support
font-variant-emoji - Removed all RGB theming variables and replaced them with the Relative color syntax. This means more efficiency in some cases
- Moved certain hover theming variables from JS to CSS to improve performance in several cases
- Some JS is used to construct the new
*-background-color-hover-ratiovariables that will be used to construct the hover variables (Which are now done with Relative Color) - Removed the
*-foreground-color-invertedvariables and replaced their uses with the*-foreground-colorones
- Some JS is used to construct the new
- The base foreground and text background colors in their hover form are now constructed with Relative Colors instead of being set in a hardcoded absolute color
- Made created banner notifications fade in as in MediaWiki
- Tweaks to transition timings in some elements
- Introduced
--contrast-box-shadowproperty that sets box shadow to an element in High Contrast mode - Removed the ability for themes to change
--system-acryllic-opacity(Now spelled as--system-acrylic-opacity)property in favor of calculating it automatically like how the tabs opacity is done (And it depends on it too)- In addition, BG Opacity on elements that can become accented now depends whether Luna Lavccent is active or not
- Optimized several theming code by moving certain theming variables from JS to CSS
- Merged
*-alternative-foreground-colorvariables with the existing*-text-colorvariables (Or with similar ones)- As a result, the preset text color variables have been dropped
- Moved many foreground color definitions from JS to CSS (Including all foreground color variables belonging to text color variables)
- Made APCA mandatory and enabled by default
- Removed the Modern Color Filters implementation and replaced it with an updated version of the legacy ones. In addition, it now works on Disabled Color Management as well
- Also, the color style filters now apply in the resulted filter last, not after the inverted filter. This is done to ensure that when for instance Tritanopia is used, the colors the user will see will always be colors that be seen in Tritanopia
- Unused code was removed as well