processing/processing4

P2D and P3D renderers don't set `WM_CLASS` for Linux

Open

#777 opened on Aug 29, 2023

View on GitHub
 (8 comments) (0 reactions) (0 assignees)Java (176 forks)auto 404
help wantedlinux

Repository metrics

Stars
 (439 stars)
PR merge metrics
 (PR metrics pending)

Description

Created by: @ColdMacaroni

Description

When running a sketch that uses the P2D or P3D renderer. The WM_CLASS window variable is not set. This makes it difficult (impossible?) to set window rules for the resulting window. (For example, making it so a tiling window manager makes the window float by default, instead of resizing it.)

Expected Behavior

WM_CLASS should be set to "Processing", "processing-sketch" or similar. For reference, the main processing app has a WM_CLASS of "Processing", "Processing" and a sketch with the default renderer has a WM_CLASS of "processing-core-PApplet", "processing-core-PApplet".

Current Behavior

The WM_CLASS variable is not set. (I don't mean empty, it just doesn't exist)

Steps to Reproduce

  1. Run a sketch that uses P2D or P3D as a renderer. Example code:
size(128, 128, P2D);
  1. Inspect the window class with xprop (or another similar tool). To use xprop, simply run it on a terminal and click on the window. You can also pipe it into grep to filter out the other variables: xprop | grep WM_CLASS

Your Environment

  • Processing version: 4.3 (1293)
  • Operating System and OS version: Arch Linux (kernel 6.4.12-arch1-1)
  • Other information:
    • Xorg server version: 21.1.8
    • Tested with the following window managers:
      • AwesomeWM
      • XMonad
      • Hyprland (through XWayland)

Contributor guide