| Age | Commit message (Collapse) | Author |
|
the user can now center any floating window with default bind
centre_window
|
|
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.
|
|
Fix(config): correct config reload order and prevent memory leaks
|
|
wasnt updated, so just added all things new
|
|
- Moved memset after cleanup loop to preserve bind count before freeing
- Minor cleanup
|
|
|
|
Improve drag handling: fix swap flicker, add snapping helper, clamp r…
|
|
|
|
- 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
|
|
Refactor tile() for readability, modularity, and bounds safety
|
|
|
|
oops didn't spot that
|
|
- 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
|
|
Fix default keybinding since by default its mod + shift + f and not mod + f
|
|
|
|
|
|
|
|
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
|
|
|
|
This allows programs like polybar to detect which programs are open on
which workspaces and allows for a wider EWMH compliance
|
|
-b and --backup allow the user to now start sxwm with the default backup
keybinds
|
|
before when changing workspaces it would keep the focus on the previous
workspace if the changed workspace had no windows. fixed
|
|
Fix memory leaks, buffer overflows, and add resource cleanup in parser()
|
|
- Fixed potential memory leaks in `should_float` allocation and exec command duplication.
- Prevented buffer overflows by using `snprintf` and properly bounded copies.
- Ensured all allocated memory is freed on parser failure for robust cleanup.
|
|
This is to fix a bug that sometimes happens with firefoxs use of
subwindows which causes it to not go in focus
|
|
This function correctly handles windows like firefox by finding the root
window so that clicking on it will focus the window
|
|
There was still an XGrabButton(dpy, Button1, 0, root, ...) in the reload
config which disables the user from clicking anything inside the windows
so I removed that
|
|
i grabbed Button1 in setup, disabling it to be used by anthing other
than the wm which means focus worked but not anything inside the window.
fixed by grabbing them for the client instead
|
|
|
|
Add multi-monitor focus switching and window moving
|
|
sxwm.c:
before, some of the parsing logic of the exec command was located in
setup, but i have relocated it to a seperate function called
startup_exec. i have also replaced the manual spawning of windows with
the spawn function
parser.c:
added the missing parsing logic of exec and simplified it
|
|
previously, you had to use the keyboard to set focus on a client, but
now you can simply click on a window to set its focus
|
|
|
|
After a discussion and all code contributors voting in for the use of GPLv3, we are now switching!
|
|
|
|
|
|
|
|
|
|
add exec config file keyword
|
|
|
|
|
|
|