* fix: change min cursor padding to 0
* chore: set default hotspot padding to 0
* fix: adjusting clamp after getting closest point to fix getting off limit point
* fix: deal with floating point to clamp to prev value
* refactor: max coords to vector
* fix: remove box closestPoint adjustment due its fix on hyprutils
* window: use const references instead of copies
use const references instead of wasteful copies and make the = operator
check for self assignment and return early. also use const in all the
other operators.
* listener: pass std::function as const reference
instead of copies pass the std::functions as const references.
* config: dont unnecessarily convert to c_str
getHyprlangConfigValuePtr wants an std::string and we already have an
std::string, dont convert it to a c_str only for it to be converted back
to an std::string.
* buffer: pass attributes as const reference
pass attributes as const reference instead of copies.
* input: add cursor:warp_on_changeworkspace
If enabled, warp the cursor to the last focused window on the workspace in the `changeworkspace' dispatcher, except if the cursor is currently on the WLR top layer.
Respect persistent warps.
* warp_on_change_workspace: check if focused layer is a window.
* ## Open window relative to active window
`new_on_active`:
- `none` (default):
- `before`: above of the focused window
- `after`: below the focused window
If the focused window is the solo master window, or the new window replaces master, this option has no effect and new_on_top are respected.
## Refine new window status control
**BREAKING CHANGE**: new_is_master removed in favour of new variable
`new_status`:
- `slave` (default): new window open as slave
- `master`: new window open as master
- `inherit`: new window inherit status from active window, i.e. when the focused window is master, new window will become new master, otherwise new window are added to slaves
* refactor: rename a few variables
* core: move to hyprutils for utils
Nix: add hyprutils dep
* Meson: add hyprutils dep
* flake.lock: update
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
When gestures:workspace_swipe_min_fingers is enabled,
gestures:workspace_swipe_fingers is considered to be the minimum
number of fingers required to swipe.
This behavior is more similar to sway and macOS's default behavior.
For example, this allows you to set workspace_swipe_fingers to 3,
but swipe with 4 or more fingers instead of 3.
Allows the cursor to return to its last relative position within a window when the window is refocused.
Allows the cursor to retain its relative position within a window when the window is swapped, moved, changed workspace, added to or removed from groups.
controlled with cursor:persistent_warps
* Stacked group tabs
* Fix index when creating groupbar title textures
* Changes for stacked dnd
* formatting
* Don't remove internal horizontal padding when calculating stacked bar
width
* added option to choose the default monitor that the cursor will appear in upon startup
* fix: don't set cursor to default monitor after startup
* refactor to checkDefaultCursorWarp also fix focus
* Reverse Window Positioning.
* Cleanup old comments and logs.
* Finish Splitting Left and Right offset.
* Forgot to add Auto Left to ConfigManager
* Fix problems with auto_left.
* Nearly finish up and down.
* Finish draft of all four dirs. Testing now.
* Change Y value in moveTo for up and down.
* Format, comment, and cleanup.
* Address Vaxry's feedback.
* Add check to see if auto position is first rule.
* Run clang-format.
By default enabled, will track the initial opened workspace of a window spawned for 2 minutes or until it's moved to a different workspace.
For example: you run a launcher and open an app on workspace 1, but quickly switch to workspace 2. The app will now open on workspace 1 regardless of your switch.
* polish default config file
polish default config, making it prettier by separating it in sections, and adding links to the wiki for each section.
No configuration was altered, I only made it prettier and more beginner friendly.
I propose this should also be used as the autogenerated config file at installation.
* update default config according to suggestions
* Update defaultConfig.hpp to match example
* remove some whitespace
* match default config
* restored string terminator
* Add check for on/off and true/false.
* Cleanup feature and comment it out.
* Use already created helper function for this.
* Fix comparing int to char* ptr
* workspace: update windows when group updates
* workspace: update windows when floating toggle
* workspace: update windows when stop dragging window by mouse