Commit Graph

404 Commits

Author SHA1 Message Date
DB e446db02f6
Add windowrule fakeFullScreen (#2043)
Co-authored-by: xVermillionx <xVermillionx@notvalid>
2023-04-18 21:59:08 +01:00
vaxerski a4330fe378 misc: scan ppids in exec rules 2023-04-18 11:48:56 +01:00
vaxerski 8b3d8dc792 Format: use %lx for all addresses 2023-04-17 17:35:28 +01:00
vaxerski b05ff89c76 Render: add cursor_zoom 2023-04-16 14:48:38 +01:00
Jan Beich 63841c8aac
Disable systemctl when built without systemd support (#2066)
/bin/sh: systemctl: not found
2023-04-15 20:03:09 +01:00
Person1873 33d06fb0e5
Add ability to split master when only 1 additional window (#2025)
* fix: enable master split less than 2 windows

added a config flag  "master:allow_small_split"
added config to minimum windows check.
TODO: check that no bug added (remove all masters?)

* IMPL:FIX: multiple master windows full width

Implemented the ability to have multiple master windows filling the full
monitor width in master mode.
this is controlled by the config option master:allow_small_split
(true/false)
this defaults to false as it was the original behaviour before this
patch

* BUGFIX: corrected issue with blanks re: addmaster

FIX 1: Treat ORIENTATION_CENTER the same as ORIENTATION_LEFT unless
there are enough STACK_WINDOWS to fill both wings.
FIX 2: enforced last window always set as master in
MasterLayout::CHyperMasterLayout::calculateWorkspace();
FIX 3: fix 2, also fixed focus issues previously noted.

* Changes requested by vaxerski

changed how we access config variables (by reference not value)
fixed a regression previously missed prior to requested changes.
I had somehow broken the very functionality i meant to add.

* added static keyword to config variables

* removed superfluous static tags

I made a mistake with making too many variables static.
this made them only evaluate once per runtime breaking things majorly.
My appologies. I haven't touched C++ in nearly 20 years.

* remove annoying comment

---------

Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-04-13 15:20:58 +01:00
vaxerski 4bc3f9adbe config: ignore invalid paths in configPaths 2023-04-12 22:00:39 +01:00
Kajetan Puchalski efee6a1cda
swallow: Add swallow_exception_regex (#2026)
Currently, if a window class is specified in the swallow_regex (e.g.
Kitty) it will swallow every other window spawned by it automatically.
Many other WMs implementing this functionality allow for defining
exceptions from this rule. For instance, we want Kitty to swallow sxiv
or zathura but we do not want Kitty to swallow something like wev.

This commit adds an additional regex - swallow_exception_regex where
these exceptions can be defined. This regex is then compared against the
title of the window about to be swallowed and if it happens to be a
match, aborts the swallowing.

This works because whenever an application that could be swallowed is
launched by a terminal, the class of the terminal remains the same while
the title changes to whatever the application's name is, thus letting it
be matched against a regex.
2023-04-12 13:38:15 +01:00
Hilmar Wiegand 6a4bda60f2
Allow movefocus for empty workspaces (#2011)
* Allow switching to empty workspaces using movefocus

* Allow switching to other workspaces when no windows are focused

* Implement review feedback

* Add option to disable focus fallback

* Remove unnecessary braces
2023-04-10 14:40:03 +01:00
scorpion-26 07e4ba9d80
Fix crash in CConfigManager::parseKeyword (#1983)
If debug:manual_crash is set on startup, parseKeyword tries
to call g_pHyprNotificationOverlay->addNotification, but
g_pHyprNotificationOverlay isn't initialized yet (is nullptr)

This commit adds a sanity check for that.
2023-04-07 20:15:11 +01:00
vaxerski eea99abc49 debug: allow manual crash from hyprctl 2023-04-04 22:13:36 +01:00
Vaxry 7d9977d028 debug: added manual_crash 2023-04-04 14:50:03 +01:00
vaxerski d3b0c90356 internal: rename ensureDPMS to ensureMonitorStatus 2023-04-03 22:52:09 +01:00
vaxerski 88a96110b7 config: default no direct scanout to true 2023-04-01 19:37:30 +01:00
Alexander Seiler 60527ab180
Fix some typos (#1907)
Signed-off-by: Alexander Seiler <seileralex@gmail.com>
2023-03-29 23:44:25 +01:00
vaxerski 3343aac6bf feat: add forcergbx rule 2023-03-26 02:00:24 +01:00
vaxerski 41f7736c85 config: default manual animations to false 2023-03-24 22:24:12 +00:00
vaxerski 70e3cb8151 feat: add debug:enable_stdout_logs 2023-03-24 19:37:37 +00:00
Vaxry a80f8f257f
Feat: Introduce render_ahead_of_time (#1863) 2023-03-24 19:23:16 +00:00
vaxerski a5a0434fff dbus: don't update vars in nests 2023-03-24 03:21:38 +00:00
vaxerski 463690a27a keybinds: allow code: prefix 2023-03-23 13:05:23 +00:00
vaxerski a8b3be2c9c config: add misc:suppress_portal_warnings 2023-03-22 12:17:16 +00:00
vaxerski 71a95a581f feat: add pretty notifications 2023-03-20 15:03:09 +00:00
vaxerski 00c2ca4697 config: improve ux on workspace and transform 2023-03-18 16:12:43 +00:00
vaxerski d544c30551 LS: don't try to get rules on non-existent ls 2023-03-18 15:02:00 +00:00
vaxerski ef80a69399 config: fix long variables being substrd 2023-03-18 14:57:59 +00:00
vaxerski e98ee49aee LS: fix support for legacy blurls 2023-03-17 23:36:36 +00:00
vaxerski d797d9905d LS: support address: in layerrules 2023-03-17 23:33:03 +00:00
vaxerski e5870d47c7 LS: add blur and ignorezero rules 2023-03-17 23:16:13 +00:00
vaxerski 5d44ea802a monitors: guard output when read 2023-03-16 14:03:40 +00:00
vaxerski 25d3d73dbf monitors: fixes to unsafe mode 2023-03-15 15:11:41 +00:00
vaxerski 146d231ec5 config: add key_press_enables_dpms 2023-03-12 13:46:38 +00:00
Vaxry c9167d9646 blurls: fix address substr length 2023-03-09 14:24:06 +00:00
Vaxry a85a6fa6c8 Dwindle: Added default_split_ratio 2023-03-07 14:24:10 +00:00
Jan Beich 7739b776cd
config: explicitly use environ(7) after b03c8970e6 (#1708)
src/config/ConfigManager.cpp:40:23: error: use of undeclared identifier 'environ'
    for (char** env = environ; *env; ++env) {
                      ^
2023-03-05 18:39:46 +00:00
hillyu 7ce92f93ad
add mfact setting for master layout (#1666)
* add mfact setting for master layout

---------

Co-authored-by: Hill <hillyu@live.com>
2023-03-05 16:29:23 +00:00
vaxerski b03c8970e6 Allow environment in config 2023-03-05 14:54:32 +00:00
vaxerski 90c5715bc6 add env dbus opt 2023-03-05 13:15:12 +00:00
vaxerski d5093f7af0 add env keyword to cfg 2023-03-05 13:12:01 +00:00
vaxerski 4abc608bc0 update dbus env on exec-once dispatches 2023-03-05 12:53:02 +00:00
Stanisław Zagórowski 141365cbc1
Fix plugin config breakage (#1687) 2023-03-03 19:32:44 +00:00
vaxerski 984c2fdc68 Enable manual anims by default 2023-02-28 22:15:18 +00:00
Dashie 7187ea443e
Add option to disable/enable mouse window dragging animations (#1658) 2023-02-28 20:50:10 +00:00
Vaxry 8b81f41e52
Plugin System (#1590)
---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-02-27 12:32:38 +00:00
vaxerski 74a10f26a4 remove old unused animation cfgs 2023-02-26 23:14:26 +00:00
Marcus Kellerman 492f36f7df
Added center orientation to master layout (#1642)
* Added center orientation to master layout to improve experience on ultra widescreen monitors.

* Added support for orientationcenter layout message for master layout

* Added ability to optionally always center master window when in centered master mode.
2023-02-26 23:12:14 +00:00
vaxerski cf566b59ce allow blurls by address 2023-02-25 17:39:26 +00:00
Vaxry e5a4c0c986
Group/Tab Rework (#1580) 2023-02-19 21:07:32 +00:00
Ching Pei Yang c92e0c05e4
Resize on border (#1347) 2023-02-18 22:35:31 +00:00
vaxerski 127e80692f move no_vfr to vfr and add vrr 2023-02-14 17:08:42 +00:00
Vaxry 68f56130ba add misc:mouse_move_focuses_monitor 2023-02-09 15:29:02 +00:00
Saltaformajo 4a5c3c4861
explicit config path for autoreload config #1423 (#1494)
* respect explicit config path for autoreload config
2023-02-05 22:53:13 +00:00
eriedaberrie 15544c7544
Update blurriness of layersurfaces after hyprctl keyword blurls (#1493)
* Update blurriness of layersurfaces after hyprctl keyword blurls
2023-02-05 22:46:20 +00:00
Mihai Fufezan 53945cff31
libinput: add tap_button_map (#1495) 2023-02-05 14:17:23 +00:00
vaxerski 760b37f71d properly rid of whitespace chars from cfg lines 2023-02-04 15:22:03 +00:00
ozwaldorf 32d56fec97
feat: border angle animations (#1469)
Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
2023-02-01 21:06:01 +00:00
vaxerski b2314aa33a err on invalid transform in monitor cfg 2023-01-29 16:04:50 +00:00
Vaxry 94b7b6b584 added binds:focus_preferred_method 2023-01-26 14:36:22 +00:00
vaxerski 8ae1fd0173 added layer rules 2023-01-25 15:34:13 +00:00
vaxerski 9813ba2f56 Add hyprctl animations 2023-01-25 15:16:28 +00:00
Vaxry 5c83976977 added misc:hide_cursor_on_touch 2023-01-17 11:47:39 +01:00
ppenguin 040e99fd17
Add tablets calibration matrix for dynamic rotation with 2-in1/tablet PC usage (#1319) 2023-01-15 20:38:58 +01:00
Vaxry a572321f61 remove old warn 2023-01-09 20:52:24 +01:00
Vaxry c02ac5e08a fix un-normalized missed color 2023-01-05 23:30:24 +01:00
Vaxry 96198dae55 Normalize color storage
Colors are now normalized to 0 - 1 values instead of 0 - 255

causes calculations to be simpler and generally cleans up the codebase.
2023-01-05 19:25:45 +01:00
Vaxry 0e3547e0f6 add touchdevice to devicevalue 2023-01-03 15:51:43 +01:00
Vaxry 7f595ed0ca support gradients in dwindle group colors 2022-12-31 16:23:56 +01:00
Vaxry b4ebc18367 remove main_mod 2022-12-28 19:52:12 +01:00
Vaxry a6699ef30c added dimaround 2022-12-28 15:39:17 +01:00
Vaxry b5f5c26be3 added dim_special 2022-12-28 15:18:23 +01:00
Vaxry cd08fa22fd added workspace_swipe_numbered 2022-12-25 15:42:11 +00:00
vaxerski 5fe437da7e added maximize windowrule 2022-12-23 19:34:28 +00:00
TheOnlyMrCat 8c094b0eec
Make libinput tap-and-drag configurable (#1267) 2022-12-22 12:05:26 +00:00
vaxerski 41cdfb7420 allow binding tablets to outputs 2022-12-21 15:11:39 +00:00
vaxerski 974739457f remove damage_entire_on_snapshot 2022-12-17 23:05:15 +00:00
Vaxry 98a4fa2b0d
Added clang format (#1239)
* clang-format stuff and format files
2022-12-16 17:17:31 +00:00
vaxerski 5a138bed6b use auto scale in fallback rule 2022-12-14 18:00:04 +00:00
vaxerski 374571da96 add auto scale 2022-12-14 17:57:45 +00:00
Maarten van Gompel 46891b12cf
Master layout: lose or inherit fullscreen on deliberate window switching (#1213)
* Master layout: Lose fullscreen status when deliberately switching away from a fullscreen window

* Master layout: implemented inherit_fullscreen config parameter

When set, if you are on a fullscreen window and you cycle to the next,
swap master, etc, it will be automatically fullscreened.
2022-12-12 14:34:52 +00:00
Maarten van Gompel 6381b6474f
Implement orientation (placement of master area) for master layout (#1202)
* Implemented choosing placement of master area (#1059)

This implement a per workspace 'orientation' that can be set
to left, right, top or bottom. Reflecting placement of the master area.

Left (default) and right are horizontal layouts, top and bottom produce vertical
layouts. Orientation can be switched with: 'hyprctl dispatch layoutmsg orientationleft'
2022-12-10 21:59:16 +00:00
vaxerski d5352a5d12 find a default workspace smarter 2022-12-09 17:17:02 +00:00
vaxerski 73b3bbe49b added nomaxsize rule 2022-12-07 16:08:44 +00:00
vaxerski 9e4e98acfb fix crash in blurls remove 2022-12-04 22:34:30 +00:00
Flafy 686d6fc6d1
Fix wrong layout recalculate if statement (#1167)
* fix: wrong layout recalculate if statement

* change from find to contains
2022-12-04 17:32:27 +00:00
vaxerski 6aa26582f6 added hyprctl switchxkblayout 2022-12-03 16:22:02 +00:00
vaxerski a2a12018d9 minor changes to unsafe state handling 2022-12-02 18:45:45 +00:00
vaxerski 10d34ef818 added blur_xray 2022-12-02 18:37:11 +00:00
Vaxry 7b020ffa84 Added screen shaders 2022-12-01 13:36:07 +00:00
vaxerski 12df799572 recalculate layout only when needed on dynamic keywords 2022-11-28 19:05:50 +00:00
vaxerski 92f2e342a3 use unreachable instead of break on invalid cvd enum value 2022-11-26 20:46:39 +00:00
Dashie e2f3f5fe63
Add nofullscreen to windowrules (#1107)
* feat: add windowrule to prevent fullscreen
2022-11-26 20:44:40 +00:00
vaxerski 684c59e5bc optimize data feeding to gradient renderer 2022-11-26 18:09:57 +00:00
vaxerski 0948b078e1 added border gradients 2022-11-26 17:57:02 +00:00
vaxerski 750eb76df3 default blur new optimizations to 1 2022-11-23 15:41:19 +00:00
vaxerski 5327565b33 remove resize transitions 2022-11-22 17:20:58 +00:00
vaxerski eb86e7967f add scroll_button libinput opt 2022-11-21 23:26:18 +00:00
Vaxry e887149f25 minor fixes for mirrors & log more monitor events 2022-11-19 13:01:32 +00:00
Jef dbb6732743
apply some rules dynamically when state of window changes (#1020)
Co-authored-by: Jef Steelant <jef.steelant_ext@softathome.com>
2022-11-15 10:21:26 +00:00
Jef 549fdf63f6
Add bordercolor windowrule (#992)
* Add bordercolor windowrule

* remove spaces form bordercolor rule + typo

Co-authored-by: Jef Steelant <jef.steelant_ext@softathome.com>
2022-11-13 19:33:13 +00:00
vaxerski 3157bebed7 fix warning 2022-11-10 17:07:26 +00:00