SkillAgentSearch skills...

Gleditor

A standalone OpenGL ES shader editor that doesn't make you want to flip your desk. Create, test, and debug GLSL shaders with real-time preview and syntax highlighting. Because life's too short to edit shaders in Notepad.

Install / Use

/learn @1ay1/Gleditor
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

gleditor 🎨✨

<p align="center"> <img src="data/gleditor.svg" alt="gleditor" width="600"/> </p> <p align="center"> <img src="https://img.shields.io/badge/version-1.0.0-blue" alt="Version"/> <img src="https://img.shields.io/badge/license-MIT-green" alt="License"/> <img src="https://img.shields.io/badge/platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey" alt="Platform"/> <img src="https://img.shields.io/badge/OpenGL_ES-2.0%20%7C%203.0%20%7C%203.1%20%7C%203.2-orange" alt="OpenGL ES"/> <img src="https://img.shields.io/badge/developer_sanity-barely_intact-red" alt="Sanity"/> </p> <p align="center"> <strong>The Shader Editor That Actually Works™</strong> </p> <p align="center"> A standalone OpenGL ES shader editor that doesn't make you want to flip your desk.<br/> Create, test, and debug GLSL shaders with real-time preview and syntax highlighting.<br/> <em>Because life's too short to edit shaders in Notepad.</em> </p>

🤔 Why gleditor?

