diff --git a/.config/sway/config b/.config/sway/config new file mode 100644 index 0000000..911ffee --- /dev/null +++ b/.config/sway/config @@ -0,0 +1,311 @@ +# This file has been auto-generated by Sway. +# It will not be overwritten, so edit it as you like. +# +# sway config file (v4) +# +set $mod Mod4 + +# Font for window titles. Will also be used by the bar unless a different font +# is used in the bar {} block below. +#font pango:monospace 10 +font pango:Noto Sans 10 +#font pango:Ubuntu 10.5 + +# This font is widely installed, provides lots of unicode glyphs, right-to-left +# text rendering and scalability on retina/hidpi displays (thanks to pango). +#font pango:DejaVu Sans Mono 9 + +# The combination of xss-lock, nm-applet and pactl is a popular choice, so +# they are included here as an example. Modify as you see fit. + +# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the +# screen before suspend. Use loginctl lock-session to lock your screen. +#exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork + +# NetworkManager is the most popular way to manage wireless networks on Linux, +# and nm-applet is a desktop environment-independent system tray GUI for it. +#exec --no-startup-id connman-gtk --tray & +exec --no-startup-id nm-applet + +# Applet for Audio +exec --no-startup-id pnmixer -t & + +# Configure screens and resolution +exec --no-startup-id ~/.config/sway/startwlrrandr.sh & + +# Load compton or picom +#exec --no-startup-id compton & +#exec --no-startup-id "sleep 15 && picom &" + +# Configure wallpaper +exec --no-startup-id "swaybg -i ~/wallpapers/dark-city.jpg -m fill" + +# Configure xscreensaver (don't work on Wayland) +exec --no-startup-id "sleep 5 && xscreensaver &" + +# Clipboard (Diodon) +exec --no-startup-id diodon & + +# Use pactl to adjust volume in PulseAudio. +#set $refresh_i3status killall -SIGUSR1 i3status +bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% #&& $refresh_i3status +bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% #&& $refresh_i3status +bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle #&& $refresh_i3status +bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle #&& $refresh_i3status + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# New windows without borders +#new_window 1pixel +#new_window pixel 3 + +# start a terminal +#bindsym $mod+Return exec i3-sensible-terminal +#bindsym $mod+Return exec xterm +bindsym $mod+Return exec alacritty + +# kill focused window +bindsym $mod+Shift+q kill + +# start dmenu (a program launcher) +bindsym $mod+d exec --no-startup-id dmenu_run +# A more modern dmenu replacement is rofi: +# bindcode $mod+40 exec "rofi -modi drun,run -show drun" +# There also is i3-dmenu-desktop which only displays applications shipping a +# .desktop file. It is a wrapper around dmenu, so you need that installed. +# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop + +# NetworkManager +#bindsym $mod+c exec --no-startup-id connman-gtk --no-icon +bindsym $mod+c exec --no-startup-id nm-connection-editor + +# Run applications +bindsym $mod+o exec --no-startup-id wofi --show drun +bindsym $mod+q exec --no-startup-id rofi -show window +bindsym $mod+x exec --no-startup-id wdisplays +bindsym $mod+b exec --no-startup-id firefox +bindsym $mod+n exec --no-startup-id pcmanfm +bindsym $mod+p exec --no-startup-id wofi --show run +bindsym $mod+g exec --no-startup-id geany +bindsym $mod+m exec --no-startup-id telegram +bindsym $mod+z exec --no-startup-id alacritty -e wf-recorder +bindsym $mod+u exec --no-startup-id xterm +bindsym $mod+t exec --no-startup-id ~/.config/sway/wayland-screenshot +bindsym $mod+i exec --no-startup-id lxappearance + +# change focus +bindsym $mod+j focus left +bindsym $mod+k focus down +bindsym $mod+l focus up +bindsym $mod+ntilde focus right + +# alternatively, you can use the cursor keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +bindsym $mod+Shift+j move left +bindsym $mod+Shift+k move down +bindsym $mod+Shift+l move up +bindsym $mod+Shift+ntilde move right + +# lock screen +set $swaylockwall ~/.config/sway/down-screen.sh +bindsym $mod+Ctrl+Shift+l exec --no-startup-id $swaylockwall + +# close session +#bindsym Mod1+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" +bindsym Mod1+Shift+e exec "swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'swaymsg exit'" + +# shutdown / restart / suspend... +set $mode_system System (l) lock, (e) logout, (r) reboot, (CTRL+s) shutdown + +mode "$mode_system" { + bindsym l exec --no-startup-id $swaylockwall, mode "default" + bindsym e exec --no-startup-id i3-msg exit, mode "default" + bindsym r exec --no-startup-id /sbin/reboot, mode "default" + bindsym Ctrl+s exec --no-startup-id /sbin/poweroff, mode "default" + + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} + +bindsym $mod+BackSpace mode "$mode_system" + +# alternatively, you can use the cursor 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 + +# split in horizontal orientation +bindsym $mod+h split h + +# split in vertical orientation +bindsym $mod+v split v + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent + +# focus the child container +#bindsym $mod+d focus child + +# sway gaps config +gaps inner 6 +gaps outer 2 + +# Disable borders +#default_border none +default_border pixel 2 + +# Define names for default workspaces for which we configure key bindings later on. +# We use variables to avoid repeating the names in multiple places. +#set $ws1 "1" +#set $ws2 "2" +#set $ws3 "3" +#set $ws4 "4" +#set $ws5 "5" +#set $ws6 "6" +#set $ws7 "7" +#set $ws8 "8" +#set $ws9 "9" +#set $ws10 "10" + +# switch to workspace +bindsym $mod+1 workspace number 1:term +bindsym $mod+2 workspace number 2:www +bindsym $mod+3 workspace number 3:chat +bindsym $mod+4 workspace number 4:files +bindsym $mod+5 workspace number 5:media +bindsym $mod+6 workspace number 6:game +bindsym $mod+7 workspace number 7:mail +bindsym $mod+8 workspace number 8:dev +bindsym $mod+9 workspace number 9:vm +bindsym $mod+0 workspace number 10:all + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace number 1:term +bindsym $mod+Shift+2 move container to workspace number 2:www +bindsym $mod+Shift+3 move container to workspace number 3:chat +bindsym $mod+Shift+4 move container to workspace number 4:files +bindsym $mod+Shift+5 move container to workspace number 5:media +bindsym $mod+Shift+6 move container to workspace number 6:game +bindsym $mod+Shift+7 move container to workspace number 7:mail +bindsym $mod+Shift+8 move container to workspace number 8:dev +bindsym $mod+Shift+9 move container to workspace number 9:vm +bindsym $mod+Shift+0 move container to workspace number 10:all + +# force a window on a named workspace +assign [class="Firefox"] 2:www +assign [class="mpv"] 5:media +assign [class="vlc"] 5:media +assign [class="Ristretto"] 5:media +assign [class="Gimp"] 5:media +assign [class="Gimp-2.10"] 5:media +assign [class="Mozilla VPN"] 2:www +assign [class="XTerm"] 1:term +assign [class="VirtualBoxVM"] 9:vm +assign [class="VirtualBox Machine"] 9:vm +assign [class="Steam"] 6:game +assign [class="Telegram"] 3:chat +assign [class="Signal"] 3:chat +assign [class="Pcmanfm"] 4:files +assign [class="Mousepad"] 8:dev +assign [class="Geany"] 8:dev + +# force floatin windows +for_window [class="Pavucontrol" instance="pavucontrol"] floating enable +for_window [class="Volume Control" instance="pavucontrol"] floating enable +for_window [class="Nitrogen" instance="nitrogen"] floating enable +for_window [class="Lxrandr" instance="lxrandr"] floating enable +for_window [class="Connman-gtk" instance="connman-gtk"] floating enable +for_window [class="Network Settings" instance="connman-gtk"] floating enable +for_window [class="Nm-connection-editor" instance="nm-connection-editor"] floating enable +for_window [class="vlc" instance="vlc"] floating enable +for_window [class="mpv" instance="gl"] floating enable +for_window [class="Engrampa" instance="engrampa"] floating enable +for_window [class="Archive Manager" instance="engrampa"] floating enable +for_window [class="Xarchiver" instance="xarchiver"] floating enable +for_window [class="Ristretto" instance="ristretto"] floating enable +for_window [class="Mozilla VPN" instance="mozillavpn"] floating enable +for_window [class="Lxappearance" instance="lxappearance"] floating enable +for_window [class="wdisplays" instance="wdisplays"] floating enable +for_window [app_id="zenity"] floating enable + +# reload the configuration file +bindsym $mod+Shift+c reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart +# exit i3 (logs you out of your X session) +#bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" +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'" + +# resize window (you can also use the mouse for that) +mode "resize" { + # These bindings trigger as soon as you enter the resize mode + + # Pressing left will shrink the window’s width. + # Pressing right will grow the window’s width. + # Pressing up will shrink the window’s height. + # Pressing down will grow the window’s height. + bindsym j resize shrink width 10 px or 10 ppt + bindsym k resize grow height 10 px or 10 ppt + bindsym l resize shrink height 10 px or 10 ppt + bindsym ntilde resize grow width 10 px or 10 ppt + + # same bindings, but for the arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # back to normal: Enter or Escape or $mod+r + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" +} + +bindsym $mod+r mode "resize" + +# Input layout +input * { + #xkb_layout "us" + xkb_layout "es" + #xkb_variant "colemak" + } + +# Start i3bar to display a workspace bar (plus the system information i3status +# finds out, if available) +bar { + position top + swaybar_command waybar + workspace_buttons yes + #tray_output DisplayPort-0 + colors { + separator #AAAAAA + background #222133 + statusline #FFFFFF + } +} +client.focused #664477 #664477 #cccccc #5b399e +client.focused_inactive #5b399e #5b399e #cccccc #A074C4 +client.unfocused #222133 #222133 #AAAAAA #A074C4 +client.urgent #CE4045 #CE4045 #5b399e #DCCD69 diff --git a/.config/sway/down-screen.sh b/.config/sway/down-screen.sh new file mode 100755 index 0000000..bf8ed78 --- /dev/null +++ b/.config/sway/down-screen.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +############################################################### +# down-daemon (down-screen) - Daemon to shutdown the screen # +# Date: 19-11-2020 # +# Author: q3aql # +# Contact: q3aql@duck.com # +############################################################### +VERSION="1.0" +M_DATE="191120" + +# Variable +endProcess=0 + +# Run screensaver +sleep 3 +echo "* Forcing screen to shutdown..." +#xset dpms force off +xscreensaver-command -prev diff --git a/.config/sway/startwlrrandr.sh b/.config/sway/startwlrrandr.sh new file mode 100755 index 0000000..e7e63d2 --- /dev/null +++ b/.config/sway/startwlrrandr.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +scan_rel=0 + +sleep 2 +#while [ ${scan_rel} -eq 0 ] ; do + # Primer monitor + #wlr-randr --output DP-1 --custom-mode 1280x1024@75Hz --pos 288,0 + # Segundo monitor + #wlr-randr --output DP-2 --custom-mode 1280x1024@75Hz --transform 90 --pos 1568,0 + #sleep 2 +#done +sleep 2 +wlr-randr --output DP-1 --custom-mode 1280x1024@75Hz --pos 288,0 +wlr-randr --output DP-2 --custom-mode 1280x1024@75Hz --transform 90 --pos 1568,0 diff --git a/.config/sway/wayland-screenshot b/.config/sway/wayland-screenshot new file mode 100755 index 0000000..6c82e74 --- /dev/null +++ b/.config/sway/wayland-screenshot @@ -0,0 +1,72 @@ +#!/bin/bash + +FILEDIR=~/Downloads +OPTION=() + +values=$(zenity \ + --title=wayland-screenshot \ + --text="Option" \ + --forms \ + --add-combo="Mode" \ + --combo-values="All screen|Specific window|Specific area" \ + --add-combo="Include cursor[default: no]" \ + --combo-values="no|yes" \ + --add-entry="time to wait[default: 0s]" \ + --add-combo="Copy to clipboard[default: yes]" \ + --combo-values="yes|no" \ + ) + +result=$? + +mode=$(echo $values | cut -d '|' -f 1) +cursor=$(echo $values | cut -d '|' -f 2) +wait=$(echo $values | cut -d '|' -f 3) +clipboard=$(echo $values | cut -d '|' -f 4) + +if [ "$result" -eq 1 ];then # select cancel + echo "canceling" + exit +fi + +if [ ! -z "$cursor" ] && [ "$cursor" == yes ];then + OPTION+="-c" +fi + +if [ -z "$mode" ] ;then # select nothing + echo "mode is null" + zenity \ + --title=wayland-screenshot \ + --width=200 \ + --warning \ + --text="Mode empty" + exit +fi + +if [ ! -z "$wait" ];then + sleep $wait +fi + +if [ "$mode" == "All screen" ];then # select All screen + true +elif [ "$mode" == "Specific window" ];then # select specify window + GEO="$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | slurp)" +elif [ "$mode" == "Specific area" ];then # select specfy area + GEO="$(slurp)" +else # error + echo $mode +fi + +if [ -z "$clipboard" ] || [ "$clipboard" == yes ];then + if [ -z "$GEO" ]; then + grim $OPTION - | wl-copy; + else + grim $OPTION -g "$GEO" - | wl-copy; + fi +else + if [ -z "$GEO" ]; then + grim $OPTION $FILEDIR/Screenshot_$(date +%F_%H.%M.%S).png + else + grim $OPTION -g "$GEO" $FILEDIR/Screenshot_$(date +%F_%H.%M.%S).png + fi +fi + diff --git a/.config/waybar/config b/.config/waybar/config new file mode 100644 index 0000000..c9babc9 --- /dev/null +++ b/.config/waybar/config @@ -0,0 +1,158 @@ +{ + // "layer": "top", // Waybar at top layer + "position": "top", // Waybar position (top|bottom|left|right) + "height": 28, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + // Choose the order of the modules + "modules-left": ["sway/workspaces", "sway/mode", "custom/media"], + // "modules-center": ["sway/window"], + //"modules-right": ["pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "sway/language", "battery", "battery#bat2", "clock", "tray"], + "modules-right": ["custom/kernel", "custom/cpu", "custom/memory", "custom/disk", "pulseaudio", "sway/language", "network", "custom/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": "" + // } + // }, + "sway/mode": { + "format": "{}" + }, + + "custom/kernel": { + "format": "{}", + //"max-length": 12, + "interval": 10, + "exec": "~/.config/waybar/scripts/kernel_version.sh", + }, + + "custom/clock": { + "format": "{}", + //"max-length": 12, + "interval": 20, + "exec": "date '+%h %d, %H:%M'", + }, + + "custom/cpu": { + "format": "{}", + //"max-length": 12, + "interval": 2, + "exec": "~/.config/waybar/scripts/cpu_info.sh", + }, + + "custom/memory": { + "format": "{}", + //"max-length": 12, + "interval": 5, + "exec": "~/.config/waybar/scripts/mem_info.sh", + }, + + "custom/disk": { + "format": "{}", + //"max-length": 12, + "interval": 10, + "exec": "~/.config/waybar/scripts/disk_info.sh", + }, + + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 20 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ifname}: {ipaddr}/{cidr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} diff --git a/.config/waybar/scripts/cpu_info.sh b/.config/waybar/scripts/cpu_info.sh new file mode 100755 index 0000000..68b8e9c --- /dev/null +++ b/.config/waybar/scripts/cpu_info.sh @@ -0,0 +1,5 @@ +#!/bin/sh +TEMP=$(sensors | grep 'Package id 0:\|Tdie' | grep ':[ ]*+[0-9]*.[0-9]*°C' -o | grep '+[0-9]*.[0-9]*°C' -o) +#CPU_USAGE=$(mpstat 1 1 | awk '/Average:/ {printf("%s\n", $(NF-9))}') +CPU_USAGE=$(~/.config/i3blocks/cpu/cpu_load.sh -p) +echo "$CPU_USAGE $TEMP" | awk '{ printf(" CPU:%6s @ %s \n"), $1, $2 }' diff --git a/.config/waybar/scripts/disk_info.sh b/.config/waybar/scripts/disk_info.sh new file mode 100755 index 0000000..da3f2b2 --- /dev/null +++ b/.config/waybar/scripts/disk_info.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +df -h / | awk '/\//{ printf(" %4s / %s \n", $4, $2) }' diff --git a/.config/waybar/scripts/kernel_version.sh b/.config/waybar/scripts/kernel_version.sh new file mode 100755 index 0000000..605c986 --- /dev/null +++ b/.config/waybar/scripts/kernel_version.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# Parameters +longNumber=2 +kernelCommand="uname -r" +archCommand=$(uname -m) + +# Kernel version +kernelVersion="" +count=1 + +# Extract numbers of kernel version +kernelVersionTemp=$(uname -r | cut -d "." -f ${count}) + kernelVersionTempDot="${kernelVersionTemp}" + kernelVersion="${kernelVersion}${kernelVersionTempDot}" + count=$(expr ${count} + 1) + +while [ ${count} -le ${longNumber} ] ; do + kernelVersionTemp=$(uname -r | cut -d "." -f ${count}) + kernelVersionTempDot=".${kernelVersionTemp}" + kernelVersion="${kernelVersion}${kernelVersionTempDot}" + count=$(expr ${count} + 1) +done + +kernelVersionTemp=$(uname -r | cut -d "." -f ${count} | cut -d "-" -f 1) +kernelVersionTempDot=".${kernelVersionTemp}" +kernelVersion=${kernelVersion}${kernelVersionTempDot} + +# Apply arch +#kernelVersion=${kernelVersion}-${archCommand} +kernelVersion=${kernelVersion} +#echo "Kernel: Linux ${kernelVersion} " +echo "Linux ${kernelVersion} " + diff --git a/.config/waybar/scripts/mem_info.sh b/.config/waybar/scripts/mem_info.sh new file mode 100755 index 0000000..d59c1e5 --- /dev/null +++ b/.config/waybar/scripts/mem_info.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +free -h | awk '/Mem:/ { printf(" %5s / %s \n", $3, $2) }' diff --git a/.config/waybar/style.css b/.config/waybar/style.css new file mode 100644 index 0000000..d556f6c --- /dev/null +++ b/.config/waybar/style.css @@ -0,0 +1,248 @@ +* { + border: none; + border-radius: 0; + /* `otf-font-awesome` is required to be installed for icons */ + font-family: Noto Sans, Roboto, Helvetica, Arial, sans-serif; + font-size: 13px; + min-height: 0; +} + +window#waybar { + background-color: rgba(43, 48, 59, 1); + border-bottom: 1px solid rgba(100, 114, 125, 0.5); + color: #ffffff; + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 1; +} + +/* +window#waybar.empty { + background-color: transparent; +} +window#waybar.solo { + background-color: #FFFFFF; +} +*/ + +window#waybar.termite { + background-color: #3F3F3F; +} + +window#waybar.chromium { + background-color: #000000; + border: none; +} + +#workspaces button { + padding: 0 5px; + background-color: transparent; + color: #ffffff; + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + border-radius: 0.5; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +#workspaces button:hover { + background: rgba(0, 0, 0, 0.2); + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button.focused { + background-color: #64727D; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces 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: 0 4px; + color: #ffffff; +} + +#window, +#workspaces { + margin: 0 4px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +#clock { + background-color: #64727D; +} + +#custom-disk { + color: #C14F3F; + margin: 0 2px; +} + +#custom-kernel { + color: #51A6E3; + margin: 0 2px; +} + +#custom-cpu { + color: #B63CEC; + margin: 0 2px; +} + +#custom-memory { + color: #CADD8A; + margin: 0 2px; +} + +#custom-clock { + color: #51A6E3; + margin: 0 2px; +} + +#battery { + background-color: #ffffff; + color: #000000; +} + +#battery.charging { + color: #ffffff; + background-color: #26A65B; +} + +@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: #2ecc71; + color: #000000; +} + +#memory { + background-color: #9b59b6; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + color: #328fff; +} + +#network.disconnected { + color: #f53c3c; +} + +#pulseaudio { + color: #d8c60d; +} + +#pulseaudio.muted { + color: #90b1b1; +} + +#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: #2980b9;*/ +} + +#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 { + color: #00b093; + padding: 0 2px; + margin: 0 2px; + min-width: 16px; +} diff --git a/README-i3-i3blocks.md b/README-i3-i3blocks.md index 9e0a25c..07694e3 100644 --- a/README-i3-i3blocks.md +++ b/README-i3-i3blocks.md @@ -8,8 +8,9 @@ dotfiles - My tiling i3 + i3blocks configuration (for Devuan/Debian) * [i3 + i3status](README-i3.md) * [i3 + i3blocks](README-i3-i3blocks.md) * [i3 + polybar](README-i3-polybar.md) +* [sway](README-sway.md) -![i3WM](examples/i3wm.png) +![i3-i3blocks](examples/i3wm.png) ### Installation: diff --git a/README-i3-polybar.md b/README-i3-polybar.md index d3eb8a3..6da4b4b 100644 --- a/README-i3-polybar.md +++ b/README-i3-polybar.md @@ -8,8 +8,9 @@ dotfiles - My tiling i3 + polybar configuration (for Devuan/Debian) * [i3 + i3status](README-i3.md) * [i3 + i3blocks](README-i3-i3blocks.md) * [i3 + polybar](README-i3-polybar.md) +* [sway](README-sway.md) -![i3WM](examples/i3wm-polybar.png) +![i3-polybar](examples/i3wm-polybar.png) ### Installation: @@ -101,17 +102,6 @@ dotfiles - My tiling i3 + polybar configuration (for Devuan/Debian) #gaps outer 2 ```` - * **`Battery Indicator:`** - - * By default, the battery indicator is disabled on i3blocks top bar. - * You can enable it editing the lines on `~/.config/i3blocks/config` file: - - ```shell - #[BATTERY] - #command=~/.config/i3blocks/battery/battery_info.sh - #interval=3 - ```` - ### Keys configuration: My list of extra combinations: diff --git a/README-i3.md b/README-i3.md index d025464..66d849c 100644 --- a/README-i3.md +++ b/README-i3.md @@ -8,8 +8,9 @@ dotfiles - My tiling i3 + i3status configuration (for Devuan/Debian) * [i3 + i3status](README-i3.md) * [i3 + i3blocks](README-i3-i3blocks.md) * [i3 + polybar](README-i3-polybar.md) +* [sway](README-sway.md) -![i3WM](examples/i3wm-i3status.png) +![i3-i3status](examples/i3wm-i3status.png) ### Installation: @@ -83,7 +84,7 @@ dotfiles - My tiling i3 + i3status configuration (for Devuan/Debian) * **`Wallpaper:`** - * By default, the config load wallpaper on `~/wallpapers/abstract.png`: + * By default, the config load wallpaper on `~/wallpapers/dark-city.jpg`: * Edit `~/.config/i3/config` for set your favorite wallpaper: ```shell @@ -100,17 +101,6 @@ dotfiles - My tiling i3 + i3status configuration (for Devuan/Debian) #gaps outer 2 ```` - * **`Battery Indicator:`** - - * By default, the battery indicator is disabled on i3blocks top bar. - * You can enable it editing the lines on `~/.config/i3blocks/config` file: - - ```shell - #[BATTERY] - #command=~/.config/i3blocks/battery/battery_info.sh - #interval=3 - ```` - ### Keys configuration: My list of extra combinations: diff --git a/README-spectrwm-polybar.md b/README-spectrwm-polybar.md index 0230f8b..f7f26c7 100644 --- a/README-spectrwm-polybar.md +++ b/README-spectrwm-polybar.md @@ -8,8 +8,9 @@ dotfiles - My tiling spectrwm + polybar configuration (for Devuan/Debian) * [i3 + i3status](README-i3.md) * [i3 + i3blocks](README-i3-i3blocks.md) * [i3 + polybar](README-i3-polybar.md) +* [sway](README-sway.md) -![spectrwm](examples/spectrwm-polybar.png) +![spectrwm-polybar](examples/spectrwm-polybar.png) ### Installation: diff --git a/README-sway.md b/README-sway.md new file mode 100644 index 0000000..76f20cc --- /dev/null +++ b/README-sway.md @@ -0,0 +1,137 @@ +dotfiles - My tiling sway configuration (for Devuan/Debian) +==================================================================== + +### My configurations: + +* [spectrwm](README.md) +* [spectrwm + polybar](README-spectrwm-polybar.md) +* [i3 + i3status](README-i3.md) +* [i3 + i3blocks](README-i3-i3blocks.md) +* [i3 + polybar](README-i3-polybar.md) +* [sway](README-sway.md) + +![sway](examples/sway.png) + +### Installation: + + * **`Install dependencies:`** + + * Open the terminal and type the following commands: + + ```shell + $ sudo apt-get install sway swaybg wlr-randr wdisplays wofi meson waybar \ + wayland-protocols libwlroots6 libcairo2 libpango-1.0-0 libgdk-pixbuf2.0-0 \ + libpcre++0v5 libjson-c5 xwayland libwayland-egl1-mesa libwayland-bin \ + xdg-desktop-portal-wlr wf-recorder arc-theme breeze-cursor-theme fonts-noto \ + papirus-icon-theme lxappearance weston slurp grim jq wl-clipboard pnmixer conky \ + xterm exa fish bat zsh dmenu fzf apcalc rofi engrampa xarchiver mpv ffmpeg \ + pcmanfm ranger vlc vim geany git nodejs node-base python3 npm make cmake gcc cargo \ + neofetch screenfetch lm-sensors pavucontrol xscreensaver alsa-utils ristretto + ```` + * I use `Connman` instead of `NetWorkManager` (`don't install if you prefer or use NetWorkManager`): + + ```shell + $ sudo apt-get install connman connman-gtk connman-ui connman-vpn + ```` + + * **`Install alacritty:`** + + * Clone repository and run the scripts for installation: + + ```shell + $ git clone https://github.com/q3aql/dotfiles + $ cd dotfiles + $ chmod +x alacritty-install.sh + $ sudo ./alacritty-install.sh + ```` + + * **`Install configuration (dotfiles):`** + + * Clone repository and copy files to your home: + + ```shell + $ git clone https://github.com/q3aql/dotfiles + $ cd dotfiles + $ cp -rfv .* ~/ + $ cp -rfv * ~/ + ```` + +### Configuration: + + * **`Network Manager (Connman or NetWorkManager):`** + + * By default is enabled `NetWorkManager` as network manager: + * If you prefer NetWorkManager, edit the file `~/.config/i3/config`: + + ```shell + #exec --no-startup-id connman-gtk --tray & + exec --no-startup-id nm-applet & + ```` + + * **`Monitor & resolution:`** + + * The configuration load my monitor configuration: + * Use the command `wlr-randr` for show your config & edit the file `~/.config/sway/startwlrrandr.sh`: + + ```shell + sleep 2 + wlr-randr --output DP-1 --custom-mode 1280x1024@75Hz --pos 288,0 + wlr-randr --output DP-2 --custom-mode 1280x1024@75Hz --transform 90 --pos 1568,0 + ```` + + * **`Wallpaper:`** + + * By default, the config load wallpaper on `~/wallpapers/dark-city.jpg`: + * Edit `~/.config/sway/config` for set your favorite wallpaper: + + ```shell + exec --no-startup-id "swaybg -i ~/wallpapers/dark-city.jpg -m fill" + ```` + + * **`Layout:`** + + * By default, the config load my spanish layout.: + * Edit `~/.config/sway/config` for set your configuration: + + ```shell + # Input layout + input * { + #xkb_layout "us" + xkb_layout "es" + #xkb_variant "colemak" + } + ```` + +### Keys configuration: + +My list of extra combinations: + + - Super + d = Open Dmenu + - Super + p = Open Wofi (run mode) + - Super + q = Open Rofi (window mode) + - Super + o = Open Wofi (drun mode) + - Super + b = Open Firefox + - Super + n = Open PCManFM + - Super + t = Open Wayland-Screenshooter + - Super + g = Open Geany + - Super + m = Open Telegram + - Super + z = Open Wf-Recorder (Screen video recorder) + - Super + x = Open Wdisplays + - Super + u = Open Xterm + - Super + i = Open LXAppearance + - Super + c = Open NetWorkManager + - Volume-Up = Volume +5 + - Volume-Down = Volume -5 + - VolumeMute = Mute Volume + - Super + Ctrl + Shift + e = Poweroff screen + - Super + Shit + e = Logout + - Super + Backspace = Open menu Logout/Reboot/Shutdown + +### External links: + +* [Antonio Sarosi](https://github.com/antoniosarosi/dotfiles/) +* [Derek Taylor](https://gitlab.com/dwt1/dotfiles/) +* [TWB0109](https://github.com/TWB0109/PDots) +* [i3-style](https://github.com/altdesktop/i3-style) +* [addy-dclxvi](https://github.com/addy-dclxvi/i3-starterpack) +* [i3-gaps](https://github.com/Airblader/i3) diff --git a/README.md b/README.md index 4ffd402..99643d2 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -dotfiles - My tiling spectrwm & i3 configurations (for Devuan/Debian) -===================================================================== +dotfiles - My tiling spectrwm, i3 & sway configurations (for Devuan/Debian) +=========================================================================== ### My configurations: @@ -8,6 +8,7 @@ dotfiles - My tiling spectrwm & i3 configurations (for Devuan/Debian) * [i3 + i3status](README-i3.md) * [i3 + i3blocks](README-i3-i3blocks.md) * [i3 + polybar](README-i3-polybar.md) +* [sway](README-sway.md) ![spectrwm](examples/spectrwm.png) diff --git a/examples/sway.png b/examples/sway.png new file mode 100644 index 0000000..4779672 Binary files /dev/null and b/examples/sway.png differ