mirror of
https://github.com/tiyn/dotfiles.git
synced 2025-04-28 20:47:46 +02:00
wayland: preliminary migration done
This commit is contained in:
parent
45bfcbf68e
commit
170020a287
1
.config/swaylock/config
Normal file
1
.config/swaylock/config
Normal file
@ -0,0 +1 @@
|
||||
image=~/.local/share/lock
|
86
.config/swhkd/swhkdrc
Normal file
86
.config/swhkd/swhkdrc
Normal file
@ -0,0 +1,86 @@
|
||||
super + b
|
||||
$BROWSER
|
||||
|
||||
super + m
|
||||
thunderbird
|
||||
|
||||
super + u
|
||||
record_stop
|
||||
|
||||
super + i
|
||||
record_start
|
||||
|
||||
super + o
|
||||
record_replay_start
|
||||
|
||||
super + p
|
||||
record_replay_save
|
||||
|
||||
super + a
|
||||
lmc previous
|
||||
|
||||
super + s
|
||||
lmc playpause
|
||||
|
||||
super + d
|
||||
lmc next
|
||||
|
||||
super + c
|
||||
lmc loop
|
||||
|
||||
super + x
|
||||
lmc shuffle
|
||||
|
||||
super + bracketright
|
||||
lmc mute_toggle
|
||||
|
||||
super + backslash
|
||||
lmc deaf_toggle
|
||||
|
||||
super + apostrophe
|
||||
lmc tap_toggle
|
||||
|
||||
super + bracketleft
|
||||
dnd toggle
|
||||
|
||||
super + shift + b
|
||||
killall -SIGUSR1 waybar
|
||||
|
||||
super + shift + r
|
||||
pkill -HUP swhkd ; notify-send -u low 'SWHKD' 'Reloaded hotkeys'
|
||||
|
||||
super + shift + space
|
||||
dunstctl close-all
|
||||
|
||||
super + F7
|
||||
mount_menu
|
||||
|
||||
super + F8
|
||||
umount_menu
|
||||
|
||||
super + F9
|
||||
systemctl restart NetworkManager ; notify-send -u low 'Network' 'Restartet NM'
|
||||
|
||||
super + F10
|
||||
prompt "Lock computer?" "swaylock -i ~/.local/share/lock"
|
||||
|
||||
super + shift + F10
|
||||
prompt "Hibernate computer?" "systemctl hibernate"
|
||||
|
||||
super + F11
|
||||
prompt "Shutdown computer?" "shutdown -h now"
|
||||
|
||||
super + F12
|
||||
prompt "Reboot computer?" "reboot now"
|
||||
|
||||
Print
|
||||
screenshot
|
||||
|
||||
XF86AudioMute
|
||||
lmc deaf_toggle
|
||||
|
||||
XF86AudioLowerVolume
|
||||
lmc down
|
||||
|
||||
XF86AudioRaiseVolume
|
||||
lmc up
|
84
.config/waybar/config.jsonc
Normal file
84
.config/waybar/config.jsonc
Normal file
@ -0,0 +1,84 @@
|
||||
|
||||
{
|
||||
"layer": "bottom", // Waybar at top layer
|
||||
"position": "top", // Waybar position (top|bottom|left|right)
|
||||
"height": 5, // Waybar height (to be removed for auto height)
|
||||
// "width": 1280, // Waybar width
|
||||
// Choose the order of the modules
|
||||
"modules-left": ["dwl/tags", "dwl/window"],
|
||||
"modules-right": ["cpu", "memory", "pulseaudio#output", "pulseaudio#input", "network", "battery", "clock", "tray"],
|
||||
// Modules configuration
|
||||
// "sway/workspaces": {
|
||||
// "disable-scroll": true,
|
||||
// "all-outputs": true,
|
||||
// "format": "{name}: {icon}",
|
||||
// "format-icons": {
|
||||
// "1": "",
|
||||
// "2": "",
|
||||
// "3": "",
|
||||
// "4": "",
|
||||
// "5": "",
|
||||
// "urgent": "",
|
||||
// "focused": "",
|
||||
// "default": ""
|
||||
// }
|
||||
// },
|
||||
"dwl/tags": {
|
||||
"tag-labels": [ "", "", "", "", "", "", "", "", "", "" ]
|
||||
},
|
||||
"dwl/window": {
|
||||
"format": "{layout} {title}"
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 20,
|
||||
"spacing": 10
|
||||
},
|
||||
"clock": {
|
||||
"format": " {:%d %b %I:%M}"
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
"good": 75,
|
||||
"warning": 25,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"default": ["<span color=\"#f00\"></span>", "<span color=\"#ff0\"></span>", "", "", ""],
|
||||
"charging": ["<span color=\"#f00\"></span>", "<span color=\"#ff0\"></span>", "", "", ""]
|
||||
}
|
||||
// "format-charging": "{capacity}%",
|
||||
// "format-plugged": "{capacity}%",
|
||||
// "format-alt": "{time} ",
|
||||
// "format-good": "", // An empty format will hide the module
|
||||
// "format-full": "",
|
||||
},
|
||||
"network": {
|
||||
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||
"format-wifi": "{icon}",
|
||||
"format-ethernet": "",
|
||||
"format-disconnected": "<span color=\"#f00\"></span>",
|
||||
"format-icons": [ "" ]
|
||||
},
|
||||
"pulseaudio#output": {
|
||||
// "scroll-step": 1, // %, can be a float
|
||||
"format-source": "",
|
||||
"format-source-muted": "<span color=\"#f00\"></span>",
|
||||
"format": "{format_source}"
|
||||
},
|
||||
"pulseaudio#input": {
|
||||
// "scroll-step": 1, // %, can be a float
|
||||
"format": "{icon}",
|
||||
"format-muted": "<span color=\"#f00\"></span>",
|
||||
"format-bluetooth": "{format_source}",
|
||||
"format-icons": [ "<span color=\"#f00\"></span>", "", "", ""]
|
||||
},
|
||||
//disk-usage, gpu
|
||||
"cpu": {
|
||||
"format": "",
|
||||
"tooltip": true
|
||||
},
|
||||
"memory": {
|
||||
"format": ""
|
||||
}
|
||||
}
|
238
.config/waybar/style.css
Normal file
238
.config/waybar/style.css
Normal file
@ -0,0 +1,238 @@
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
/* `ttf-font-awesome` is required to be installed for icons */
|
||||
font-family: Mono, Helvetica, Arial, sans-serif;
|
||||
|
||||
/* adjust font-size value to your liking: */
|
||||
font-size: 15px;
|
||||
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: rgba(0, 0, 0, 1);
|
||||
/* border-bottom: 3px solid rgba(100, 114, 125, 0.5); */
|
||||
color: #ffffff;
|
||||
/* transition-property: background-color; */
|
||||
/* transition-duration: .5s; */
|
||||
/* border-radius: 0; */
|
||||
}
|
||||
|
||||
/* window#waybar.hidden {
|
||||
opacity: 0.2;
|
||||
} */
|
||||
|
||||
/*
|
||||
window#waybar.empty {
|
||||
background-color: transparent;
|
||||
}
|
||||
window#waybar.solo {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
*/
|
||||
|
||||
/* window#waybar.termite {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
window#waybar.chromium {
|
||||
background-color: #000000;
|
||||
border: none;
|
||||
} */
|
||||
|
||||
#tags button {
|
||||
/* padding: 0 0.4em; */
|
||||
/* background-color: transparent; */
|
||||
color: #ffffff;
|
||||
/* Use box-shadow instead of border so the text isn't offset */
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
}
|
||||
|
||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||
#tags button:hover {
|
||||
background: rgba(0, 0, 0, 0.9);
|
||||
/* box-shadow: inset 0 -3px #ffffff; */
|
||||
}
|
||||
|
||||
#tags button.occupied {
|
||||
/* background-color: #282828; */
|
||||
box-shadow: inset 0 -3px #ffffff;
|
||||
}
|
||||
|
||||
#tags button.focused {
|
||||
background-color: #555a63;
|
||||
/* box-shadow: inset 0 -3px #ffffff; */
|
||||
}
|
||||
|
||||
#tags button.urgent {
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background-color: #64727D;
|
||||
/* border-bottom: 3px solid #ffffff; */
|
||||
}
|
||||
|
||||
#clock,
|
||||
#battery,
|
||||
#cpu,
|
||||
#memory,
|
||||
#temperature,
|
||||
#backlight,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#custom-media,
|
||||
#tray,
|
||||
#mode,
|
||||
#idle_inhibitor,
|
||||
#mpd {
|
||||
padding: 0 10px;
|
||||
margin: 6px 3px;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
#window,
|
||||
#tags {
|
||||
margin: 0 4px;
|
||||
}
|
||||
|
||||
/* If workspaces is the leftmost module, omit left margin */
|
||||
.modules-left > widget:first-child > #tags {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* If workspaces is the rightmost module, omit right margin */
|
||||
.modules-right > widget:last-child > #tags {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#clock {
|
||||
background-color: #000000;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#battery {
|
||||
background-color: #000000;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#battery.charging {
|
||||
color: #ffffff;
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #ffffff;
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: #f53c3c;
|
||||
color: #ffffff;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
label:focus {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
background-color: #000000;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#memory {
|
||||
background-color: #000000;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#backlight {
|
||||
background-color: #000000;
|
||||
color:white;
|
||||
}
|
||||
|
||||
#network {
|
||||
background-color: #000000;
|
||||
color:white;
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
background-color: #000000;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
background-color: #000000;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#custom-media {
|
||||
background-color: #66cc99;
|
||||
color: #2a5c45;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
#custom-media.custom-spotify {
|
||||
background-color: #66cc99;
|
||||
}
|
||||
|
||||
#custom-media.custom-vlc {
|
||||
background-color: #ffa000;
|
||||
}
|
||||
|
||||
#temperature {
|
||||
background-color: #f0932b;
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#tray {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
#idle_inhibitor {
|
||||
background-color: #2d3436;
|
||||
}
|
||||
|
||||
#idle_inhibitor.activated {
|
||||
background-color: #ecf0f1;
|
||||
color: #2d3436;
|
||||
}
|
||||
|
||||
#mpd {
|
||||
background-color: #66cc99;
|
||||
color: #2a5c45;
|
||||
}
|
||||
|
||||
#mpd.disconnected {
|
||||
background-color: #f53c3c;
|
||||
}
|
||||
|
||||
#mpd.stopped {
|
||||
background-color: #90b1b1;
|
||||
}
|
||||
|
||||
#mpd.paused {
|
||||
background-color: #51a37a;
|
||||
}
|
||||
|
||||
#language {
|
||||
background: #bbccdd;
|
||||
color: #333333;
|
||||
padding: 0 5px;
|
||||
margin: 6px 3px;
|
||||
min-width: 16px;
|
||||
}
|
22
.config/wayland/wayland.conf
Executable file
22
.config/wayland/wayland.conf
Executable file
@ -0,0 +1,22 @@
|
||||
#!/bin/sh
|
||||
$STATUSBAR & # use environment variable
|
||||
unclutter & # hide cursor
|
||||
xss-lock -- swaylock & # enable locking the screen upon sleep
|
||||
swaybg -i ~/.local/share/bg &
|
||||
dunst &
|
||||
dunstctl rule dnd_low disable &
|
||||
dunstctl rule dnd_normal disable &
|
||||
swhks && swhkd &
|
||||
|
||||
pavucontrol &
|
||||
easyeffects --gapplication-service &
|
||||
nextcloud &
|
||||
keepassxc &
|
||||
zen-browser &
|
||||
discord &
|
||||
signal-desktop &
|
||||
|
||||
# monitor toggle &
|
||||
# touchpad off &
|
||||
# xset r rate 300 50 & # Speed xrate up
|
||||
# redshift & # redshift for saving your eyes
|
@ -5,13 +5,18 @@ audio_2=${CAPTURE_OUTPUT_AUDIO:-easyeffects_source}
|
||||
output=${CAPTURE_DIR:-$HOME/downloads}
|
||||
device=${CAPTURE_DEVICE:-cpu}
|
||||
|
||||
window=$(xdotool getwindowfocus)
|
||||
fps=60
|
||||
format="mp4"
|
||||
v_codec="h264"
|
||||
a_codec="opus"
|
||||
lenght=20
|
||||
|
||||
|
||||
if [ $DISPLAY_SERVER = "wayland" ]; then
|
||||
window="screen"
|
||||
elif [ $DISPLAY_SERVER = "xorg" ]; then
|
||||
window=$(xdotool getwindowfocus)
|
||||
fi
|
||||
|
||||
gpu-screen-recorder -encoder $device -w $window -f $fps -a $audio_1 -a $audio_2 -c $format -k $v_codec -ac $a_codec -r $lenght -o $output &
|
||||
# gpu-screen-recorder -encoder $device -w screen -f $fps -a $audio_1 -a $audio_2 -c $format -k $v_codec -ac $a_codec -r $lenght -o $output & # wayland command
|
||||
notify-send -u low 'Screen record' 'Replay started'
|
||||
|
@ -5,13 +5,17 @@ audio_2=${CAPTURE_OUTPUT_AUDIO:-easyeffects_source}
|
||||
output=${CAPTURE_DIR:-$HOME/downloads}
|
||||
device=${CAPTURE_DEVICE:-cpu}
|
||||
|
||||
window=$(xdotool getwindowfocus)
|
||||
fps=30
|
||||
format="mp4"
|
||||
v_codec="h264"
|
||||
a_codec="aac"
|
||||
output="$output/recording-$(date '+%Y-%m-%d_%H-%M-%S').$format"
|
||||
|
||||
if [ $DISPLAY_SERVER = "wayland" ]; then
|
||||
window="screen"
|
||||
elif [ $DISPLAY_SERVER = "xorg" ]; then
|
||||
window=$(xdotool getwindowfocus)
|
||||
fi
|
||||
|
||||
gpu-screen-recorder -encoder $device -w $window -c $format -k $v_codec -ac $a_codec -f $fps -o $output &
|
||||
# gpu-screen-recorder -encoder $device -w screen -c $format -k $v_codec -ac $a_codec -f $fps -o $output & # wayland command
|
||||
notify-send -u low 'Screen record' 'Recording started'
|
||||
|
@ -9,12 +9,21 @@ output="$output/screenshot-$(date '+%Y-%m-%d_%H-%M-%S').png"
|
||||
xclip_img="xclip -sel clip -t image/png"
|
||||
xclip_txt="xclip -sel clip -t text/plain"
|
||||
|
||||
case "$(printf "a selected area\\na selected area (copy)\\ncurrent window\\ncurrent window (copy)\\nfull screen\\nfull screen (copy)\\ncolor picker (copy)" | dmenu -l 6 -i -p "Screenshot which area?")" in
|
||||
"a selected area") maim -s --hidecursor $output ;;
|
||||
"a selected area (copy)") maim -s --hidecursor | ${xclip_img} ;;
|
||||
"current window") maim -i "$(xdotool getactivewindow)" $output ;;
|
||||
"current window (copy)") maim -i "$(xdotool getactivewindow)" | ${xclip_img} ;;
|
||||
"full screen") maim $output ;;
|
||||
"full screen (copy)") maim | ${xclip_img} ;;
|
||||
"color picker (copy)") xcolor |tr -d '\n' | ${xclip_txt} ;;
|
||||
esac
|
||||
if [ $DISPLAY_SERVER = "wayland" ]; then
|
||||
case "$(printf "a selected area\\na selected area (copy)\\nfull screen\\nfull screen (copy)" | dmenu -l 6 -i -p "Screenshot which area?")" in
|
||||
"a selected area") grim -g "$(slurp)" $output ;;
|
||||
"a selected area (copy)") grim -g "$(slurp)" - | wl-copy ;;
|
||||
"full screen") grim $output ;;
|
||||
"full screen (copy)") grim - | wl-copy ;;
|
||||
esac
|
||||
elif [ $DISPLAY_SERVER = "xorg" ]; then
|
||||
case "$(printf "a selected area\\na selected area (copy)\\ncurrent window\\ncurrent window (copy)\\nfull screen\\nfull screen (copy)\\ncolor picker (copy)" | dmenu -l 6 -i -p "Screenshot which area?")" in
|
||||
"a selected area") maim -s --hidecursor $output ;;
|
||||
"a selected area (copy)") maim -s --hidecursor | ${xclip_img} ;;
|
||||
"current window") maim -i "$(xdotool getactivewindow)" $output ;;
|
||||
"current window (copy)") maim -i "$(xdotool getactivewindow)" | ${xclip_img} ;;
|
||||
"full screen") maim $output ;;
|
||||
"full screen (copy)") maim | ${xclip_img} ;;
|
||||
"color picker (copy)") xcolor |tr -d '\n' | ${xclip_txt} ;;
|
||||
esac
|
||||
fi
|
||||
|
17
.profile
17
.profile
@ -1,6 +1,9 @@
|
||||
#!/bin/sh
|
||||
# Profile file. Runs on login.
|
||||
|
||||
# sets default display server (can be overwritten in ~/.config/profile/local_profile)
|
||||
export DISPLAY_SERVER="xorg"
|
||||
|
||||
# Adds `~/.local/bin` and all subdirectories to $PATH
|
||||
export PATH="${PATH}:$(du "${HOME}/.local/bin/" | cut -f2 | tr '\n' ':' | sed 's/:*$//')"
|
||||
|
||||
@ -13,7 +16,6 @@ export EDITOR="nvim"
|
||||
export FILE="vifmrun"
|
||||
export IMAGE="sxiv"
|
||||
export READER="zathura"
|
||||
export STATUSBAR="dwmblocks"
|
||||
export TERMINAL="st"
|
||||
export QT_QPA_PLATFORMTHEME="qt6ct"
|
||||
|
||||
@ -83,8 +85,11 @@ echo "$0" | grep "zsh$" >/dev/null && [ -f ${ZDOTDIR}/.zshrc ] && source "${ZDOT
|
||||
# load optional variables
|
||||
[ -f ~/.config/profile/local_profile ] && source "${HOME}/.config/profile/local_profile"
|
||||
|
||||
# Start graphical server if not already running.
|
||||
[ "$(tty)" = "/dev/tty1" ] && ! pgrep -x Xorg >/dev/null && exec startx
|
||||
|
||||
# start wayland using dwl
|
||||
# dwl -s ~/.config/wayland/wayland.conf
|
||||
# Start graphical server based on set display server
|
||||
if [ $DISPLAY_SERVER = "wayland" ]; then
|
||||
export STATUSBAR="waybar"
|
||||
dwl -s ~/.config/wayland/wayland.conf
|
||||
elif [ $DISPLAY_SERVER = "xorg" ]; then
|
||||
export STATUSBAR="dwmblocks"
|
||||
[ "$(tty)" = "/dev/tty1" ] && ! pgrep -x Xorg >/dev/null && exec startx
|
||||
fi
|
||||
|
Loading…
x
Reference in New Issue
Block a user