Compare commits

...

94 Commits

Author SHA1 Message Date
39745885c2 Enable VFR at Hyprland 2025-08-20 16:15:25 -05:00
af79a7c09c Use less stepped-on env file location for proj 2025-08-19 17:45:48 -05:00
ade6aba195 Fix socket 2025-07-09 12:43:20 -05:00
b3777d53a9 Cleaning up some vim plugins 2025-06-29 16:19:32 -05:00
3782f0b76c Disable relative line numbering 2025-05-15 11:38:02 -05:00
4f67e2b9f7 Add memory limits to ollama 2025-05-15 11:37:39 -05:00
e48092d2ae Play with hyprland bounce animations 2025-02-27 02:05:38 -06:00
ee6cf018b7 Set a non-default split ratio for dwindle 2025-02-27 01:56:17 -06:00
84bdaa7bd0 Switch to swapwindow
This more closely mimicks bspwm
2025-02-27 01:48:32 -06:00
bd3063e370 Cleanup 2025-02-27 01:48:20 -06:00
c653114e2c Implement moving into that submap 2025-02-27 01:11:27 -06:00
4efd4c3625 Implement resize submap 2025-02-27 01:05:00 -06:00
90ef8c3271 Set ft to hyprlang in hyprland dots (oops) 2025-02-13 14:24:36 -06:00
926510a96c Re-add moving windows with alt+click 2025-02-13 13:07:56 -06:00
4510be46e7 Use $mainMod when binding hyprexpo 2025-02-13 13:07:41 -06:00
2e538f2a6b Alter window rules 2025-02-09 14:22:02 -06:00
1f9c670dce Rework monitors on dsk-ryzen-1 2025-02-09 14:16:16 -06:00
b26a5435e7 Add module for staged rpm-ostree deployments 2025-02-08 23:31:38 -06:00
13015b5bcb Switch to Feishin, not Spotify 2025-02-07 21:32:23 -06:00
ce15981965 Update .bin 2025-02-07 21:23:20 -06:00
0a64734884 Add plugin conf for hyprexpo 2025-02-04 21:59:30 -06:00
80027dc5bf Replace note with a shell alias to do the note instead 2025-02-04 21:56:12 -06:00
fb488350aa Notate that alias 2025-02-04 21:50:36 -06:00
ffdfbf8220 Add hyprpm toolbox alias 2025-02-04 21:48:38 -06:00
e877892276 Different icon for plugged-in batteries 2025-02-01 03:45:24 -06:00
5445e6de4d Faster battery polling in waybar 2025-02-01 03:41:33 -06:00
f7b3c7728f Remove outdated overview section in README 2025-01-27 05:46:19 -06:00
975f17d1a0 Remove old themes 2025-01-27 05:41:08 -06:00
cd6b8ea9f0 Remove weird scratchpad keybinds 2025-01-24 01:42:04 -06:00
26168e2808 Minor polishing for foot 2025-01-22 01:37:08 -06:00
df4fedf23f Use foot instead of kitty
Yeah really not liking it tbh
2025-01-22 01:33:04 -06:00
8880fde097 Revert "Remove defunct foot config"
This reverts commit a0a38f776d.
2025-01-22 01:30:07 -06:00
770328c432 Add quick script to set the remote to gitea 2025-01-21 02:31:29 -06:00
e362d48c76 Update terraform vim module 2025-01-21 01:07:50 -06:00
d08697c431 Change behavior for opening an app behind a fullscreen one, comment 2025-01-21 01:07:05 -06:00
40bfa59169 Fix some indentation 2025-01-21 01:01:56 -06:00
8e0a3f938b Update .bin 2025-01-16 02:00:49 -06:00
3eb55227d9 Lock on sleep 2025-01-12 05:02:02 -06:00
937e18a6a6 Add brightness controls to hyprland 2025-01-12 03:07:11 -06:00
5705506f4a Launch steam in silent mode 2025-01-11 04:26:53 -06:00
Salt
f3f9d8d634 Add lemp13 config 2025-01-10 18:05:59 -05:00
Jacob Babor
b807c961e5 Update submodules 2025-01-10 16:18:59 -06:00
a130a2600d Update .bin 2025-01-10 14:46:39 -06:00
8e093d3d6b Launch Steam at startup 2025-01-06 02:18:20 -06:00
dceaaf7455 Reenable resizing with mouse
haha oops
2025-01-03 00:03:24 -06:00
b1d83cb9c0 Disable clicky binds 2025-01-01 22:26:26 -06:00
195d36e1c5 Lower time threshold for auto-trashing 2024-12-29 12:08:27 -06:00
83ec5f1ec2 Sort out SuperTurtleIdle backups 2024-12-23 12:21:23 -06:00
d08967c511 Add rule for Steam 2024-12-19 13:52:17 -06:00
Jacob Babor
445d898611 Set focus follows mouse for kitty 2024-12-18 19:53:08 -06:00
Jacob Babor
eb94273ba6 Add broadcaster 2024-12-18 19:22:14 -06:00
Jacob Babor
999e88a03d Remove firestarter from basic desktop stuff 2024-11-27 16:44:54 -06:00
Jacob Babor
9106503ffa Rip out firestarter 2024-11-27 16:39:34 -06:00
Jacob Babor
24a40d2865 Add RDP cleanup to autocategorize 2024-11-27 16:38:55 -06:00
Jacob Babor
319d7c5d49 Autostart OBS 2024-11-13 15:12:51 -06:00
c8cb8c1bcd Fix window rules for pavu on nonwork 2024-11-07 22:45:13 -06:00
Jacob Babor
f4a672b833 Fix a bunch of zoom rules 2024-11-07 22:44:36 -06:00
79034b7ffc Fix swww-daemon forking in multiuser setups 2024-11-06 21:49:47 -06:00
Jacob Babor
87eef60701 Adwaita light because I'm a sociopath 2024-11-05 20:57:14 -06:00
Jacob Babor
c661155c2e Update submodules 2024-11-05 20:51:08 -06:00
Jacob Babor
0845419583 Add Hyprland work config 2024-11-05 20:50:29 -06:00
55efdb4a21 Auto set up remote for git
I finally did the thing
2024-10-27 14:18:03 -05:00
6586a6b450 Tweak some dwindle settings 2024-10-27 13:31:20 -05:00
8cdf4ab033 Prevent multiple hyprlocks 2024-10-26 14:37:09 -05:00
4dea7b99af Darken the update indicator -- it doesn't need that much attention 2024-10-21 12:42:13 -05:00
53617395a9 Set kitty to act like a default xterm-256color
Because so many of my hosts have no clue what the fuck an xterm-kitty is
2024-10-21 12:41:48 -05:00
6c17a0171b Add custom flatpak update module to waybar 2024-10-20 19:32:30 -05:00
1cb07b84c1 Update date more frequently
Yeah, I'm okay with it being wrong for 30 seconds but not 24 hours
2024-10-19 02:31:01 -05:00
e2207863e7 Darken lock screen even more 2024-10-19 02:30:04 -05:00
3bd62f1815 Trim the fug outta kitty 2024-10-18 19:41:04 -05:00
eb4b119b9f Disable confirming closure of windows running programs in kitty 2024-10-18 17:45:36 -05:00
45b93322df Rice hyprlock 2024-10-18 17:44:07 -05:00
c534f35bce Swap to hypridle 2024-10-18 17:16:27 -05:00
4303c84073 Add dysfunctional hypr configs 2024-10-18 17:14:29 -05:00
1b20fb90e9 Remove sway stuff from hyprland 2024-10-18 17:14:20 -05:00
a0a38f776d Remove defunct foot config 2024-10-18 17:07:06 -05:00
6fdf1a9ce3 Update hyprland config 2024-10-18 17:03:45 -05:00
657afe2418 Use kitty --single-instance with some extra flags 2024-10-18 16:56:38 -05:00
1ae6991331 Disable Kitty update checks 2024-10-18 16:51:05 -05:00
f00d347d4c Use Kitty instead of Foot 2024-10-18 16:49:02 -05:00
c29981ac7a Fix spotify rules 2024-10-15 11:27:00 -05:00
e3bba0cdea Bring back spotify 2024-10-12 00:32:03 -05:00
07c370ce48 Fix not starting swww-daemon 2024-09-24 10:17:56 -05:00
f81ba8a211 Fix shit 2024-09-20 19:36:24 -05:00
767d05aae9 Quote more vars 2024-09-20 19:20:15 -05:00
2d827a24dc Add post script 2024-09-20 19:19:32 -05:00
a57acea205 Add more intelligent swww-daemon startup 2024-09-20 19:12:19 -05:00
8d8e9ceabc Maybe hopefully fix keyring stuff 2024-09-17 02:29:34 -05:00
1d22a2aba1 Work through more window rules 2024-09-17 02:17:00 -05:00
ba98f5cdf2 Add indicator for maximized workspaces 2024-09-17 01:43:43 -05:00
4ae3c91d83 Make active workspaces on other monitors a different color again 2024-09-17 01:39:54 -05:00
76bb8e1aa3 Add window name display to waybar 2024-09-17 01:39:06 -05:00
3755c324fd Add LD_LIBRARY_PATH to ollama service 2024-09-14 13:31:38 -05:00
bf0bf38370 Update autocategorize 2024-09-14 13:31:30 -05:00
62850 changed files with 1850 additions and 372590 deletions

6
.gitmodules vendored
View File

@@ -34,9 +34,6 @@
[submodule "vim/.vim/bundle/vim-ansible-yaml"]
path = base/.vim/bundle/vim-ansible-yaml
url = https://github.com/chase/vim-ansible-yaml
[submodule "firestarter/.firestarter"]
path = desktop-common/.firestarter
url = git@git.desu.ltd:salt/firestarter
[submodule "bin/.bin"]
path = base/.bin
url = git@git.desu.ltd:salt/bin
@@ -46,3 +43,6 @@
[submodule "base/.vim/bundle/vim-groovy"]
path = base/.vim/bundle/vim-groovy
url = https://github.com/thecodesmith/vim-groovy
[submodule "base/.vim/bundle/FastFold"]
path = base/.vim/bundle/FastFold
url = https://github.com/Konfekt/FastFold

View File

@@ -16,27 +16,3 @@ stow base # Or whatever config set you want
I would highly recommend using this repository only as a reference and building your own dotfile solution from scratch.
However, I would *also* highly recommend using this stow-based approach instead of putting a bare repo in your home directory. Been there, done that. It sucks, especially if you're the type to diverge configs between machines or just want a subset installed.
## Overview
This stash contains a number of packages for numerous situations. Note that `contrib` is **NOT** a package:
| package | description |
| --- | --- |
| `base` | The base package contains shell and core utility configuration. Other packages do not depend on it; it merely contains basic configuration that I find necessary in every case. |
| `desktop-common` | Common configuration shared across all possible rices. This contains things such as keybindings for applications, Quake configs, Redshift, etc. Configuration files with themes are avoided where possible. |
| `desktop-gruvbox` | My current rice and its accompanying configs. A nice and simple one with Rofi, bspwm, Dunst, Compton, and Polybar. |
| `theme-qt-gruvbox-dark` | A dark mode theme for general use |
| `theme-qt-gruvbox-light` | A light mode for my work user |
| `theme-gruvbox` | A Gruvbox Materia GTK theme and an accompanying Papirus icon theme. |
| `git` | My personal git configuration. Separated from base because sometimes I don't want cockmail on all my commits. |
| `mac` | MacOS-specific configs. Very sparse; I hardly ever have to use one. |
| `ssh` | SSH configuration for my desktop machines. |
Included within are also a handful of management scripts.
| script | description |
| --- | --- |
| `bootleg-stow` | USE AT YOUR OWN RISK. Tries its best to emulate Stow in an environment where it's not available. Should at the very least allow you to install and update these dotfiles without too much headache. |
| `mkdirs.sh` | Creates a directory skeleton to ensure that stateful dirs don't wind up in the repo. Keeps the working copy clean. |
| `submodule-checkout-masters-and-update.sh` | For every submodule in the repo, checks out its master branch (instead of the exact commit specified in the base repo) and then pulls from upstream. Effectively, this updates any submodules in the repo, such as Vim plugins, themes, etc. |

