Skip to content

Togler v1.5.0

Choose a tag to compare

@caesar003 caesar003 released this 12 Aug 12:34
b66b174

Release Notes - Togler v1.5.0

🌊 Major Feature: Full Wayland Support

Togler now works seamlessly on both X11 and Wayland sessions! This release introduces automatic Wayland compatibility through a lightweight GNOME Shell extension.

✨ What's New

🎯 Automatic Wayland Detection & Setup

  • Zero-config Wayland support: First-time Wayland users get automatic extension installation
  • Session detection: Automatically detects X11 vs Wayland and uses appropriate backend
  • GNOME Shell extension: Lightweight extension provides native Wayland window management
  • Auto-installation: Extension installs to ~/.local/share/gnome-shell/extensions/togler@local/ on first use
  • Auto-enable: Extension is automatically enabled without user intervention

🛠️ New Command Options

  • --setup-wayland: Manually trigger Wayland extension installation
  • Enhanced help with platform-specific information
  • Better error messages with context-aware suggestions

📦 Improved Distribution

  • Extension files bundled in package at /usr/share/togler/extension/
  • Development helpers: make install-extension-dev and make uninstall-extension-dev
  • Removed unused postinst script (runtime installation is superior)

🔧 Technical Improvements

Cross-Platform Architecture

togler → Session Detection → X11 (xdotool) | Wayland (GNOME Extension) → Window Management

Smart Extension Management

  • Runtime installation: Only installs when needed, in correct user directory
  • Version synchronization: Extension version matches togler version
  • Graceful fallbacks: Clear error messages if setup fails
  • Multi-user support: Each user gets their own extension instance

Enhanced Error Handling

  • Context-aware error messages for X11 vs Wayland
  • Automatic troubleshooting suggestions
  • Graceful degradation when dependencies missing

📚 Documentation Updates

Manual Page (man togler)

  • Updated description reflects cross-platform support
  • Added Wayland support section
  • New --setup-wayland option documented
  • Removed "Wayland not supported" limitation

README.md

  • Platform compatibility table
  • Automatic setup explanation
  • Troubleshooting guide for both X11 and Wayland
  • Migration notes for existing users
  • Updated architecture diagrams

🎯 User Experience

For New Users

  • Works out-of-the-box on any GNOME session (X11 or Wayland)
  • No manual configuration required
  • Consistent behavior across session types

For Existing Users

  • 100% backward compatible - existing X11 shortcuts continue working
  • No migration needed
  • Automatic Wayland support when switching sessions

For Developers

  • Development environment auto-detection
  • Easy extension testing with make targets
  • Clean separation of X11 and Wayland code paths

🐛 Bug Fixes

  • Improved session type detection reliability
  • Fixed edge cases in multi-window cycling
  • Better handling of missing dependencies
  • Enhanced state file management

⚡ Performance

  • Minimal overhead for session detection
  • Lazy extension installation (only when needed)
  • Efficient D-Bus communication for Wayland
  • No performance impact on X11 sessions

🚀 Upgrade Instructions

For Package Users

sudo dpkg -i togler_1.6.0_all.deb

For Manual Installation

# Update togler binary and libraries
cp togler ~/.local/bin/
cp lib/* ~/.local/lib/togler/  # if using manual lib setup

First Wayland Use

  • Run any togler -t <app> command on Wayland
  • Extension auto-installs and enables
  • May need GNOME Shell restart: Alt+F2 → r → Enter

🎉 What This Means

Togler is now the first window toggler that works identically on both X11 and Wayland GNOME sessions. Whether you're using:

  • Ubuntu 22.04+ (Wayland default)
  • Fedora (Wayland default)
  • Traditional X11 setups
  • Mixed environments

...Togler provides the same fast, reliable window toggling experience everywhere.

No more choosing tools based on session type. One tool, all environments.


🙏 Thanks

Special thanks to the GNOME Shell extension development community for documentation and examples that made seamless Wayland integration possible.


🔗 Links

What's Changed

  • fix: added handler for nonexisting applications by @caesar003 in #7
  • feat!: add comprehensive Wayland support with auto-setup by @caesar003 in #8

Full Changelog: 1.4.3...1.5.0