Skip to content

Add shaders#42

Merged
bjarneo merged 3 commits into
mainfrom
hyprshade-shaders
Oct 26, 2025
Merged

Add shaders#42
bjarneo merged 3 commits into
mainfrom
hyprshade-shaders

Conversation

@bjarneo
Copy link
Copy Markdown
Owner

@bjarneo bjarneo commented Oct 26, 2025

Copilot

This pull request adds a new Shader Manager feature to the visual theming application for Omarchy, enabling users to apply and manage screen shaders using hyprshade. It introduces over 80 GLSL shader files covering a wide range of effects, updates the documentation to reflect these additions, and provides detailed usage instructions and examples for integrating shaders into Hyprland. The changes significantly enhance customization and accessibility options for desktop theming.

Shader Manager and Documentation Updates

  • Added a Shader Manager feature to the application, supporting over 80 GLSL screen shaders for hyprshade (color grading, effects, era vibes), and updated the README.md to document this new functionality, shader categories, and manual binding examples. [1] [2]
  • Updated the list of dependencies in README.md to include hyprshade as an optional component for shader effects.

New Shader Files

  • Added a comprehensive set of GLSL shader files to the shaders/ directory, including effects for color correction, accessibility (color blindness simulation), artistic looks, era vibes, and visual enhancements such as CRT glitches, chromatic shifts, and more. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16]

Accessibility and Customization

  • Included shaders for accessibility, such as color blindness simulation (protanopia, deuteranopia, tritanopia) and high-contrast modes, as well as instructions for adding custom .glsl shader files that will automatically appear in the Shader Manager. [1] [2]

User Experience Enhancements

  • Provided detailed instructions and examples in the documentation for binding shaders to hotkeys in Hyprland, making it easy for users to toggle effects and personalize their desktop experience.

@bjarneo bjarneo requested a review from Copilot October 26, 2025 10:58
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds comprehensive screen shader support to the Aether visual theming application, enabling users to apply over 80 GLSL shader effects via hyprshade. The changes include a new Shader Manager component, automatic shader installation on startup, extensive shader library covering various visual effects and accessibility features, and updated documentation with usage examples.

Key changes:

  • Added ShaderManager component with UI for discovering and toggling hyprshade shaders
  • Implemented automatic shader installation from application directory to hyprshade config location
  • Created 80+ GLSL shader files spanning multiple categories (color grading, era vibes, accessibility, artistic effects)

Reviewed Changes

Copilot reviewed 99 out of 99 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/main.js Added _installShaders() method to install shader files on application startup via symlinks
src/components/ShaderManager.js New component providing UI for listing, toggling, and managing hyprshade screen shaders
src/components/SettingsSidebar.js Integrated ShaderManager into the settings sidebar UI
src/components/wallpaper-editor/SelectiveColorControls.js New component for HSL-style selective color adjustments (not shader-related)
shaders/*.glsl 80+ new GLSL shader files for various visual effects, color grading, and accessibility
README.md Added shader manager documentation, usage examples, and shader categories listing

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

this._adjustments[colorName] = {...adjustments[colorName]};
}
});
// TODO: Update UI sliders to reflect loaded values
Copy link

Copilot AI Oct 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO comment indicates incomplete implementation. The setAdjustments method loads adjustment values but doesn't update the UI sliders to reflect these values, which could cause a mismatch between the stored state and what's displayed to the user.

Copilot uses AI. Check for mistakes.
lightness: 0,
};
});
// TODO: Reset all sliders to 0
Copy link

Copilot AI Oct 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO comment indicates incomplete implementation. The clearAdjustments method resets internal state but doesn't update the UI sliders, leaving them displaying incorrect values after a clear operation.

Copilot uses AI. Check for mistakes.
Comment thread src/components/ShaderManager.js Outdated
Comment on lines +257 to +262
let child = this.get_first_child();
while (child) {
const next = child.get_next_sibling();
this.remove(child);
child = next;
}
Copy link

Copilot AI Oct 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Consider using the GTK convenience method remove_all() if available, or extracting this row removal logic into a helper method since it's a common pattern. This would improve code maintainability and reduce duplication.

Suggested change
let child = this.get_first_child();
while (child) {
const next = child.get_next_sibling();
this.remove(child);
child = next;
}
this.remove_all();

Copilot uses AI. Check for mistakes.
@bjarneo bjarneo merged commit 9477d03 into main Oct 26, 2025
2 checks passed
@bjarneo bjarneo deleted the hyprshade-shaders branch October 26, 2025 19:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants