Commit Graph

96 Commits

Author SHA1 Message Date
4c7f546c60 fix: XWindowScreen, do not send a scroll delta for 0
fixes: #9477
2026-02-18 18:11:38 +00:00
a532f655c1 feat: support horizontal scrolling
fixes: #7220
based on 9f15b1bcf2
Co-authored-by: Evan Maddock <maddock.evan@vivaldi.net>
2026-02-11 11:59:28 +00:00
050cb649c2 refactor: use ScrollDelta for fakeMouseWheel 2026-02-09 09:02:21 +00:00
5612e99f1d refactor: Move the scrollModifiers to ISecondaryScreen 2026-02-09 09:02:21 +00:00
a520e3b2e9 refactor: check settigns for invertscroll in PlatformScreen 2026-02-06 12:51:39 +00:00
0f6ec6c196 refactor: XWindowsScreen use a fixed minimum step value in place of the scroll speed setting 2026-02-06 12:51:39 +00:00
857326b274 refactor: rename PlatformScreen::mapClientScrollDirection -> PlatformScreen::applyClientScrollModifier
prepare for horizontal scroll support by having it handle pairs of x and y values
2026-02-06 12:51:39 +00:00
4200de66ee fix: scroll Issue on X11 by not checking for wheel in mapButtonToX 2026-02-04 09:45:25 +00:00
05c050b81e fix: handle back mouse on xwindows and windows
based on : 9f15b1bcf2
fixes: #5682
2026-02-03 09:41:22 +00:00
1ed394e3ef refactor: remove DEBUG3 and move DEBUG3 messages to DEBUG2 2026-01-26 12:35:00 +00:00
7682e17afe refactor: Move src/lib/Config => src/lib/platform/XWindowsConfig
This file is used only in XWindows related platform code.
2025-12-30 17:22:00 +00:00
93beb491db fix: Split XKB code out of XWindowsUtil to allow building without X11
the xprotoheaders are still required for EI, but nothing more.
2025-11-14 13:28:41 +00:00
68a15486ae chore: XWindowsScreen remove unused includes 2025-11-07 15:54:19 -05:00
50240c1fc3 refactor: Arch do not include common/Common.h use config.h where neeed as a result 2025-11-03 13:31:28 +00:00
e1fbcb379e chore: Sub classes and overloads not usings parameters of the base methods have the varible names removed 2025-10-17 09:07:21 +01:00
d98f8a524d remove: argsBase 2025-09-30 06:39:54 -04:00
37827f0540 refactor: remove ClientArgs 2025-09-30 06:39:54 -04:00
5fc00f7af4 refactor: use bool for invert scrolling 2025-09-30 06:39:54 -04:00
c2ee366e23 refactor: move preventsleep option into CoreArgs 2025-09-30 06:39:54 -04:00
9f8c45b449 fix: XWindowsScreen: stop centering panned screens on client when leaving screen
panned screens still needs `xtestIsXineramaUnaware` option enabled. this change
forcefully uses XTest only when leaving
useful examples:
* double 1 FullHD screen (main output) by:
	`xrandr --fb 3840x1080 --output DP-1 --panning 3840x1080+0+0/3840x1000+0+80`,
	leaving top 80 pixels for moving mouse out without actual panning
* dedicate right half of framebuffer to FullHD TV (second output):
	`xrandr --fb 3840x1080 --output HDMI-0 --panning 1920x1080+1920+0`
