Commit Graph

468 Commits

Author SHA1 Message Date
yosh 7080b1d60d xwayland: restack on window activation
restack on window activation. not doing so causes popups for apps to
not accept mouse input.

patch taken from:
de3817572a
2024-03-08 02:37:12 -05:00
yosh 2152ce721f chore: add .gitignore 2024-03-08 02:37:08 -05:00
yosh 15790d4c46 chore: convert spaces to tabs 2024-02-24 02:00:11 -05:00
yosh d17098e478 chore: add editorconfig 2024-02-24 02:00:04 -05:00
raichoo bf12b635db Update CHANGELOG for 2.3.3 2022-01-13 09:16:57 +00:00
raichoo 827c630a50 Apply formatting 2022-01-13 09:16:10 +00:00
alex d958a0cfaf Update to wlroots 0.15.0
This patch was source from the FreeBSD ports collection and created by 
Jan Beich <jbeich@FreeBSD.org> in commit 2af7805da5c5fc73eb28fba4065cead63c4bb5ab

https://cgit.freebsd.org/ports/commit/x11-wm/hikari/files/patch-wlroots-0.15?id=2af7805da5c5fc73eb28fba4065cead63c4bb5ab
2021-12-22 16:00:43 +00:00
raichoo 6a1b33156c Update CHANGELOG for 2.3.2 2021-07-20 21:54:36 +00:00
raichoo 8bcb1c358c Handle subsurfaces of subsurfaces correctly
Damage is not handled properly when subsurfaces have subsurfaces. Of course
`firefox` is doing this because, why not. Anyway, those need to know their
parent as well to figure out the right location for the damage.
2021-07-20 19:06:37 +00:00
raichoo 4d354adbf9 Change init sequence to handle premature input
Initialize the current workspace with the `noop` workspace right away, that way
we can prevent hitting a NULL pointer when typing during startup.
2021-07-20 18:25:46 +00:00
raichoo d5088ad9fa Update CHANGELOG for 2.3.1 2021-06-26 21:36:01 +00:00
raichoo 2b98d5ddc9 Fix subsurface iteration
Subsurfaces are handled differently in `wlroots` 0.14.0. We now need to interate
over all the subsurfaces above and below the parent.
2021-06-26 21:32:16 +00:00
raichoo 44be0b6f58 Drop gtk-primary-selection support
This has been removed from `wlroots` 0.14.0.
2021-06-26 21:17:12 +00:00
raichoo e73828e0b6 Update CHANGELOG for 2.3.0 2021-04-09 17:43:34 +00:00
raichoo 5b2662e700 Use DRM format constant for lock screen indicator
The WL constants yields an unsupported format after switching to `wlroots`
0.13.0.
2021-04-10 11:33:33 +00:00
raichoo 398c844329 Use DRM format constant for indicator bars
The WL constants yields an unsupported format after switching to `wlroots`
0.13.0.
2021-04-10 08:25:32 +00:00
raichoo 5b004c46f8 Check for view visibility on damage
This is not always the case so we better check.
2021-04-09 17:29:53 +00:00
raichoo 48fc9656ca Make `hikari` build with `wlroots` 0.13.0 2021-04-09 17:15:35 +00:00
raichoo 4c32368fe1 Fix crash on shutdown with `wlroots` 0.13.0
We should not need to clean up the noop display explicitly anymore.
2021-04-09 16:45:52 +00:00
raichoo c106b4e989 Fix background loading
This uses the DRM constants for background loading. Otherwise backgrounds will
fail to load on newer versions of `wlroots`.
2021-04-09 16:44:31 +00:00
raichoo 6e205b15cf TAG 2.2.3
* fix noop resizes
* fix subsurface handling (causes `firefox` 87 issues)
2021-03-28 17:09:08 +00:00
raichoo feba6d8d88 Update CHANGELOG for 2.2.3 2021-03-28 17:08:20 +00:00
raichoo 337400b7c9 Factor out partial view damage
The code for apply effective surface damage has been duplicated in several
places.
2021-03-28 15:09:13 +00:00
raichoo 0e0ccfbffc Restructure subsurface handling
Subsurfaces have been handled somewhat incorrectly. With the release of Firefox
87 this happens to trigger a couple of rendering bugs. Damage is not tracked
properly for those subsurfaces.
2021-03-28 15:05:08 +00:00
gabriel 5153eac0d3 setuid requirements expansion
Clarify `hikari-unlocker` needs setuid, that `hikari` does not, mechanisms
used to gain root privileges and optional setuid procedure if needed.
2021-01-14 20:41:57 +00:00
raichoo e09aa1f73c Refactor operation logic
There is an issue with sending a resize event to surfaces which would not
require them to actually resize. In that case the serial of these operations
would be `0`. This way the commit logic would not recognize a surface update and
handle it wrongly.