View File

@@ -10,6 +10,8 @@ downloaddir="${XDG_DOWNLOAD_DIR:-$HOME/Downloads}"
documentsdir="${XDG_DOCUMENTS_DIR:-$HOME/Documents}"
picturesdir="${XDG_PICTURES_DIR:-$HOME/Pictures}"
videosdir="${XDG_VIDEOS_DIR:-$HOME/Videos}"
# If we have Nextcloud installed, this will be our backups dir
backupsdir="${HOME}/Nextcloud/Backups"
# Take loose crap out of the home folder
echo "Sorting away videos from homedir..."
@@ -52,19 +54,36 @@ find "$HOME" \
-print \
-exec mv {} ~/Books \;
fi
# Remove RDP stuffs
echo "Removing RDP zone identifiers..."
find "$downloaddir" \
-type f -iname "*:Zone.Identifier" \
-print -delete
# Remove anything that's wicked old
echo "Removing ancient downloads..."
find "$downloaddir" \
-mtime +180 \
-mtime +60 \
-print -delete
# Remove anything kinda old but really big
echo "Removing large downloads..."
find "$downloaddir" \
-mtime +30 -size 10M \
-mtime +30 -size +10M \
-print -delete
# Remove zips, but at a lower tolerance
echo "Removing old zips..."
find "$downloaddir" \
-mtime +30 -type f -iname "*.zip" \
-print -delete
# Sort out Super Turtle Idle automatic backups
[ -d "$backupsdir" ] && {
echo "Sorting out turtle backups..."
mkdir -p "$backupsdir/SuperTurtleIdle"
for file in "$downloaddir"/SuperSaveData-*.json; do
if [ -e "$file" ]; then
lastmod="$(stat -c %y -- "$file")"
echo "Moving backup from $lastmod"
mv "$file" "$backupsdir/SuperTurtleIdle/SuperSaveData-$lastmod.json"
fi
done
}
}

View File

@@ -4,9 +4,12 @@ After=network-online.target
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
Environment="LD_LIBRARY_PATH=/var/home/salt/Projects/ollama/rocm/lib/ollama/"
ExecStart=/home/salt/Projects/ollama/ollama serve
Restart=always
RestartSec=3
MemoryHigh=3G
MemoryMax=4G
[Install]
WantedBy=default.target

View File

@@ -21,7 +21,7 @@ proj() {
cd "$projdir" || return 50
# Run code if we have it
# The fun part is this environment file can access some vars about the proj
local envfile="$projdir/.env"
local envfile="$projdir/.project-env"
if [ -r "$envfile" ]; then
. "$envfile"
echo "Sourced environment file for project"

View File

@@ -26,7 +26,6 @@ _baseshell="$(basename -- "$0")"
for dir in \
"$HOME/.bin" \
"$HOME/.local/bin" \
"$HOME/.firestarter" \
"/usr/local/opt/coreutils/libexec/gnubin" \
"/usr/local/opt/gnu-sed/libexec/gnubin" \
"/usr/local/opt/grep/libexec/gnubin" \
@@ -68,6 +67,14 @@ if [ -f "$brewfix"/bin/brew ]; then
fi
unset brew
# If we have toolbox, assume we're on Wayblue and set up an alias
if has toolbox; then
#toolbox create hyprpm
#toolbox run -c hyprpm sudo dnf -y install hyprland hyprland-devel
alias mktoolbox-hyprpm='toolbox create hyprpm && toolbox run -c hyprpm sudo dnf -y install hyprland hyprland-devel'
alias hyprpm='toolbox run -c hyprpm env HYPRLAND_INSTANCE_SIGNATURE="$HYPRLAND_INSTANCE_SIGNATURE" hyprpm'
fi
# Grab pip completion, if it exists
if has pip; then
case "$_baseshell" in
@@ -109,9 +116,6 @@ for editor in vim vi nano; do
done
# Now for a shitton of aliases
if has firestarter and ! has fs; then
alias fs="firestarter"
fi
if has podman and ! has docker; then
alias docker="podman"
fi

View File

@@ -1,124 +0,0 @@
#! /bin/bash
#
# %FILE%
# Copyright (C) %YEAR% %USER% <%MAIL%>
#
# Distributed under terms of the %LICENSE% license.
#
set -e
# Read-only set-once variables
declare -r _name="$(basename -- "$0")"
# Options
declare -i _opthelp
declare -i _optverbose
# Working variables
declare -a _args
declare _return
# Helper functions
log() {
# Print a line to the terminal if _optverbose is greater than $2
# $2 defaults to 0
# loglevel 0: Daily-use messages
# loglevel 1: Detailed but not quite debugging
# loglevel 2: Definitely debugging
[ -z "$1" ] && return 1
if (( _optverbose >= ${2:-0} )); then
printf "%s\\n" "$1"
fi
}
warn() {
# Print a yellow line to the terminal, respecting _optverbose
[ -z "$1" ] && return 1
if (( _optverbose >= ${2:-0} )); then
if [ -t 1 ]; then
printf "\\e[33m%s\\e[0m\\n" "$1"
else
printf "WARN: %s\\n" "$1"
fi
fi
}
error() {
# Print a red line to the terminal, exit if $2 is specified
[ -z "$1" ] && return 1
if [ -t 2 ]; then
printf "\\e[31m%s\\e[0m\\n" "$1" 1>&2
else
printf "ERROR: %s\\n" "$1" 1>&2
fi
[ -z "$2" ] && return
exit "${2:-1}"
}
has() {
# Parse out all arguments and try to find them in path
# If an argument cannot be found, set _return and fail
for prog in "$@"; do
if ! command -v "$prog" > /dev/null 2>&1; then
_return="$prog"
return 1
fi
done
return 0
}
# Core program functions
printhelp() {
cat << EOF
Usage: $_name [OPTION]...
-h Print this help text
-v Print more status messages. Stacks
Copyright (c) %YEAR% %MAIL%
Licensed under the %LICENSE% license
EOF
}
# Main
main() {
# Parse out arguments
while [ -n "$1" ]; do
# Parse out flags
while getopts ":hv" opt; do
case $opt in
h)
_opthelp=1
;;
v)
_optverbose+=1
;;
:)
error "Option requires argument: -$OPTARG" 2
;;
*)
error "Invalid option: -$OPTARG" 2
;;
esac
done
# Store arguments
shift $((OPTIND - 1))
if [ -n "$1" ]; then
_args+=("$1")
shift
fi
unset OPTIND
done
# Early hook for help
[ -n "$_opthelp" ] && printhelp && exit 0
# Validate critical options
# TODO: That
# Validate core program dependencies
log "Validating dependencies" 2
if ! has basename; then
error "Failed to find program: $_return" 1
fi
# Do the do
# TODO: The do%HERE%
warn "Nothing to do"
exit 0
}
main "$@"

View File

@@ -1,9 +0,0 @@
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
# vim:fenc=utf-8
#
# Copyright © %YEAR% %USER% <%MAIL%>
#
# Distributed under terms of the %LICENSE% license.
%HERE%

View File

