Skip to content

hyprexpo: skip_empty=true still renders empty tiles (render-only change suggestion) #578

@chrisdamato

Description

@chrisdamato

Hi,

While testing hyprexpo with split-monitor-workspaces, I noticed that skip_empty=true skips empty workspaces but still renders empty tiles when the grid is larger than the workspace count.

Setup

plugin {
  hyprexpo {
    columns = 3
    workspace_method = center current
    skip_empty = true
  }
}

plugin {
  split-monitor-workspaces {
    count = 6
    enable_persistent_workspaces = 1
  }
}

Single monitor, 6 split workspaces.

Behavior

  • Grid size is fixed at columns × columns (3×3)
  • Only 6 workspaces are assigned
  • Remaining tiles render as empty background
  • This is consistent with current logic, but visually suggests non-existent workspaces

Suggested minimal change

This looks like a pure rendering concern. A minimal fix would be to skip drawing tiles where no workspace is assigned:

if (!images[i].pWorkspace)
    continue;

Applied in redrawAll() / fullRender().

Optionally, the same guard could be added in selectHoveredWorkspace() to ignore clicks on empty tiles.

This would:

  • Keep the fixed grid model
  • Not change workspace enumeration or config semantics
  • Make skip_empty=true visually match expectations
  • Remove empty rows in split-workspace setups

No request for dynamic grids or new options — just skipping tiles that already represent “no workspace”.

Let me know if this approach makes sense; happy to test or adjust. Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions