summaryrefslogtreecommitdiff
path: root/src/config/ConfigManager.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Renderer: rewrite render scheduling (#8683)Vaxry2024-12-221-1/+2
| | | This rewrites renderer scheduling. Occlusion is now unified in a new Pass type.
* windowrules: add negative: prefix for negating a regexVaxry2024-12-211-13/+13
| | | | fixes #8799
* windowrules: precompute regexes for window/layer rulesVaxry2024-12-211-11/+23
|
* internal: remove dead code (#8748)Ikalco2024-12-171-20/+0
|
* core: Move regex from stdlib to re2 (#8736)Vaxry2024-12-161-38/+16
| | | Moves the regex handling from stdlib to re2
* core: Optimize window/layer rule application and scanning (#8735)Vaxry2024-12-161-151/+124
| | | Optimizes window and layer rule parsing and later usage.
* core: drop using deques in favor of vectorsVaxry2024-12-161-33/+33
| | | | No point in most of these.
* input: add warp_back_after_non_mouse_inputVaxry2024-12-151-0/+1
| | | | | | adds cursor:warp_back_after_non_mouse_input fixes #8675
* dispatchers: Add an option to prioritize focus change within groups with ↵normaltaro2024-12-131-0/+1
| | | | | | | | | | | movefocus (#8601) * modified movefocus dispatcher to prioritize focus change within groups * pass clang-format check * `movefocus` cycling groups set optional to config bool `movefocus_cycles_groupfirst` * Update ConfigDescriptions.hpp
* windowrules: add rules for mouse and touchpad scroll factors (#8655)Mike Will2024-12-111-3/+4
|
* core: Add clang-tidy (#8664)Vaxry2024-12-071-11/+13
| | | | | This adds a .clang-tidy file for us. It's not a strict requirement to be compliant, but I tuned it to be alright.
* core: Add support for hyprqtutils' update screen (#8651)Vaxry2024-12-061-0/+3
| | | | | | | | | * Nix: add hyprland-qtutils to PATH * flake.lock: update --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* core: move colorspace handling to oklab (#8635)Vaxry2024-12-031-10/+13
| | | | | | | | | | | * Meson: add hyprgraphics * Nix: add hyprgraphics * CI/setup_base: get hyprgraphics-git --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* master: make center ignore reserved areas (#8625)UjinT342024-12-021-0/+1
|
* config: don't overwrite errors in gradientsVaxry2024-11-241-1/+2
|
* config: throw an error explicitly when parsing colors in gradientsVaxry2024-11-241-1/+4
| | | | ref #8552
* binds: add option to allow fullscreening a pinned window (#8526)littleblack1112024-11-231-0/+1
|
* renderer: add option to blur IME popups (#8521)Ryan2024-11-231-0/+2
|
* core: workspace-related function cleanup / refactorVaxry2024-11-221-2/+2
| | | | CCompositor is massive, and has a lot of functions that could be better optimized if in CWorkspace
* internal: fix some misused configStringToInt conversionsVaxry2024-11-201-2/+2
| | | | fixes #8523
* miscfunctions: move configStringToInt to std::expectedVaxry2024-11-181-19/+35
|
* renderer: add lockdead_screen_delay (#8467)Alexandre Acebedo2024-11-171-0/+1
|
* bind: new long press option (#8302)littleblack1112024-11-151-5/+8
| | | | | --------- Co-authored-by: Vaxry <vaxry@vaxry.net>
* pointer: add drm dumb buffers for cursors (#8399)Vaxry2024-11-141-1/+1
| | | | | --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* logging: Add some context to config error logs (#8326)SoSeDiK2024-11-121-8/+8
|
* config: Changed the default value of decoration:blur:ignore_opacity to true ↵nnra2024-11-111-1/+1
| | | | | | (#8418) This change is made in order to deliver the blur look majority of people expect by default.
* pointer: map devices across all outputs by default (#8352)JManch2024-11-111-0/+2
|
* groups: add merge_groups_on_groupbar (#8362)Aqa-Ib2024-11-061-0/+1
|
* shadow: add sharp and refactor optionsVaxry2024-11-051-8/+9
| | | | options moved to decoration:shadow:
* renderer: add expand_undersized_texturesVaxry2024-11-041-0/+1
| | | | adds an option to disable the texture expansion for textures that are smaller while resizing up
* monitors: fix vrr breaking monitor disconnect (#8314)Ikalco2024-11-011-3/+5
|
* snap: add option `border_overlap` and other improvements (#8289)Mike Will2024-10-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * snap: add option `border_overlap` and other improvements I really liked the way borders used to overlap when snapping and how only the window's main surface would snap to the monitor, so I would like to bring that behavior back, but in the form of a config option. Other improvements include: - reduced the number of snap functions from 4 down to 2, and only one ever gets called at any given time. - border size should not be added to gap size. It seemed like the right thing to do at the time, but it makes snapping feel way stronger than it actually should. - all const variables have been given the all-caps naming convention. - to avoid excessive casting, border size is declared as a double. - to avoid excessive x + w, y + h calculations. I'm using a struct called Range and working only with start and end values until the very end of the function. - check for both monitor snapping as well as reserved monitor space snapping in a relatively efficient way. * snap: always border-align for corners and reserved monitor space We probably don't want to treat reserved monitor space as if it were just a smaller monitor. Instead, it should be treated more like a borderless window, which means our window's border should never encroach upon it.
* pointer: add default auto for no_hw_cursorsVaxry2024-10-261-1/+13
| | | | auto defaults to off on nvidia, on for everyone else. Gotta wait until we do fucking drm_dumb and it fucking works
* internal: cleanup CMonitor usage and fix a few ref hogsVaxry2024-10-261-1/+1
| | | | ref #8221
* groups: add group_on_movetoworkspace (#8159)Aqa-Ib2024-10-231-0/+1
|
* input: add snapping to floating windows (#8088)Mike Will2024-10-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add snapping to floating windows Works for both moving and resizing of windows. It comes with 3 options: `general:snap:enabled` - whether it's enabled, off by default `general:snap:window_gap` - minimum gap in pixels between windows before snapping. Setting to 0 effectively turns off this method of snapping. `general:snap:monitor_gap` - minimum gap in pixels between window and monitor edges before snapping. Again, setting it to 0 effectively turns it off. * snap: add more ignore criteria and change if clause into a guard * snap: refactor code * snap: new refactoring approach and account for border size * snap: do corner snapping after all edge snapping is done The approach of performing corner snaps after each individual edge snap results in far fewer scenarios where snapping can occur. After trying it out for a while, I found that I prefer an approach that's more prone to snapping. * snap: combine snapWindows and snapMonitor into a single function * snap: add forced aspect ratio functionality * snap: avoid directly referring to border_size config value * snap: address vaxerski feedback - add new line between functions - use std::function typedef for SnapFn and make snap functions static - avoid uninitialized variable declarations. - change ignore condition m_bIsX11 to isX11OverrideRedirect() - use braces for CBox and Vector2D declarations. - add SNAP_INVALID to eSnapEdge enum - use bitshift notation for eSnapEdge and eRectCorner - make performSnap a non-member function. * snap: add corner-snapping to forced aspect ratio mode
* internal: Move CMonitor to SP (#8178)Vaxry2024-10-191-8/+8
| | | | | * move monitors to sp * XD
* config: fix generateConfig loop (#8164)Maximilian Seidler2024-10-191-8/+7
| | | | | * config: fix generateConfig loop * config: cleanup getMainConfigPath
* config/layout: nuke no_gaps_when_only (#8072)Vaxry2024-10-111-2/+0
|
* layout: add merge_floated_into_tiled_on_groupbar (#8042)Aqa-Ib2024-10-091-0/+1
|
* layout: add drag_into_group to control merging dragging windows (#8004)Aqa-Ib2024-10-081-0/+1
|
* config: give simple help for super+q not workingVaxry2024-10-081-2/+4
| | | | only on default config :P
* layout: add auto_group to control default grouping (#7883)Aqa-Ib2024-10-021-0/+1
|
* dwindle: add config option `split_bias` (#7920)Mike Will2024-09-281-0/+1
| | | | | | | | If `default_split_ratio` is greater than 1.0, `split_bias` will give the bigger half to a specific window: 0 - positional (default) 1 - current window 2 - opening window
* wlr-output-configuration: Improve output configuration (#7571)Vaxry2024-09-261-12/+54
|
* core: add HYPRLAND_CONFIG environment variable (#7851)Artur Manuel2024-09-231-0/+4
|
* userchecks: add an xdg_current_desktop checkvaxerski2024-09-181-0/+1
| | | | | | ref https://github.com/hyprwm/xdg-desktop-portal-hyprland/issues/251 if the XDG_CURRENT_DESKTOP is externally managed (e.g. DE, DM, etc) Hyprland will not overwrite it. In those cases, if that's undesired, portals and other apps depending on it might break.
* config: add order rule for layers (#7697)darkwater2024-09-091-1/+1
|
* config: add exec-shutdown for running commands on shutdown (#7683)trianta2024-09-071-0/+42
| | | | | * config: add exec-shutdown for running commands on shutdown * compositor: delay stopping until after exec-shutdown
* config: Add a variable to prevent groups from merging after being dragged ↵Parola Marco2024-09-051-0/+1
| | | | | | | (#7650) * config: Add a variable to prevent groups from merging after being dragged * Fixed code style for [f777f028]