@@ -13,7 +13,6 @@ endif
set autoread " Automatically read when a file is changed outside of Vim
set clipboard=unnamedplus " Use XA_PRIMARY clipboard by default
set encoding=utf-8
set foldmethod=syntax
set hidden " Allow buffer switching without saving
set incsearch " Search while you type
set laststatus=2 " Always show statusbar
@@ -21,16 +20,14 @@ set list
set listchars=tab:>·,trail
set modeline
set modelines=5
set nofoldenable " Fuck autofolding
set number relativenumber " Relative line numbering
set number
set t_Co=256
set viminfo='20,<1000,s1000 " Increase buffer size
" Folding
set foldmethod=syntax
"nnoremap <space> za
set nofoldenable " Fuck autofolding
" Templates
let g:email = 'jacob@babor.tech'
let g:user = 'Jacob Babor'
let g:license = 'MIT'
let g:templates_directory = [ '~/.vim/templates' ]
" Lightline
set noshowmode
let g:lightline = {

View File

@@ -3,5 +3,7 @@
name = Jacob Babor
[pull]
rebase = true
[push]
autoSetupRemote = true
[init]
defaultBranch = master

View File

@@ -0,0 +1,68 @@
# vim: set ft=cfg:
[global]
## BEHAVIOR
follow = mouse # Notifications follow the monitor with the mouse
format = "<span font='Bold'>%s</span> <span font='Light'>(%a)</span>\n%b"
hide_duplicate_count = false # Hide count of stacked notifs
ignore_newline = false # Ignore \n (for some reason)
indicate_hidden = true # Show how many messages are currently hidden
idle_threshold = 120 # Time in seconds before user is considered idle
markup = full # Whether to disable markup features (see manpage)
show_age_threshold = 60 # Shows age if message is older than this (in sec)
show_indicators = true # Show hints for interactable notifs
sort = true # Sort messages by urgency.
stack_duplicates = true
timeout = 10 # Time in seconds before the thing fades
## MISC CONFIGURATION
always_run_script = true # Runs scripts for rules even if they're hidden
browser = xdg-open
dmenu = /usr/bin/wofi --dmenu -p dunst:
## WINDOW CONFIGURATION
title = Dunst
class = Dunst
## HISTORY
sticky_history = yes # Notifs pulled from history stay onscreen
history_length = 20 # Buffer size
## LOOKS
# COLORS
# Note that rules defined later on can and will override these
# All colors must be quoted so as to not misinterpret as comments
background= "#fbf1c7cc" # Background of the notification
frame_color = "#f2e5bccc"
separator_color = frame
foreground = "#3c3836" # Font color, for body and title
highlight = "#b8bb26" # Progress bars
# SIZE AND POSITIONING
width = 400
height = 300
offset = 8x8 # This takes into account any bars
corner_radius = 8
transparency = 0
# PROGRESS BAR
progress_bar = true
progress_bar_corner_radius = 8
progress_bar_horizontal_alignment = left
progress_bar_frame_width = 2
progress_bar_height = 8
# INTERIOR FORMATTING
frame_width = 6 # Defines width in pixels of frame
horizontal_padding = 12 # Horizontal padding.
padding = 12 # Padding between text and separator.
separator_height = 4
# TEXT
alignment = left
font = IBM Plex Sans 10
line_height = 0
word_wrap = yes
# ICONS
icon_path = /usr/share/icons/Papirus-Light/48x48/status/:/usr/share/icons/Papirus-Light/48x48/devices/:/usr/share/icons/Papirus-Light/48x48/apps
icon_position = right
icon_corner_radius = 8
max_icon_size = 48
[urgency_critical]
foreground = "#fb4934"

View File

@@ -0,0 +1,321 @@
[global]
### Display ###
# Which monitor should the notifications be displayed on.
monitor = 0
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
# keyboard: follow window with keyboard focus
# none: don't follow anything
#
# "keyboard" needs a window manager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern window managers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = mouse
# The geometry of the window:
# [{width}]x{height}[+/-{x}+/-{y}]
# The geometry of the message window.
# The height is measured in number of notifications everything else
# in pixels. If the width is omitted but the height is given
# ("-geometry x2"), the message window expands over the whole screen
# (dmenu-like). If width is 0, the window expands to the longest
# message displayed. A positive x is measured from the left, a
# negative from the right side of the screen. Y is measured from
# the top and down respectively.
# The width can be negative. In this case the actual width is the
# screen width minus the width defined in within the geometry option.
geometry = "500x8-6+50"
corner_radius = 0
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
# Shrink window if it's smaller than the width. Will be ignored if
# width is 0.
shrink = no
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing window manager is
# present (e.g. xcompmgr, compiz, etc.).
transparency = 0
# The height of the entire notification. If the height is smaller
# than the font height and padding combined, it will be raised
# to the font height and padding.
notification_height = 0
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 4
# Padding between text and separator.
padding = 12
# Horizontal padding.
horizontal_padding = 12
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 4
# Defines color of the frame around the notification window.
frame_color = "#32302f"
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = frame
# Sort messages by urgency.
sort = yes
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
idle_threshold = 120
### Text ###
#font = Monospace 8
font = Roboto 10
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
line_height = 0
# Possible values are:
# full: Allow a small subset of html markup in notifications:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
# server. Dunst will try to strip the markup but the parsing is
# simplistic so using this option outside of matching rules for
# specific applications *IS GREATLY DISCOURAGED*.
#
# no: Disable markup parsing, incoming notifications will be treated as
# plain text. Dunst will not advertise that it has the body-markup
# capability if this is set as a global setting.
#
# It's important to note that markup inside the format option will be parsed
# regardless of what this is set to.
markup = full
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters
# Markup is allowed
format = "<span font='Bold'>%s</span> <span font='Light'>(%a)</span>\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Split notifications into multiple lines if they don't fit into
# geometry.
word_wrap = yes
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Merge multiple notifications with the same content
stack_duplicates = true
# Hide the count of merged notifications with the same content
hide_duplicate_count = false
# Display indicators for URLs (U) and actions (A).
show_indicators = yes
### Icons ###
# Align icons left/right/off
icon_position = right
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 48
# Paths to default icons.
icon_path = /usr/share/icons/Papirus-Dark/48x48/status/:/usr/share/icons/Papirus-Dark/48x48/devices/:/usr/share/icons/Papirus-Dark/48x48/apps
### History ###
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
### Misc/Advanced ###
# dmenu path.
dmenu = /usr/bin/rofi -dmenu -p dunst:
# Browser for opening urls in context menu.
browser = xdg-open
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
# Define the title of the windows spawned by dunst
title = Dunst
# Define the class of the windows spawned by dunst
class = Dunst
# Print a notification on startup.
# This is mainly for error detection, since dbus (re-)starts dunst
# automatically after a crash.
startup_notification = false
### Legacy
# Use the Xinerama extension instead of RandR for multi-monitor support.
# This setting is provided for compatibility with older nVidia drivers that
# do not support RandR and using it on systems that support RandR is highly
# discouraged.
#
# By enabling this setting dunst will not be able to detect when a monitor
# is connected or disconnected which might break follow mode if the screen
# layout changes.
force_xinerama = false
# Experimental features that may or may not work correctly. Do not expect them
# to have a consistent behaviour across releases.
[experimental]
# Calculate the dpi to use on a per-monitor basis.
# If this setting is enabled the Xft.dpi value will be ignored and instead
# dunst will attempt to calculate an appropriate dpi value for each monitor
# using the resolution and physical size. This might be useful in setups
# where there are multiple screens with very different dpi values.
per_monitor_dpi = false
[shortcuts]
# Shortcuts are specified as [modifier+][modifier+]...key
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
# "mod3" and "mod4" (windows-key).
# Xev might be helpful to find names for keys.
# Close notification.
close = mod1+shift+space
# Close all notifications.
close_all = mod1+shift+enter
# Redisplay last message(s).
# On the US keyboard layout "grave" is normally above TAB and left
# of "1". Make sure this key actually exists on your keyboard layout,
# e.g. check output of 'xmodmap -pke'
history = mod1+shift+d
# Context menu.
context = mod1+shift+o
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#282828"
foreground = "#ebdbb2"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
#icon = /path/to/icon
[urgency_normal]
background = "#282828"
foreground = "#ebdbb2"
timeout = 10
# Icon for notifications with normal urgency, uncomment to enable
#icon = /path/to/icon
[urgency_critical]
background = "#282828"
foreground = "#fabd2f"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#icon = /path/to/icon
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
# Messages can be matched by "appname", "summary", "body", "icon", "category",
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
# "background", "new_icon" and "format".
# Shell-like globbing will get expanded.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: if you don't want a notification to be displayed, set the format
# to "".
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# format = ""
#[history-ignore]
# # This notification will not be saved in history
# summary = "foobar"
# history_ignore = yes
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
#
# vim: ft=cfg

View File

@@ -0,0 +1,75 @@
# vim: set ft=config:
# Some default env vars.
env = XCURSOR_SIZE,24
env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that
env = GTK_THEME,Adwaita:light
general {
# https://wiki.hyprland.org/Configuring/Variables/
gaps_in = 8
gaps_out = 16
border_size = 4
#col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.active_border = rgba(458588ff)
col.inactive_border = rgba(ebdbb2cc)
layout = dwindle
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false
}
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 6
blur {
enabled = false
size = 3
passes = 1
}
drop_shadow = no
shadow_range = 8
shadow_render_power = 3
col.shadow = rgba(282828ee)
}
animations {
# https://wiki.hyprland.org/Configuring/Animations/
enabled = yes
bezier = snappy, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 2, snappy
animation = windowsIn, 1, 1, default
animation = windowsOut, 1, 2, default, popin 80%
animation = layers, 1, 1, default
animation = border, 1, 3, default
animation = borderangle, 1, 8, default
animation = fade, 1, 3, default
animation = workspaces, 1, 1.5, snappy
}
dwindle {
# https://wiki.hyprland.org/Configuring/Dwindle-Layout/
pseudotile = yes # Enables pseudotile functionality
preserve_split = yes # Remember splits
force_split = 2 # Force splits to put the child on the right/down
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_status = master
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = true
workspace_swipe_invert = true
}
misc {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_splash_rendering = true
}
xwayland {
force_zero_scaling = true
}

View File

@@ -0,0 +1,83 @@
# vim: set ft=config:
# https://wiki.hyprland.org/Configuring/Binds/
$mainMod = ALT
# Program opening and closing
bind = $mainMod, Return, exec, kitty --single-instance --wait-for-single-instance-window-close
bind = $mainMod, Q, killactive
bind = $mainMod, Space, exec, pgrep wofi || wofi --show drun
#bind = $mainMod, M, exit,
bind = $mainMod, T, pseudo, # dwindle
bind = $mainMod, F, togglefloating,
bind = $mainMod Shift, F, fullscreen
bind = $mainMod, R, togglesplit, # dwindle
# Dunst management
bind = $mainMod Shift, Space, exec, dunstctl close
bind = $mainMod Shift, Return, exec, dunstctl close-all
bind = $mainMod Shift, D, exec, dunstctl history-pop
bind = $mainMod Shift, O, exec, dunstctl context
# Pulse controls
bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume 0 +5%
bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume 0 -5%
# Screenshots
bind = $mainMod, O, exec, grim -g "$(slurp -d)" - | wl-copy
# pavucontrol controls
bind = $mainMod, P, exec, pgrep pavucontrol || pavucontrol
bind = $mainMod Shift, P, exec, pkill pavucontrol
# Miscellaneous non-movement hotkeys
bind = CTRL ALT, L, exec, loginctl lock-session
# Change focus
bind = $mainMod, h, movefocus, l
bind = $mainMod, j, movefocus, d
bind = $mainMod, k, movefocus, u
bind = $mainMod, l, movefocus, r
# Move the focused window around
bind = $mainMod Shift, h, movewindow, l
bind = $mainMod Shift, j, movewindow, d
bind = $mainMod Shift, k, movewindow, u
bind = $mainMod Shift, l, movewindow, r
# 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
bind = $mainMod, MINUS, workspace, 11
# 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
bind = $mainMod SHIFT, MINUS, movetoworkspace, 11
# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, Period, workspace, e+1
bind = $mainMod, Comma, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

View File

@@ -0,0 +1,13 @@
# vim: set ft=config:
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us
accel_profile = flat
follow_mouse = 1
numlock_by_default = true
touchpad {
# Also sometimes called "Australian Scrolling"
natural_scroll = no
}
sensitivity = 0 # -1.0 to 1.0, 0 means no modification.
}

View File

@@ -0,0 +1,25 @@
# vim: set ft=config:
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# Force all windows to be unable to maximize themselves
# Default rule that ships with hypr
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
# Force pavucontrol to be the center of attention
windowrulev2 = float, center 1, pin, class:^(.*pavucontrol.*)$
windowrulev2 = pin, class:^(.*pavucontrol.*)$
# Zoom is zoom is zoom
windowrulev2 = float, initialTitle:^(zoom_linux_float_video_window)$
windowrulev2 = pin, initialTitle:^(zoom_linux_float_video_window)$
windowrulev2 = float, initialTitle:^(as_toolbar)$
windowrulev2 = pin, initialTitle:^(as_toolbar)$
# Assign specific windows to specific workspaces on launch
windowrulev2 = workspace 8 silent, class:^(org.keepassxc.KeePassXC)$
windowrulev2 = workspace 8 silent, class:^(org.mozilla.Thunderbird)$
windowrulev2 = workspace 8 silent, class:^(Slack)$
windowrulev2 = workspace 9 silent, class:^(.*vesktop.*)$
windowrulev2 = workspace 10 silent, class:^(.*spotube.*)$
windowrulev2 = workspace 10 silent, class:^(.*potify.*)$
windowrulev2 = workspace 10 silent, class:^(im.riot.Riot)$

View File

@@ -0,0 +1,4 @@
# vim: set ft=config:
# See https://wiki.hyprland.org/Configuring/Monitors/
# Fall-through rule that sets sane defaults when possible
monitor=,preferred,auto,auto

View File

@@ -0,0 +1,15 @@
# vim: set ft=config:
# Run this at first to fix up some systemd stuff
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
# Polkit
exec-once = /usr/libexec/xfce-polkit
# Not technically a daemon but required for wallet
exec-once = /usr/libexec/pam_kwallet_init
# Daemons and stuff
exec-once = nm-applet
exec-once = flatpak run com.nextcloud.desktopclient.nextcloud --background
#exec-once = flatpak run io.kopia.KopiaUI
exec-once = waybar
exec-once = wlsunset -T 5300 -t 3500 -g 1

View File

@@ -0,0 +1,3 @@
# vim: set ft=config:
# Configuration for hypridle is in ~/.config/hypr/hypridle.conf
exec-once = hypridle

View File

@@ -0,0 +1,2 @@
# vim: set ft=config:
exec-once = pgrep -U $USER swww-daemon || { rm /run/user/$UID/swww.socket; swww-daemon --format xrgb; }

View File