Let's be real: editing shaders shouldn't feel like debugging assembly code in the dark. We created gleditor because:

  • ✅ Vim + shader crashes in the background = masochism (we're eliminating that)
  • ✅ Copying from Shadertoy and praying it works = not a workflow
  • ✅ Recompiling every 5 seconds to see if your vec3 is actually pink = inefficient
  • ✅ We needed a catchy name and "OpenGL_ES_Shader_Editor_v2_final_FINAL_actually_final.exe" was taken

gleditor gives you a proper IDE for GLSL shaders with live preview, syntax highlighting, autocomplete, and a tab system that won't ghost you when you have 47 shaders open.


✨ Features That'll Make You Go "Finally!"

🎨 Live Preview

See your shader running in real-time. Watch your beautiful plasma effect... or your accidental white square of shame. Either way, instant feedback.

📝 GLSL Syntax Highlighting

Because reading plain text GLSL is like reading the Matrix. We colorize your vec3s, uniforms, and mainImage() so your eyes don't bleed.

🔧 OpenGL ES 2.0 / 3.0 / 3.1 / 3.2 Support

We support all the versions. Yes, even ES 3.2 with geometry shaders. Yes, we tested it. No, our GPU didn't explode (much).

🎯 Shadertoy Compatible

Copy shaders from Shadertoy and they just work*. Full support for:

  • iTime, iResolution, iMouse
  • mainImage() entry point
  • Automatic uniform injection
  • (*99% of the time. That 1% is on you for using triple-nested raymarching.)

🗂️ Multi-Tab Workflow

Open multiple shaders at once. Switch between them with ease. Close tabs without losing work. Revolutionary, we know.

💾 Save/Load Shaders

  • Ctrl+S to save
  • Ctrl+Shift+S for Save As
  • Ctrl+O to load
  • Your work actually persists! What a concept!

🚀 Auto-Compile Mode

Enable auto-compile and watch your shader update as you type. It's like autocomplete but more judgy about your syntax errors.

📦 Template Library

Start with professionally crafted templates:

  • 🌌 Cosmic Tunnel - Trippy wormhole effects
  • 🌊 Plasma - Smooth animated gradients
  • 🎱 Raymarching Sphere - 3D rendering starter
  • 🔢 Mandelbrot Set - Infinite zoom fractals
  • 💧 Water Ripples - Interactive wave simulation
  • Starfield - Parallax space background
  • 🎨 Gradient - Simple color transitions
  • 📄 Blank - For the bold and the brave

⌨️ 170+ Autocomplete Items

Type mainI → press Tab → get full Shadertoy template. We have keywords, functions, snippets, and all the GLSL built-ins you keep forgetting.

🎮 Interactive Mouse Tracking

Your shader gets iMouse uniform. Move your cursor, control the shader. Make interactive effects. Pretend you're a wizard.

🟢 FPS Counter in Matrix Green

Real-time performance monitoring at #00FF41. Because everything looks more professional in hacker green.

🐛 Error Panel with Line Numbers

Shader won't compile? We'll tell you exactly where you messed up (line 42, probably that missing semicolon).

🎨 Customizable Everything

  • 12+ color themes (Solarized, Monokai, Dracula, you name it)
  • Font size and family
  • Tab width (2 or 4 spaces? We don't judge... much)
  • Line numbers, bracket matching, smart home/end
  • Split view orientation (horizontal or vertical)

💾 Session Persistence

Enable "Remember Open Tabs" and all your shaders will be there next time you open the app. Even unsaved ones. Magic.

🖼️ Three View Modes

  • Both: Editor + Preview side-by-side
  • Editor Only: Fullscreen code editing (preview paused to save GPU)
  • Preview Only: Fullscreen shader preview (perfect for demos)

Tab bar always visible for instant shader switching. No more hunting through menus.


📸 Screenshots

<p align="center"> <img src="data/screenshot.png" alt="gleditor in action" width="100%"/> </p>

Live shader editing with real-time preview, syntax highlighting, and multiple tabs. Retro vibes included.


🚀 Installation

Quick Install (Linux/macOS)

git clone https://github.com/yourusername/gleditor.git
cd gleditor
./install.sh

The automated installer will:

  • ✅ Detect your OS and package manager
  • ✅ Install all required dependencies
  • ✅ Build the application
  • ✅ Install system-wide
  • ✅ Set up desktop integration

Quick Build (No Install)

Just want to build and run without installing?

# Linux/macOS
./build.sh
./bin/gleditor

# Windows (Command Prompt)
build.bat
bin\gleditor.exe

# Or with options
./build.sh --debug --verbose
./build.sh --clean --cmake

Platform-Specific Installation

For detailed installation instructions including Windows, manual builds, and troubleshooting, see INSTALL.md.

Quick links:

Requirements

  • GTK+3 (>= 3.20)
  • GTKSourceView 4
  • OpenGL ES 2.0+ / OpenGL (platform-dependent)
  • C compiler (GCC, Clang, or MSVC)
  • CMake or Make

🎮 Usage

Basic Workflow

  1. Launch gleditor

    gleditor
    
  2. Create a new shader

    • Click New or press Ctrl+N
    • Pick a template (or go blank if you're brave)
  3. Write your shader

    • Use the Shadertoy mainImage() format
    • Access iTime, iResolution, iMouse uniforms
    • Watch the live preview update as you type (with auto-compile on)
  4. Save your work

    • Ctrl+S to save
    • Ctrl+Shift+S to save as
  5. Install to NeoWall (if applicable)

    • Click the Install button
    • Select shader type
    • Your wallpaper just got 10x cooler

Keyboard Shortcuts (Because We're Not Animals)

| Shortcut | Action | |-------------------|-------------------------------------------| | Ctrl+N | New shader (template picker) | | Ctrl+O | Open shader file | | Ctrl+S | Save current shader | | Ctrl+Shift+S | Save As | | Ctrl+W | Close current tab | | Ctrl+Q | Quit application | | Ctrl+R | Recompile shader | | Ctrl+Space | Trigger autocomplete | | F5 | Toggle Editor/Preview view | | F6 | Toggle split orientation (H/V) | | Space | Pause/Resume animation | | Tab | Indent selection | | Shift+Tab | Un-indent selection |

Shadertoy Compatibility

gleditor supports the standard Shadertoy uniforms:

uniform vec3 iResolution;     // Viewport resolution (in pixels)
uniform float iTime;          // Shader playback time (in seconds)
uniform vec4 iMouse;          // Mouse pixel coords (xy: current, zw: click)

Example Shadertoy shader:

void mainImage(out vec4 fragColor, in vec2 fragCoord) {
    // Normalize coordinates to [0, 1]
    vec2 uv = fragCoord / iResolution.xy;
    
    // Animated gradient
    vec3 col = 0.5 + 0.5 * cos(iTime + uv.xyx + vec3(0, 2, 4));
    
    fragColor = vec4(col, 1.0);
}

Copy this into gleditor, hit Compile (or enable auto-compile), and watch the rainbow magic happen.


⚙️ Settings

Access via Settings button or menu. Configure:

Appearance

  • Theme: 12+ color schemes (Solarized Light/Dark, Monokai, Dracula, etc.)
  • Font: Family and size
  • Line Numbers: Show/hide
  • Current Line Highlight: Enable/disable
  • Background Pattern: Subtle grid for code alignment

Behavior

  • Tab Width: 2, 4, or 8 spaces
  • Auto-Indent: Automatically indent new lines
  • Smart Home/End: Home key jumps to first non-whitespace
  • Bracket Matching: Highlight matching (), {}, []
  • Auto-Completion: Enable/disable GLSL autocomplete

Compilation

  • Auto-Compile: Compile shader as you type (slight delay)
  • Shader Speed: Time multiplier (1.0 = normal, 2.0 = 2x speed)

Session

  • Remember Open Tabs: Restore tabs on restart (saves to ~/.config/gleditor/tabs_session.ini)

All settings auto-save to ~/.config/gleditor/settings.conf.


🐛 Debugging

Shader Won't Compile?

  1. Check the Error Panel (click the error icon in status bar)

    • Line numbers provided
    • Actual OpenGL error messages (not encrypted)
  2. Common Issues:

    • Missing semicolons (classic)
    • Undeclared variables
    • Type mismatches (float vs int)
    • GLSL version issues (ES 2.0 vs 3.0 syntax)
  3. Enable Verbose Output:

Related Skills

View on GitHub
GitHub Stars5
CategoryDevelopment
Updated23d ago
Forks0

Languages

C

Security Score

75/100

Audited on Mar 5, 2026

No findings