| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
fixes #7496
see https://invent.kde.org/plasma/kwin/-/commit/711c5bb43f2823766d5189dc8d567c8f4cec253c
see https://bugs.kde.org/show_bug.cgi\?id\=482142
|
| |
|
| |
now we roll loops at blazing constified speed.
|
| |
|
|
| |
why not let the compiler optimise things for us at hyprspeeds when we
can.
|
| |
|
|
|
|
|
| |
ensure the correct type is passed to std::clamp and std::max int64_t is
different on 64bit compared to 32bit, also in presentationtime
tv_sec is __time_t and on 32bit its a 32bit type so right shift count >= width
of type. so only bit shift on 64bit. and avoid potential nullptr deref
in the for loops, check for .end() before *it <= endID.
|
| |
|
|
|
|
|
|
|
|
| |
* Revert "sessionLock: fix the check for locking a locked session (#6843)"
This reverts commit 9ff83f4aa97269bf26381a84501d0b19f1926961.
* sessionLock: remove early check for session beeing locked
It is checked in the `onNewSessionLock` handler, which also respects the
`misc:allow_session_lock_restore` option.
|
| | |
|
| |
|
|
| |
avoid casting non typed enum out of range, looks like
WL_OUTPUT_MODE_CURRENT was the intention here.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
ref #7364
|
| |
|
| |
calculate the size to the stride we got to better align it.
|
| |
|
|
|
|
| |
this avoids the usage of the unique_ptr PROTO::protocol before it has
been constructed incase one wants to log something inside the
constructor itself, move the logging to macros and print file:linenumber
on ERR,CRIT,WARN and classname on the rest of the levels.
|
| | |
|
| |
|
|
|
|
|
| |
instead of potentially causing wonky behaviour from destructing in the
constructor add the unique_ptr reset to doLater and dont use the not
done constructed protolog in the constructor, call Debug::log directly.
see issue #7240
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
overflow (#7216)
* framebuffer: avoid gluint overflow
GLuint was being initialized to -1 and rolling over to unsigned int max,
its defined behaviour but very unnecessery. add a bool and use it for
checking if allocated or not.
* opengl: avoid gluint rollover
-1 rolls over to unsigned int max, use 0xFF instead.
* core: big uint64_t to int type conversion
there were a few uint64_t to int implicit conversions overflowing int
and causing UB, make all monitor/workspaces/windows use the new
typedefs. also fix the various related 64 to 32 implicit conversions
going around found with -Wshorten-64-to-32
|
| | |
|
| | |
|
| |
|
|
|
| |
When both flip directions use more space than is available, pick the
direction that has more space available instead of just the opposite
of what was initially requested.
|
| |
|
|
| |
fixes https://github.com/hyprwm/hyprpicker/issues/85
|
| |
|
|
|
| |
Enables explicit sync by default for most platforms
`misc:no_direct_scanout` -> `render:direct_scanout`
|
| |
|
|
| |
fixes #7133
|
| |
|
|
| |
fixes #7133
|
| |
|
|
| |
ref #7108
|
| |
|
|
| |
current buffer->buffer can turn out to be null actually check for its
existence or use the lastbuffer when calling updateCursorShm()
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* refactor fullscreen
modified: src/Compositor.cpp
modified: src/Compositor.hpp
modified: src/config/ConfigManager.cpp
modified: src/config/ConfigManager.hpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/LayerSurface.cpp
modified: src/desktop/Window.cpp
modified: src/desktop/Window.hpp
modified: src/desktop/Workspace.cpp
modified: src/desktop/Workspace.hpp
modified: src/events/Windows.cpp
modified: src/helpers/Monitor.cpp
modified: src/layout/DwindleLayout.cpp
modified: src/layout/DwindleLayout.hpp
modified: src/layout/IHyprLayout.cpp
modified: src/layout/IHyprLayout.hpp
modified: src/layout/MasterLayout.cpp
modified: src/layout/MasterLayout.hpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/KeybindManager.hpp
modified: src/managers/input/IdleInhibitor.cpp
modified: src/managers/input/InputManager.cpp
modified: src/managers/input/Swipe.cpp
modified: src/protocols/ForeignToplevelWlr.cpp
modified: src/render/Renderer.cpp
modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* clean up
modified: src/config/ConfigManager.cpp
modified: src/debug/HyprCtl.cpp
modified: src/desktop/Window.hpp
modified: src/desktop/Workspace.cpp
modified: src/events/Windows.cpp
modified: src/managers/KeybindManager.cpp
modified: src/managers/input/Swipe.cpp
* fix mapWindow fullscreen
modified: src/events/Windows.cpp
* fix typo
modified: src/desktop/Workspace.cpp
* add fullscreenstate
modified: src/config/ConfigManager.cpp
modified: src/events/Windows.cpp
* change syncFullscreen to lower
modified: src/config/ConfigManager.hpp
* initialize fs state
modified: src/desktop/Window.hpp
|
| |
|
|
|
|
|
| |
* move global shortcuts to hyprwayland-scanner
* remove wayland-scanner from deps
* fix the thing
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
undefined behaviour (#7101)
* protocols: avoid undefined behaviour in C macro
to safely use wl_container_of with a class the class has to be no
virtual functions, no inheritance, and uniform access control (e.g all
public)
work around this by putting this into a destroywrapper struct.
* opengl: clean memory on destruction
add a destructor and free the allocated memory and close the fd
|
| |
|
|
|
| |
* move text-input-v1 to hyprwayland-scanner
* vro
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
causes loops
|
| |
|
| |
This implementation actually works.
|
| | |
|
| |
|
|
| |
fixes #4460
|
| |
|
|
| |
fixes #7043
|
| |
|
|
|
| |
* move screencopy and toplevel export to hyprwayland-scanner
* oops
|
| |
|
|
|
|
|
|
| |
XWayland does not use the regular commit(null) method to unmap, which results in buffers never being released.
release the buffers if present and un-released in the unmap() handler
ref #6584
|
| |
|
|
|
|
|
| |
* correctly destroy wayland globals
* properly shutdown and cleanup hyprland
* appease the nitpick gods and some comments
|
| | |
|
| | |
|
| |
|
|
|
| |
* validate exclusiveEdge and don't set it as top by default
* make sure exclusive edge anchor is within bounds
|
| | |
|
| |
|
|
|
| |
* get rid of 1s in logs lol
* replace WLR with AQ in logs
|
| |
|
|
| |
ref #6835
|
| |
|
|
| |
ref #6835
|