@@ -0,0 +1,9 @@
# vim: set ft=config:
# Workspace-specific applications
exec-once = [workspace 8 silent] flatpak run org.keepassxc.KeePassXC
#exec-once = [workspace 8 silent] flatpak run org.mozilla.Thunderbird
#exec-once = [workspace 9 silent] flatpak run dev.vencord.Vesktop
exec-once = [workspace 8 silent] flatpak run com.slack.Slack
exec-once = [workspace 9 silent] obs
#exec-once = [workspace 10 silent] flatpak run im.riot.Riot
exec-once = [workspace 10 silent] flatpak run com.spotify.Client

View File

@@ -0,0 +1,2 @@
# vim: set ft=config:
exec-once = test -x "$HOME/.config/hypr/post.sh" && "$HOME/.config/hypr/post.sh"

View File

@@ -0,0 +1,5 @@
# vim: set ft=config:
debug {
# This enables debug logging for troubleshooting
disable_logs = false
}

View File

@@ -0,0 +1,18 @@
# vim: set ft=config:
# See https://wiki.hyprland.org/Configuring/Monitors/
#monitor=eDP-1,preferred,auto,1.3333
monitor = DP-1,preferred,2560x0,1
monitor = DP-2,preferred,0x0,1
workspace = 1, monitor:DP-1
workspace = 2, monitor:DP-1
workspace = 3, monitor:DP-1
workspace = 4, monitor:DP-1
workspace = 5, monitor:DP-1
workspace = 6, monitor:DP-1
workspace = 7, monitor:DP-1
workspace = 8, monitor:DP-2
workspace = 9, monitor:DP-2
workspace = 10, monitor:DP-2
workspace = 11, monitor:DP-2

View File

@@ -0,0 +1,3 @@
# vim: set ft=config:
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=eDP-1,preferred,auto,1.3333

View File

@@ -0,0 +1,8 @@
# Contrib
Scripts and config files that don't necessarily belong in the defaults.
## Usage
Link to any of these files from within config.d to load them up. Use them
to store machine-specific configs or optional scripts.

View File

@@ -0,0 +1,11 @@
# vim: set ft=config:
# for more configuration options, refer https://wiki.hyprland.org/Hypr-Ecosystem/hypridle
general {
lock_cmd = pgrep -u "$USER" hyprlock || hyprlock
unlock_cmd = pkill -xu "$USER" -SIGUSR1 hyprlock
}
listener {
timeout = 900
on-timeout = loginctl lock-session
}

View File

@@ -0,0 +1,3 @@
# vim: set ft=config:
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
source = ~/.config/hypr/config.d/*.conf

View File

@@ -0,0 +1,68 @@
# vim: set ft=config:
# for more configuration options, refer https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock
# General settings
general {
grace = 5
hide_cursor = true
}
# The password input field
input-field {
monitor =
fade_on_empty = true
rounding = 8
outer_color = rgba(50,48,47,0.8)
inner_color = rgba(50,48,47,0.8)
font_color = rgb(235,219,178)
check_color = rgb(250,189,47)
fail_color = rgb(251,73,52)
size = 400, 50
position = 0, -200
}
# The background of the login box
shape {
color = rgba(40,40,40,0.8)
size = 600, 800
position = 0, 0
rounding = 8
}
# A label showing the current time
label {
text = cmd[update:30] echo ""$(date +"%I:%M %p")""
font_size = 48
color = rgb(235,219,178)
position = 0, 250
halign = center
valign = center
}
# A label showing the current date
label {
text = cmd[update:30] echo ""$(date +'%A, %-d %B %Y')""
color = rgb(235,219,178)
position = 0, 150
halign = center
valign = center
}
# The background of the lock screen, behind the box
background {
color = rgba(0,0,0,0.9)
}
# The current user's face
image {
path = ~/.face
border_color = rgba(50,48,47,0.8)
size = 150
position = 0, 0
}
# Name of the current user
label {
text = $USER
color = rgba(235,219,178,0.5)
font_size = 14
position = 0, -100
halign = center
valign = center
}

View File

@@ -0,0 +1,55 @@
# Based on https://github.com/morhetz/gruvbox by morhetz <morhetz@gmail.com>
# Adapted to kitty by wdomitrz <witekdomitrz@gmail.com>
cursor #928374
cursor_text_color background
url_color #83a598
visual_bell_color #8ec07c
bell_border_color #8ec07c
active_border_color #d3869b
inactive_border_color #665c54
foreground #ebdbb2
background #282828
selection_foreground #928374
selection_background #ebdbb2
active_tab_foreground #fbf1c7
active_tab_background #665c54
inactive_tab_foreground #a89984
inactive_tab_background #3c3836
# black (bg3/bg4)
color0 #665c54
color8 #7c6f64
# red
color1 #cc241d
color9 #fb4934
#: green
color2 #98971a
color10 #b8bb26
# yellow
color3 #d79921
color11 #fabd2f
# blue
color4 #458588
color12 #83a598
# purple
color5 #b16286
color13 #d3869b
# aqua
color6 #689d6a
color14 #8ec07c
# white (fg4/fg3)
color7 #a89984
color15 #bdae93

View File

@@ -0,0 +1,44 @@
# vim:fileencoding=utf-8:foldmethod=marker
font_family IBM Plex Mono
font_size 9.0
# url_color #0087bd
# url_style curly
# url_prefixes file ftp ftps gemini git gopher http https irc ircs kitty mailto news sftp ssh
# detect_urls yes
# underline_hyperlinks hover
enable_audio_bell no
focus_follows_mouse yes
confirm_os_window_close 0
background_opacity 0.8
include ~/.config/kitty/gruvbox.conf
# Why the fuck does my terminal need to do this?
update_check_interval 0
# Launch a kitty that can be broadcast to
map f1 launch --allow-remote-control kitty +kitten broadcast --match-tab state:focused
# shell_integration enabled
#: Enable shell integration on supported shells. This enables features
#: such as jumping to previous prompts, browsing the output of the
#: previous command in a pager, etc. on supported shells. Set to
#: disabled to turn off shell integration, completely. It is also
#: possible to disable individual features, set to a space separated
#: list of these values: no-rc, no-cursor, no-title, no-cwd, no-
#: prompt-mark, no-complete, no-sudo. See Shell integration
#: <https://sw.kovidgoyal.net/kitty/shell-integration/> for details.
# term xterm-kitty
term xterm-256color
#: The value of the TERM environment variable to set. Changing this
#: can break many terminal programs, only change it if you know what
#: you are doing, not because you read some advice on "Stack Overflow"
#: to change it. The TERM variable is used by various programs to get
#: information about the capabilities and behavior of the terminal. If
#: you change it, depending on what programs you run, and how
#: different the terminal you are changing it to is, various things
#: from key-presses, to colors, to various advanced features may not
#: work. Changing this option by reloading the config will only affect
#: newly created windows.

View File

@@ -0,0 +1,129 @@
/*
* config.rasi
* Copyright (C) 2020 Vintage Salt <rehashedsalt@cock.li>
*
* Distributed under terms of the MIT License
*
* See rofi-theme(5) for documentation
*/
configuration {
matching: "normal";
show-icons: true;
icon-theme: "Papirus-Gruvbox-Dark";
modi: "drun,ssh,window";
}
* {
background: #282828;
background-alt: #32302f;
foreground: #ebdbb2;
foreground-alt: #fb4934;
yellow: #fabd2f;
blue: #83a598;
cyan: #8ec07c;
text-color: @foreground;
background-color: @background;
font: "IBM Plex Sans 10";
}
#window {
location: southwest;
anchor: southwest;
border-color: @background-alt;
background-color: @background;
border: 4px 4px 0 0;
height: 60%;
width: 30%;
padding: 0em;
}
#inputbar {
background-color: @background-alt;
padding: 0.5em;
}
#case-indicator {
enabled: false;
}
#prompt {
enabled: false;
}
#textbox-prompt-colon {
enabled: false;
}
#entry {
background-color: inherit;
font: "IBM Plex Sans 12";
padding: 0.5em;
}
#num-filtered-rows {
background-color: inherit;
font: "IBM Plex Sans 12";
padding: 0.5em;
}
#textbox-num-sep {
background-color: inherit;
font: "IBM Plex Sans 12";
padding: 0.5em 0em;
}
#num-rows {
background-color: inherit;
font: "IBM Plex Sans 12";
padding: 0.5em;
}
#message {
padding: 4px;
}
#textbox {
padding: 4px 12px 4px 12px;
font-color: @foreground-alt;
}
#listview {
padding: 0.5em;
border: none;
}
#scrollbar {
handle-color: @background-alt;
enabled: false;
}
#element {
padding: 0.5em;
}
#element alternate.normal {
background-color: @background;
}
#element normal active {
text-color: @cyan;
}
#element normal urgent {
text-color: @yellow;
}
#element selected normal {
background-color: @blue;
text-color: @background;
}
#element selected active {
background-color: @cyan;
text-color: @background;
}
#element selected urgent {
background-color: @yellow;
text-color: @background;
}
#sidebar {
}
#button {
padding: 8px;
}
#button selected {
background-color: @background-alt;
}
/* vim:ft=css
*/

View File

@@ -0,0 +1,136 @@
[{
"id": "top",
"name": "top",
"layer": "top",
"height": 40,
"margin-top": 16,
"margin-left": 16,
"margin-right": 16,
"modules-left": ["hyprland/workspaces", "hyprland/window", "sway/mode"],
"modules-right": ["tray"],
"hyprland/workspaces": {
"all-outputs": false,
"disable-scroll": true,
"persistent-workspaces": {
"eDP-1": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ],
"DP-1": [ 1, 2, 3, 4, 5, 6, 7 ],
"DP-2": [ 8, 9, 10, 11 ]
}
},
"hyprland/window": {
"separate-outputs": true,
"format": "{}"
},
"tray": {
"icon-size": 16,
"spacing": 10
}
},
{
"id": "bottom",
"name": "bottom",
"layer": "top",
"position": "bottom",
"height": 40,
"margin-bottom": 16,
"margin-left": 16,
"margin-right": 16,
"modules-left": ["gamemode", "custom/flatpak", "custom/backup", "battery", "temperature", "cpu", "memory", "network"],
"modules-center": [],
"modules-right": ["mpris", "pulseaudio", "backlight", "idle_inhibitor", "clock"],
"clock": {
"format": "{:%a %b %d %I:%M %p}",
"tooltip": false
},
"network": {
"interval": 5,
"format": " {bandwidthUpBytes}  {bandwidthDownBytes}",
"format-disconnected": ""
},
"battery": {
"states": {
"good": 100,
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity}%",
"format-charging": "{icon} {capacity}%",
"format-plugged": "{icon} {capacity}%",
"format-icons": ["", "", "", "", ""]
},
"backlight": {
"format": " {percent}%"
},
"idle_inhibitor": {
"format": ""
},
"gamemode": {
"format": "{glyph}",
"glyph": "",
"use-icon": false,
"icon-spacing": 0,
"icon-size": 0
},
"pulseaudio": {
"scroll-step": 5,
"format": "{icon} {volume}%",
"format-muted": "{icon}",
"format-icons": {
"default": ["", "", ""]
},
"scroll-step": 1,
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle"
},
"cpu": {
"interval": 3,
"format": " {usage}%",
"states": {
"critical": 90,
"warning": 80,
"regular": 50
}
},
"memory": {
"interval": 5,
"format": " {percentage}% <span font-size=\"7pt\">{swapPercentage}%</span>",
"states": {
"critical": 90,
"warning": 80,
"regular": 50
}
},
"temperature": {
"format": " {temperatureC}°",
"critical-threshold": 80
},
"mpris": {
"interval": 1,
"artist-len": 30,
"album-len": 30,
"title-len": 40,
"format": "{player_icon} - {dynamic}",
"ignored-players": [
"firefox"
],
"player-icons": {
"default": "♫"
},
"status-icons": {
"playing": "⏵",
"paused": "⏸",
"stopped": "⏹"
}
},
"custom/flatpak": {
"interval": 180,
"tooltip-format": "{} pending Flatpak updates available",
"format": " {}",
"exec": "flatpak remote-ls --updates --app | wc -l",
"exec-if": "test $(flatpak remote-ls --updates --app | wc -l) -gt 0"
},
"custom/backup": {
"interval": 60,
"format": "",
"exec": "systemctl is-failed backup.service"
}
}]