2025-09-23 12:12:59 +01:00
bf5b0de6ee fix: XWindowsScreen: properly calculate xrandr/xinerama screens
this allows screens to overlap, use panning, etc
2025-09-23 12:12:59 +01:00
3aef2f4309 chore: XWindowsScreen: remove duplicate function 2025-09-23 12:12:59 +01:00
3770e2c39e chore: XWindowsScreen::handleSystemEvent, remove unused Window variables 2025-08-11 12:32:50 -04:00
6153f64fb7 chore: remove uneeded casts 2025-08-11 12:32:50 -04:00
85d89f9846 refactor: XArch Classes => Arch Exception Classes 2025-08-11 17:14:45 +01:00
e4a9d1eb78 refactor: XScreen Classes => ScreenException Classes 2025-08-11 17:14:45 +01:00
2a84ef0ebf refactor: update log calls to LOG_... fixes #8819 2025-08-06 16:18:38 +01:00
9a9bd7e262 chore: Improve logging for active sides
For the longest time, this log line has bugged me:
```
active sides: e
```

It's hex, but it looks like a bug, since there's no `0x` prefix. Also, most humans can't read hex, so I added a string representation.

New version:
```
[2025-08-06T11:56:00] DEBUG: active sides: LRT (0x0e)
```
2025-08-06 08:38:00 -04:00
1f92f2a2ed chore: XWindowsScreen declare vars on seperate lines 2025-08-01 13:03:51 -04:00
11caf55522 fix: Wrong m_buttons vector size in case of maxButton inferior to numButtons 2025-08-01 08:18:57 -04:00
d1b810baa5 refactor: use std::size to get size of arrays 2025-07-17 18:47:50 +01:00
f51abad8cc feat: Wayland, only set a side to a border if if has a neighboring screen
move protocolTypes Direction enum to new base/DirectionTypes
use the direction info when calling
fixes #8572
fixes #8452
fixes #8605
fixes #8005
2025-07-14 10:31:50 +01:00
36e985d8ab chore: add missing default for switches 2025-07-07 17:53:56 +01:00
ab4fbd1c85 refactor: use using enum EventTypes when possible to reduce verbosity 2025-07-03 03:24:16 +00:00
b29c5b1bb2 refactor: use contains to find if an item is in a container 2025-06-20 09:39:26 +01:00
3a35b183d3 refactor: use std::function for Event callback
based on 6d347337c3
2025-06-18 13:17:16 +01:00
5fd4d93f7f refactor: replace ARCH->sleep(...) calls with Arch::sleep(...) 2025-06-17 10:23:42 +01:00
da5a2088c8 build: remove unset X_DISPLAY_MISSING checks 2025-06-14 08:22:55 +01:00
8170dd4e99 chore use std::getenv Not c style getenv
idea from: https://github.com/debauchee/barrier/pull/847/
2025-06-12 22:27:16 +01:00
c2a658256e feat: remove defunct --no-xinitThreads option
based on https://github.com/input-leap/input-leap/pull/1503
2025-06-12 22:07:40 +01:00
5ee3fc41bd chore: arch: Remove XArch exception class
XArch no longer contains any extra functionality in addition to what
std::runtime_error nor it signifies a particular type of error.
based-on: 5b991692af
ported-by: sithlord48
2025-05-28 14:00:18 +01:00
e6a374369b chore: use const for more local ref and pointer vars 2025-05-28 09:42:08 +01:00
9c56fa5dda chore: Combine unnessessary multi level if into less fewer checks 2025-05-28 09:42:08 +01:00
475b895755 chore: initialize class vars using the order class define, initilizer list, constructor 2025-05-23 10:19:11 -07:00
a33574e1bd chore: use more ranged for loops 2025-05-22 20:46:41 +01:00
723671c2e5 chore: remove // from inside comment blocks 2025-05-22 20:46:41 +01:00
fe12972e83 chore: use const pointer / ref where possible 2025-05-22 20:46:41 +01:00
c224cd4661 chore: declare const methods recommened by sonar 2025-05-20 16:20:07 +01:00
635962618f chore: define only one variable per line 2025-05-20 16:20:07 +01:00
0ff72441e6 chore: use c++17 style if,switch init-initilizer where possible
chore: correct spelling of "colon" in NetworkAddresses variables
chore: correct some multi line defines near needed init-initilizers
2025-05-20 16:20:07 +01:00