diff --git a/config.yaml b/config.yaml index 2e7c0cc..cbde839 100644 --- a/config.yaml +++ b/config.yaml @@ -194,7 +194,6 @@ profiles: - fish - fonts - foot - - fusuma - git - gpg-agent - i3 @@ -204,6 +203,7 @@ profiles: - kanshi - kitty - lesskey + - libinput-gestures - mako - mangohud - mime @@ -237,11 +237,11 @@ profiles: variables: supervisor: runit runit_enable: - - fusuma - gammastep - kanshi - kdeconnect-indicator - kdeconnectd + - libinput-gestures - mako - mpDris2 - mpd @@ -316,6 +316,7 @@ actions: true reload_sway: swaymsg reload & disown + reload_libinput_gestures: env SVDIR=$HOME/.config/runit/sv sv hup libinput-gestures reload_mako: pkill -SIGHUP mako reload_waybar: env SVDIR=$HOME/.config/runit/sv sv hup waybar reload_xsettingsd: env SVDIR=$HOME/.config/runit/sv sv hup xsettingsd @@ -490,6 +491,12 @@ dotfiles: # Just a bunch of paths and action mappings actions: - enable_runit_services + libinput-gestures: + src: libinput-gestures.conf + dst: ~/.config/libinput-gestures.conf + actions: + - reload_libinput_gestures + deemix: src: deemix dst: ~/.config/deemix @@ -579,7 +586,6 @@ dotfiles: # Just a bunch of paths and action mappings alacritty: { "src":"alacritty.yml", "dst":"~/.config/alacritty.yml" } bat: { "src":"bat", "dst":"~/.config/bat/config" } foot: { "src": "foot.ini", "dst": "~/.config/foot/foot.ini" } - fusuma: { "src":"fusuma.yml", "dst":"~/.config/fusuma/config.yml" } imv: { "src":"imv.conf", "dst":"~/.config/imv/config" } kanshi: { "src":"kanshi", "dst":"~/.config/kanshi/config" } mangohud: { "src":"MangoHud.conf", "dst":"~/.config/MangoHud/MangoHud.conf" } diff --git a/dotfiles/fusuma.yml b/dotfiles/fusuma.yml deleted file mode 100644 index 48e64f8..0000000 --- a/dotfiles/fusuma.yml +++ /dev/null @@ -1,31 +0,0 @@ -# {{@@ header() @@}} -# _____ -# | ___| _ ___ _ _ _ __ ___ __ _ -# | |_ | | | / __| | | | '_ ` _ \ / _` | -# | _|| |_| \__ \ |_| | | | | | | (_| | -# |_| \__,_|___/\__,_|_| |_| |_|\__,_| - - -swipe: - 3: - left: - command: 'swaymsg workspace next' - right: - command: 'swaymsg workspace prev' - up: - command: 'swaymsg fullscreen toggle' - down: - command: 'launcher' -# pinch: -# in: -# command: 'xdotool key ctrl+shift+plus' -# out: -# command: 'xdotool key ctrl+minus' - -# threshold: -# swipe: 1 -# # pinch: 0.2 - -# interval: -# swipe: 0.5 -# # pinch: 0.2 diff --git a/dotfiles/libinput-gestures.conf b/dotfiles/libinput-gestures.conf new file mode 100644 index 0000000..97c560b --- /dev/null +++ b/dotfiles/libinput-gestures.conf @@ -0,0 +1,196 @@ +# Configuration file for libinput-gestures. +# Mark Blakeney, Sep 2015 +# +# The default configuration file exists at /etc/libinput-gestures.conf +# but a user can create a personal custom configuration file at +# ~/.config/libinput-gestures.conf. +# +# Lines starting with '#' and blank lines are ignored. Currently +# "gesture" and "device" configuration keywords are supported as +# described below. The keyword can optionally be appended with a ":" (to +# maintain compatibility with original format configuration files). +# +# Each gesture line has 3 [or 4] arguments separated by whitespace: +# +# action motion [finger_count] command +# +# where action and motion is either: +# swipe up +# swipe down +# swipe left +# swipe right +# swipe left_up +# swipe left_down +# swipe right_up +# swipe right_down +# pinch in +# pinch out +# pinch clockwise +# pinch anticlockwise +# +# command is the remainder of the line and is any valid shell command + +# arguments. +# +# finger_count is a single numeric digit and is optional (and is +# typically 3 or 4). If specified then the command is executed when +# exactly that number of fingers is used in the gesture. If not +# specified then the command is executed when that gesture is executed +# with any number of fingers. Gesture lines specified with finger_count +# have priority over the same gesture specified without any +# finger_count. +# +# Typically command will be _internal, or xdotool. See "man xdotool" for +# the many things you can action with that tool. Note that unfortunately +# xdotool does not work with native Wayland clients. + +############################################################################### +# SWIPE GESTURES: +############################################################################### + +# Note the default is an "internal" command that uses wmctrl to switch +# workspaces and, unlike xdotool, works on both Xorg and Wayland (via +# XWayland). It also can be configured for vertical and horizontal +# switching over tabular workspaces, as per the example below. You can +# also add "-w" to the internal command to allow wrapping workspaces. +# Ensure you install wmctrl if you use _internal. + +# Move to next workspace (works for GNOME/KDE/etc on Wayland and Xorg) +gesture swipe up swaymsg fullscreen toggle + +# NOTE ABOUT FINGER COUNT: +# The above command will configure this command for all fingers (i.e. 3 +# for 4) but to configure it for 3 fingers only, change it to: +# gesture swipe up 3 _internal ws_up +# Then you can configure something else for 4 fingers or leave 4 fingers +# unconfigured. You can configure an explicit finger count like this for +# all example commands in this configuration file. +# +# gesture swipe up xdotool key super+Page_Down + +# Move to prev workspace (works for GNOME/KDE/etc on Wayland and Xorg) +gesture swipe down launcher +# gesture swipe down xdotool key super+Page_Up + +# Browser go forward (works only for Xorg, and Xwayland clients) +gesture swipe left swaymsg workspace next + +# Browser go back (works only for Xorg, and Xwayland clients) +gesture swipe right swaymsg workspace prev + +# NOTE: If you don't use "natural" scrolling direction for your touchpad +# then you may want to swap the above default left/right and up/down +# configurations. + +# Optional extended swipe gestures, e.g. for browser tab navigation: +# +# Jump to next open browser tab +# gesture swipe right_up xdotool key control+Tab +# +# Jump to previous open browser tab +# gesture swipe left_up xdotool key control+shift+Tab +# +# Close current browser tab +# gesture swipe left_down xdotool key control+w +# +# Reopen and jump to last closed browser tab +# gesture swipe right_down xdotool key control+shift+t + +# Example of 8 static workspaces, e.g. using KDE virtual-desktops, +# arranged in 2 rows of 4 columns across using swipe up/down/left/right +# to navigate in fixed planes. You can also add the "-w/--wrap" option +# to allow wrapping in any direction. You must configure your virtual +# desktops with the same column dimension. +# gesture swipe up _internal --cols 4 ws_up +# gesture swipe down _internal --cols 4 ws_down +# gesture swipe left _internal --cols 4 ws_left +# gesture swipe right _internal --cols 4 ws_right +# +# Example of 16 static workspaces, e.g. using KDE virtual-desktops, +# arranged in 4 rows of 4 columns across using swipe up/down/left/right +# to navigate in fixed planes, and also using swipe +# left_up/left_down/right_up/right_down to navigate diagonally. You can +# also add the "-w/--wrap" option to allow wrapping in any direction +# and/or diagonally. You must configure your virtual desktops with the +# same column dimension. +# gesture swipe up _internal --cols 4 ws_up +# gesture swipe down _internal --cols 4 ws_down +# gesture swipe left _internal --cols 4 ws_left +# gesture swipe right _internal --cols 4 ws_right +# gesture swipe left_up _internal --cols 4 ws_left_up +# gesture swipe left_down _internal --cols 4 ws_left_down +# gesture swipe right_up _internal --cols 4 ws_right_up +# gesture swipe right_down _internal --cols 4 ws_right_down + +# Example virtual desktop switching for Ubuntu Unity/Compiz. The +# _internal command does not work for Compiz but you can explicitly +# configure the swipe commands to work for a Compiz virtual 2 +# dimensional desktop as follows: +# gesture swipe up xdotool key ctrl+alt+Up +# gesture swipe down xdotool key ctrl+alt+Down +# gesture swipe left xdotool key ctrl+alt+Left +# gesture swipe right xdotool key ctrl+alt+Right + +# Example to change audio volume: +# Note this only works on an Xorg desktop (not Wayland). +# gesture swipe up xdotool key XF86AudioRaiseVolume +# gesture swipe down xdotool key XF86AudioLowerVolume + +############################################################################### +# PINCH GESTURES: +############################################################################### + +# GNOME SHELL open/close overview (works for GNOME on Xorg only) +gesture pinch in xdotool key super+s +gesture pinch out xdotool key super+s + +# KDE Plasma open/close overview +# gesture pinch in xdotool key ctrl+F9 +# gesture pinch out xdotool key ctrl+F9 + +# GNOME SHELL open/close overview (works for GNOME on Wayland and Xorg) +# Note since GNOME 3.24 on Wayland this is implemented natively so no +# real point configuring for Wayland. +# gesture pinch in dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.overview.toggle();' +# gesture pinch out dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.overview.toggle();' + +# Optional extended pinch gestures: +# gesture pinch clockwise +# gesture pinch anticlockwise + +############################################################################### +# This application normally determines your touchpad device +# automatically. Some users may have multiple touchpads but by default +# we use only the first one found. However, you can choose to specify +# the explicit device name to use. Run "libinput list-devices" to work +# out the name of your device (from the "Device:" field). Then add a +# device line specifying that name, e.g: +# +# device DLL0665:01 06CB:76AD Touchpad +# +# If the device name starts with a '/' then it is instead considered as +# the explicit device path although since device paths can change +# through reboots this is best to be a symlink. E.g. instead of specifying +# /dev/input/event12, you should use the corresponding full path link +# under /dev/input/by-path/ or /dev/input/by-id/. +# +# You can choose to use ALL touchpad devices by setting the device name +# to "all". E.g. Do this if you have multiple touchpads which you want +# to use in parallel. This reduces performance slightly so only set this +# if you have to. +# +# device all + +############################################################################### +# You can set a minimum travel distance threshold before swipe gestures +# are actioned using the swipe_threshold configuration command. +# Specify this value in dots. The default is 0. +# E.g. set it to 100 dots with "swipe_threshold 100". +# swipe_threshold 0 + +############################################################################### +# You can set a timeout on gestures from start to end. The default is +# the value commented below. It can be any value in float secs >= 0. +# 0 = no timeout. E.g. set it to 2 secs with "timeout 2". +# timeout 1.5 + +# vim:ft=ini diff --git a/dotfiles/runit_sv/fusuma/run b/dotfiles/runit_sv/fusuma/run deleted file mode 100755 index 98d6492..0000000 --- a/dotfiles/runit_sv/fusuma/run +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -exec fusuma diff --git a/dotfiles/runit_sv/libinput-gestures/run b/dotfiles/runit_sv/libinput-gestures/run new file mode 100755 index 0000000..72844f6 --- /dev/null +++ b/dotfiles/runit_sv/libinput-gestures/run @@ -0,0 +1,2 @@ +#!/bin/sh +exec libinput-gestures diff --git a/void.freeze b/void.freeze index 1b54dcc..f8d3a41 100644 --- a/void.freeze +++ b/void.freeze @@ -45,6 +45,7 @@ firefox fish-shell flatpak font-hack-ttf +foot fuse-sshfs fzf gammastep @@ -92,6 +93,7 @@ libbsd-devel liberation-fonts-ttf libgee08-devel libgepub +libinput-gestures libmariadbclient-devel libpipewire0.2 libreoffice @@ -159,6 +161,7 @@ playonlinux polkit powertop pqiv +procs protontricks pulseaudio pulsemixer