View File

@@ -0,0 +1,210 @@
/*
* style.css
* Copyright (C) 2021 Vintage Salt
*
* Distributed under terms of the MIT license.
*/
* {
border: none;
border-radius: 0;
font-family: "IBM Plex Sans", "Font Awesome 6 Free", sans-serif;
font-size: 13px;
}
window#waybar {
background: transparent;
}
.modules-left {
background: rgba(235, 219, 178, 0.8);
border-radius: 8px;
}
.modules-right {
background: rgba(235, 219, 178, 0.8);
border-radius: 8px;
}
/* Hypr stuff */
#workspaces {
}
#workspaces button {
/* Any random button */
background: transparent;
color: #7c6f64;
padding: 0 0.9em;
border-radius: 8px;
}
#workspaces button.persistent {
color: rgba(40, 40, 40, 0.8);
}
#workspaces button.empty {
color: rgba(40, 40, 40, 0.2);
}
#workspaces button:hover {
/* A button that is currently being hovered over by the mouse cursor */
/* This comes with free transitions */
box-shadow: inherit;
text-shadow: inherit;
background-color: #928374;
}
#workspaces button.focused {
color: rgba(235, 219, 178, 0.8);
background: #928374;
font-weight: bold;
}
#workspaces button.visible {
color: rgba(235, 219, 178, 0.8);
background: #076678;
font-weight: bold;
}
#workspaces button.active {
color: rgba(235, 219, 178, 0.8);
background: #458588;
font-weight: bold;
}
#workspaces button.urgent {
color: #d79921;
font-weight: bold;
}
/* Window and mode display */
#window {
color: rgba(40, 40, 40, 0.4);
padding: 0 1em;
border-radius: 8px;
}
window#waybar.empty #window {
/* We do this so it properly hides when on an empty workspace */
padding: 0;
}
window#waybar.solo #window {
/* Nothing */
}
window#waybar.floating #window {
/* Workspace contains only floating windows */
color: rgba(235, 219, 178, 0.8);
background: #689d6a;
}
window#waybar.fullscreen #window {
/* Workspace containing a "fullscreen" window (note that this includes fullscreen, 1, which is maximize) */
color: rgba(235, 219, 178, 0.8);
background: #b16286;
}
/* widgets */
#pulseaudio {
padding: 0 1em;
color: #282828;
border-radius: 8px;
}
#pulseaudio.muted {
border-radius: 8px;
background: #cc241d;
color: #ebdbb2;
}
#tray {
padding: 0 1em;
}
#mpris {
padding: 0 1em;
}
#mpris.playing {
color: #b16286;
}
#mpris.paused, #mpris.stopped {
color: rgba(40, 40, 40, 0.2);
}
#network {
padding: 0 1em;
color: rgba(40, 40, 40, 0.2);
}
#network.disconnected {
color: #cc241d;
}
#idle_inhibitor {
padding: 0 1em;
}
#idle_inhibitor.deactivated {
color: rgba(40, 40, 40, 0.2);
}
#idle_inhibitor.activated {
color: #282828;
}
#backlight {
padding: 0 1em;
color: #282828;
}
#gamemode {
padding: 0 1em;
color: rgba(40, 40, 40, 0.2);
}
#gamemode.running {
color: #b8bb26;
}
/* Memory */
#memory {
padding: 0 1em;
color: rgba(40, 40, 40, 0.2);
}
#memory.critical {
color: #cc241d;
}
#memory.warning {
color: #d79921;
}
#memory.regular {
color: #282828;
}
/* CPU */
#cpu {
padding: 0 1em;
color: rgba(40, 40, 40, 0.2);
}
#cpu.critical {
color: #cc241d;
}
#cpu.warning {
color: #d79921;
}
#cpu.regular {
color: #282828;
}
/* Battery */
#battery {
padding: 0 1em;
}
#battery.charging {
color: #b8bb26;
}
#battery.good {
color: rgba(40, 40, 40, 0.2);
}
#battery.discharging.warning {
color: #d79921;
}
#battery.discharging.critical {
color: #cc241d;
}
#clock {
color: #282828;
padding: 0 1em;
}
/* Temperature*/
#temperature {
padding: 0 1em;
color: rgba(40, 40, 40, 0.2);
}
#temperature.critical {
color: #cc241d;
}
/* Custom modules */
#custom-backup {
color: #cc241d;
padding: 0 1em;
}
#custom-flatpak {
color: rgba(40, 40, 40, 0.2);
padding: 0 1em;
}

View File

@@ -0,0 +1,6 @@
# vim: set ft=config:
# wofi(5)
insensitive=true
allow_images=true
no_actions=true
hide_scroll=true

View File

@@ -0,0 +1,57 @@
/* ::root{ */
/* --accent: #5291e2; */
/* --dark: #383C4A; */
/* --light: #7C818C; */
/* --ld: #404552; */
/* --dl: #4B5162 */
/* --white: white; */
/* } */
/* The whole window */
window {
background-color: transparent;
border-radius: 8px;
color: #ebdbb2;
}
/* The outermost box that contains everything */
#outer-box {
border-radius: 8px;
padding: 1em;
background-color: rgba(40,40,40,0.8);
}
/* The box that contains all the search results */
#inner-box {
background: transparent
margin: 5px;
}
/* The search bar */
#input {
margin: 5px;
border-radius: 8px;
border: none;
background-color: #32302f;
color: #ebdbb2;
}
/* The scrollbar */
#scroll {
}
/* The text for every search result entry */
#text {
padding: 5px;
color: #ebdbb2;
}
/* The container for every entry */
#entry {
background-color: transparent;
border: 4px solid transparent;
border-radius: 8px;
}
#entry:selected {
border: 4px solid #83a598;
}

View File

@@ -0,0 +1,83 @@
/**
* @name midnight-gruvbox
* @description A dark, rounded discord theme. Managed by .dotfiles, packed in by stow. Original by refact0r
* @author salt
* @version 1.6.2
* @source https://github.com/refact0r/midnight-discord/blob/master/midnight.theme.css
*/
/* IMPORTANT: make sure to enable dark mode in discord settings for the theme to apply properly!!! */
@import url('https://refact0r.github.io/midnight-discord/midnight.css');
/* customize things here */
:root {
/* font, change to 'gg sans' for default discord font*/
--font: 'IBM Plex Sans';
/* top left corner text */
--corner-text: 'Midnight';
/* color of status indicators and window controls */
--online-indicator: #b8bb26; /* change to #23a55a for default green */
--dnd-indicator: #fb4934; /* change to #f13f43 for default red */
--idle-indicator: #fabd2f; /* change to #f0b232 for default yellow */
--streaming-indicator: #d3869b; /* change to #593695 for default purple */
/* accent colors */
--accent-1: #83a598; /* links */
--accent-2: #83a598; /* general unread/mention elements */
--accent-3: #83a598; /* accent buttons */
--accent-4: #458588; /* accent buttons when hovered */
--accent-5: #458588; /* accent buttons when clicked */
--mention: #3c3836; /* mentions & mention messages */
--mention-hover: #504945; /* mentions & mention messages when hovered */
/* text colors */
--text-0: #ebdbb2; /* text on colored elements */
--text-1: var(--text-2); /* other normally white text */
--text-2: #ebdbb2; /* headings and important text */
--text-3: #d5c4a1; /* normal text */
--text-4: #bdae93; /* icon buttons and channels */
--text-5: #7c6f64; /* muted channels/chats and timestamps */
/* background and dark colors */
--bg-1: #665c54; /* dark buttons when clicked */
--bg-2: #504945; /* dark buttons */
--bg-3: #32302f; /* spacing, secondary elements */
--bg-4: #282828; /* main background color */
--hover: #3c3836; /* channels and buttons when hovered */
--active: #3c3836; /* channels and buttons when clicked or selected */
--message-hover: #1d2021; /* messages when hovered */
/* amount of spacing and padding */
--spacing: 8px;
/* animations */
/* ALL ANIMATIONS CAN BE DISABLED WITH REDUCED MOTION IN DISCORD SETTINGS */
--list-item-transition: 0.2s ease; /* channels/members/settings hover transition */
--unread-bar-transition: 0.2s ease; /* unread bar moving into view transition */
--moon-spin-transition: 0.4s ease; /* moon icon spin */
--icon-spin-transition: 1s ease; /* round icon button spin (settings, emoji, etc.) */
/* corner roundness (border-radius) */
--roundness-xl: 16px; /* roundness of big panel outer corners */
--roundness-l: 14px; /* popout panels */
--roundness-m: 12px; /* smaller panels, images, embeds */
--roundness-s: 8px; /* members, settings inputs */
--roundness-xs: 4px; /* channels, buttons */
--roundness-xxs: 4px; /* searchbar, small elements */
/* direct messages moon icon */
/* change to block to show, none to hide */
--discord-icon: block; /* discord icon */
--moon-icon: none; /* moon icon */
--moon-icon-url: url('https://upload.wikimedia.org/wikipedia/commons/c/c4/Font_Awesome_5_solid_moon.svg'); /* custom icon url */
--moon-icon-size: auto;
/* filter uncolorable elements to fit theme */
/* (just set to none, they're too much work to configure) */
--login-bg-filter: saturate(0.3) hue-rotate(-15deg) brightness(0.4); /* login background artwork */
--green-to-accent-3-filter: hue-rotate(56deg) saturate(1.43); /* add friend page explore icon */
--blurple-to-accent-3-filter: hue-rotate(304deg) saturate(0.84) brightness(1.2); /* add friend page school icon */
}

View File

@@ -1,35 +1,13 @@
# -*- conf -*-
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
term=xterm-256color
# login-shell=no
# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode
# title=foot
# locked-title=no
# font=monospace:size=8
font=IBM Plex Mono:size=9
# font-bold=<bold variant of regular font>
# font-italic=<italic variant of regular font>
# font-bold-italic=<bold+italic variant of regular font>
# font-size-adjustment=0.5
# line-height=<font metrics>
# letter-spacing=0
# horizontal-letter-offset=0
# vertical-letter-offset=0
# underline-offset=<font metrics>
# underline-thickness=<font underline thickness>
# box-drawings-uses-font-glyphs=no
# dpi-aware=no
# initial-window-size-pixels=700x500 # Or,
# initial-window-size-chars=<COLSxROWS>
# initial-window-mode=windowed
# pad=0x0 # optionally append 'center'
# resize-delay-ms=100
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
# bold-text-in-bright=no
@@ -49,22 +27,23 @@ font=IBM Plex Mono:size=9
# command-focused=no
[scrollback]
# lines=1000
lines=10000
# multiplier=3.0
# indicator-position=relative
# indicator-format=""
[url]
# launch=xdg-open ${url}
launch=xdg-open ${url}
# label-letters=sadfjklewcmpgh
# osc8-underline=url-mode
# protocols=http, https, ftp, ftps, file, gemini, gopher
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
protocols=http, https, ftp, ftps, file, gemini, gopher
uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
[cursor]
# style=block
style=beam
# color=<inverse foreground/background>
# blink=no
blink=yes
# beam-thickness=1.5
# underline-thickness=<font underline thickness>

