3
0
mirror of https://github.com/hyprwm/Hyprland.git synced 2026-02-26 08:55:41 +00:00
Commit Graph

3039 Commits

Author SHA1 Message Date
1ba7a09bf6 includes: use libdrm prefix for include 2023-05-07 00:11:01 +01:00
afe8d8dfec monitors: fix some bugs with re-plug 2023-05-06 16:50:15 +01:00
7e5ba5e824 Fixed wrong focus changes when moving background workspaces (#2258) 2023-05-06 16:13:26 +01:00
83cd5e2ebd workspaces: minor fixes for multi-special 2023-05-06 16:10:51 +01:00
7f0738bcb3 varlist: allow using s for std::isspace 2023-05-06 01:16:20 +01:00
583b8842e7 configmanager: fix substr offset in default ws rule 2023-05-06 01:10:05 +01:00
a8541d5f64 Add split preselection (#2240) 2023-05-06 01:02:18 +01:00
4ad03af544 compositor: don't focus pointer in focusWindow 2023-05-06 00:59:25 +01:00
0859944c9a input: add custom accel profiles 2023-05-05 16:06:13 +01:00
c0be1e2fd8 configmanager: remove useless log from handleWorkspaceRule 2023-05-05 15:42:02 +01:00
7b73a332ea configmanager: deprecate bindws 2023-05-05 15:41:25 +01:00
a5d63a0324 configmanager: store workspace rules as a deque 2023-05-05 15:33:31 +01:00
8435d6fc12 monitors: toggle special on changeworkspace with special 2023-05-05 15:01:31 +01:00
d1d4683c91 Issue template: request users to ping me for Nix 2023-05-05 11:46:20 +03:00
bf04c83e3d config: clear layer rules on reload 2023-05-04 18:28:45 +01:00
0432804b18 Nix: expose/use flake's own hyprland-protocols in overlays.default (#2235) 2023-05-04 17:47:15 +03:00
da093a8aec quote hash for the GIT_COMMIT_HASH macro (#2227)
otherwise compilation fails with smth like
```
../src/debug/../plugins/../defines.hpp:1:25:
error: ‘f27873a6f06dc2f87600edb890f3c38298bfb55f’ was not declared in this scope
```
2023-05-03 20:50:33 +01:00
f27873a6f0 ver: bump to 0.25.0 v0.25.0 2023-05-03 17:15:08 +01:00
c3b9326ba1 Honor debug:enable_stdout_logs on startup (#2197)
* Honor debug:enable_stdout_logs on startup

disableStdout is set via config in CConfigManager::init(), which is
called early in CCompositor::initServer(). initServer() always disables
stdout logs at the end though, even when stdout is enabled is config. With this commit,
the config is respected.

* Don't spam stdout message
2023-05-03 16:08:01 +01:00
fd3e6a3bfd workspaces: restore monitor on re-plug 2023-05-03 15:15:56 +01:00
0155b85950 rules: fix monitor rule with names 2023-05-03 14:58:51 +01:00
a663823af2 only ignore no_gaps_when_only when the workspace rule specifies a border (#2217)
Co-authored-by: jacekpoz <jacekpoz@cock.li>
2023-05-03 14:48:46 +01:00
5a3c144919 Add warning about setting hyprland config with home manager 2023-05-03 13:05:21 +03:00
4fe5827598 Add plugin configuration to home manager module 2023-05-03 13:05:21 +03:00
2e28e88dfd flake.lock: update nixpkgs
flake.nix, nix/overlays.nix: remove wayland-latest overlay (1.22 now in nixpkgs)
2023-05-03 00:15:58 +03:00
72b118cd8f opengl: don't use new optim with xray off on special tiled 2023-05-02 21:23:53 +01:00
80b2ac1cc5 Nix: fix recursion in package overlays (#2210)
* nix: flake: fix improperly using prev.callPackage

* flake: cleanup with let blocks

* flake: make overlays use recursive packages

flake: separate overlays into multiple, combine into default

* nix: overlays: extract to own file

* flake: devShells: remove stdenv override

* overlays: hl-pkgs: xdph: remove needless overlay

Since the packages are now built with the overlays combined from inputs
and self, overriding specific dependencies (anywhere) is no longer
necessary.

* nix: overlays: extras: include xdph and share-picker

* nix: overlays: hl-pkgs: remove stdenv override
2023-05-02 20:54:29 +03:00
79791c9ed4 internal: fix -Wsign-compare and -Wunused-variable warnings 2023-05-02 14:53:31 +01:00
ac3edec14b Add activeworkspace hyprctl command (#2202)
* Add `activeworkspace` hyprctl command

* fix format in hyprctl

* Make stuff more shared in workspace hyprctl

---------

Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-05-02 14:51:52 +01:00
cde7f79af0 xwayland: allow initial focus to dialogs 2023-05-02 14:44:21 +01:00
609c7ab6b5 Unbreak CMake build on FreeBSD (#2209)
* cmake: unbreak on non-GNU after 474ada9267

CMake Error at CMakeLists.txt:121 (target_link_libraries):
  The keyword signature for target_link_libraries has already been used with
  the target "Hyprland".  All uses of target_link_libraries with a target
  must be either all-keyword or all-plain.

  The uses of the keyword signature are here:

   * CMakeLists.txt:107 (target_link_libraries)

Fixes https://github.com/hyprwm/Hyprland/issues/1780

* cmake: always link with dependencies via imported targets

On BSD systems base compiler by default only looks for headers and
libraries from base system. For dependencies from packages extra flags
are necessary.

ld: error: unable to find library -lxcb
ld: error: unable to find library -lpixman-1
ld: error: unable to find library -lOpenGL
ld: error: unable to find library -lGLESv2

* make: use same make in recursive calls

On BSDs `make` is BSD make while `gmake` is GNU make

* make: work around GNU vs. BSD sed -i incompatibility

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254091

* make: replace GNU make extension with POSIX sh

`$(shell ...)` in GNU make is similar to `${:!..!}` in BSD make

* make: fall back when nproc isn't available

Only FreeBSD added nproc for compatibility with Linux.

* make: unbreak hyprctl on Clang-based systems

/bin/sh: g++: not found
error: invalid value 'c++23' in '-std=c++23'

* make: create lib/ before copying libwlroots.so there

$ make install PREFIX=/tmp/test
[...]
cp: directory /tmp/test/lib does not exist

* make: pass cp(1) flags before arguments

cp: -f is not a directory

* make: replace install -Dt with mkdir

install: illegal option -- t

* make: replace cp --parents with cpio -dump

cp: illegal option -- -

* make: limit pkg-config workaround to Linux when run as root

/usr/share/pkgconfig doesn't exist on BSDs or may not be writable.
2023-05-02 14:38:36 +01:00
c949173bc9 Added some workspace-specific rules (#1986)
* added some workspace-specific rules

* added some worskpace-specific rules, with windowrule like syntax

* monitor is not mandatory anymore

* pointers to config are now static

* fixed optional WorkspaceRule fields

* Windows can now specify border size

* removed CHyprOpenGLImpl::renderBorder borderSize default value

* stuff

---------

Co-authored-by: Alessio Molinari <alessiomolinari@gmail.com>
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-05-01 22:28:27 +01:00
250d5cf78c config: add missing header for libc++ after 3a631e40db (#2208)
src/config/ConfigManager.cpp:1980:27: error: implicit instantiation of undefined template 'std::basic_stringstream<char>'
        std::stringstream error;
                          ^
/usr/include/c++/v1/iosfwd:134:32: note: template is declared here
    class _LIBCPP_TEMPLATE_VIS basic_stringstream;
                               ^
2023-05-01 22:24:51 +01:00
45b1e6dc5e keybinds: simulate workspace switch on focusWindow to another ws 2023-05-01 15:39:08 +01:00
d6b069458d input: don't refocus on dragging 2023-05-01 15:15:55 +01:00
3a631e40db Declarative plugin management (#2180)
* Declarative plugin management

Allow declaring `plugin` entries in the hyprland configuration.

Plugins will be loaded if an entry is added and unloaded if that entry
is removed.

* Replace pointers with copying in updateconfigPlugins

* Include which plugin was declared twice in error
2023-05-01 15:10:53 +01:00
dc469dc4c1 Prefer bundled wlroots headers to system ones (#2204)
In the case that the prefix is `/usr`, system wlroots headers installed in `/usr/include/wlr` will be preferred over those bundled by hyprland as `-I` directories are searched [from left to right](https://gcc.gnu.org/onlinedocs/cpp/Search-Path.html), which is not great since the system wlroots headers might not be compatible with hyprland. Fix the order of cflags so bundled wlroots headers will be preferred over system ones.
2023-05-01 13:42:16 +01:00
11b7ce14f8 renderer: fix misused size -> transformed size 2023-05-01 02:53:43 +01:00
ddfeebad3d Renderer: add init animation 2023-05-01 02:49:41 +01:00
11e87986a2 makefile: put pkg-config file in the default dir 2023-05-01 01:13:57 +01:00
dbf0b92de7 Plugin header overhaul 2: fixes (Electric boogaloo) (#2201)
* Add wlroots headers to makefile + fix pluginenv with new headers

* Add wlroots to pc
2023-05-01 01:04:25 +01:00
02312cac59 renderer: more checks for background LS optimizations 2023-04-30 01:15:51 +01:00
6501bceb42 workspace: don't check LS-es in startAnim 2023-04-30 01:13:58 +01:00
3580f845e6 monitor: update fullscreen fade on workspace change 2023-04-30 01:12:20 +01:00
b7e69be51e windows: check for fullscreen after rules 2023-04-30 01:01:47 +01:00
fdb772832f Keep fullscreen mode in moveWindowToWorkspaceSafe (#2191)
Moving a maximised window would always result in the window being
fullscreen instead of maximised
2023-04-29 23:39:09 +01:00
5c3684d0cc pluginenv: configure cmake to build protocols 2023-04-29 17:41:44 +01:00
5a3e3deb33 internal: warp workspace on change only if old mon is last 2023-04-29 13:32:59 +01:00
2946221195 renderer: fix fadingout render on fs 2023-04-29 13:29:32 +01:00
ce6c13f86b cmake: sync pkg-config --cflags with meson (#2181) 2023-04-29 11:34:28 +03:00