Commit graph

408 commits

Author SHA1 Message Date
Amit Serper
461bb232aa
Merge c7aabf561f into 473804b359 2026-04-28 22:43:49 +05:30
473804b359
hyprpm: add pins for 0.54.x
fixes #646
2026-04-28 17:00:29 +01:00
LionHeartP
6c0d26b267
hyprbars: add missing includes needed for GCC16 (#645) 2026-04-27 13:23:33 +01:00
dbe221941a
bars/vkfix/focus: chase hyprland
Chase hyprland changes, fix for lua. Too lazy to do expo and b++ rn.
2026-04-26 17:15:05 +01:00
cobalt2763
6acc0738f2
bars: Update README.md with new windowrule block syntax (#642) 2026-04-20 17:33:53 +01:00
6059aca0cc
CI: use org-wide actions 2026-04-17 14:50:32 +03:00
Agzam4
3e38db916a
winwrap: overlay render after special workspace (#638)
Bug: window rendered on top after closing special workspace
Fixed render order by switching to RENDER_POST_WALLPAPER
2026-04-12 16:28:18 +01:00
aserper
c7aabf561f
hyprexpo: fix choppy zoom animation for centered tiles in dynamic grid
Extract tile position computation into tilePosForID() helper to provide
a single source of truth for centering logic. The close, open, swipe,
and damage-reporting animations were using a simple grid formula that
ignored partial-row centering and vertical grid centering offsets,
causing the zoom to target the wrong position for tiles in incomplete
rows (e.g. the 3rd workspace in a 2x2 grid).
2026-03-01 22:46:34 -05:00
aserper
dbadfd57ca
hyprexpo: use uniform gaps with aspect-correct tile sizing
Instead of fitting tiles inside oversized grid cells (which created
uneven padding that looked like double-gaps), compute the aspect-correct
tile size upfront and lay out tiles with uniform gaps. The entire grid
is centered on screen. No visual change for square grids (cols == rows).
2026-03-01 22:20:04 -05:00
aserper
5be96e20d4
hyprexpo: add highlights, keyboard nav, drag-move, and config options
New features for the overview:
- Active workspace and hover highlight borders (configurable color/width)
- Keyboard navigation with arrow keys, Enter, Escape, and 1-9 quick jump
- Drag-to-move windows between workspaces (opt-in)
- Configurable label position, size, and color
- Workspace name labels (opt-in)
- Fill gaps between active workspaces in dynamic grid (opt-in)
- MRU sorting to put current workspace first (opt-in)
- Staggered fade-in animation on entry (opt-in)
2026-03-01 22:20:04 -05:00
aserper
68a83a42f2
hyprexpo: preserve aspect ratio for dynamic grid tiles
When cols ≠ rows, grid cells have a different aspect ratio than the
monitor, causing workspace textures to stretch. Fit each tile within
its cell while preserving the monitor aspect ratio, centering with
letterbox/pillarbox padding. No-op when cols == rows (square grid).
2026-03-01 22:17:14 -05:00
aserper
e856bc9a0c
hyprexpo: add workspace number indicators on tiles
- Added labelTex texture field to SWorkspaceImage for rendering workspace numbers
- Added renderLabel() method to generate circular labels with workspace IDs
- Integrated Cairo/Pango text rendering for high-quality label generation
- Labels display at top-right corner of each tile with dark background and white text
- Improves visual identification of workspaces in overview mode

This makes it easy to identify which workspace each tile represents at a glance.
2026-03-01 22:17:14 -05:00
aserper
1a77328439
hyprexpo: center tiles in partial rows for dynamic grid
- Add horizontal centering for tiles in incomplete last row
- Add vertical centering when tiles don't fill all grid rows
- Ensure minimum 2x2 grid for better aspect ratio with 2+ workspaces
- Fix mouse hit detection to use actual tile boxes
2026-03-01 22:17:14 -05:00
aserper
a4ae1df83a
hyprexpo: add dynamic_grid option for adaptive grid sizing
When dynamic_grid=1, the overview grid automatically sizes itself based
on the number of active (non-empty) workspaces instead of always showing
a fixed columns×columns grid.

For example:
- 2 active workspaces → 2×1 grid (fills screen width)
- 3 active workspaces → 2×2 grid (3 tiles)
- 4 active workspaces → 2×2 grid (4 tiles)
- 5-6 active workspaces → 3×2 grid

This provides a cleaner overview when working with fewer workspaces,
as tiles fill the available screen space rather than showing many
empty slots.

The feature works in combination with skip_empty=1 to only show
workspaces that contain windows.

Configuration:
  plugin {
    hyprexpo {
      dynamic_grid = 1
      skip_empty = 1
    }
  }
2026-03-01 22:17:14 -05:00
b85a56b953
all: chase hyprland 2026-02-23 16:57:28 +00:00
chocoblocko9
e03c34ccd5
README/Nix: system -> stdenv.hostPlatform.system (#613)
top-level "system" is deprecated
2026-02-12 14:32:11 +02:00
06c0749a0d
hyprpm: add pin for 0.53.3 2026-01-24 20:04:57 +00:00
4b6887679e
hyprpm: add pin for 0.53.2 2026-01-23 13:19:05 +00:00
Jason Chiu
fef398ed5e
all: update Makefiles to allow CXX, CXXFLAGS, LDFLAGS env vars (#584) 2026-01-06 19:11:41 +01:00
ItsOhen
0b356053fa
scrolling: don't leave configuredWidths empty. (#585) 2026-01-05 20:10:50 +01:00
johnclark456
a084d66d7d
hyprscrolling: Allow follow_focus to honour fit_method (#571)
This requries a debounce to prevent subsequent events triggering very
quickly, resulting in scrolling right to the beginning or end of the
row.
2026-01-03 21:54:28 +01:00
KAGEYAM4
eeb8d6c534
hyprscrolling: remove notification on successfull load (#582)
Generating notification on failure only.
2026-01-03 21:12:05 +01:00
7f94d2c09f
hyprpm: add pin for 0.53.1 2026-01-02 22:26:53 +01:00
7a85211123
hyprpm: add a 0.53.0 pin 2026-01-01 22:54:24 +01:00
Mathis H.
c2fe049150
expo: Chase new gesture param disableInhibit (#581)
* chore: update flake.lock

* fix: handle disableInhibit param for gesture

* style: apply clang-format
2026-01-01 15:58:26 +01:00
64b7c2dff7
scrolling: fix outer gaps 2025-12-30 13:58:24 +01:00
d7b67e8f4b
trails: chase hyprland 2025-12-29 16:03:28 +01:00
3e29d68d5a
expo: fix a few crash points
fixes #494
2025-12-20 19:13:54 +00:00
9b2b156197
all: chase hyprland 2025-12-19 16:24:43 +00:00
e058ea23b8
all: chase hyprland 2025-12-08 15:22:46 +00:00
fc76c5674a
scrolling: chase hyprland 2025-12-06 11:23:55 +00:00
4ccb444d94
bars: fix readme 2025-12-04 22:53:55 +00:00
391818ec83
hyprpm: add pin for 0.52.2 2025-12-03 23:02:35 +00:00
8f796f7cec
hyprbars: update readme 2025-12-02 00:49:49 +00:00
mwahstache
be3fac629c
hyprscrolling: fix layoutmsg move -col (#558) 2025-12-01 16:47:05 +00:00
nnra
84659a2502
all: chase hyprland for 40d8fa8 (#549)
* hyprexpo: Fixes for 40d8fa8

* csgo-vulkan-fix: Fixes for 40d8fa8

* hyprbars: Fixes for 40d8fa8

I am not entirely sure whether I was supposed to use fullWindowFocus()
or rawWindowFocus() in hyprbars/barDeco.cpp at line 220

* xtra-dispatchers: Fixes for 40d8fa8

I am not entirely sure whether I was supposed to use fullWindowFocus()
or rawWindowFocus() in xtra-dispatchers/main.cpp at lines 47 and 106

* hyprscrolling: Fixes for 40d8fa8

A lot of repeated code can be removed if it's safe to store
`Desktop::focusState()`, `Desktop::focusState()->monitor()` and
`Desktop::focusState()->window()` at the top of the
`CScrollingLayout::findBestNeighbor` function.
This change requires further review as I don't know if any of those
change during this function so I didn't wanna introduce any unexpected
issues.
I am not entirely sure whether I was supposed to use fullWindowFocus()
or rawWindowFocus() in xtra-dispatchers/main.cpp at lines 786, 789 and
1344
2025-11-26 22:10:33 +00:00
mwahstache
7ffc0b314e
hyprscrolling: fixed moveWindowTo behavior (#546)
* fixed incorrect index

* fixed broken conditional

* undoing idxForHeight change
2025-11-23 00:07:34 +00:00
Khalid
57961d69ad
hyprbars: fix bar_color and title_color rules (#545) 2025-11-21 13:43:38 +00:00
mwahstache
a70775789c
scrolling: fixed +conf and -conf logic in colresize (#542) 2025-11-20 14:09:52 +00:00
a75241d5e4
hyprpm: add pins for 0.52.0
fixes https://github.com/hyprwm/hyprland-plugins/issues/544
2025-11-20 14:03:04 +00:00
nnra
793d24e6b5
all: Window rules V3 Fixes (#541) 2025-11-19 19:07:46 +00:00
1bc5b0253f
hyprbars: fix windowrules 2025-11-18 16:50:09 +00:00
a2bf2df934
hyprbars: restrict keyword to cat 2025-11-16 00:52:13 +00:00
Eleonora
8c1212e96b
hyprfocus: add only_on_monitor_change option (#538) 2025-11-15 19:13:23 +00:00
Eleonora
befb267080
hyprfocus: fix fullscreen windows not restoring original state (#537) 2025-11-12 23:13:28 +00:00
carlo711
be3cbf60b4
CMakeLists.txt: remove version option (#535) 2025-11-11 20:41:24 +00:00
Mathis H.
bbb8d2cb0e
hyprexpo: Chase Hyprland (#529)
* chore: update flake.lock

* hyprexpo: chase hyprland cursor refactor
2025-11-02 20:31:25 +00:00
carlo711
7a07883c4d
CMakeLists.txt: add global/root CMakeLists (#524) 2025-10-30 13:34:27 +02:00
e689220b17
xtra-dispatchers: chase hyprland 2025-10-28 12:15:10 +00:00
81f6d14265
all: chase hyprland 2025-10-23 20:54:45 +01:00