View File

@@ -1,4 +1,4 @@
# vim: set ft=config:
# vim: set ft=hyprlang:
# Some default env vars.
env = XCURSOR_SIZE,24
@@ -34,26 +34,29 @@ decoration {
animations {
# https://wiki.hyprland.org/Configuring/Animations/
enabled = yes
bezier = snappy, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 2, snappy
bezier = snappy, 0.05, 0.9, 0.1, 1.05 # This is apparently kinda an ease-out-back sorta deal
bezier = ease-out-expo, 0.16, 1, 0.30, 1
animation = windows, 1, 2, ease-out-expo
animation = windowsIn, 1, 1, default
animation = windowsOut, 1, 2, default, popin 80%
animation = layers, 1, 1, default
animation = border, 1, 3, default
animation = borderangle, 1, 8, default
animation = fade, 1, 3, default
animation = workspaces, 1, 1.5, snappy
animation = workspaces, 1, 1.5, ease-out-expo
}
dwindle {
# https://wiki.hyprland.org/Configuring/Dwindle-Layout/
pseudotile = yes
preserve_split = yes # you probably want this
pseudotile = yes # Enables pseudotile functionality
preserve_split = yes # Remember splits
force_split = 2 # Force splits to put the child on the right/down
default_split_ratio = 1.1
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = true
new_status = master
}
gestures {
@@ -66,8 +69,15 @@ misc {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_splash_rendering = true
# if there is a fullscreen or maximized window, decide whether a new tiled
# window opened should replace it, stay behind or disable the
# fullscreen/maximized state.
# 0 - behind, 1 - takes over, 2 - unfullscreen/unmaxize [0/1/2]
new_window_takes_over_fullscreen = 2
vfr = 1
}
xwayland {
# This disables scaling in xwayland apps. I prefer the crispness to blurriness
force_zero_scaling = true
}

View File

@@ -1,16 +1,18 @@
# vim: set ft=config:
# vim: set ft=hyprlang:
# https://wiki.hyprland.org/Configuring/Binds/
$mainMod = ALT
# Program opening and closing
#bind = $mainMod, Return, exec, kitty --single-instance --wait-for-single-instance-window-close
bind = $mainMod, Return, exec, foot
bind = $mainMod, Q, killactive
bind = $mainMod, Space, exec, pgrep wofi || wofi --show drun
#bind = $mainMod, M, exit,
bind = $mainMod, T, pseudo, # dwindle
bind = $mainMod, F, togglefloating,
bind = $mainMod, T, pseudo
bind = $mainMod, F, togglefloating
bind = $mainMod Shift, F, fullscreen
bind = $mainMod, R, togglesplit, # dwindle
bind = $mainMod, R, togglesplit
bind = $mainMod, G, swapsplit
# Dunst management
bind = $mainMod Shift, Space, exec, dunstctl close
@@ -22,6 +24,10 @@ bind = $mainMod Shift, O, exec, dunstctl context
bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume 0 +5%
bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume 0 -5%
# Brightness controls
bind = ,XF86MonBrightnessDown, exec, brightnessctl s 5%-
bind = ,XF86MonBrightnessUp, exec, brightnessctl s +5%
# Screenshots
bind = $mainMod, O, exec, grim -g "$(slurp -d)" - | wl-copy
@@ -39,10 +45,10 @@ bind = $mainMod, k, movefocus, u
bind = $mainMod, l, movefocus, r
# Move the focused window around
bind = $mainMod Shift, h, movewindow, l
bind = $mainMod Shift, j, movewindow, d
bind = $mainMod Shift, k, movewindow, u
bind = $mainMod Shift, l, movewindow, r
bind = $mainMod Shift, h, swapwindow, l
bind = $mainMod Shift, j, swapwindow, d
bind = $mainMod Shift, k, swapwindow, u
bind = $mainMod Shift, l, swapwindow, r
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
@@ -70,14 +76,27 @@ bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
bind = $mainMod SHIFT, MINUS, movetoworkspace, 11
# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, Period, workspace, e+1
bind = $mainMod, Comma, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
# Move windows around
bindm = $mainMod, mouse:272, movewindow
# Resize mouse binding and submap
bindm = $mainMod, mouse:273, resizewindow
bind = $mainMod SHIFT, R, submap, resize
submap = resize
$resizeFactor = 50
bind = , l, resizeactive, $resizeFactor 0
bind = , h, resizeactive, -$resizeFactor 0
bind = , k, resizeactive, 0 -$resizeFactor
bind = , j, resizeactive, 0 $resizeFactor
bind = SHIFT, h, moveactive, -$resizeFactor 0
bind = SHIFT, j, moveactive, 0 $resizeFactor
bind = SHIFT, k, moveactive, 0 -$resizeFactor
bind = SHIFT, l, moveactive, $resizeFactor 0
bind = , Return, submap, reset
bind = , Escape, submap, reset
bind = $mainMod SHIFT, R, submap, reset
submap = reset

View File

@@ -1,13 +1,13 @@
# vim: set ft=config:
# vim: set ft=hyprlang:
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us
accel_profile = flat
follow_mouse = 1
numlock_by_default = true
touchpad {
# Also sometimes called "Australian Scrolling"
natural_scroll = no
}
accel_profile = flat
follow_mouse = 1
numlock_by_default = true
touchpad {
# Also sometimes called "Australian Scrolling"
natural_scroll = no
}
sensitivity = 0 # -1.0 to 1.0, 0 means no modification.
}

View File

@@ -1,9 +1,20 @@
# vim: set ft=config:
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# vim: set ft=hyprlang:
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# Force all windows to be unable to maximize themselves
# Default rule that ships with hypr
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
#windowrulev2 = animation windowOut,class:^(wofi)$
# Force pavucontrol to be the center of attention
windowrulev2 = float, center 1, class:^(.*pavucontrol.*)$
windowrulev2 = pin, class:^(.*pavucontrol.*)$
# Assign specific windows to specific workspaces on launch
windowrulev2 = workspace 2 silent, class:^(steam)$
windowrulev2 = workspace 8 silent, class:^(org.keepassxc.KeePassXC)$
windowrulev2 = workspace 8 silent, class:^(org.mozilla.Thunderbird)$
windowrulev2 = workspace 9 silent, class:^(im.riot.Riot)$
windowrulev2 = workspace 9 silent, class:^(.*vesktop.*)$
windowrulev2 = workspace 10 silent, class:^(.*spotube.*)$
windowrulev2 = workspace 10 silent, class:^(.*potify.*)$
windowrulev2 = workspace 10 silent, class:^(feishin)$

View File

@@ -1,4 +1,4 @@
# vim: set ft=config:
# vim: set ft=hyprlang:
# See https://wiki.hyprland.org/Configuring/Monitors/
# Fall-through rule that sets sane defaults when possible
monitor=,preferred,auto,auto

View File

@@ -1,9 +1,11 @@
# vim: set ft=config:
# vim: set ft=hyprlang:
# Run this at first to fix up some systemd stuff
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
# Polkit
exec-once = /usr/libexec/xfce-polkit
# Not technically a daemon but required for wallet
exec-once = /usr/libexec/pam_kwallet_init
# Daemons and stuff
exec-once = nm-applet

View File

@@ -0,0 +1,3 @@
# vim: set ft=hyprlang:
# Configuration for hypridle is in ~/.config/hypr/hypridle.conf
exec-once = hypridle

View File

@@ -1,3 +0,0 @@
# vim: set ft=config:
# Configuration for swayidle is in ~/.config/swayidle/config
exec-once = swayidle -w

View File

@@ -1,2 +1,2 @@
# vim: set ft=config:
exec-once = swww-daemon --format xrgb
# vim: set ft=hyprlang:
exec-once = pgrep -U $USER swww-daemon || { rm /run/user/$UID/swww-wayland-1.sock; swww-daemon --format xrgb; }

View File

@@ -1,7 +1,9 @@
# vim: set ft=config:
# vim: set ft=hyprlang:
# Workspace-specific applications
exec-once = [workspace 2 silent] flatpak run com.valvesoftware.Steam -silent
exec-once = [workspace 8 silent] flatpak run org.keepassxc.KeePassXC
exec-once = [workspace 8 silent] flatpak run org.mozilla.Thunderbird
exec-once = [workspace 9 silent] flatpak run dev.vencord.Vesktop
exec-once = [workspace 9 silent] flatpak run im.riot.Riot
exec-once = [workspace 10 silent] flatpak run com.github.KRTirtho.Spotube
exec-once = [workspace 9 silent] flatpak run dev.vencord.Vesktop
#exec-once = [workspace 10 silent] flatpak run com.spotify.Client
exec-once = [workspace 10 silent] ~/Programs/feishin

View File

@@ -0,0 +1,2 @@
# vim: set ft=hyprlang:
exec-once = test -x "$HOME/.config/hypr/post.sh" && "$HOME/.config/hypr/post.sh"

View File

@@ -1,4 +1,4 @@
# vim: set ft=config:
# vim: set ft=hyprlang:
debug {
# This enables debug logging for troubleshooting
disable_logs = false

View File

@@ -0,0 +1,17 @@
# vim: set ft=hyprlang:
# https://github.com/hyprwm/hyprland-plugins/tree/main/hyprexpo
bind = $mainMod, grave, hyprexpo:expo, toggle
plugin {
hyprexpo {
columns = 3
gap_size = 8
bg_col = rgb(282828)
workspace_method = first 1
enable_gesture = true
gesture_fingers = 3
gesture_distance = 300
gesture_positive = true # positive=swipe down, negative=swipe up
}
}

View File

@@ -1,8 +1,8 @@
# vim: set ft=config:
# vim: set ft=hyprlang:
# See https://wiki.hyprland.org/Configuring/Monitors/
#monitor=eDP-1,preferred,auto,1.3333
monitor = DP-1,preferred,1440x937,1
monitor = DP-2,preferred,0x0,1,transform,1
monitor = DP-1,preferred,2560x0,1
monitor = DP-2,preferred,0x0,1
workspace = 1, monitor:DP-1
workspace = 2, monitor:DP-1

View File

@@ -1,3 +1,3 @@
# vim: set ft=config:
# vim: set ft=hyprlang:
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=eDP-1,preferred,auto,1.3333

View File

@@ -0,0 +1,3 @@
# vim: set ft=hyprlang:
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=eDP-1,preferred,auto,1.00

View File

@@ -0,0 +1,13 @@
# vim: set ft=hyprlang:
# for more configuration options, refer https://wiki.hyprland.org/Hypr-Ecosystem/hypridle
general {
lock_cmd = pgrep -u "$USER" hyprlock || hyprlock
unlock_cmd = pkill -xu "$USER" -SIGUSR1 hyprlock
before_sleep_cmd = loginctl lock-session
}
listener {
timeout = 900
on-timeout = loginctl lock-session
}

View File

@@ -1,3 +1,3 @@
# vim: set ft=config:
# vim: set ft=hyprlang:
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
source = ~/.config/hypr/config.d/*.conf

View File

@@ -0,0 +1,68 @@
# vim: set ft=hyprlang:
# for more configuration options, refer https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock
# General settings
general {
grace = 5
hide_cursor = true
}
# The password input field
input-field {
monitor =
fade_on_empty = true
rounding = 8
outer_color = rgba(50,48,47,0.8)
inner_color = rgba(50,48,47,0.8)
font_color = rgb(235,219,178)
check_color = rgb(250,189,47)
fail_color = rgb(251,73,52)
size = 400, 50
position = 0, -200
}
# The background of the login box
shape {
color = rgba(40,40,40,0.8)
size = 600, 800
position = 0, 0
rounding = 8
}
# A label showing the current time
label {
text = cmd[update:30] echo ""$(date +"%I:%M %p")""
font_size = 48
color = rgb(235,219,178)
position = 0, 250
halign = center
valign = center
}
# A label showing the current date
label {
text = cmd[update:30] echo ""$(date +'%A, %-d %B %Y')""
color = rgb(235,219,178)
position = 0, 150
halign = center
valign = center
}
# The background of the lock screen, behind the box
background {
color = rgba(0,0,0,0.9)
}
# The current user's face
image {
path = ~/.face
border_color = rgba(50,48,47,0.8)
size = 150
position = 0, 0
}
# Name of the current user
label {
text = $USER
color = rgba(235,219,178,0.5)
font_size = 14
position = 0, -100
halign = center
valign = center
}

View File

@@ -0,0 +1,55 @@
# Based on https://github.com/morhetz/gruvbox by morhetz <morhetz@gmail.com>
# Adapted to kitty by wdomitrz <witekdomitrz@gmail.com>
cursor #928374
cursor_text_color background
url_color #83a598
visual_bell_color #8ec07c
bell_border_color #8ec07c
active_border_color #d3869b
inactive_border_color #665c54
foreground #ebdbb2
background #282828
selection_foreground #928374
selection_background #ebdbb2
active_tab_foreground #fbf1c7
active_tab_background #665c54
inactive_tab_foreground #a89984
inactive_tab_background #3c3836
# black (bg3/bg4)
color0 #665c54
color8 #7c6f64
# red
color1 #cc241d
color9 #fb4934
#: green
color2 #98971a
color10 #b8bb26
# yellow
color3 #d79921
color11 #fabd2f
# blue
color4 #458588
color12 #83a598
# purple
color5 #b16286
color13 #d3869b
# aqua
color6 #689d6a
color14 #8ec07c
# white (fg4/fg3)
color7 #a89984
color15 #bdae93

File diff suppressed because it is too large Load Diff

View File

@@ -1,21 +0,0 @@
#
# Salt's Sway configuration file
#
# NOTE
# Any further configuration that isn't just declaring a global should be
# done via the creation of a file in config.d.
#
# Note that you can also override system-provided configs by making an
# identically-named file in config.d
#
## CONFIGS
set $term foot
# Set modifiers
set $mod Mod1
set $sup Mod4
set $ctl Ctrl
set $shift Shift
include '$(/usr/libexec/sway/layered-include "/usr/share/sway/config.d/*.conf" "/etc/sway/config.d/*.conf" "${XDG_CONFIG_HOME:-$HOME/.config}/sway/config.d/*.conf")'
include "${XDG_CONFIG_HOME:-$HOME/.config}/sway/machine.d/$HOSTNAME.conf"

View File

@@ -1,91 +0,0 @@
# vim: set ft=swayconfig:
#
# This file holds keybinds for all of swaywm
#
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# Program opening and closing
bindsym $mod+Return exec "$term"
bindsym $mod+q kill
bindsym $mod+space exec "rofi -show drun"
bindsym $mod+backslash exec "rofi -show ssh"
bindsym $mod+Tab exec "rofi -show window"
# Dunst management
bindsym $mod+$shift+space exec dunstctl close
bindsym $mod+$shift+Return exec dunstctl close-all
bindsym $mod+$shift+d exec dunstctl history-pop
bindsym $mod+$shift+o exec dunstctl context
# Pulse controls
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound
# Screenshots
bindsym $mod+o exec grim -g "$(slurp -d)" - | wl-copy
# Brightness controls
#bindsym XF86MonBrightnessUp exec xbacklight -inc 5 # increase screen brightness
#bindsym XF86MonBrightnessDown exec xbacklight -dec 5 # decrease screen brightness
# pavucontrol controls
bindsym $mod+p exec --no-startup-id "pgrep pavucontrol || pavucontrol"
bindsym $mod+$shift+p exec --no-startup-id "pkill pavucontrol"
# Miscellaneous non-movement hotkeys
bindsym $ctl+$mod+l exec --no-startup-id "loginctl lock-session"
bindsym $mod+$shift+c reload
# Change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# Move the focused window around
bindsym $mod+$shift+h move left
bindsym $mod+$shift+j move down
bindsym $mod+$shift+k move up
bindsym $mod+$shift+l move right
# Move the focused workspace between monitors
# Disabled here because I like having workspaces allocated to certain outputs
#bindsym $sup+h move workspace to output left
#bindsym $sup+j move workspace to output down
#bindsym $sup+k move workspace to output up
#bindsym $sup+l move workspace to output right
# Configure the split of this container
bindsym $mod+semicolon split h
bindsym $mod+v split v
# Toggle floating
bindsym $mod+f floating toggle
# Fullscreen
bindsym $mod+$shift+f fullscreen toggle
# Change the layout of this container
# Disabled because I just fatfinger these, they're never useful in my workflow
#bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Focus the parent container. Lets you move groups at a time
bindsym $mod+a focus parent
# Focus the child container
bindsym $mod+d focus child
# Switch between workspaces
bindsym $mod+1 workspace $w1
bindsym $mod+2 workspace $w2
bindsym $mod+3 workspace $w3
bindsym $mod+4 workspace $w4
bindsym $mod+5 workspace $w5
bindsym $mod+6 workspace $w6
bindsym $mod+7 workspace $w7
bindsym $mod+8 workspace $w8
bindsym $mod+9 workspace $w9
bindsym $mod+0 workspace $w10
bindsym $mod+minus workspace $w11
bindsym $mod+period workspace next
bindsym $mod+comma workspace prev
# Move the focused container to a specific workspace
bindsym $mod+$shift+1 move container to workspace $w1
bindsym $mod+$shift+2 move container to workspace $w2
bindsym $mod+$shift+3 move container to workspace $w3
bindsym $mod+$shift+4 move container to workspace $w4
bindsym $mod+$shift+5 move container to workspace $w5
bindsym $mod+$shift+6 move container to workspace $w6
bindsym $mod+$shift+7 move container to workspace $w7
bindsym $mod+$shift+8 move container to workspace $w8
bindsym $mod+$shift+9 move container to workspace $w9
bindsym $mod+$shift+0 move container to workspace $w10
bindsym $mod+$shift+minus move container to workspace $w11

View File

@@ -1,22 +0,0 @@
# vim: set ft=swayconfig:
#
# This file stores global confguration for input devices
#
# Mice
#input "type:pointer" {
# accel_profile flat # Disables mouse acceleration
# pointer_accel 0.000 # Set a sens that I like
#}
input "type:touchpad" {
drag enabled
dwt disabled
tap enabled
tap_button_map lrm
}
# Keyboards
input "type:keyboard" {
xkb_capslock disabled
xkb_numlock enabled
}

View File

@@ -1,38 +0,0 @@
# vim: set ft=swayconfig:
#
# This file controls all theming within swaywm, including colors, gaps,
# borders, fonts, etc.
#
# Right now we're staring at a nice gruvbox theme
#
font pango:IBM Plex Sans 12
default_border pixel 4
titlebar_border_thickness 4
focus_on_window_activation none
gaps inner 8
set $red #fb4934
set $green #b8bb26
set $yellow #fabd2f
set $blue #83a598
set $magenta #de869b
set $cyan #8ec07c
set $white #ebdbb2
set $black #282828
set $gray #32302f
# See sway(5) for details on these
# Border color of the view itself v
# Indicator color (like for v/h split) v
# Titlebar text color v
# Titlebar backgrouond color v
# Titlebar border color v
# <colorclass> <brd> <bg> <text> <ind> <chld>
# The currently focused window
client.focused $blue $blue $black $gray $blue
# The most recently focused view in an unfocused container
client.focused_inactive $gray $black $white $gray $gray
# Any other unfocused views
client.unfocused $gray $gray $white $gray $gray
# Any view with an urgency hint
client.urgent $yellow $black $white $gray $yellow

View File

@@ -1,24 +0,0 @@
# vim: set ft=swayconfig:
#
# This file stores "modes" for sway, such as for resizing
#
# Resize
bindsym $mod+r mode "resize"
mode "resize" {
bindsym h resize shrink width 10 px or 10 ppt
bindsym j resize grow height 10 px or 10 ppt
bindsym k resize shrink height 10 px or 10 ppt
bindsym l resize grow width 10 px or 10 ppt
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
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}

View File

@@ -1,5 +0,0 @@
# vim: set ft=swayconfig:
# Wallpaper
#output * bg ~/Pictures/Wallpapers/.current fill
output * bg ~/Pictures/Wallpapers/.current center #282828

View File

@@ -1,60 +0,0 @@
# vim: set ft=swayconfig:
#
# This file allocates rules for organizing windows
#
## WORKSPACES
set $w1 1
set $w2 2
set $w3 3
set $w4 4
set $w5 5
set $w6 6
set $w7 7
set $w8 8
set $w9 9
set $w10 10
set $w11 11
# General rules of thought:
# * The primary monitor will contain workspaces 1-7
# * Secondary monitors will get workspaces 8-10
# * Important apps go on primary, unimportant ones that are likely to be side-
# content, event-driven, and distractive can go on the secondary
# * Laptops get all 10 on one monitor, but shunting unimportant junk to the
# back workspaces yields a better workflow regardless
# * No rules are set in stone and the user can totally just move stuff around
# with reckless abandon
for_window {
# Workspace 1 should always be the web browser
[app_id="org.mozilla.firefox"] move container to workspace $w1
# Workspace 2 should contain Steam, if we intend to launch a game this session
#[app_id="com.valvesoftware.Steam"] move container to workspace $w2
# Workspace 8 contains Thunderbird and Keepass
[app_id="org.keepassxc.KeePassXC"] move container to workspace $w8
[app_id="org.mozilla.Thunderbird"] move container to workspace $w8
[class="thunderbird"] move container to workspace $w8
# Workspace 9 should be communications platforms
[app_id="com.dev.vencord.Vesktop"] move container to workspace $w9
[app_id="com.dev.vencord.Vesktop"] inhibit_idle visible
[app_id="vesktop"] move container to workspace $w9
[app_id="vesktop"] inhibit_idle visible
[app_id="com.discordapp.Discord"] move container to workspace $w9
[app_id="com.discordapp.Discord"] inhibit_idle visible
[app_id="im.riot.Riot"] move container to workspace $w9
[app_id="im.riot.Riot"] inhibit_idle visible
# And Workspace 10 should contain misc. long-running programs
[class="Spotify"] move container to workspace $w10
[app_id="spotube"] move container to workspace $w10
[class="nuclear"] move container to workspace $w10
}
# These rules are app-specific but for any workspace
for_window {
[class="steam_app_2291060"] fullscreen
}

View File

@@ -1,15 +0,0 @@
# vim: set ft=swayconfig:
#
# Idle and lock configuration
#
exec LT="900" && \
swayidle -w \
timeout $LT \
'swaylock -f' \
before-sleep \
'swaylock -f' \
lock \
'swaylock -f' \
unlock \
'pkill -xu "$USER" -SIGUSR1 swaylock'

View File

@@ -1,11 +0,0 @@
# vim: set ft=swayconfig:
#
# wlsunset is more or less redshift. It reddens the screen as the day draws
# to a close.
#
# For customization, see wlsunset(1)
#
exec wlsunset \
-T 5300 \
-t 3500 \
-g 1

View File

@@ -1,2 +0,0 @@
# vim: set ft=swayconfig:

View File

@@ -1,2 +0,0 @@
#!/bin/sh
SWAY_EXTRA_ARGS="-D noscanout"

View File

@@ -1,54 +0,0 @@
# vim: set ft=swayconfig:
set $monprim "Acer Technologies XV272U 0x11122114"
set $monsec "Acer Technologies XV272U 0x0501FD67"
output $monprim {
res 2560x1440@143.998993Hz
pos 1440 937
adaptive_sync off
}
output $monsec {
res 2560x1440@143.998993Hz
pos 0 0
transform 270
adaptive_sync off
}
# Valve Index
output "Unknown Unknown Unknown" {
disable
}
input type:pointer {
accel_profile flat
pointer_accel 0.000
}
output * bg ~/Pictures/Wallpapers/1561879941868.jpg fill
## WORKSPACES
set $w1 1
set $w2 2
set $w3 3
set $w4 4
set $w5 5
set $w6 6
set $w7 7
set $w8 8
set $w9 9
set $w10 10
set $w11 11
# Workspace setup for my desktop
# Defaults to whatever on my laptop and on other machines
workspace $w1 output $monprim
workspace $w2 output $monprim
workspace $w3 output $monprim
workspace $w4 output $monprim
workspace $w5 output $monprim
workspace $w6 output $monprim
workspace $w7 output $monprim
# Putting 10 here first so it's the default for my secondary
workspace $w10 output $monsec
workspace $w8 output $monsec
workspace $w9 output $monsec
workspace $w11 output $monsec

View File

@@ -1,32 +0,0 @@
# vim: set ft=swayconfig:
set $monprim "eDP-1"
output $monprim scale 1.5
output * bg ~/Pictures/Wallpapers/1561879941868.jpg fill
## WORKSPACES
set $w1 1
set $w2 2
set $w3 3
set $w4 4
set $w5 5
set $w6 6
set $w7 7
set $w8 8
set $w9 9
set $w10 10
set $w11 11
# Workspace setup for my desktop
# Defaults to whatever on my laptop and on other machines
workspace $w1 output $mon
workspace $w2 output $mon
workspace $w3 output $mon
workspace $w4 output $mon
workspace $w5 output $mon
workspace $w6 output $mon
workspace $w7 output $mon
workspace $w8 output $mon
workspace $w9 output $mon
workspace $w10 output $mon
workspace $w11 output $mon

View File

@@ -1,28 +0,0 @@
# vim: set ft=swayconfig:
## WORKSPACES
set $w1 1
set $w2 2
set $w3 3
set $w4 4
set $w5 5
set $w6 6
set $w7 7
set $w8 8
set $w9 9
set $w10 10
# Workspace setup for my desktop
# Defaults to whatever on my laptop and on other machines
set $monprim DisplayPort-0
set $monsec HDMI-A-0
workspace $w1 output $monprim
workspace $w2 output $monprim
workspace $w3 output $monprim
workspace $w4 output $monprim
workspace $w5 output $monprim
workspace $w6 output $monprim
workspace $w7 output $monprim
# Putting 10 here first so it's the default for my secondary
workspace $w10 output $monsec
workspace $w8 output $monsec
workspace $w9 output $monsec

View File

@@ -1,4 +0,0 @@
timeout 900 'swaylock -f'
before-sleep 'swaylock -f'
lock 'swaylock -f'
unlock 'pkill -xu "$USER" -SIGUSR1 swaylock'

View File

@@ -1,2 +0,0 @@
scaling=fill
color=000000

View File

@@ -6,7 +6,7 @@
"margin-top": 16,
"margin-left": 16,
"margin-right": 16,
"modules-left": ["hyprland/workspaces", "sway/mode"],
"modules-left": ["hyprland/workspaces", "hyprland/window", "hyprland/submap", "sway/mode"],
"modules-right": ["tray"],
"hyprland/workspaces": {
"all-outputs": false,
@@ -18,8 +18,12 @@
}
},
"hyprland/window": {
"separate-outputs": true,
"format": "{}"
},
"hyprland/submap": {
"on-click": "hyprctl dispatch submap reset"
},
"tray": {
"icon-size": 16,
"spacing": 10
@@ -34,7 +38,7 @@
"margin-bottom": 16,
"margin-left": 16,
"margin-right": 16,
"modules-left": ["gamemode", "custom/backup", "battery", "temperature", "cpu", "memory", "network"],
"modules-left": ["gamemode", "custom/flatpak", "custom/backup", "custom/rpm-ostree-staged", "battery", "temperature", "cpu", "memory", "network"],
"modules-center": [],
"modules-right": ["mpris", "pulseaudio", "backlight", "idle_inhibitor", "clock"],
"clock": {
@@ -52,8 +56,9 @@
"warning": 30,
"critical": 15
},
"interval": 3,
"format": "{icon} {capacity}%",
"format-charging": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-plugged": "{icon} {capacity}%",
"format-icons": ["", "", "", "", ""]
},
@@ -120,9 +125,23 @@
"stopped": "⏹"
}
},
"custom/flatpak": {
"interval": 180,
"tooltip-format": "{} pending Flatpak updates available",
"format": " {}",
"exec": "flatpak remote-ls --updates --app | wc -l",
"exec-if": "test $(flatpak remote-ls --updates --app | wc -l) -gt 0"
},
"custom/backup": {
"interval": 60,
"format": "",
"tooltip-format": "The last backup job failed -- investigate backup.service for more details",
"exec": "systemctl is-failed backup.service"
},
"custom/rpm-ostree-staged": {
"interval": 60,
"format": "",
"tooltip-format": "An rpm-ostree deployment is pending and will be applied upon the next reboot",
"exec": "rpm-ostree status --json | jq -e '.deployments[0].staged'"
}
}]

View File

@@ -24,7 +24,7 @@ window#waybar {
border-radius: 8px;
}
/* swaywm stuff */
/* Hypr stuff */
#workspaces {
}
#workspaces button {
@@ -53,6 +53,11 @@ window#waybar {
font-weight: bold;
}
#workspaces button.visible {
color: rgba(40, 40, 40, 0.8);
background: #458588;
font-weight: bold;
}
#workspaces button.active {
color: rgba(40, 40, 40, 0.8);
background: #83a598;
font-weight: bold;
@@ -61,17 +66,41 @@ window#waybar {
color: #fabd2f;
font-weight: bold;
}
#mode {
background: #fb4934;
color: rgba(235, 219, 178, 0.8);
/* Window and mode display */
#window {
color: rgba(235, 219, 178, 0.4);
padding: 0 1em;
border-radius: 8px;
}
window#waybar.empty #window {
/* We do this so it properly hides when on an empty workspace */
padding: 0;
}
window#waybar.solo #window {
/* Nothing */
}
window#waybar.floating #window {
/* Workspace contains only floating windows */
color: rgba(40, 40, 40, 0.8);
background: #8ec07c;
}
window#waybar.fullscreen #window {
/* Workspace containing a "fullscreen" window (note that this includes fullscreen, 1, which is maximize) */
color: rgba(40, 40, 40, 0.8);
background: #d3869b;
}
/* Submap display */
#submap {
color: rgba(235, 219, 178, 0.4);
padding: 0 1em;
border-radius: 8px;
}
#submap.resize {
color: rgba(40, 40, 40, 0.8);
background: #d3869b;
}
/* widgets */
#window {
color: #ebdbb2;
padding: 0 1em;
}
#pulseaudio {
padding: 0 1em;
color: #ebdbb2;
@@ -185,3 +214,11 @@ window#waybar {
color: #fb4934;
padding: 0 1em;
}
#custom-flatpak {
color: rgba(235, 219, 178, 0.2);
padding: 0 1em;
}
#custom-rpm-ostree-staged {
color: rgba(235, 219, 178, 0.2);
padding: 0 1em;
}

