| Age | Commit message (Collapse) | Author |
|
|
|
|
|
focus_next_mon now focuses the next monitor regardless or if there is no
window on that monitor or not.
|
|
|
|
|
|
|
|
|
|
|
|
fix closing client wont also warp cursor
|
|
|
|
|
|
|
|
|
|
now windows specifed can by default start fullscreened.
|
|
|
|
this feature was improperly implemented and causing problems. removing
it for now
|
|
|
|
made reserve_(direction) monitor specific
|
|
this hopefully should allow programs like WINE and who spawn windows by
them selves function properly
|
|
|
|
moving fullscreen windows to new workspace disables fullscreen on them.
just removed redundant, old code
|
|
Refactor keybinding configuration and parsing logic
|
|
|
|
- Added MAX_BINDS macro to replace magic number (256) in alloc_bind
- Fixed potential null dereference in strip() on empty strings
- Corrected redundant KeySym assignment in parse_combo()
- Improved clarity and maintainability of call_table and helper functions
- Ensured safe string handling with proper bounds and terminators
- Added fallback logic for unknown key symbols using parse_keysym()
- Proper bounds checks on buffers and allocations
|
|
Improve safety in toggle_scratchpad() and remove_scratchpad()
|
|
Ensure all dynamically allocated memory (e.g., should_float, can_swallow, open_in_workspace)
is freed on error or cleanup
|
|
- Added bounds check using MAX_SCRATCHPADS to prevent out-of-range access.
- Stored scratchpad client in a local variable for clarity.
- Guarded against null `focused` pointer before using it.
- Enhances stability and prevents potential crashes.
|
|
Add window validity checks to swallow and unswallow functions
|
|
stop waiting for spawned procs
|
|
- Verify `swallowed->win` before resizing to avoid potential crashes with invalid windows.
- Updated `unswallow_window` to verify `swallower->win` before mapping, raising, and focusing.
- Prevents undefined behavior when client windows are not properly initialized.
|
|
Fix(spawn): support multiple piped commands
|
|
scratchpad now is out of focus when is toggled off so no problems where
you accidentaly close it
|
|
the user can now center any floating window with default bind
centre_window
|
|
- Rewrote spawn to handle arbitrary pipelines (e.g., cmd1 | cmd2 | cmd3).
- Dynamically parses and segments commands around pipe tokens.
- Manages multiple pipes and forks with proper resource cleanup.
|
|
user can now open specific windows in specific workspaces
|
|
there are now i3 like scratchpads. all default binds added, mans updated
|
|
now other misc keys will work eg vol up etc
|
|
new windows spawned can now be set as master window
|
|
|
|
the user can now specify which windows can swallow / can be swallowed.
|
|
- Moved memset after cleanup loop to preserve bind count before freeing
- Minor cleanup
|
|
|
|
- Fixed bug in DRAG_SWAP where `last_swap_target` reset each motion event
- Added `snap_coordinate()` helper to reduce code duplication in move logic
- Enforced minimum window size via `MIN_WINDOW_SIZE` define
- Clamped window resize to screen bounds
- Removed magic numbers for better configurability and clarity
|
|
BSD users dont have wordexp so i made a custom splitter for those
systems
|
|
- Reorganized code into clearer logical blocks
- Added bounds checks for MAXCLIENTS to avoid overflow
- Skipped redundant XConfigureWindow calls for unchanged geometry
- Ensured proper handling of stack heights under overfill and underfill
- Improved variable naming and structure for maintainability
|
|
no longer doing lowercase for all the rokens. this was old logic and now
omitted. this also allows support for using characters such as BackSpace
which requires capitalisation
|
|
before when a tray app, eg steam was closed, it would still be
focusable. now it only focuses if the window is mapped
|
|
|
|
when you click a link it used to summon the window to your workspace but
now it leaves everything be so you have to go there manually
|
|
|