Commit Graph

84 Commits

Author SHA1 Message Date
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
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 b8b7fed92f Fix typo in manpage
The `inputs` section in an example was named incorrectly.
2020-09-14 07:59:45 +00:00
raichoo 367d3bc2c3 Graceful shutdown
Shutting down `hikari` now sends a `quit` action to each active view. And waits
for all of them to quit before exiting. Sending a quit again during shutdown
will terminate `hikari` right away.
2020-08-09 10:49:45 +00:00
raichoo cbf2d05315 Move `inherit` example into the view configuration example section 2020-07-31 08:59:06 +00:00
raichoo 60ba47ef50 Fix typo in manpage 2020-07-31 08:30:06 +00:00
raichoo 2ed9b0c7e8 Fix typo in manpage 2020-07-30 16:11:38 +00:00
raichoo 9cfa1b2d58 Add relative position view movement
* `view-move-bottom-left`
* `view-move-bottom-middle`
* `view-move-bottom-right`
* `view-move-center-left`
* `view-move-center`
* `view-move-center-right`
* `view-move-top-left`
* `view-move-top-middle`
* `view-move-top-right`
2020-07-29 20:33:18 +00:00
raichoo c8b0fde37c Add child view configuration
`inherit` can be used to configure child view properties, strings are used to
indicate copied properties and objects can be used to overwrite them. Not
stating a property indicates that the default value should be used.
2020-07-29 19:20:48 +00:00
raichoo c62e1ca438 Add default layouts
This patch adds layout registers `0` to `9` which correspond to default layout.
These are currently only useful when restacking a sheet that does not have a
layout applied. If this is the case the default layout will be used to arrange
the current sheet.
2020-07-27 15:00:02 +00:00
raichoo d665f3e405 Add middle click emulation for pointers
Adds a boolean flag "middle-emulation" for pointer configuration.
2020-07-27 11:01:12 +00:00
raichoo cc618483cc add documentation for `view-toggle-public` to manpage 2020-07-09 11:27:21 +00:00
raichoo eb0841caee add switch configuration
This patch adds configuration fir switch devices like "lid switches" and "sleep
buttons". They are configured like any other input device and bind to an action.
2020-06-30 17:05:16 +00:00
raichoo e26a07b557 add key repeat rate and delay configuration
Allows to specify key repeat rate and key repeat delay individually for each
keyboard.
2020-06-30 08:31:13 +00:00
Evilham 9f2f755752 fix minor typo in manpage 2020-06-29 09:16:34 +00:00
raichoo 4918dbe9d1 add some documentation on how different view states are indicated
This was currently only the case for *borrowed* views but should be extended to
include *public*, *floating* and *invisible* state.
2020-06-26 14:56:15 +00:00
raichoo 03cf2eb177 add some more context for pointer configuration
This is also done for the keyboard section and it turned out to be quite
helpful.
2020-06-26 14:38:30 +00:00
raichoo 46ae0e8929 add `keyboards` configuration section to `inputs`
Allows keyboard configuration on a device basis.

Available options are:

* `rules`
* `model`
* `layout`
* `variant`
* `options`

All `xkb` settings are configured in the `xbk` section. Rules can be given as an
object and an `xkb` file is specified as a string.
2020-06-26 13:54:30 +00:00
raichoo 28ef1b123a add documentation for *public* view configuration 2020-06-09 16:59:17 +00:00
raichoo 847640dc31 add `public` flag
Public views are used to populate the lock screen to display additional
information, they should never display sensitive information.

Even hidden are displayed. This uses a `force` flag that overrides visibility
that is set in mode enter and reset on mode exit.
2020-06-09 15:40:18 +00:00
raichoo 515499e8da add lock mode
Introducing `lock` mode. This turns the screen locker into a mode which
adds some more modularity to the code.

Visible views on sheet 0 are also displayed on the lock screen allowing
for a customizable setup without the needs for extra plugins.

An indicator adds feedback for typing and verification.
2020-06-09 15:37:41 +00:00
timothee.floure 062a5fb769 Add wayland-session desktop file for use by display managers 2020-05-24 08:13:02 +00:00
raichoo 2503926b03 update colorscheme to new default colors in manpage 2020-05-17 13:13:42 +00:00
raichoo 92798b74e1 add default wallpaper
This adds a default wallpaper to `hikari` and uses default output configuration
to make use of it. The path to the wallpaper is spliced into the default
configuration view `sed` during installation.
2020-05-16 07:56:29 +00:00
raichoo ed9188fb24 add default configuration option to pointers and outputs
This patch enables to change the default configuration value for outputs and
pointer by defining a configuration for "*". Values defined in this object
override unconfigured values.
2020-05-15 22:45:42 +00:00
raichoo b25dbc4a2d make workspace cycling attempt to focus last `focus_view`
This patch tries to focus the last `focus_view` during cycling. If that view is
no longer visible the first sheet view gets focused. This patch also makes
`hikari` focus the `focus_view` of a workspace when entering it with the cursor.