13
set-remote.sh Executable file
View File

@@ -0,0 +1,13 @@
#! /bin/sh
git remote set-url origin git@git.desu.ltd:salt/dotfiles
echo "Resetting origin back to SSH"
echo "Ensure you've added your ecdsa key to Gitea."
echo "If you need those:"
echo " https://git.desu.ltd/user/settings/keys"
for file in ~/.ssh/*.pub; do
if ! [ -e "$file" ]; then
echo "No pubkeys found -- gen one!"
fi
echo "Public key $file:"
cat "$file"
done

View File

@@ -1,8 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<defs>
<style id="current-color-scheme" type="text/css">
.ColorScheme-Text { color:#ebdbb2; } .ColorScheme-Highlight { color:#4285f4; }
</style>
</defs>
<path style="fill:currentColor" class="ColorScheme-Text" d="M 8 1 C 4.137 1 1 4.137 1 8 C 1 11.863 4.137 15 8 15 C 11.863 15 15 11.863 15 8 C 15 4.137 11.863 1 8 1 z M 8 3 C 9.0194 3 9.959 3.28763 10.75 3.8125 L 3.8125 10.75 C 3.28763 9.95898 3 9.0194 3 8 C 3 5.2407 5.2408 3 8 3 z M 12.1875 5.25 C 12.71237 6.04102 13 6.9806 13 8 C 13 10.7592 10.7592 13 8 13 C 6.9806 13 6.041 12.71237 5.25 12.1875 L 12.1875 5.25 z"/>
</svg>

Before

Width:  |  Height:  |  Size: 674 B

View File

@@ -1,8 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" version="1.1">
<defs>
<style id="current-color-scheme" type="text/css">
.ColorScheme-Text { color:#ebdbb2; } .ColorScheme-Highlight { color:#4285f4; }
</style>
</defs>
<path style="fill:currentColor" class="ColorScheme-Text" d="M 3,1 C 1.89,1 1,1.89 1,3 V 13 C 1,14.11 1.89,15 3,15 H 13 C 14.11,15 15,14.11 15,13 V 3 C 15,1.89 14.11,1 13,1 Z M 8,4 C 10.21,4 12,5.79 12,8 V 8.5 C 12,9.33 11.33,10 10.5,10 10.06,10 9.64,9.8 9.35,9.46 9,9.79 8.52,10 8,10 6.9,10 6,9.1 6,8 6,6.9 6.9,6 8,6 9.1,6 10,6.9 10,8 V 8.5 C 10,8.78 10.22,9 10.5,9 10.78,9 11,8.78 11,8.5 V 8 C 11,6.34 9.66,5 8,5 6.34,5 5,6.34 5,8 5,9.66 6.34,11 8,11 H 10.5 C 10.5,11 11,11 11,11.5 10.97,12 10.5,12 10.5,12 H 8 C 5.79,12 4,10.21 4,8 4,5.79 5.79,4 8,4 Z M 8,7 C 7.45,7 7,7.45 7,8 7,8.55 7.45,9 8,9 8.55,9 9,8.55 9,8 9,7.45 8.55,7 8,7 Z"/>
</svg>

Before

Width:  |  Height:  |  Size: 887 B

Some files were not shown because too many files have changed in this diff Show More