This can be reproduced when trying to `fullscreen` a surface that already has
its maximum size.
2020-12-09 17:28:07 +00:00
raichoo e5cba7b8ce Move frame schedule into output module 2020-12-04 15:32:07 +00:00
raichoo 6a7a3664d1 Installation without `suid` for `hikari` is now the new default
`seatd` and similar mechanisms are present on all relevant platforms.
2020-12-10 10:38:09 +00:00
raichoo 9f7e3ffb52 `pkg-config` configuration
Submitted by: Aisha
It's now possible to configure which `pkg-config` binary should be used.
2020-12-09 17:35:39 +00:00
Maxim Tarasov e967148e54 Add `accel-profile` configuration
Pointer devices should be able to configure *flat*, *adaptive* and *none* as
acceleration profiles.
2020-11-26 09:23:21 +00:00
raichoo 502e18bb38 Document `DEBUG` build instructions in `README.md` 2020-11-08 10:47:40 +00:00
raichoo 6e9e012956 TAG 2.2.2
* fix `input-grab-mode` for non-default bindings
2020-10-22 15:19:42 +00:00
raichoo a96dd50f6f Update CHANGELOG for 2.2.2 2020-10-22 15:17:26 +00:00
raichoo 57bdd0dc24 Declare helper function as `static` 2020-10-22 15:12:32 +00:00
raichoo a0a985a9ef Remove check for pressed LOGO modifier
This prevents non-LOGO MOD keys from exiting `input-grab-mode`.
2020-10-21 07:48:14 +00:00
raichoo 37b1085d72 Configurable `input-grab-mode` exit
Currently this mode could only be quit using the default bindings. We now
respect what has been specified in `hikari.conf`.
2020-10-20 10:24:37 +00:00
raichoo 56f103faef TAG 2.2.1
* NULL pointer check on keyboard_config merge
* Fixed typo in the manpage
* Recompute focus on view pinning
2020-09-29 08:02:12 +00:00
raichoo f89ae2ed93 Update CHANGELOG for 2.2.1 2020-09-29 07:56:53 +00:00
andy c0c15f3f93 Set environment variables as configuration variables
Allows to refer env vars inside the configuration, as follows:

   background = "$XDG_CONFIG_HOME/wallpapers/file.png"
2020-09-14 19:13:42 +00:00
raichoo 74f5249c33 Check for `NULL` on `keyboard_config` merge
We should not attempt to `strdup` `NULL`.
2020-09-14 12:39:18 +00:00
raichoo b084a678fb Fix group operations for multi monitor
Group operations tend to break with multiple outputs and some frankly do not
make a lot of sense.

* `raise` and `lower` group may and up looping
* `group-only` should clear all workspaces
2020-09-14 12:35:09 +00:00
raichoo b8b7fed92f Fix typo in manpage
The `inputs` section in an example was named incorrectly.
2020-09-14 07:59:45 +00:00
raichoo 28dc6cb88a Recompute focus on view pinning
When sending a view to a different sheet we need to compute the focus, otherwise
an obscured view would not gain focus if it is revealed after the pinning.
2020-09-10 08:14:57 +00:00
raichoo d479591e04 Update CHANGELOG for 2.2.0 2020-09-08 08:36:50 +00:00
raichoo e8fb5f3b28 Correct list naming
Unmanaged Xwayland views are not tracked by the server for a while now anymore,
this should be reflected in the naming of the list.
2020-08-31 09:19:16 +00:00
raichoo fd7d3c7fbb Remove code duplication
Recalculating unmanaged view geometry is has been moved into a helper function
which should be used across the implementation for unmanaged Xwayland views.
2020-08-31 09:12:07 +00:00
raichoo b345399d7d Evacuate unmanaged Xwayland views properly
Unmanaged views currently do not get evacuated at all. This means they are still
referring to a deallocated output if they happen to be have been there during
deallocation. We now evacuate them alongside regular views on workspace merging.
2020-08-31 09:09:53 +00:00
raichoo dfd72dea7d Move `output->enabled` guard into output functions
This simplifies the API for output disabling and enabling. We do not need to
check beforehand if the invariants hold but can bail out if we happen to find
out during enable/disable of a monitor (e.g. double disable/enable).
2020-08-29 07:50:20 +00:00
raichoo 7da20bc57e Indicate focus view on layout select
This makes it more clear that we are inside of a mode. Ultimately indicating the
views that are going to get tiled would be the best solution but for now this is
good enough.
2020-08-29 08:21:02 +00:00
raichoo 28bf7f4b32 Remove unused function prototypes
These functions have been removed some time ago.
2020-08-29 08:00:31 +00:00