Skip to content

Conversation

appositeit
Copy link

WSMatrix Enhancement: Workspace Names & Improved Visibility

Summary

This pull request adds three enhancements to the WSMatrix extension:

  1. Workspace Names Settings UI - Allows users to set custom names for workspaces directly in preferences
  2. Improved Text Visibility - Enhanced workspace name visibility with black outlines against any background
  3. Enhanced Border Visibility - Dual-layer border styling for better workspace selection visibility

Features Added

1. Workspace Names Settings

  • Files Modified: prefs.js, gschema.xml
  • New Feature: Added "Workspace Names" section in preferences
  • Functionality:
    • Dynamic grid of text inputs matching workspace layout
    • Real-time saving as user types
    • Automatic grid updates when workspace count changes
    • Integration with existing workspace switcher popup

2. Improved Text Visibility

  • Files Modified: stylesheet.css
  • Enhancement: Added black text outline for workspace names
  • Benefit: Names are now clearly visible against any background color or wallpaper
  • Implementation: CSS text-shadow with comprehensive directional coverage

3. Enhanced Border Visibility

  • Files Modified: stylesheet.css
  • Enhancement: Dual-layer border system for selected workspaces
  • Design:
    • Inner grey border (#808080)
    • Outer off-white border (#f5f5f5)
    • Enhanced hover and focus states
  • Benefit: Selection borders visible against both light and dark backgrounds

Technical Details

Code Quality

  • Added ESLint configuration for consistent code style
  • Added jscpd for code duplication detection
  • Refactored workspace names grid logic to reduce duplication
  • Added comprehensive test scripts for each feature

Testing

  • test_workspace_names.sh - Test workspace naming functionality
  • test_text_visibility.sh - Test text visibility improvements
  • test_border_visibility.sh - Test border visibility enhancements
  • All tests support both Wayland and X11 sessions

Compatibility

  • Maintains backward compatibility with existing settings
  • Works with all existing WSMatrix features
  • No breaking changes to existing functionality
  • Tested on GNOME Shell 45+

Installation & Testing

# Build and install
make clean && make
cp -r [email protected] ~/.local/share/gnome-shell/extensions/

# Enable extension
gnome-extensions enable [email protected]

# Test features (run any of these)
./test_workspace_names.sh
./test_text_visibility.sh  
./test_border_visibility.sh

For Wayland testing:

dbus-run-session -- gnome-shell --nested --wayland

Screenshots/Visual Evidence

The enhancements provide:

  • Clear workspace name visibility against any background
  • Obvious workspace selection borders in all lighting conditions
  • User-friendly preferences interface for workspace naming

Breaking Changes

None. All changes are additive and maintain full backward compatibility.


Ready for Review: All tests pass, code quality checks complete, and functionality verified across different backgrounds and themes.

Copy link
Owner

@mzur mzur left a comment

Choose a reason for hiding this comment

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

Hi, thanks for the contribution! The AI generated content went a bit over the top IMO. Please remove all new files (except maybe the CSS) and keep only the changes to existing files.

@appositeit appositeit force-pushed the feature/workspace-names-settings branch from c89fe51 to 211c55c Compare June 18, 2025 00:59
- Add show-workspace-names setting to preferences
- Display workspace names in switcher popup when enabled
- Improve text visibility with styling in stylesheet.css
@appositeit appositeit force-pushed the feature/workspace-names-settings branch from 211c55c to a7d0e60 Compare June 18, 2025 08:53
@appositeit
Copy link
Author

Sorry about that- I sent this off late at night and should have been more careful. Also, I'm not great with github! I appreciate your patience. Please do poke me if I've still got it wrong.

And I am so grateful for the extension. It is the first thing I do on any gnome desktop install. I really appreciate your work.

@mzur
Copy link
Owner

mzur commented Jun 18, 2025

No worries! It could take a while until I can give this a more detailed look, though. There are several other issues/PRs I have to take care of first.

@appositeit
Copy link
Author

No problem, I totally understand. Life is busy!

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