`focus_view` is no longer set to `NULL` when leaving a workspace.
2020-05-16 07:00:37 +00:00
raichoo dd151b7969 make workspace cycle focus the first view on the sheet
Focusing the first sheet view excludes borrowed views. The idea is that views on
sheet 0 should not become a fallback when the workspace is otherwise empty.
Views on that sheet are supposed to take a background role.
2020-05-15 11:53:29 +00:00
firefly 74b299a870 honour $XDG_CONFIG_HOME 2020-05-14 13:09:57 +00:00
raichoo db46efcc61 add `workspace-cycle-[next|prev]` actions
These actions allow one to cycle through all existing workspaces.
2020-05-12 15:16:19 +00:00
raichoo d6af36fd28 add `ui` configuration section
This patch moves all UI related configuration options from the top level into
their own section to group them up. This constitutes a breaking change for the
end user because it invalidates previous configurations and requires users to
adjust their configuration manually.
2020-05-09 09:20:26 +00:00
raichoo b6484749b7 improve `libinput` configuration for pointer devices
This patch introduces more configuration options for pointer devices:

* adds `tap` option
* adds `tap-drag` option
* adds `tap-drag-lock` option
* adds `natural-scrolling` option
* adds `no-scroll` to `scroll-method`

This also changes the way unconfigured options are handled. `hikari` is no
longer going to overwrite unconfigured values with its own default but rather
keeps them unchanged.
2020-05-08 12:33:29 +00:00
raichoo 63730ac383 `workspace-show-group` should raise `focus_view`
If this does not happen the focus can change to a different view during this
action. This is disorienting. To prevent this we raise the view to the top at
the beginning of the action.
2020-05-06 16:01:11 +00:00
raichoo cee60887b5 lift restriction that tiled views cannot be moved
This restriction has been bogus since symmetric resize has arrived, so we might
as well just remove it entirely for the next major release.
2020-05-06 14:20:49 +00:00
raichoo f5b1420518 allow output relative view positioning
This patch allows to position views relative to the output by stating one of the
following values as position:

* `bottom-left`
* `bottom-middle`
* `bottom-right`
* `center`
* `center-left`
* `center-right`
* `top-left`
* `top-middle`
* `top-right`
2020-05-06 12:31:00 +00:00
raichoo 6458dec842 add `workspace-clear` action 2020-05-05 19:21:25 +00:00
raichoo fa3e2479a1 add `workspace-show-all` action 2020-05-05 19:16:22 +00:00
raichoo 29e43bb555 add `workspace-show-invisible` action 2020-05-05 19:02:18 +00:00
raichoo d9e5072e90 add `workspace-show-group` action 2020-05-05 19:00:06 +00:00
raichoo 7a02ab6188 add `sheet-show-group` action 2020-05-05 18:21:05 +00:00
raichoo 7ddba60c3c use "monospace 10" as default font setting 2020-05-05 18:18:38 +00:00
raichoo d524815f90 add `floating` to view configuration
This patch allows to configure floating state for views.
2020-05-05 16:14:33 +00:00
raichoo acbd637500 add `invisible` to view configuration
This patch allows to configure invisible state for views.
2020-05-05 16:10:29 +00:00
raichoo 401b900323 refactor configuration infrastructure
This patch reworks how `hikari` gets configured and provides a default
configuration as well as means to incorporate this into the binary.

This deprecated the `ETC_PREFIX` configuration during make and makes it reuse
`PREFIX`.

A default terminal is now specified via the `TERMINAL` environment variable.
2020-05-02 14:34:45 +00:00
raichoo 02a9f4c24c correctly indent empty container section in manpage 2020-05-01 13:59:37 +00:00
raichoo b605de7176 raise focus view on layout apply
The view in focus should be the first on in the layout, to achieve this we raise
it before applying the layout.
2020-04-18 21:28:45 +00:00
raichoo e28f1cc03f typo fixes for manpage 2020-04-18 12:13:05 +00:00
raichoo ff3e902014 add dynamic layout scaling
This allows layouts to derive theirs `scale` value from the first view of each
container.
2020-04-14 07:36:24 +00:00
raichoo a08780100e add symetric resize operations
Resizing should be possible in every direction, this is especially useful for
views that have been tiled.

This patch adds the following action to complete the set of resize operations.

* view-increase-size-up
* view-decrease-size-down
* view-increase-size-left
* view-decrease-size-right
2020-04-12 16:46:24 +00:00
raichoo 7267b3ac7f Add `step` value to relevant parts of the documentation
Resize and move use the `step` value and not the hard-coded value of 100.
2020-04-12 16:13:45 +00:00
raichoo 67ca8b218f Add `xkeyboard-config` reference to manpage
This manpage contains possible values for `XKB` settings.
2020-04-03 08:10:44 +00:00