Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: hyprwm/Hyprland
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.35.0
Choose a base ref
...
head repository: hyprwm/Hyprland
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref

Commits on Feb 5, 2024

  1. 1
    Copy the full SHA
    f9202f7 View commit details
  2. 2
    Copy the full SHA
    1fd82e3 View commit details
  3. Copy the full SHA
    8a6e428 View commit details
  4. Copy the full SHA
    181f651 View commit details
  5. misc: remove unused var

    vaxerski committed Feb 5, 2024
    Copy the full SHA
    ded174d View commit details

Commits on Feb 7, 2024

  1. Copy the full SHA
    f085ed4 View commit details
  2. 2
    Copy the full SHA
    3d9ca63 View commit details
  3. Copy the full SHA
    a6ccd36 View commit details

Commits on Feb 8, 2024

  1. Copy the full SHA
    289d424 View commit details

Commits on Feb 9, 2024

  1. keybinds: Fix focus not moving along when moving workspace (#4660)

    ---------
    
    Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
    Scrumplex authored Feb 9, 2024
    Copy the full SHA
    334a0f0 View commit details

Commits on Feb 10, 2024

  1. input: partially revert #4514

    issues with refocus in #4649
    vaxerski committed Feb 10, 2024
    Copy the full SHA
    658f718 View commit details
  2. Copy the full SHA
    cb258c8 View commit details
  3. input: focus monitor on mouse down

    fixes #4649
    vaxerski committed Feb 10, 2024
    Copy the full SHA
    e4bb5fa View commit details

Commits on Feb 12, 2024

  1. [gha] Nix: update inputs

    fufexan authored and github-actions[bot] committed Feb 12, 2024
    Copy the full SHA
    6e5c78b View commit details
  2. hyprctl: remove hardcoded hyprctl commands. (#4671)

    * fix: remove hardcoded hyprctl commands.
    
    This allows plugin to properly register hyprctl commands.
    
    * fix: restore commands with min args
    levnikmyskin authored Feb 12, 2024
    Copy the full SHA
    cca3c64 View commit details
  3. Copy the full SHA
    927da86 View commit details
  4. Copy the full SHA
    f33d73b View commit details
  5. 1
    Copy the full SHA
    8903075 View commit details

Commits on Feb 13, 2024

  1. Copy the full SHA
    6137838 View commit details
  2. 5
    Copy the full SHA
    b500e56 View commit details
  3. Copy the full SHA
    95abf12 View commit details
  4. internal: add forcenofocus prop (#4672)

    * add forcenofocus
    
    * change nofocus to overridable var
    phonetic112 authored Feb 13, 2024
    Copy the full SHA
    2a3429d View commit details

Commits on Feb 14, 2024

  1. Copy the full SHA
    2a002f3 View commit details
  2. Copy the full SHA
    0608791 View commit details
  3. dwindle: add swapsplit dispatcher (#4702)

    This is distinct from `swapwindow` in that it allows swapping the entire
    tree node with its neighbour.
    
    Fixes: #4701
    haasn authored Feb 14, 2024
    1
    Copy the full SHA
    d5950f7 View commit details
  4. Copy the full SHA
    305b141 View commit details
  5. windowrules: add suppressevent

    deprecates nofullscreenrequest nomaximizerequest
    vaxerski committed Feb 14, 2024
    Copy the full SHA
    7f52db8 View commit details
  6. Copy the full SHA
    60834a4 View commit details
  7. windowrules: nuke no*request

    vaxerski committed Feb 14, 2024
    Copy the full SHA
    8d68d6b View commit details
  8. Copy the full SHA
    9c3f3b0 View commit details

Commits on Feb 15, 2024

  1. Copy the full SHA
    b7ab15d View commit details
  2. Copy the full SHA
    ef49096 View commit details
  3. Copy the full SHA
    3cca36e View commit details
  4. input: don't schedule frame on cursor move on hw cursors

    spams unnecessary frames. Maybe we should ignore empty damage frame requests too?
    
    ref #3747 #3490
    vaxerski committed Feb 15, 2024
    Copy the full SHA
    770956b View commit details
  5. input: fix follow_focus

    vaxerski committed Feb 15, 2024
    Copy the full SHA
    e5ac970 View commit details
  6. Copy the full SHA
    a42b984 View commit details
  7. socket2: monitoraddedv2 IPC event for monitor description and id (#…

    …4646)
    
    * add monitor szShortDescription without DRM node name
    
    * change hyprctl to use szShortDescription
    
    * add monitoraddedv2 event
    
    * add monitor ID as first param of monitoraddedv2
    spikespaz authored Feb 15, 2024
    Copy the full SHA
    a8dae8f View commit details
  8. Copy the full SHA
    fbf5ba8 View commit details

Commits on Feb 17, 2024

  1. monitor: don't damage twice (#4727)

    When scaled, the ring is already fully damaged, no need to add the region
    damage.
    
    Also moved a variable that was being declared way to far for where it is
    actually used.
    
    Co-authored-by: Abilio Costa <abilio.costa@criticaltechworks.com>
    abmantis and Abilio Costa authored Feb 17, 2024
    Copy the full SHA
    e3e7e1f View commit details
  2. Copy the full SHA
    cdcc5ab View commit details
  3. Copy the full SHA
    294e51a View commit details
  4. dispatchers: add Fullscreen without sending fullscreen to application (

    …#4720)
    
    * Add extra option to fullscreen
    
    * Remove useless branch
    
    fixes #1817
    
    ---------
    
    Co-authored-by: matteo bob <matteo4375@gmail.com>
    epicgamer256705 and matteo4375 authored Feb 17, 2024
    Copy the full SHA
    289d952 View commit details
  5. keybinds: Add an option to pass a window argument to moveoutofgroup (#…

    …4724)
    
    * keybinds: allow passing window to moveoutofgroup
    
    * keybinds: cleaner handling of certain args
    morr0ne authored Feb 17, 2024
    Copy the full SHA
    5261a8d View commit details

Commits on Feb 18, 2024

  1. Copy the full SHA
    683a4b0 View commit details
  2. Copy the full SHA
    7e8bcd6 View commit details
  3. Migrate the config to hyprlang (#4656)

    * Migrate to hyprlang
    
    * pop up errors
    
    * fix swapped args
    
    * Meson & Nix: build with hyprlang
    
    * CI: add hyprlang to setup action
    
    * add infra for plugin stuff
    
    * fix hyprctl getoption
    
    * fix hyprctl getoption with json
    
    * format
    
    * fix post parse logic
    
    * fix autogen config
    
    * oops missed exec-once
    
    * fmt
    
    * fix ws rules
    
    * require 0.3.0 for hyprlang
    
    * nix: flaek
    
    * minor type fixes
    
    * fix cfg usages in swipe
    
    * use cvarlist for ws rules
    
    * fix throw in addPluginConfigVar
    
    * Nix: update hyprlang
    
    * minor fixes
    
    * fix disableLogs
    
    * mention hyprlang docs
    
    * bump hyprlang dep in cmake
    
    * Meson: bump min hyprlang version
    
    Nix: update hyprlang
    
    * minor fix
    
    * Nix: update meson patch
    
    ---------
    
    Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
    vaxerski and fufexan authored Feb 18, 2024
    Copy the full SHA
    13f6f0b View commit details
  4. Copy the full SHA
    5fc0b77 View commit details
  5. 4
    Copy the full SHA
    fae47ef View commit details
  6. Copy the full SHA
    301b48b View commit details
  7. Copy the full SHA
    c6b1d82 View commit details
Showing 487 changed files with 65,786 additions and 24,858 deletions.
101 changes: 101 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
WarningsAsErrors: '*'
HeaderFilterRegex: '.*\.hpp'
FormatStyle: file
Checks: >
-*,
bugprone-*,
-bugprone-easily-swappable-parameters,
-bugprone-forward-declararion-namespace,
-bugprone-forward-declararion-namespace,
-bugprone-macro-parentheses,
-bugprone-narrowing-conversions,
-bugprone-branch-clone,
-bugprone-assignment-in-if-condition,
concurrency-*,
-concurrency-mt-unsafe,
cppcoreguidelines-*,
-cppcoreguidelines-owning-memory,
-cppcoreguidelines-avoid-magic-numbers,
-cppcoreguidelines-pro-bounds-constant-array-index,
-cppcoreguidelines-avoid-const-or-ref-data-members,
-cppcoreguidelines-non-private-member-variables-in-classes,
-cppcoreguidelines-avoid-goto,
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
-cppcoreguidelines-avoid-do-while,
-cppcoreguidelines-avoid-non-const-global-variables,
-cppcoreguidelines-special-member-functions,
-cppcoreguidelines-explicit-virtual-functions,
-cppcoreguidelines-avoid-c-arrays,
-cppcoreguidelines-pro-bounds-pointer-arithmetic,
-cppcoreguidelines-narrowing-conversions,
-cppcoreguidelines-pro-type-union-access,
-cppcoreguidelines-pro-type-member-init,
-cppcoreguidelines-macro-usage,
-cppcoreguidelines-macro-to-enum,
-cppcoreguidelines-init-variables,
-cppcoreguidelines-pro-type-cstyle-cast,
-cppcoreguidelines-pro-type-vararg,
-cppcoreguidelines-pro-type-reinterpret-cast,
google-global-names-in-headers,
-google-readability-casting,
google-runtime-operator,
misc-*,
-misc-unused-parameters,
-misc-no-recursion,
-misc-non-private-member-variables-in-classes,
-misc-include-cleaner,
-misc-use-anonymous-namespace,
-misc-const-correctness,
modernize-*,
-modernize-return-braced-init-list,
-modernize-use-trailing-return-type,
-modernize-use-using,
-modernize-use-override,
-modernize-avoid-c-arrays,
-modernize-macro-to-enum,
-modernize-loop-convert,
-modernize-use-nodiscard,
-modernize-pass-by-value,
-modernize-use-auto,
performance-*,
-performance-avoid-endl,
-performance-unnecessary-value-param,
portability-std-allocator-const,
readability-*,
-readability-function-cognitive-complexity,
-readability-function-size,
-readability-identifier-length,
-readability-magic-numbers,
-readability-uppercase-literal-suffix,
-readability-braces-around-statements,
-readability-redundant-access-specifiers,
-readability-else-after-return,
-readability-container-data-pointer,
-readability-implicit-bool-conversion,
-readability-avoid-nested-conditional-operator,
-readability-redundant-member-init,
-readability-redundant-string-init,
-readability-avoid-const-params-in-decls,
-readability-named-parameter,
-readability-convert-member-functions-to-static,
-readability-qualified-auto,
-readability-make-member-function-const,
-readability-isolate-declaration,
-readability-inconsistent-declaration-parameter-name,
-clang-diagnostic-error,
CheckOptions:
performance-for-range-copy.WarnOnAllAutoCopies: true
performance-inefficient-string-concatenation.StrictMode: true
readability-braces-around-statements.ShortStatementLines: 0
readability-identifier-naming.ClassCase: CamelCase
readability-identifier-naming.ClassIgnoredRegexp: I.*
readability-identifier-naming.ClassPrefix: C # We can't use regex here?!?!?!?
readability-identifier-naming.EnumCase: CamelCase
readability-identifier-naming.EnumPrefix: e
readability-identifier-naming.EnumConstantCase: UPPER_CASE
readability-identifier-naming.FunctionCase: camelBack
readability-identifier-naming.NamespaceCase: CamelCase
readability-identifier-naming.NamespacePrefix: N
readability-identifier-naming.StructPrefix: S
readability-identifier-naming.StructCase: CamelCase
100 changes: 75 additions & 25 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -2,25 +2,45 @@ name: Bug Report
description: Something is not working right
labels: ["bug"]
body:
- type: markdown
- type: checkboxes
attributes:
value: |
Before opening a new issue, take a moment to search through the current open ones.
label: Already reported ? *
description: Before opening a new bug report, please take a moment to search through the current open issues. If the same bug is already reported, don't open new issue - instead go upvote/comment on an existing one.
options:
- label: I have searched the existing open and closed issues.
required: true

---
- type: dropdown
id: type
attributes:
label: Regression?
description: |
Regression means that something used to work but no longer does.
**BEFORE CONTINUING**, please check if this bug is a regression or not, and if it is, we need you to bisect with the help of the wiki: https://wiki.hyprland.org/Crashes-and-Bugs/#bisecting-an-issue
multiple: true
options:
- "Definitely a regression - something broke after update (requires bisect)"
- "Probably not a regression / I don't remember it happening before"
- "Not a regression - it's bug regarding new feature"
- "Not a regression - it's an old bug"
- "I don't know, I started using Hyprland only recently"
validations:
required: true

- type: textarea
id: ver
attributes:
label: Hyprland Version
description: "Paste here the output of `hyprctl version`. For hyprland after 0.34.0, paste `hyprctl systeminfo` instead."
label: System Info and Hyprland Version
description: |
Paste the output of `hyprctl systeminfo` here. If you can't
launch Hyprland, paste the output of `Hyprland --systeminfo`.
value: "<details>
<summary>System/Version info</summary>
```sh
<Paste the output of the command here>
```
<Paste the output of the command here, without removing any formatting around this>
```
@@ -29,17 +49,6 @@ body:
validations:
required: true

- type: dropdown
id: type
attributes:
label: Bug or Regression?
description: Is this a bug or a regression?
options:
- Bug
- Regression
validations:
required: true

- type: textarea
id: desc
attributes:
@@ -53,15 +62,56 @@ body:
attributes:
label: How to reproduce
description: "How can someone else reproduce the issue?"
placeholder: |
1. ...
2. ...
3. ...
validations:
required: true

- type: markdown
attributes:
value: |
## Additional info section
In the section below you will be asked to upload some files.
When including text files (such as logs or config), please **always ATTACH** them, and not paste them directly.
This is important to avoid clutter, spam, and make the issues more readable.
Thanks for your understanding.
# The main reason to disallow pasting directly or in a dropdown, is to not clutter
# the issue with unnecessary keywords, making the github issue search useless.
- type: checkboxes
attributes:
label: Attach not paste
options:
- label: I understand that all text files must be *attached*, and not pasted directly. If not respected, this issue will likely get closed as spam
required: true

- type: markdown
attributes:
value: >-
Please be sure to upload the following files below if they are relevant to the issue:
- Logs can be found in $XDG_RUNTIME_DIR/hypr (sort by date to grab the latest)
- Crash reports are stored in ~/.cache/hyprland or $XDG_CACHE_HOME/hyprland
- Hyprland config files - `hyprctl systeminfo -c > /tmp/hyprland_config_dump.txt` use this command to dump full configuration to a single file.
- type: checkboxes
attributes:
label: Checklist of files to include below
options:
- label: Hyprland config - `hyprctl systeminfo -c` (always include)
- label: Crash report (always include in case of crash)
- label: Video (always include in case of a visual bug)
- label: Logs (might contain useful info such as errors)

- type: textarea
id: logs
attributes:
label: Crash reports, logs, images, videos
label: Additional info & File uploads
description: |
Anything that can help. Please always ATTACH and not paste them.
Logs can be found in /tmp/hypr
Crash reports are stored in ~/.hyprland or $XDG_CACHE_HOME/hyprland
Tip: You can attach files by clicking this area to highlight it and then dragging files in.
47 changes: 46 additions & 1 deletion .github/actions/setup_base/action.yml
Original file line number Diff line number Diff line change
@@ -23,6 +23,8 @@ runs:
glm \
glslang \
go \
hyprlang \
hyprcursor \
jq \
libc++ \
libdisplay-info \
@@ -31,7 +33,11 @@ runs:
libfontenc \
libglvnd \
libinput \
libjxl \
libliftoff \
libspng \
libwebp \
libxcursor \
libxcvt \
libxfont2 \
libxkbcommon \
@@ -42,6 +48,7 @@ runs:
pango \
pixman \
pkgconf \
pugixml \
scdoc \
seatd \
systemd \
@@ -50,7 +57,45 @@ runs:
wayland-protocols \
xcb-util-errors \
xcb-util-renderutil \
xcb-util-wm
xcb-util-wm \
xcb-util \
xcb-util-image \
libzip \
librsvg \
re2
- name: Get glaze
shell: bash
run: |
git clone https://github.com/stephenberry/glaze.git
cd glaze
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
cmake --install build
- name: Get hyprwayland-scanner-git
shell: bash
run: |
git clone https://github.com/hyprwm/hyprwayland-scanner --recursive
cd hyprwayland-scanner
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
cmake --install build
- name: Get hyprgraphics-git
shell: bash
run: |
git clone https://github.com/hyprwm/hyprgraphics && cd hyprgraphics && cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -B build && cmake --build build --target hyprgraphics && cmake --install build
- name: Get hyprutils-git
shell: bash
run: |
git clone https://github.com/hyprwm/hyprutils && cd hyprutils && cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -B build && cmake --build build --target hyprutils && cmake --install build
- name: Get aquamarine-git
shell: bash
run: |
git clone https://github.com/hyprwm/aquamarine && cd aquamarine && cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -B build && cmake --build build --target aquamarine && cmake --install build
- name: Get Xorg pacman pkgs
shell: bash
83 changes: 83 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
assets:
- changed-files:
- any-glob-to-any-file: "assets/**"

docs:
- changed-files:
- any-glob-to-any-file: "docs/**"

hyprctl:
- changed-files:
- any-glob-to-any-file: "hyprctl/**"

hyprpm:
- changed-files:
- any-glob-to-any-file: "hyprpm/**"

nix:
- changed-files:
- any-glob-to-any-file: "nix/**"

protocols:
- changed-files:
- any-glob-to-any-file: ["protocols/**", "src/protocols/**"]

core:
- changed-files:
- any-glob-to-any-file: "src/**"

config:
- changed-files:
- any-glob-to-any-file: "src/config/**"

debug:
- changed-files:
- any-glob-to-any-file: "src/debug/**"

desktop:
- changed-files:
- any-glob-to-any-file: "src/desktop/**"

devices:
- changed-files:
- any-glob-to-any-file: "src/devices/**"

events:
- changed-files:
- any-glob-to-any-file: "src/events/**"

helpers:
- changed-files:
- any-glob-to-any-file: "src/helpers/**"

hyprerror:
- changed-files:
- any-glob-to-any-file: "src/hyprerror/**"

init:
- changed-files:
- any-glob-to-any-file: "src/init/**"

layout:
- changed-files:
- any-glob-to-any-file: "src/layout/**"

managers:
- changed-files:
- any-glob-to-any-file: "src/managers/**"

pch:
- changed-files:
- any-glob-to-any-file: "src/pch/**"

plugins:
- changed-files:
- any-glob-to-any-file: "src/plugins/**"

render:
- changed-files:
- any-glob-to-any-file: "src/render/**"

xwayland:
- changed-files:
- any-glob-to-any-file: "src/xwayland/**"
Loading