From d0e7c5b5a7dcb3747811ae64edb443ef435218ff Mon Sep 17 00:00:00 2001 From: AnInternetTroll Date: Tue, 17 May 2022 21:24:34 +0200 Subject: Add sway config --- .config/picom.conf | 16 +++ .config/rofi/config.rasi | 12 +- .config/rofi/rofi/config.rasi | 93 ------------- .config/sway/config | 300 ++++++++++++++++++++++++++++++++++++++++++ .config/waybar/config | 172 ++++++++++++++++++++++++ .config/waybar/style.css | 269 +++++++++++++++++++++++++++++++++++++ .gitmodules | 8 +- 7 files changed, 770 insertions(+), 100 deletions(-) create mode 100644 .config/picom.conf delete mode 100644 .config/rofi/rofi/config.rasi create mode 100644 .config/sway/config create mode 100644 .config/waybar/config create mode 100644 .config/waybar/style.css diff --git a/.config/picom.conf b/.config/picom.conf new file mode 100644 index 0000000..855660a --- /dev/null +++ b/.config/picom.conf @@ -0,0 +1,16 @@ +wintypes: +{ + dropdown_menu = { opacity = 1.0; } +}; + +blur: +{ + + method = "gaussian"; + + + size = 10; + + deviation = 5.0; +}; + diff --git a/.config/rofi/config.rasi b/.config/rofi/config.rasi index 7f633a0..513a94b 100644 --- a/.config/rofi/config.rasi +++ b/.config/rofi/config.rasi @@ -22,12 +22,12 @@ element-text, element-icon { * { dark-black: #1e2122; - bg-col: #222526; - border-col: #282b2c; - selected-col: #282b2c; - blue: #8dae88; - fg-col: #d4be98; - fg-col2: #df736d; + bg-col: #282a36; + border-col: #6272a4; + selected-col: #44475a; + blue: #bd93f9; + fg-col: #f8f8f2; + fg-col2: #ff5555; width: 600; } diff --git a/.config/rofi/rofi/config.rasi b/.config/rofi/rofi/config.rasi deleted file mode 100644 index 513a94b..0000000 --- a/.config/rofi/rofi/config.rasi +++ /dev/null @@ -1,93 +0,0 @@ -configuration{ - modi: "drun"; - lines: 5; - font: "Iosevka 12"; - show-icons: true; - icon-theme: "Oranchelo"; - terminal: "alacritty"; - drun-display-format: "{icon} {name}"; - display-drun: "  "; - location: 0; - separator-style: "solid"; - disable-history: false; - hide-scrollbar: true; -} - -@theme "/dev/null" - -element-text, element-icon { - background-color: inherit; - text-color: inherit; -} - -* { - dark-black: #1e2122; - bg-col: #282a36; - border-col: #6272a4; - selected-col: #44475a; - blue: #bd93f9; - fg-col: #f8f8f2; - fg-col2: #ff5555; - width: 600; -} - -window { - padding: 20px; - height: 360px; - border: 3px; - border-color: @border-col; - background-color: @bg-col; -} - -mainbox { - padding: 5px; - border-radius: 13px; - background-color: @bg-col; -} - -inputbar { - children: [prompt,entry]; - background-color: @bg-col; - border-radius: 5px; - padding: 2px; -} - -prompt { - background-color: @blue; - padding: 5px 5px 0px; - text-color: @bg-col; - border-radius: 3px; -} - -textbox-prompt-colon { - expand: false; - str: ":"; -} - -entry { - padding: 6px; - text-color: @fg-col; - background-color: @bg-col; -} - -listview { - border: 0px 0px 0px; - padding: 6px 0px 0px; - columns: 2; - background-color: @bg-col; -} - -element { - padding: 5px; - background-color: @bg-col; - text-color: @fg-col ; -} - -element-icon { - size: 25px; -} - -element selected { - background-color: @selected-col ; - text-color: @fg-col2 ; -} diff --git a/.config/sway/config b/.config/sway/config new file mode 100644 index 0000000..18cd7e8 --- /dev/null +++ b/.config/sway/config @@ -0,0 +1,300 @@ +# vi: ft=sh +# Default config for sway +# +# Copy this to ~/.config/sway/config and edit it to your liking. +# +# Read `man 5 sway` for a complete reference. + +### 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 +set $gtk-theme Matcha-dark-sea +set $icon-theme Papirus-Dark-Maia +set $cursor-theme xcursor-breeze +set $gui-font Roboto 11 +set $term-font PragmataPro Mono 11 +set $kvantum-theme Matcha-Dark + +set $color0 #000000 +set $color1 #ff5555 +set $color2 #50fa7b +set $color3 #f1fa8c +set $color4 #bd93f9 +set $color5 #ff79c6 +set $color6 #8be9fd +set $color7 #bbbbbb +set $color8 #555555 +set $color9 #ff5555 +set $color10 #50fa7b +set $color11 #f1fa8c +set $color12 #bd93f9 +set $color13 #ff79c6 +set $color14 #8be9fd +set $color15 #ffffff + +# set $background-color $color0 +set $background-color #1e1f29 +# set $text-color $color6 +set $text-color #f8f8f2 +# set $selection-color $color1 +set $selection-color #44475a +# set $accent-color $color12 +set $accent-color #ffffff + +# Basic color configuration using the Base16 variables for windows and borders. +# Property Name Border BG Text Indicator Child Border +client.focused $color5 $color12 $color0 $color12 $color12 +client.focused_inactive $color1 $color1 $color5 $color3 $color1 +#client.unfocused $color1 $color0 $color5 $color1 $color1 +client.urgent $color8 $color8 $color0 $color8 $color8 +client.placeholder $color0 $color0 $color5 $color0 $color0 +client.background $color7 + +default_border pixel 8 +xwayland enable + +# Applications +set $term alacritty +# Note: pass the final command to swaymsg so that the resulting window can be opened +# on the original workspace that the command was run on. +set $menu wofi --show drun -Ii -w 3 +set $screenshot flameshot gui +set $toggle_layout input "2821:6228:Asus_Keyboard" xkb_switch_layout next +set $lock dm-tool lock +set $toggle_bar killall -SIGUSR1 waybar + +### Output configuration +# +# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) +output * bg /usr/share/backgrounds/background.png fill +output eDP-1 scale 1 +output eDP-1 adaptive_sync on +# You can get the names of your outputs by running: swaymsg -t get_outputs + +### Idle configuration + +# 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. +exec swayidle -w \ + timeout 300 'swaylock -f -c 000000' \ + timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \ + before-sleep 'swaylock -f -c 000000' + + +### Input configuration +input "2821:6228:Asus_Keyboard" xkb_layout us,no + +# You can get the names of your inputs by running: swaymsg -t get_inputs +# Read `man 5 sway-input` for more information about this section. + +### Key bindings +# Basics: + + # Start a terminal + bindsym $mod+Return exec $term + + # Kill focused window + bindsym $mod+q kill + + # Start your launcher + bindsym $mod+c exec $menu + + # Screenshot + bindsym $mod+Shift+s exec $screenshot + + # Lock screen + bindsym $mod+x exec $lock + + bindsym $mod+Shift+b exec $toggle_bar + + # Brightness + bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- + bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ + + # Volume keys + bindsym --locked XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle + bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% + bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% + bindsym --locked XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle + + + bindsym --locked XF86AudioPlay exec playerctl play-pause + bindsym --locked XF86AudioNext exec playerctl next + bindsym --locked XF86AudioPrev exec playerctl previous + + # Toggle keyboard layout + bindsym $mod+Shift $toggle_layout + + bindsym $mod+Tab workspace back_and_forth + + # 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 + smart_gaps on + mouse_warping output + + # Reload the configuration file + bindsym $mod+Shift+r reload + + # Exit sway (logs you out of your Wayland session) + bindsym $mod+Ctrl+q 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' +# +# 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 +# +# Workspaces: +# + # Switch to workspace + bindsym $mod+1 workspace number 1 + bindsym $mod+2 workspace number 2 + bindsym $mod+3 workspace number 3 + bindsym $mod+4 workspace number 4 + bindsym $mod+5 workspace number 5 + bindsym $mod+6 workspace number 6 + bindsym $mod+7 workspace number 7 + bindsym $mod+8 workspace number 8 + bindsym $mod+9 workspace number 9 + bindsym $mod+0 workspace number 10 + + bindsym $mod+Left workspace prev + bindsym $mod+Right workspace next + # 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: +# + # 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+v 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" + +# +# Status Bar: +# +# Read `man 5 sway-bar` for more information about this section. +bar { + swaybar_command waybar +} + +input "type:touchpad" { + left_handed enabled + tap enabled + natural_scroll enabled + dwt enabled + accel_profile "flat" # disable mouse acceleration (enabled by default; to set it manually, use "adaptive" instead of "flat") + pointer_accel 0.5 # set mouse sensitivity (between -1 and 1) +} + +exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK +exec dunst +exec nm-applet --indicator +exec blueman-applet +exec thunar --daemon +exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK +exec hash dbus-update-activation-environment 2>/dev/null && \ + dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK + +exec export SDL_VIDEODRIVER=wayland +exec export _JAVA_AWT_WM_NONREPARENTING=1 +exec export QT_QPA_PLATFORM=wayland +exec export XDG_CURRENT_DESKTOP=sway +exec export XDG_SESSION_DESKTOP=sway + + +include /etc/sway/config.d/* diff --git a/.config/waybar/config b/.config/waybar/config new file mode 100644 index 0000000..f010fa3 --- /dev/null +++ b/.config/waybar/config @@ -0,0 +1,172 @@ +// vi: ft=jsonc +{ + // "layer": "top", // Waybar at top layer + // "position": "bottom", // Waybar position (top|bottom|left|right) + //"height": 30, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + "spacing": 4, // Gaps between modules (4px) + // Choose the order of the modules + "modules-left": [ + "sway/workspaces" + //"sway/mode" + ], + "modules-center": [ + "sway/window" + ], + "modules-right": [ + //"mpd", + //"idle_inhibitor", + "sway/language", + "pulseaudio", + "backlight", + "battery", + "battery#bat2", + //"network", + "cpu", + "memory", + "temperature", + "sway/keyboard", + "clock", + "tray" + ], + // Modules configuration + "sway/workspaces": { + "max-width": 100, + "disable-scroll": false, + "all-outputs": false, + "format": "{name} {icon}", + "format-icons": { + "urgent": "", + "focused": "", + "default": "" + } + }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon} {state}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "sway/keyboard": { + "format": "{short} {variant}", + "on-click": "swaymsg input type:keyboard xkb_switch_layout next" + }, + "sway/mode": { + "format": "{}", + "max-length": 50, + "tooltip": true + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + "icon-size": 21, + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}", + "format": "{:%H:%M:%S}", + "interval": 1 + }, + "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": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "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" + } +} + diff --git a/.config/waybar/style.css b/.config/waybar/style.css new file mode 100644 index 0000000..9580d35 --- /dev/null +++ b/.config/waybar/style.css @@ -0,0 +1,269 @@ +@define-color background #282a36; +@define-color current-line #44475a; +@define-color foreground #f8f8f2; +@define-color comment #6272a4; +@define-color cyan #8be9fd; +@define-color green #50fa7b; +@define-color orange #ffb86c; +@define-color pink #ff79c6; +@define-color purple #bd93f9; +@define-color red #ff5555; +@define-color yellow #f1fa8c; + +* { + /* `otf-font-awesome` is required to be installed for icons */ + font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; + font-size: 20px; +} + +window#waybar { + background-color: rgba(40, 42, 54, 0.5); + border-bottom: 3px solid @current-line; + color: @foreground; + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +/* +window#waybar.empty { + background-color: transparent; +} +window#waybar.solo { + background-color: #FFFFFF; +} +*/ + +window#waybar.termite { + background-color: #3F3F3F; +} + +window#waybar.chromium { + background-color: @background; + border: none; +} + +#workspaces button { + padding: 0 5px; + background-color: transparent; + color: @foreground; + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each workspace name */ + border: none; + border-radius: 0; +} + +/* 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, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#mpd { + padding: 0 10px; + color: @foreground; +} + +#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: @comment; +} + +#battery { + background-color: #ffffff; + color: @background; +} + +#battery.charging, #battery.plugged { + color: #ffffff; + background-color: @background; +} + +@keyframes blink { + to { + background-color: #ffffff; + color: @background; + } +} + +#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: @background; +} + +#cpu { + background-color: @green; + color: @background; +} + +#memory { + background-color: @purple; +} + +#disk { + background-color: @pink; +} + +#backlight { + background-color: @comment; +} + +#network { + background-color: @cyan; +} + +#network.disconnected { + background-color: @red; +} + +#pulseaudio { + background-color: @yellow; + color: @background; +} + +#pulseaudio.muted { + background-color: @red; + color: @background; +} + +#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 { + color: @background; + background-color: @orange; +} + +#temperature.critical { + background-color: #eb4d4b; +} + +/* +#tray { + background-color: #2980b9; +} +*/ + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +#idle_inhibitor { + background-color: #2d3436; +} + +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; +} + +#mpd { + background-color: @red; + color: #2a5c45; +} + +#mpd.disconnected { + background-color: #f53c3c; +} + +#mpd.stopped { + background-color: #90b1b1; +} + +#mpd.paused { + background-color: #51a37a; +} + +#language { + background: @cyan; + color: @background; + padding: 0 5px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state { + background: @cyan; + color: @background; + padding: 0 0px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state > label { + padding: 0 5px; +} + +#keyboard-state > label.locked { + background: rgba(0, 0, 0, 0.2); +} diff --git a/.gitmodules b/.gitmodules index fd5bdf9..400837d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,9 @@ [submodule ".config/alacritty/themes/dracula"] path = .config/alacritty/themes/dracula - url = git@github.com:dracula/alacritty.git + url = https://github.com/github.com/dracula/alacritty.git + + +[submodule ".config/wofi"] + path = .config/wofi + url = https://github.com/github.com/dracula/wofi.git + -- cgit v1.2.3