Adding sway, waybar, wofi and other things

This commit is contained in:
Chris Cochrun 2021-03-24 08:23:52 -05:00
parent b0cb73adda
commit 3b6d7cac88
5 changed files with 444 additions and 49 deletions

View file

@ -1873,7 +1873,7 @@ c.statusbar.show = "always"
## - tabs: Current active tab, e.g. `2`. ## - tabs: Current active tab, e.g. `2`.
## - keypress: Display pressed keys when composing a vi command. ## - keypress: Display pressed keys when composing a vi command.
## - progress: Progress bar for the current page loading. ## - progress: Progress bar for the current page loading.
# c.statusbar.widgets = ['keypress', 'url', 'scroll', 'history', 'tabs', 'progress'] c.statusbar.widgets = ['keypress', 'url', 'scroll', 'history', 'progress']
## Open new tabs (middleclick/ctrl+click) in the background. ## Open new tabs (middleclick/ctrl+click) in the background.
## Type: Bool ## Type: Bool

221
sway/config Normal file
View file

@ -0,0 +1,221 @@
# Default config for sway
#
### Basic Variables
set $mod Mod4
set $left h
set $down j
set $up k
set $right l
set $term alacritty
set $menu wofi --show drun | xargs swaymsg exec --
### Output configuration
output * bg ~/Pictures/wallpapers/RoyalKing.png fill
output eDP-1 pos 0 0
output DP-3 pos 3000 0
### Idle configuration
#
# Example configuration:
#
# 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'
#
# 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
# Keyboard
input type:keyboard {
repeat_delay 180
repeat_rate 200
}
# Mouse
input type:touchpad {
tap enabled
tap_button_map lrm
natural_scroll enabled
dwt enabled
pointer_accel 0.3
}
### Style
gaps outer 10
gaps inner 10
smart_gaps on
default_border none
font pango: VictorMono Nerd Font 10
titlebar_border_thickness 1
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Return exec $term
# Kill focused window
bindsym $mod+c kill
# Start your launcher
bindsym Menu 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+Ctrl+r reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Ctrl+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'
#
# 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
# 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"
### Audio
### Launchers
set $mode_launcher Launcher
bindsym $mod+o mode "$mode_launcher"
mode "$mode_launcher" {
bindsym e exec emacsclient -c &
bindsym b exec qutebrowser
bindsym Return mode "default"
bindsym Escape mode "default"
}
#
# Status Bar:
#
# Read `man 5 sway-bar` for more information about this section.
bar {
swaybar_command waybar
workspace_buttons yes
}
exec emacs --daemon
exec mako
xwayland enable
include /etc/sway/config.d/*

View file

@ -1,57 +1,33 @@
{ {
// "layer": "top", // Waybar at top layer // "layer": "top", // Waybar at top layer
// "position": "bottom", // Waybar position (top|bottom|left|right) "position": "bottom", // Waybar position (top|bottom|left|right)
"height": 30, // Waybar height (to be removed for auto height) "height": 20, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width // "width": 1280, // Waybar width
// Choose the order of the modules // Choose the order of the modules
"modules-left": [], "modules-left": ["sway/workspaces", "sway/mode", "sway/window"],
"modules-center": ["clock"], "modules-center": ["clock"],
"modules-right": ["pulseaudio", "network", "cpu", "memory", "temperature", "battery", "battery#bat2", "tray"], "modules-right": ["pulseaudio", "network", "cpu", "memory", "temperature", "battery", "battery#bat2", "tray"],
"margin-top": 5,
"margin-bottom": 5,
// Modules configuration // Modules configuration
// "sway/workspaces": { "sway/workspaces": {
// "disable-scroll": true, "disable-scroll": true,
// "all-outputs": true, "all-outputs": true,
// "format": "{name}: {icon}", "format": "{icon}",
// "format-icons": { "format-icons": {
// "1": "", "1": "",
// "2": "", "2": "",
// "3": "", "3": "",
// "4": "", "4": "",
// "5": "", "5": "",
// "urgent": "", "urgent": "",
// "focused": "", "focused": "",
// "default": "" "default": ""
// } }
// }, },
"sway/mode": { "sway/mode": {
"format": "<span style=\"italic\">{}</span>" "format": "<span style=\"italic\">{}</span>"
}, },
"mpd": {
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ ",
"format-disconnected": "Disconnected ",
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
"unknown-tag": "N/A",
"interval": 2,
"consume-icons": {
"on": " "
},
"random-icons": {
"off": "<span color=\"#f53c3c\"></span> ",
"on": " "
},
"repeat-icons": {
"on": " "
},
"single-icons": {
"on": "1 "
},
"state-icons": {
"paused": "",
"playing": ""
},
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)"
},
"idle_inhibitor": { "idle_inhibitor": {
"format": "{icon}", "format": "{icon}",
"format-icons": { "format-icons": {
@ -74,7 +50,7 @@
"tooltip": false "tooltip": false
}, },
"memory": { "memory": {
"format": "{}% " "format": "{}% "
}, },
"temperature": { "temperature": {
// "thermal-zone": 2, // "thermal-zone": 2,
@ -104,12 +80,24 @@
"format-icons": ["", "", "", "", ""] "format-icons": ["", "", "", "", ""]
}, },
"battery#bat2": { "battery#bat2": {
"bat": "BAT2" "bat": "BAT2",
"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": ["", "", "", "", ""]
}, },
"network": { "network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface // "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{essid} ({signalStrength}%) ", "format-wifi": "{essid} ({signalStrength}%) ",
"format-ethernet": "{ifname}: {ipaddr}/{cidr} ", "format-ethernet": "{ifname}: {ipaddr}",
"format-linked": "{ifname} (No IP) ", "format-linked": "{ifname} (No IP) ",
"format-disconnected": "Disconnected ⚠", "format-disconnected": "Disconnected ⚠",
"format-alt": "{ifname}: {ipaddr}/{cidr}" "format-alt": "{ifname}: {ipaddr}/{cidr}"
@ -144,5 +132,18 @@
"escape": true, "escape": true,
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder "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 // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
},
"wlr/taskbar": {
"format": "<span style='italic'>{icon} {title}</span>",
"icon-size": 20,
"icon-theme": "Papirus-Dark",
"tooltip-format": "{title}",
"max-length": 30,
"on-click": "activate",
"on-click-middle": "close"
},
"sway/window": {
"format": " {} ",
"max-length": 60,
} }
} }

171
waybar/style.css Normal file
View file

@ -0,0 +1,171 @@
@define-color base00 #282a36;
@define-color base01 #34353e;
@define-color base02 #43454f;
@define-color base03 #78787e;
@define-color base04 #a5a5a9;
@define-color base05 #e2e4e5;
@define-color base06 #eff0eb;
@define-color base07 #f1f1f0;
@define-color base08 #ff5c57;
@define-color base09 #ff9f43;
@define-color base0A #f3f99d;
@define-color base0B #5af78e;
@define-color base0C #9aedfe;
@define-color base0D #57c7ff;
@define-color base0E #ff6ac1;
@define-color base0F #b2643c;
* {
border: none;
border-radius: 0;
font-family: VictorMono Nerd Font;
font-size: 12px;
font-weight: bold;
box-shadow: none;
text-shadow: none;
transition-duration: 0s;
}
window {
color: @base05;
background: rgba(1, 1, 1, 0.0);
}
window#waybar.solo {
background: rgba(1, 1, 1, 0.40);
}
#workspaces {
border-radius: 20px;
margin-left: 10px;
padding-right: 10px;
background: rgba(40, 42, 54, 0.85);
transition: none;
}
#workspaces button {
transition: none;
color: rgba(217, 216, 216, 0.4);
background: transparent;
}
#workspaces button.visible {
color: rgba(217, 216, 216, 1);
}
#workspaces button.focused {
color: #9aedfe;
}
#workspaces button:hover {
transition: none;
box-shadow: inherit;
text-shadow: inherit;
color: #ff79c6;
}
#workspaces button.urgent {
color: rgba(238, 46, 36, 1);
}
#mode, #battery, #cpu, #memory, #network, #pulseaudio, #idle_inhibitor, #backlight, #custom-storage, #custom-spotify, #custom-weather, #custom-mail {
margin: 0px 6px 0px 5px;
min-width: 25px;
}
#clock {
margin-left: 2px;
margin-right: 2px;
padding-left: 10px;
padding-right: 10px;
border-radius: 20px;
transition: none;
color: #4d4d4d;
background: rgba(107, 142, 35, 0.85);
}
#backlight {
margin-left: 2px;
margin-right: 2px;
padding-left: 5px;
padding-right: 5px;
border-radius: 20px;
transition: none;
color: #4d4d4d;
background: rgba(188, 143, 143, 0.85);
}
#battery.warning {
color: rgba(255, 210, 4, 1);
}
#battery.critical {
color: rgba(238, 46, 36, 1);
}
#battery.charging {
color: rgba(217, 216, 216, 1);
}
#pulseaudio {
margin-left: 2px;
margin-right: 2px;
padding-left: 10px;
padding-right: 10px;
border-radius: 20px;
transition: none;
color: #4d4d4d;
background: rgba(189, 183, 107, 0.85);
}
#network {
margin-left: 2px;
margin-right: 2px;
padding-left: 10px;
padding-right: 14px;
border-radius: 20px;
transition: none;
color: #4d4d4d;
background: rgba(189, 183, 107, 0.85);
}
#cpu {
margin-left: 2px;
margin-right: 2px;
padding-left: 10px;
padding-right: 10px;
border-radius: 20px;
transition: none;
color: #4d4d4d;
background: rgba(205, 92, 92, 0.85);
}
#battery {
margin-left: 2px;
margin-right: 2px;
padding-left: 10px;
padding-right: 18px;
border-radius: 20px;
transition: none;
color: #4d4d4d;
background: rgba(176, 196, 222, 0.85);
}
#battery.bat2 {
margin-right: 10px;
}
#memory {
margin-left: 2px;
margin-right: 2px;
padding-left: 10px;
padding-right: 10px;
border-radius: 20px;
transition: none;
color: #4d4d4d;
background: rgba(222, 184, 135, 0.85);
}
#tray {
margin-right: 10px;
}

2
wofi/config Normal file
View file

@ -0,0 +1,2 @@
width=60%
height=50%