feat\!: switch to Hyprland. Touchscreen gestures not implemented properly

This commit is contained in:
matt1432 2023-06-06 11:45:04 -04:00
parent 1d43d899ee
commit ce51ddb46e
29 changed files with 558 additions and 567 deletions

2
.gitignore vendored
View file

@ -1,3 +1,4 @@
chromium/
Electron/ Electron/
GIMP/ GIMP/
Nextcloud/ Nextcloud/
@ -36,7 +37,6 @@ dconf/
discord/ discord/
gtk-4.0/ gtk-4.0/
htop/ htop/
hypr/
kconf_updaterc kconf_updaterc
kde.org/ kde.org/
kdeglobals kdeglobals

View file

@ -1 +1 @@
find credits for wofi, waybar, swaylock, sway theme colors find credits for wofi

View file

@ -12,7 +12,7 @@
(label :text "勒" :class "content") (label :text "勒" :class "content")
) )
(button :class "logout" (button :class "logout"
:onclick "swaymsg exit" :onclick "hyprctl dispatch exit && sleep 2 && sudo chvt 2"
(label :text "" :class "content") (label :text "" :class "content")
) )
) )

View file

@ -1,8 +1,8 @@
(defvar toggle-state false) (defvar toggle-state false)
(defwidget tablet-toggle [] (defwidget tablet-toggle []
(button :onclick {toggle-state ? "$HOME/.config/sway/scripts/tablet/laptop-mode.sh &" : (button :onclick {toggle-state ? "$HOME/.config/hypr/scripts/tablet/laptop-mode.sh &" :
"$HOME/.config/sway/scripts/tablet/tablet-mode.sh &"} "$HOME/.config/hypr/scripts/tablet/tablet-mode.sh &"}
(box :class {toggle-state ? "toggle-on" : "toggle-off"} (box :class {toggle-state ? "toggle-on" : "toggle-off"}
:space-evenly true :space-evenly true
:spacing 6 :spacing 6

2
gtklock/config.ini Normal file
View file

@ -0,0 +1,2 @@
[main]
modules=powerbar-module.so

5
gtklock/scripts/blur.sh Executable file
View file

@ -0,0 +1,5 @@
#!/bin/bash
grim /tmp/image.png
convert /tmp/image.png -channel RGBA -blur 0x8 /tmp/image.png

4
gtklock/scripts/lock.sh Executable file
View file

@ -0,0 +1,4 @@
#!/bin/bash
$HOME/.config/hypr/scripts/tablet/laptop-mode.sh &
$HOME/.config/gtklock/scripts/blur.sh
gtklock

13
gtklock/style.css Normal file
View file

@ -0,0 +1,13 @@
window {
background-image: url("/tmp/image.png");
background-size: cover;
background-repeat: no-repeat;
background-position: center;
background-color: rgba(0, 0, 0, 0);
}
#window-box {
padding: 64px;
border-radius: 30px;
background-color: rgba(32, 32, 32, 0.8);
}

221
hypr/hyprland.conf Normal file
View file

@ -0,0 +1,221 @@
# Plugins
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=eDP-1,1920x1200@60,0x0,1
$menu = "$HOME/.config/rofi/launcher.sh"
$scripts = "$HOME/.config/hypr/scripts"
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & firefox
exec-once = bash -c "sleep 3; nm-applet"
exec-once = bash -c "sleep 4; blueman-applet"
exec-once = bash -c "sleep 5; nextcloud --background"
exec-once = bash -c "sleep 6; /opt/tutanota-desktop/tutanota-desktop -a"
exec-once = bash -c "sleep 7; galaxybudsclient /StartMinimized"
exec-once = eww daemon
exec-once = eww open tablet-toggle
#exec-once = sudo input-emulator start touch --x-max 1920 --y-max 1200 --slots 4
exec = $HOME/.config/lisgd/config
exec-once = libinput-gestures-setup start
exec-once = dbus-update-activation-environment --all
exec-once = gnome-keyring-daemon --start --components=secrets
exec-once = $menu
exec-once = swww init
exec-once = swww img "$HOME/Pictures/BG/bonzai.jpg"
exec-once = $scripts/lose-focus.sh
exec-once = waybar
exec-once = mako
exec-once = /usr/lib/polkit-kde-authentication-agent-1
exec-once = wl-paste --watch cliphist store
# OSD window
exec-once = swayosd
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
# Some default env vars.
env = XCURSOR_SIZE,24
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = ca
kb_variant = multix
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
touchpad {
natural_scroll = no
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 5
gaps_out = 5
border_size = 2
col.active_border = rgb(411C6C)
#col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
layout = dwindle
}
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 20
blur = yes
blur_size = 3
blur_passes = 1
blur_new_optimizations = on
drop_shadow = yes
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
}
animations {
enabled = yes
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = true
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
#workspace_swipe = yes
#workspace_swipe_fingers = 3
#workspace_swipe_cancel_ratio = 0.15
#workspace_swipe_forever = yes
}
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
windowrule = float,^(org.kde.polkit-kde-authentication-agent-1)$
windowrule = float,^(org.gnome.Calculator)$
windowrule = float,^(GalaxyBudsClient)$
windowrule = size 1231 950,title:^(Open Folder)$
windowrule = float,title:^(Open Folder)$
windowrule = size 1231 950,title:^(Open File)$
windowrule = float,title:^(Open File)$
windowrule = pin,^(nm-tray)$
#windowrule = move cursor 0 -35,^(nm-tray)$
windowrule = float,^(blueman-manager)$
windowrule = move cursor 0 0,^(blueman-manager)$
windowrule = size 400 581,^(blueman-manager)$
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER
bind = $mainMod, V, exec, cliphist list | ~/.config/rofi/dmenu.sh | cliphist decode | wl-copy
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Q, exec, alacritty
bind = $mainMod, C, killactive,
bind = $mainMod, L, exec, $HOME/.config/gtklock/scripts/lock.sh
bindl =, switch:on:Lid Switch, exec, $HOME/.config/gtklock/scripts/lock.sh
bind = $mainMod SHIFT, E, exec, eww open closer && $HOME/.config/eww/scripts/open.sh powermenu
bind = $mainMod SHIFT, SPACE, togglefloating,
bind = $mainMod, D, exec, $menu
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Take a screenshot
bind =, Print, exec, bash -c 'grim -g "$(slurp)" - | swappy -f -'
# Volume control
binde =, XF86AudioRaiseVolume, exec, swayosd --output-volume raise
binde =, XF86AudioLowerVolume, exec, swayosd --output-volume lower
bind =, XF86AudioMute, exec, swayosd --output-volume mute-toggle
bind =, XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle
#bind =, XF86AudioMicMute, exec, swayosd --input-volume mute-toggle
bindr = CAPS, Caps_Lock, exec, swayosd --caps-lock
# Brightness control
binde=, XF86MonBrightnessUp, exec, swayosd --brightness raise
binde=, XF86MonBrightnessDown, exec, swayosd --brightness lower

33
hypr/scripts/gestures.sh Executable file
View file

@ -0,0 +1,33 @@
#!/bin/bash
SIDE="$1"
TOUCH="$2"
workspaces=($(hyprctl workspaces -j | jq '.[] | .id'))
current_workspace=$(hyprctl monitors -j | jq '.[0].activeWorkspace.id')
echo $current_workspace
if [[ ${workspaces[-1]} == ${workspaces[0]} ]]; then
if [[ $current_workspace == "1" ]]; then
hyprctl dispatch workspace 2
elif [[ $SIDE == "prev" ]]; then
hyprctl dispatch workspace $[${workspaces[0]} - 1]
elif [[ $SIDE == "next" ]]; then
hyprctl dispatch workspace $[${workspaces[0]} + 1]
fi
elif [[ $SIDE == "prev" ]]; then
if [[ $current_workspace == "1" ]]; then
hyprctl dispatch workspace ${workspaces[-1]}
else
hyprctl dispatch workspace $[$current_workspace - 1]
fi
elif [[ $SIDE == "next" ]]; then
hyprctl dispatch workspace $[$current_workspace + 1]
fi
if [[ $TOUCH == "touch" ]]; then
sleep 0.2
sudo input-emulator touch tap 1280 720
fi

View file

@ -5,7 +5,7 @@ do
while killall -0 blueman-manager while killall -0 blueman-manager
do do
if [[ $(bluetoothctl show | grep Powered | grep yes) ]]; then if [[ $(bluetoothctl show | grep Powered | grep yes) ]]; then
if [[ $(swaymsg -t get_tree | grep -B 39 blueman | grep "focused.: false") != "" ]]; then if [[ $(hyprctl activewindow | grep blueman-manager) == "" && $(hyprctl clients | grep blueman-manager) != "" ]]; then
killall blueman-manager killall blueman-manager
break break
fi fi

View file

@ -0,0 +1,27 @@
#!/bin/bash
execute() {
swww img $HOME/Pictures/BG/black.jpg
sleep 0.1
echo "Rotating"
swww img $HOME/Pictures/BG/bonzai.jpg
/home/matt/.config/lisgd/config &
lisgd_pid=$! # Save the PID of the lisgd process
}
cleanup() {
echo "Cleaning up..."
kill $lisgd_pid # Terminate the lisgd process
wait $lisgd_pid # Wait for the process to exit
}
# Register the cleanup function to be called on script exit
trap cleanup EXIT
# Loop to listen to the command
while IFS='$\n' read -r line; do
rotation="$(echo $line | sed -En "s/^.*orientation changed: (.*)/\1/p")"
[[ ! -z $rotation ]] && execute
done < <(stdbuf -oL monitor-sensor)

View file

@ -6,7 +6,7 @@ gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled false
brightnessctl -d tpacpi::kbd_backlight s 2 brightnessctl -d tpacpi::kbd_backlight s 2
killall autorotate.sh killall iio-hyprland
swaymsg output eDP-1 transform 0 #swaymsg output eDP-1 transform 0
$HOME/.config/lisgd/config $HOME/.config/lisgd/config
killall autorotate.sh

View file

@ -6,5 +6,8 @@ gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true
brightnessctl -d tpacpi::kbd_backlight s 0 brightnessctl -d tpacpi::kbd_backlight s 0
$HOME/.config/sway/scripts/tablet/autorotate.sh iio-hyprland &
$HOME/.config/hypr/scripts/tablet/autorotate.sh &
killall autorotate.sh
$HOME/.config/hypr/scripts/tablet/autorotate.sh &

202
libinput-gestures.conf Normal file
View file

@ -0,0 +1,202 @@
# 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
# hold on (hold gesture available since libinput 1.19)
#
# command is the remainder of the line and is any valid shell command +
# arguments. NOTE that the command is run directly and is not parsed by
# your shell. If you want shell parsing and substitutions etc then use a
# script as described in the CONFIGURATION section of the main README.
#
# 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
gesture swipe left 3 /home/matt/.config/hypr/scripts/gestures.sh next
gesture swipe right 3 /home/matt/.config/hypr/scripts/gestures.sh prev
# 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 xdotool key alt+Right
# Browser go back (works only for Xorg, and Xwayland clients)
#gesture swipe right xdotool key alt+Left
# Open new browser tag ("hold on" available since libinput 1.19)
# gesture hold on 4 xdotool key control+t
# 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 (this works on both Wayland and Xorg):
# Note each swipe only steps volume once.
# swipe up 4 amixer set Master "8%+"
# swipe down 4 amixer set Master "8%-"
###############################################################################
# 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 <whatever command>
# gesture pinch anticlockwise <whatever command>
###############################################################################
# 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

View file

@ -5,10 +5,11 @@
function gestures { function gestures {
lisgd -d /dev/input/by-path/platform-AMDI0010\:00-event -o 0 -t 125 -r 25 -m 3200 \ lisgd -d /dev/input/by-path/platform-AMDI0010\:00-event -o 0 -t 125 -r 25 -m 3200 \
-g "3,RL,N,*,R,$HOME/.config/sway/scripts/gestures.sh next touch" \
-g "3,LR,N,*,R,$HOME/.config/sway/scripts/gestures.sh prev touch" \
-g "1,UD,B,*,R,bash -c 'busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b false'" \ -g "1,UD,B,*,R,bash -c 'busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b false'" \
-g "1,DU,B,*,R,bash -c 'busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true'" -g "1,DU,B,*,R,bash -c 'busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true'" # \
# -g "3,RL,N,*,R,$HOME/.config/sway/scripts/gestures.sh next touch" \
# -g "3,LR,N,*,R,$HOME/.config/sway/scripts/gestures.sh prev touch"
} }
if pgrep lisgd ; then if pgrep lisgd ; then

View file

@ -1,329 +0,0 @@
###################################################################################
### VARIABLES
###################################################################################
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left h
set $down j
set $up k
set $right l
# misc
set $scripts $HOME/.config/sway/scripts
set $term alacritty
set $menu "~/.config/rofi/launcher.sh"
set $bar waybar
font pango:SF Mono Regular 10
###################################################################################
### SOV
###################################################################################
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK
set $SOVSOCK $XDG_RUNTIME_DIR/sov.sock
exec rm -f $SOVSOCK && mkfifo $SOVSOCK && tail -f $SOVSOCK | sov
###################################################################################
### STARTUP APPS
####################################################################################
# bar
bar {
swaybar_command $bar
mode dock
modifier none
}
# execs
exec bash -c "sleep 3; nm-applet"
exec bash -c "sleep 4; blueman-applet"
exec bash -c "sleep 5; nextcloud --background"
exec bash -c "sleep 6; /opt/tutanota-desktop/tutanota-desktop -a"
exec bash -c "sleep 7; galaxybudsclient /StartMinimized"
exec eww daemon
exec eww open tablet-toggle
exec sudo input-emulator start touch --x-max 1920 --y-max 1200 --slots 4
exec_always $HOME/.config/lisgd/config
exec dbus-update-activation-environment --all
exec gnome-keyring-daemon --start --components=secrets
exec $menu
exec swww init
exec swww img "$HOME/Pictures/BG/bonzai.jpg"
exec /usr/lib/polkit-kde-authentication-agent-1
exec $scripts/lose-focus.sh
# Clipboard manager
exec wl-paste --watch cliphist store
bindsym $mod+v exec cliphist list | ~/.config/rofi/dmenu.sh | cliphist decode | wl-copy
# OSD window
exec swayosd
###################################################################################
### Appearance
###################################################################################
# window corner radius in px
default_border pixel 2
gaps inner 5
gaps outer 5
#for_window [app_id="Alacritty"] opacity 0.8
corner_radius 20
shadows on
# Window background blur
blur on
blur_xray off
blur_passes 1
blur_radius 5
shadows_on_csd off
shadow_blur_radius 5
shadow_color #0000007F
# inactive window fade amount. 0.0 = no dimming, 1.0 = fully dimmed
default_dim_inactive 0.0
dim_inactive_colors.unfocused #000000FF
dim_inactive_colors.urgent #900000FF
# Move minimized windows into Scratchpad (enable|disable)
#scratchpad_minimize enable
###################################################################################
### Idle configuration
###################################################################################
# Example configuration:
#
# exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
# before-sleep 'swaylock -f -c 000000'
#
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
###################################################################################
### Input configuration
###################################################################################
input * {
xkb_layout ca
xkb_variant multix
tap enabled
dwt disabled
}
###################################################################################
### Key bindings
###################################################################################
# Basics:
# Start a terminal
bindsym $mod+q exec $term
# Take a screenshot
bindsym Print exec bash -c 'grim -g "$(slurp)" - | swappy -f -'
# Logout but keep sway open
bindsym $mod+l exec swaylock --fade-in 0.2
# Logout on closed lid
bindswitch --reload --locked lid:on exec swaylock
# Kill all eww widgets
#bindsym Escape exec $scripts/esc.sh
# Kill focused window
bindsym $mod+c kill
# Start your launcher
bindsym $mod+d exec $menu
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# Reload the configuration file
bindsym $mod+Shift+c reload
# Exit sway (logs you out of your Wayland session)
#bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
bindsym $mod+Shift+e exec "$HOME/.config/eww/scripts/open.sh powermenu && eww open closer"
#
# Moving around:
#
# Move your focus around
#bindsym $mod+$left focus left
#bindsym $mod+$down focus down
#bindsym $mod+$up focus up
#bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow keys
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# Sink volume raise
bindsym XF86AudioRaiseVolume exec swayosd --output-volume raise
# Sink volume lower
bindsym XF86AudioLowerVolume exec swayosd --output-volume lower
# Sink volume toggle mute
bindsym XF86AudioMute exec swayosd --output-volume mute-toggle
# Source volume toggle mute
#bindsym XF86AudioMicMute exec swayosd --input-volume mute-toggle
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
# Capslock
bindsym --release Caps_Lock exec swayosd --caps-lock
# Brightness raise
bindsym XF86MonBrightnessUp exec swayosd --brightness raise
# Brightness lower
bindsym XF86MonBrightnessDown exec swayosd --brightness lower
#
# Workspaces:
#
# Allow switching between workspaces with left and right swipes
bindgesture swipe:right exec $scripts/gestures.sh prev
bindgesture swipe:left exec $scripts/gestures.sh next
# Switch to workspace
bindsym --no-repeat $mod+z exec "echo 1 > $SOVSOCK"
bindsym --no-repeat $mod+z+1 workspace number 1
bindsym --no-repeat $mod+z+2 workspace number 2
bindsym --no-repeat $mod+z+3 workspace number 3
bindsym --no-repeat $mod+z+4 workspace number 4
bindsym --no-repeat $mod+z+5 workspace number 5
bindsym --no-repeat $mod+z+6 workspace number 6
bindsym --no-repeat $mod+z+7 workspace number 7
bindsym --no-repeat $mod+z+8 workspace number 8
bindsym --no-repeat $mod+z+9 workspace number 9
bindsym --no-repeat $mod+z+0 workspace number 10
bindsym --release $mod+z exec "echo 0 > $SOVSOCK"
bindsym --release $mod+z+1 exec "echo 0 > $SOVSOCK"
bindsym --release $mod+z+2 exec "echo 0 > $SOVSOCK"
bindsym --release $mod+z+3 exec "echo 0 > $SOVSOCK"
bindsym --release $mod+z+4 exec "echo 0 > $SOVSOCK"
bindsym --release $mod+z+5 exec "echo 0 > $SOVSOCK"
bindsym --release $mod+z+6 exec "echo 0 > $SOVSOCK"
bindsym --release $mod+z+7 exec "echo 0 > $SOVSOCK"
bindsym --release $mod+z+8 exec "echo 0 > $SOVSOCK"
bindsym --release $mod+z+9 exec "echo 0 > $SOVSOCK"
bindsym --release $mod+z+0 exec "echo 0 > $SOVSOCK"
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10
# Note: workspaces can have any name you want, not just numbers.
# We just use 1-10 as the default.
#
# Layout stuff:
#
# Floating windows
for_window [app_id="org.gnome.Calculator"] floating enable
for_window [app_id="org.kde.polkit-kde-authentication-agent-1"] floating enable
for_window [title="Open File"] floating enable, resize set width 1231 px height 950
for_window [title="Open Folder"] floating enable, resize set width 1231 px height 950
for_window [app_id="nm-tray"] floating enable, sticky enable, move position cursor, move down 35
for_window [app_id="blueman-manager"] floating enable, sticky enable, resize set width 200 px height 581px, move position cursor, move down 30
for_window [class="GalaxyBudsClient"] floating enable
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+n splitv
# Switch the current container between different layout styles
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+space focus mode_toggle
# Move focus to the parent container
bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
# user config directory
include $HOME/.config/sway/config.d/*

View file

@ -1,27 +0,0 @@
set $rosewater #f4dbd6
set $flamingo #f0c6c6
set $pink #f5bde6
#set $mauve #c6a0f6
set $mauve #411C6C
#set $mauve #CBA6F7
set $red #ed8796
set $maroon #ee99a0
set $peach #f5a97f
set $green #a6da95
set $teal #8bd5ca
set $sky #91d7e3
set $sapphire #7dc4e4
set $blue #8aadf4
set $lavender #b7bdf8
set $text #cad3f5
set $subtext1 #b8c0e0
set $subtext0 #a5adcb
set $overlay2 #939ab7
set $overlay1 #8087a2
set $overlay0 #6e738d
set $surface2 #5b6078
set $surface1 #494d64
set $surface0 #363a4f
set $base #24273a
set $mantle #1e2030
set $crust #181926

View file

@ -1,10 +0,0 @@
include catppuccin-machiato
## Window decoration
#class border backgr. text indicator child_border
client.focused $mauve $base $text $lavender $mauve
client.focused_inactive $mauve $base $text $mauve $mauve
#client.unfocused $mauve $base $text $mauve $mauve
client.urgent $peach $base $peach $overlay0 $peach
client.placeholder $base $base $text $overlay0 $overlay0
client.background $base

View file

@ -1,5 +0,0 @@
#!/bin/bash
if [[ $(eww state) ]]; then
eww close-all
fi
input-emulator kbd key esc

View file

@ -1,40 +0,0 @@
#!/bin/bash
SIDE="$1"
TOUCH="$2"
workspaces=($(swaymsg -t get_workspaces | jq '.[] | .num'))
list_focused=($(swaymsg -t get_workspaces | jq '.[] | .focused'))
for (( i=0; i<${#workspaces[@]}; i++ ));
do
if [[ ${list_focused[$i]} == true ]]; then
current_workspace=${workspaces[$i]}
break
fi
done
if [[ ${workspaces[-1]} == ${workspaces[0]} ]]; then
if [[ $current_workspace == "1" ]]; then
swaymsg workspace 2
elif [[ $SIDE == "prev" ]]; then
swaymsg workspace $[${workspaces[0]} - 1]
elif [[ $SIDE == "next" ]]; then
swaymsg workspace $[${workspaces[0]} + 1]
fi
elif [[ $SIDE == "prev" ]]; then
if [[ $current_workspace == "1" ]]; then
swaymsg workspace ${workspaces[-1]}
else
swaymsg workspace $[$current_workspace - 1]
fi
elif [[ $SIDE == "next" ]]; then
swaymsg workspace $[$current_workspace + 1]
fi
if [[ $TOUCH == "touch" ]]
sleep 0.2
sudo input-emulator touch tap 1280 720
fi

View file

@ -1,63 +0,0 @@
#!/bin/bash
# This script handles rotation of the screen and related input devices automatically
# using the output of the monitor-sensor command (part of the iio-sensor-proxy package)
# for sway.
# The target screen and input device names should be configured in the below variables.
# Note: input devices using the libinput driver (e.g. touchscreens) should be included
# in the WAYLANDINPUT array.
#
# You can get a list of input devices with the `swaymsg -t output` command.
#
# This script was forked from https://gitlab.com/snippets/1793649 by Fishonadish
SCREEN="eDP-1"
WAYLANDINPUT=("1386:21227:Wacom_HID_52EB_Finger"
"1386:21227:Wacom_HID_52EB_Pen")
function rotate_ms {
case $1 in
"normal")
rotate 0
/home/matt/.config/lisgd/config &
;;
"right-up")
rotate 90
/home/matt/.config/lisgd/config &
;;
"bottom-up")
rotate 180
/home/matt/.config/lisgd/config &
;;
"left-up")
rotate 270
/home/matt/.config/lisgd/config &
;;
esac
}
function rotate {
swww img $HOME/Pictures/BG/black.jpg
sleep 0.1
TARGET_ORIENTATION=$1
echo "Rotating to" $TARGET_ORIENTATION
swaymsg output $SCREEN transform $TARGET_ORIENTATION
swww img $HOME/Pictures/BG/bonzai.jpg
for i in "${WAYLANDINPUT[@]}"
do
swaymsg input "$i" map_to_output "$SCREEN"
done
}
while IFS='$\n' read -r line; do
rotation="$(echo $line | sed -En "s/^.*orientation changed: (.*)/\1/p")"
[[ ! -z $rotation ]] && rotate_ms $rotation
done < <(stdbuf -oL monitor-sensor)

View file

@ -1,51 +0,0 @@
font=Ubuntu
clock
timestr=%R
datestr=%a, %e of %B
screenshots
submit-on-touch
#fade-in=0.2
effect-blur=20x2
#effect-greyscale
#effect-scale=0.3
indicator
indicator-radius=240
indicator-thickness=20
indicator-caps-lock
key-hl-color=880033
separator-color=00000000
inside-color=00000099
inside-clear-color=ffd20400
inside-caps-lock-color=009ddc00
inside-ver-color=d9d8d800
inside-wrong-color=ee2e2400
ring-color=231f20D9
ring-clear-color=231f20D9
ring-caps-lock-color=231f20D9
ring-ver-color=231f20D9
ring-wrong-color=231f20D9
line-color=00000000
line-clear-color=ffd204FF
line-caps-lock-color=009ddcFF
line-ver-color=d9d8d8FF
line-wrong-color=ee2e24FF
text-color=CBA6F7FF
text-clear-color=ffd20400
text-ver-color=d9d8d800
text-wrong-color=ee2e2400
bs-hl-color=ee2e24FF
caps-lock-key-hl-color=ffd204FF
caps-lock-bs-hl-color=ee2e24FF
disable-caps-lock-text
text-caps-lock-color=009ddc

View file

@ -5,19 +5,12 @@
"margin-left":5, "margin-left":5,
"margin-right":5, "margin-right":5,
"spacing": 1, "spacing": 1,
"modules-left": ["custom/osk", "custom/tablet", "sway/workspaces", "sway/mode", "tray", "custom/mowayah"], "modules-left": ["custom/osk", "custom/tablet", "wlr/workspaces", "tray", "custom/mowayah"],
"modules-center": ["sway/window"], "modules-center": ["hyprland/window"],
"modules-right": ["pulseaudio", "backlight", "battery", "clock", "custom/quicksettings"], "modules-right": ["pulseaudio", "backlight", "battery", "clock", "custom/quicksettings"],
"sway/mode": { "sway/mode": {
"format": "<span style=\"italic\">{}</span>" "format": "<span style=\"italic\">{}</span>"
}, },
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": { "tray": {
"icon-size": 26, "icon-size": 26,
"spacing": 5 "spacing": 5
@ -78,9 +71,6 @@
}, },
"on-click": "amixer -D pipewire sset Master toggle-mute" "on-click": "amixer -D pipewire sset Master toggle-mute"
}, },
"sway/workspaces": {
"format":" {name} ",
},
"custom/osk": { "custom/osk": {
"format":" 󰌌 ", "format":" 󰌌 ",
"on-click": "$HOME/.config/sway/scripts/tablet/osk-toggle.sh", "on-click": "$HOME/.config/sway/scripts/tablet/osk-toggle.sh",
@ -91,11 +81,25 @@
"format":"  ", "format":"  ",
"on-click": "$HOME/.config/waybar/scripts/quick-toggle.sh", "on-click": "$HOME/.config/waybar/scripts/quick-toggle.sh",
"restart-interval": 1, "restart-interval": 1,
},
},
"wlr/workspaces": {
//"format": "{icon}",
"on-click": "activate",
"format-icons": {
"1": "",
"2": "",
"3": "",
"4": "",
"4": "",
"urgent": "",
"active": "",
"default": ""
}
},
"custom/tablet": { "custom/tablet": {
"format":" 󰦧 ", "format":" 󰦧 ",
// "on-click": "$HOME/.config/sway/scripts/tablet/tablet-toggle.sh", //"on-click": "$HOME/.config/sway/scripts/tablet/tablet-toggle.sh",
"restart-interval": 1, "restart-interval": 1,
}, },

View file

@ -4,5 +4,5 @@ if [[ $(eww state | grep calendar_month) ]]; then
$HOME/.config/eww/scripts/close.sh date && eww close closer $HOME/.config/eww/scripts/close.sh date && eww close closer
else else
$HOME/.config/eww/scripts/close-opened.sh $HOME/.config/eww/scripts/close-opened.sh
$HOME/.config/eww/scripts/open.sh date && eww open closer eww open closer && $HOME/.config/eww/scripts/open.sh date
fi fi

View file

@ -4,5 +4,5 @@ if [[ $(eww state | grep br_icon) ]]; then
$HOME/.config/eww/scripts/close.sh actions && eww close closer $HOME/.config/eww/scripts/close.sh actions && eww close closer
else else
$HOME/.config/eww/scripts/close-opened.sh $HOME/.config/eww/scripts/close-opened.sh
$HOME/.config/eww/scripts/open.sh actions && eww open closer eww open closer && $HOME/.config/eww/scripts/open.sh actions
fi fi

View file

@ -41,19 +41,20 @@
} }
#workspaces button { #workspaces button {
border-radius: 80px;
padding: 0 5px; padding: 0 5px;
color: #7984A4;
background-color: transparent;
box-shadow: inset 0 -3px transparent;
border: none;
min-width: 25px; min-width: 25px;
/*color: #74C7EC;*/ border-radius: 80px;
color: #CDD6F4;
font-size: 16px;
}
#workspaces button:hover {
background-color: #7F849C;
} }
#workspaces button.focused { #workspaces button.focused {
color: #bf616a;
}
#workspaces button.active {
background-color: #616578; background-color: #616578;
color: #CBA6F7; color: #CBA6F7;
@ -61,7 +62,7 @@
} }
#workspaces button.urgent { #workspaces button.urgent {
color: #F80000; background-color: #F80000;
} }
#backlight { #backlight {