diff --git a/symlinks/bin/terminal-proxy b/symlinks/bin/terminal-proxy new file mode 100755 index 0000000..d48bea5 --- /dev/null +++ b/symlinks/bin/terminal-proxy @@ -0,0 +1,3 @@ +#!/bin/sh + +eval echo "$@" | xargs alacritty -e diff --git a/symlinks/config/libinput-gestures.conf b/symlinks/config/libinput-gestures.conf new file mode 100644 index 0000000..5e60380 --- /dev/null +++ b/symlinks/config/libinput-gestures.conf @@ -0,0 +1,194 @@ +# 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 _internal ws_up + +# 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 _internal ws_down +# 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 diff --git a/symlinks/config/sway/conf.d/01_default_tools b/symlinks/config/sway/conf.d/01_default_tools index fd04ad3..1d7794f 100644 --- a/symlinks/config/sway/conf.d/01_default_tools +++ b/symlinks/config/sway/conf.d/01_default_tools @@ -1,6 +1,6 @@ # Main tools mapping set $term alacritty -set $menu "ulauncher" +set $menu "ulauncher-toggle" set $filemanager thunar set $processviewer $term -e htop diff --git a/symlinks/config/sway/conf.d/15_workspace_assignment b/symlinks/config/sway/conf.d/15_workspace_assignment index c1ccb72..ed64d12 100644 --- a/symlinks/config/sway/conf.d/15_workspace_assignment +++ b/symlinks/config/sway/conf.d/15_workspace_assignment @@ -2,6 +2,8 @@ assign [app_id="firefox"] $browser_workspace assign [class="Hexchat"] $chat_workspace assign [class="Slack"] $chat_workspace +assign [class="Slack"] $chat_workspace +assign [instance="element"] $chat_workspace assign [class="Gvim"] $editor_workspace assign [class="jetbrains-idea-ce"] $ide_workspace assign [class="libreoffice"] $note_workspace diff --git a/symlinks/config/sway/conf.d/50_startup b/symlinks/config/sway/conf.d/50_startup index 9fb6c44..dd06e7d 100644 --- a/symlinks/config/sway/conf.d/50_startup +++ b/symlinks/config/sway/conf.d/50_startup @@ -1,5 +1,5 @@ # Start up notification manager exec --no-startup-id mako exec kdeconnect-indicator -exec spotify -exec slack +exec ulauncher --hide-window +exec libinput-gestures-setup start diff --git a/symlinks/config/ulauncher/settings.json b/symlinks/config/ulauncher/settings.json index d66c49e..332b6b7 100644 --- a/symlinks/config/ulauncher/settings.json +++ b/symlinks/config/ulauncher/settings.json @@ -6,6 +6,6 @@ "render-on-screen": "mouse-pointer-monitor", "show-indicator-icon": true, "show-recent-apps": "0", - "terminal-command": "", + "terminal-command": "terminal-proxy", "theme-name": "dark" }