Compare commits

..

32 Commits

Author SHA1 Message Date
cb33d1be20 More espanso completions 2024-04-25 18:40:29 +02:00
7615465c60 Ranger trashing fix 2024-04-25 18:34:35 +02:00
d682f99d12 Sxhkd Update 2024-04-25 18:33:03 +02:00
e617b481af Update Gitignore to include ulauncher stuff 2024-04-25 18:08:41 +02:00
c1928ff080 Remove leftwm dots 2024-04-25 17:59:59 +02:00
34f0b74f6f hyprctl completions 2024-04-22 15:30:50 +02:00
8412e10239 Small changes to waybar, nvim conf update
TODO: rewrite nvim configs to lua
2024-04-22 15:29:14 +02:00
2e9e6dc76f Minor editorconfig changes + new gpg key 2024-04-22 15:27:31 +02:00
4818228ebd Hyprland dots update 2024-04-22 15:24:39 +02:00
5b1f7d213c Kittyfication of jgmenu, also shutdowns 2024-02-17 22:08:00 +01:00
3664af2f1e Switchback to jgmenu 2024-02-17 22:07:08 +01:00
25398c0d47 Dunst shenanigans 2024-02-06 00:29:43 +01:00
8374ef55d4 Fix a forkbomb ;-; 2024-02-05 22:25:59 +01:00
8d341f276e DAP integration for nvim 2024-02-05 18:44:03 +01:00
6cacca348a Autostarting apps, hyprland binding changes 2024-02-05 18:43:11 +01:00
eb47841e97 Ranger trash fix, also kitty previews 2023-12-20 09:04:57 +01:00
82cb616675 Hyprdots ^^ 2023-12-20 09:01:47 +01:00
a798e382b6 Nvim improv 2023-12-20 08:59:52 +01:00
4a6fc56b1b Hacky workaround for hyprland screenlocking 2023-12-20 08:57:27 +01:00
8e952f5cf6 Modify the mirrorup command to include more mirrors, linting of zsh 2023-12-20 08:56:48 +01:00
52bd08fba2 Add kitty config 2023-12-20 08:55:44 +01:00
8f0c663217 p10k updates 2023-11-24 11:53:39 +01:00
268940d75a Nuke redundant keybinds, add logic for kitty and termux 2023-11-24 11:46:03 +01:00
9b438f1c3d Nuke activitywatch 2023-11-24 11:43:03 +01:00
30eafce614 Remove conflicting file 2023-11-24 11:41:29 +01:00
ccf7560a5f Changed nord to catppuccin, fixed urxvt font 2023-11-24 11:40:43 +01:00
c7df2d7e71 Nerd Fonts updated, changed config accordingly 2023-11-24 11:39:35 +01:00
28a9c36323 Hyprland config + touchscreen mode for my new laptop 2023-11-24 11:37:12 +01:00
d235d500f7 Added hyprland configs 2023-11-18 18:49:59 +01:00
f8b24e9734 Switch to eza - exa is no longer maintained 2023-09-18 23:45:44 +02:00
bb7ec3345a Switch to dash 2023-09-18 18:20:08 +02:00
cfa77fcdb4 Picom improvements 2023-09-18 18:17:22 +02:00
44 changed files with 6497 additions and 769 deletions

15
.gitignore vendored
View File

@@ -1,15 +1,2 @@
ulauncher/.config/ulauncher/ext_preferences/com.github.brpaz.ulauncher-brotab.db ulauncher/.config/ulauncher/ext_preferences/**
ulauncher/.config/ulauncher/ext_preferences/com.github.aksdb.ulauncher-gitmoji.db
ulauncher/.config/ulauncher/ext_preferences/com.github.brpaz.ulauncher-dendron.db
ulauncher/.config/ulauncher/ext_preferences/com.github.brpaz.ulauncher-statuspages.db
ulauncher/.config/ulauncher/ext_preferences/com.github.brpaz.ulauncher-trello.db
ulauncher/.config/ulauncher/ext_preferences/com.github.brpaz.ulauncher-timestamp.db
ulauncher/.config/ulauncher/ext_preferences/com.github.friday.ulauncher-hash2.db
ulauncher/.config/ulauncher/ext_preferences/com.github.kazumasan.ulauncher-sessions.db
ulauncher/.config/ulauncher/ext_preferences/com.github.mikebarkmin.ulauncher-duckduckgo.db
ulauncher/.config/ulauncher/ext_preferences/com.github.ncroxas.coingecko-query.db
ulauncher/.config/ulauncher/ext_preferences/com.github.msaistaken.ulauncher-translator.db
ulauncher/.config/ulauncher/ext_preferences/com.github.subutux.ulauncher-variety.db
ulauncher/.config/ulauncher/ext_preferences/com.github.noam09.ulauncher-remmina.db
ulauncher/.config/ulauncher/ext_preferences/com.github.wsdfhjxc.ulauncher-qr-code.db
jgmenu/.config/jgmenu/backup/** jgmenu/.config/jgmenu/backup/**

View File

@@ -26,7 +26,7 @@ font:
# - (Linux/BSD) monospace # - (Linux/BSD) monospace
# - (Windows) Consolas # - (Windows) Consolas
family: Noto Color Emoji family: Noto Color Emoji
family: SauceCodePro Nerd Font Mono family: SauceCodePro NFM
# The `style` can be specified to pick a specific face. # The `style` can be specified to pick a specific face.
#style: Regular #style: Regular
@@ -108,9 +108,6 @@ bell:
# Visual bell animation color. # Visual bell animation color.
color: '#FF0000' #'#4C566A' color: '#FF0000' #'#4C566A'
command:
program: aplay
args: ["/home/vectorkappa/Music/beeps/wav/erro.wav"]
hints: hints:
# URL launcher # URL launcher
# #

View File

@@ -1,4 +1,4 @@
#!/bin/zsh #!/bin/dash
if [ "$(pgrep -cx autogap)" -gt 1 ] ; then if [ "$(pgrep -cx autogap)" -gt 1 ] ; then
killall autogap && exit 0 killall autogap && exit 0

View File

@@ -1,4 +1,4 @@
#!/bin/sh #!/bin/dash
i=1 i=1
case $1 in case $1 in
dsktp) # Add or remove a desktop dsktp) # Add or remove a desktop

View File

@@ -1,4 +1,4 @@
#!/bin/zsh #!/bin/dash
if [ "$(pgrep -cx euclid_balancer)" -gt 1 ] ; then if [ "$(pgrep -cx euclid_balancer)" -gt 1 ] ; then
killall euclid_balancer && exit 0 killall euclid_balancer && exit 0

2
bin/hyprlock Executable file
View File

@@ -0,0 +1,2 @@
#!/bin/dash
swaylock --screenshots --clock --indicator --indicator-radius 100 --indicator-thickness 7 --effect-blur 7x5 --effect-vignette 0.5:0.5 --ring-color bb00cc --key-hl-color 880033 --line-color 00000000 --inside-color 00000088 --separator-color 00000000 --grace 2 --fade-in 0.2 --submit-on-touch

View File

@@ -1,3 +1,3 @@
#! /bin/bash #!/bin/dash
# Run program unless it's already running # Run program unless it's already running
pgrep $@ > /dev/null || ($@ &) pgrep $@ > /dev/null || ($@ &)

View File

@@ -1,3 +1,3 @@
#!/bin/zsh #!/bin/dash
pgrep -axf $1 >/dev/null && pkill -xf $1 || eval $1 & pgrep -axf $1 >/dev/null && pkill -xf $1 || eval $1 &
exit 0 exit 0

12
bin/touch-mode Executable file
View File

@@ -0,0 +1,12 @@
#!/bin/zsh
if [ -e /tmp/.touchmode.lock ]; then
# disable touchmode
hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1"
pkill nwg-dock-hyprl
rm /tmp/.touchmode.lock
else
# enable touchmode
hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1.5"
nwg-dock-hyprland & disown;
touch /tmp/.touchmode.lock
fi

View File

@@ -1,4 +1,4 @@
#!/bin/bash #!/bin/dash
file="/tmp/.minimized" file="/tmp/.minimized"
touch $file touch $file
# By https://github.com/tatou-tatou # By https://github.com/tatou-tatou

View File

@@ -1,2 +0,0 @@
[Desktop]
Session=bspwm

View File

@@ -1,50 +1,40 @@
! Copyright (c) 2016-present Arctic Ice Studio <development@arcticicestudio.com> URxvt.font: xft:SauceCodePro NFM:size=10:antialias=true:minspace=true
! Copyright (c) 2016-present Sven Greb <code@svengreb.de> URxvt.boldFont: xft:SauceCodePro NFM:bold:size=10:antialias=true:minspace=true
! Project: Nord XResources *.cursorColor: #939AB7
! Version: 0.1.0
! Repository: https://github.com/arcticicestudio/nord-xresources
! License: MIT
#define nord0 #2E3440
#define nord1 #3B4252
#define nord2 #434C5E
#define nord3 #4C566A
#define nord4 #D8DEE9
#define nord5 #E5E9F0
#define nord6 #ECEFF4
#define nord7 #8FBCBB
#define nord8 #88C0D0
#define nord9 #81A1C1
#define nord10 #5E81AC
#define nord11 #BF616A
#define nord12 #D08770
#define nord13 #EBCB8B
#define nord14 #A3BE8C
#define nord15 #B48EAD
URxvt.font: xft:SauceCodePro Nerd Font:size=10:antialias=true:minspace=true
URxvt.boldFont: xft:SauceCodePro Nerd Font:bold:size=10:antialias=true:minspace=true
*.foreground: nord6
*.background: nord0
*.cursorColor: nord4
*fading: 35 *fading: 35
*fadeColor: nord3 *fadeColor: #6E738D
*background: #24273A
*foreground: #CAD3F5
*.color0: nord1 ! black
*.color1: nord11 *color0: #494D64
*.color2: nord14 *color8: #5B6078
*.color3: nord13
*.color4: nord9 ! red
*.color5: nord15 *color1: #ED8796
*.color6: nord8 *color9: #ED8796
*.color7: nord5
*.color8: nord3 ! green
*.color9: nord11 *color2: #A6DA95
*.color10: nord14 *color10: #A6DA95
*.color11: nord13
*.color12: nord9 ! yellow
*.color13: nord15 *color3: #EED49F
*.color14: nord7 *color11: #EED49F
*.color15: nord6
! blue
*color4: #8AADF4
*color12: #8AADF4
! magenta
*color5: #F5BDE6
*color13: #F5BDE6
! cyan
*color6: #8BD5CA
*color14: #8BD5CA
! white
*color7: #B8C0E0
*color15: #A5ADCB

View File

@@ -6,3 +6,26 @@ indent_style = tab
end_of_line = lf end_of_line = lf
insert_final_newline = true insert_final_newline = true
trim_trailing_whitespace = true trim_trailing_whitespace = true
# Matches multiple files with brace expansion notation
# Set default charset
[*.{js,py}]
charset = utf-8
[*.{c,h}pp]
indent_style = space
indent_size = 2
# 4 space indentation
[*.py]
indent_style = space
indent_size = 4
# Tab indentation (no size specified)
[Makefile]
indent_style = tab
# Matches the exact files either package.json or .travis.yml
[{package.json,.travis.yml}]
indent_style = space
indent_size = 2

View File

@@ -250,7 +250,7 @@
[user] [user]
name = VectorKappa name = VectorKappa
email = piotrpatalong@gmail.com email = piotrpatalong@gmail.com
signingkey = 0917E6568B3A9A02 signingkey = 32DCE8467E7FBD4F
[mergetool] [mergetool]
keepBackup = true keepBackup = true
[init] [init]

View File

@@ -29,8 +29,12 @@
# the top and down respectively. # the top and down respectively.
# The width can be negative. In this case the actual width is the # The width can be negative. In this case the actual width is the
# screen width minus the width defined in within the geometry option. # screen width minus the width defined in within the geometry option.
geometry = "400x10-600+35" #
#geometry = "400x10-600+35"
width = 400
height = 600
origin = top-right
offset = 10x35
# Turn on the progess bar # Turn on the progess bar
progress_bar = true progress_bar = true
@@ -60,11 +64,6 @@
# present (e.g. xcompmgr, compiz, etc.). # present (e.g. xcompmgr, compiz, etc.).
transparency = 30 transparency = 30
# 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 # Draw a line of "separator_height" pixel height between two
# notifications. # notifications.
# Set to 0 to disable. # Set to 0 to disable.
@@ -81,7 +80,7 @@
# Defines width in pixels of frame around the notification window. # Defines width in pixels of frame around the notification window.
# Set to 0 to disable. # Set to 0 to disable.
frame_width = 0 frame_width = 1
# Defines color of the frame around the notification window. # Defines color of the frame around the notification window.
#frame_color = "#aaaaaa00" #frame_color = "#aaaaaa00"
@@ -96,7 +95,7 @@
frame_color = "#8AADF4" frame_color = "#ED8796"
separator_color= frame separator_color= frame
@@ -112,7 +111,7 @@
### Text ### ### Text ###
font = Monospace 8 font = SauceCodePro Nerd Font Propo 8
# The spacing between lines. If the height is smaller than the # The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height. # font height, it will get raised to the font height.
@@ -189,19 +188,22 @@
### Icons ### ### Icons ###
enable_recursive_icon_lookup = true
icon_theme = Papirus-Dark
# Align icons left/right/off # Align icons left/right/off
icon_position = left icon_position = left
# Scale small icons up to this size, set to 0 to disable. Helpful # Scale small icons up to this size, set to 0 to disable. Helpful
# for e.g. small files or high-dpi screens. In case of conflict, # for e.g. small files or high-dpi screens. In case of conflict,
# max_icon_size takes precedence over this. # max_icon_size takes precedence over this.
min_icon_size = 0 min_icon_size = 16
# Scale larger icons down to this size, set to 0 to disable # Scale larger icons down to this size, set to 0 to disable
max_icon_size = 32 max_icon_size = 32
# Paths to default icons. # Paths to default icons.
icon_path = /usr/share/icons/Adwaita/16x16/status/:/usr/share/icons/Adwaita/16x16/devices/ icon_path = /usr/share/icons/Papirus-Dark/16x16/actions/:/usr/share/icons/Papirus-Dark/16x16/devices/
### History ### ### History ###
@@ -229,20 +231,6 @@
# Define the class of the windows spawned by dunst # Define the class of the windows spawned by dunst
class = 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 = true
# Manage dunst's desire for talking
# Can be one of the following values:
# crit: Critical features. Dunst aborts
# warn: Only non-fatal warnings
# mesg: Important Messages
# info: all unimportant stuff
# debug: all less than unimportant stuff
verbosity = mesg
# Define the corner radius of the notification window # Define the corner radius of the notification window
# in pixel size. If the radius is 0, you have no rounded # in pixel size. If the radius is 0, you have no rounded
# corners. # corners.
@@ -332,16 +320,16 @@
[urgency_low] [urgency_low]
background = "#24273A" background = "#24273A"
foreground = "#CAD3F5" foreground = "#6E738D"
[urgency_normal] [urgency_normal]
background = "#24273A" background = "#24273A"
foreground = "#CAD3F5" foreground = "#CAD3F5"
[urgency_critical] [urgency_critical]
background = "#24273A" background = "#ED8796"
foreground = "#CAD3F5" foreground = "#24273A"
frame_color = "#F5A97F" frame_color = "#EED49F"
#[urgency_low] #[urgency_low]
## IMPORTANT: colors have to be defined in quotation marks. ## IMPORTANT: colors have to be defined in quotation marks.

View File

@@ -64,3 +64,8 @@ matches:
- trigger: ":fitnessgram" - trigger: ":fitnessgram"
replace: "The FitnessGram™ Pacer Test is a multistage aerobic capacity test that progressively gets more difficult as it continues. The 20 meter pacer test will begin in 30 seconds. Line up at the start. The running speed starts slowly, but gets faster each minute after you hear this signal. [beep] A single lap should be completed each time you hear this sound. [ding] Remember to run in a straight line, and run as long as possible. The second time you fail to complete a lap before the sound, your test is over. The test will begin on the word start. On your mark, get ready, start." replace: "The FitnessGram™ Pacer Test is a multistage aerobic capacity test that progressively gets more difficult as it continues. The 20 meter pacer test will begin in 30 seconds. Line up at the start. The running speed starts slowly, but gets faster each minute after you hear this signal. [beep] A single lap should be completed each time you hear this sound. [ding] Remember to run in a straight line, and run as long as possible. The second time you fail to complete a lap before the sound, your test is over. The test will begin on the word start. On your mark, get ready, start."
# And much more! For more information, visit the docs: https://espanso.org/docs/ # And much more! For more information, visit the docs: https://espanso.org/docs/
- trigger: ":foreshadowing"
replace: "Foreshadowing is a narrative device in which a storyteller gives an advance hint of what is to come later in the story. Foreshadowing often appears at the beginning of a story, and it helps develop or subvert the audience's expectations about upcoming events."
- trigger: ":honestly"
replace: "Do you honestly think you're fucking funny, fucking with my friends? Seriously, you're a fucking ugly little cunt mate, and if I ever see you i'm gunna slit your fucking face wide open yeh? You're a fucking angry little fucking spastic. OK, right, lets, first off, uhh youre seventeen so youre not even old enough to play the game, youre from Scotland not Nigeria and you annoy people and put them on YouTube cos youre a cunt, which I totally agree with. So why dont you crawl back up your mums fanny and die? Right, Ill tell you what, you fat little cunt, youre borin you dont sound Nigerian at all so go fuck yourself… GO AND CRAWL IN A DIRTY DANK LITTLE HOLE WHERE YOU FUCKING COME FROM, YOU DIRTY DRAGON EATIN LITTLE FUCKING SPASTIC. Right, OK, the dragon comment was probably a little bit fucking over-the-top, but at the end of the day youre fucking borin. Every single person who watches your videos are fucking stoopid. Theyre fucking ignorant little cunts. And youre just a fucking retard."

View File

@@ -0,0 +1,8 @@
#!/bin/dash
xhost + local: ;
swww init;
flameshot &
wayvnc &
dex -a &
dunst &
$HOME/.config/waybar/launcher.sh

View File

@@ -0,0 +1,231 @@
# This is an example Hyprland config file.
# Syntax is the same as in Hypr, but settings might differ.
#
# Refer to the wiki for more information.
monitor=DP-1,1920x1080@60,0x0,1
monitor=DP-3,1920x1080@60,1920x0,1
monitor=eDP-1,1920x1080@60,0x0,1
monitor=HDMI-A-1,1920x1080@60,1920x0,1
#workspace=DP-1,1
workspace=1, m:DP-1
workspace=2, m:DP-1
workspace=3, m:DP-1
workspace=4, m:DP-1
workspace=5, m:DP-1
workspace=6, m:DP-3
workspace=7, m:DP-3
workspace=8, m:DP-3
workspace=9, m:DP-3
workspace=10, m:DP-3
input {
kb_layout=pl
kb_variant=
kb_model=
kb_options=
kb_rules=
numlock_by_default=true
follow_mouse=1
touchpad {
natural_scroll=true
}
}
general {
#max_fps=60 # deprecated, unused
sensitivity=1
#main_mod=SUPER
no_cursor_warps=true
gaps_in=5
gaps_out=20
border_size=2
col.active_border=0x66ee1111
col.inactive_border=0x66333333
resize_on_border=true
#damage_tracking=full # leave it on full unless you hate your GPU and want to make it suffer
}
decoration {
rounding=10
blur {
enabled=1
size=3 # minimum 1
passes=3 # minimum 1, more passes = more resource intensive.
}
# Your blur "amount" is blur_size * blur_passes, but high blur_size (over around 5-ish) will produce artifacts.
# if you want heavy blur, you need to up the blur_passes.
# the more passes, the more you can up the blur_size without noticing artifacts.
}
dwindle {
pseudotile=0 # enable pseudotiling on dwindle
}
misc {
force_default_wallpaper=0
vrr=1
}
# example window rules
# for windows named/classed as abc and xyz
#windowrule=move 69 420,abc
#windowrule=size 420 69,abc
#windowrule=tile,xyz
#windowrule=float,abc
#windowrule=pseudo,abc
#windowrule=monitor 0,xyz
# example binds
bind=SUPERSHIFT,Z,exec,alacritty
bind=SUPER,Z,exec,kitty
bind=SUPER,X,killactive,
bind=SUPER_SHIFT,X,exec,hyprctl activewindow |grep pid |tr -d 'pid:'|xargs kill
bind=SUPER_SHIFT,Q,exit,
bind=SUPER,E,exec,nemo
bind=SUPERSHIFT,E,exec,kitty ranger
bind=SUPER,F,fullscreen,1
bind=SUPERSHIFT,F,fullscreen,0
bind=SUPERSHIFT,L,exec,hyprlock
bind=SUPER,T,togglefloating,
bind=SUPER,R,exec,wofi --show drun -o DP-3
bind=SUPER,P,pseudo,
bind=SUPER,SPACE,exec,rofi -modi drun,run,window,calc -show drun
bind=SUPER,C,pin
bind=SUPER,left,movefocus,l
bind=SUPER,right,movefocus,r
bind=SUPER,up,movefocus,u
bind=SUPER,down,movefocus,d
bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow
bind=SUPER,1,workspace,1
bind=SUPER,2,workspace,2
bind=SUPER,3,workspace,3
bind=SUPER,4,workspace,4
bind=SUPER,5,workspace,5
bind=SUPER,6,workspace,6
bind=SUPER,7,workspace,7
bind=SUPER,8,workspace,8
bind=SUPER,9,workspace,9
bind=SUPER,0,workspace,10
bind=SUPER_SHIFT,1,movetoworkspacesilent,1
bind=SUPER_SHIFT,2,movetoworkspacesilent,2
bind=SUPER_SHIFT,3,movetoworkspacesilent,3
bind=SUPER_SHIFT,4,movetoworkspacesilent,4
bind=SUPER_SHIFT,5,movetoworkspacesilent,5
bind=SUPER_SHIFT,6,movetoworkspacesilent,6
bind=SUPER_SHIFT,7,movetoworkspacesilent,7
bind=SUPER_SHIFT,8,movetoworkspacesilent,8
bind=SUPER_SHIFT,9,movetoworkspacesilent,9
bind=SUPER_SHIFT,0,movetoworkspacesilent,10
bind=SUPERSHIFT,S,exec,flameshot gui
# T14gen2 FN KEYS
bind=,XF86AudioMicMute,exec,amixer set Capture toggle
bind=,XF86AudioMute,exec,amixer set Master toggle
bind=,XF86AudioRaiseVolume,exec,amixer set Master playback 5%+
bind=,XF86AudioLowerVolume,exec,amixer set Master playback 5%-
bind=,XF86MonBrightnessUp,exec,xbacklight -inc 5
bind=,XF86MonBrightnessDown,exec,xbacklight -dec 5
bind=,XF86Launch2,exec,touch-mode
bind=CTRL,XF86Launch2,exec,hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1"
bind=SHIFT,XF86Launch2,exec,hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1.5"
bind=SHIFT,XF86MonBrightnessDown,exec,xbacklight -set 0.01
bind=SHIFT,XF86MonBrightnessUp,exec,xbacklight -set 100
exec-once=dash ~/.config/hypr/autostart.sh
exec-once=hyprctl setcursor Vimix-white-cursors 24
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$
windowrulev2 = nofocus,class:^(xwaylandvideobridge)$
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
windowrulev2 = pin,class:^(scrcpy)$
windowrulev2 = move onscreen 100%-30,class:^(scrcpy)$
windowrulev2 = stayfocused,title:^rofi
windowrulev2 = float,class:^(flameshot)$
windowrulev2 = pin,class:^(flameshot)$
windowrulev2 = opacity 0.0 override 0.0 override,title:^(Espanso Sync Tool)$
windowrulev2 = float,title:^(Espanso Sync Tool)$
windowrulev2 = size 0.1 0.1,title:^(Espanso Sync Tool)$
windowrulev2 = move 100% 100%,title:^(Espanso Sync Tool)$
# Envars; to play along with wayland nicely
env = QT_QPA_PLATFORM,wayland;xcb
env = CLUTTER_BACKEND,wayland
env = GDK_BACKEND,wayland,x11
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = QT_QPA_PLATFORMTHEME,qt5ct
plugin {
hyprbars {
# example config
bar_height = 20
# example buttons (R -> L)
# hyprbars-button = color, size, on-click
bar_color = rgb(000000)
hyprbars-button = rgb(ff4040), 10, 󰖭, hyprctl dispatch killactive
hyprbars-button = rgb(eeee11), 10, , hyprctl dispatch fullscreen 1
hyprbars-button = rgb(11ee11), 10, ¥, hyprctl dispatch togglefloating
}
hyprfocus {
enabled = yes
focus_animation = shrink
bezier = bezIn, 0.5,0.0,1.0,0.5
bezier = bezOut, 0.0,0.5,0.5,1.0
flash {
flash_opacity = 0.7
in_bezier = bezIn
in_speed = 0.5
out_bezier = bezOut
out_speed = 3
}
shrink {
shrink_percentage = 0.98
in_bezier = bezIn
in_speed = 0.5
out_bezier = bezOut
out_speed = 3
}
}
hyprtrails {
color = rgba(ff0000ff)
}
hyprexpo {
columns = 3
gap_size = 5
bg_col = rgb(111111)
workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1
enable_gesture = true # laptop touchpad, 4 fingers
gesture_distance = 300 # how far is the "max"
gesture_positive = true # positive = swipe down. Negative = swipe up.
}
}
exec-once = hyprpm reload -n

View File

@@ -3,5 +3,7 @@ Lock,loginctl lock-session,system-lock-screen
Exit,^checkout(exit),system-shutdown Exit,^checkout(exit),system-shutdown
^tag(exit) ^tag(exit)
Suspend,systemctl -i suspend,system-log-out Suspend,systemctl -i suspend,system-log-out
Hybrid Suspend,systemctl -i hybrid-sleep,system-suspend
Reboot,systemctl -i reboot,system-reboot Reboot,systemctl -i reboot,system-reboot
Hibernate,systemctl -i hibernate,system-hibernate
Poweroff,systemctl -i poweroff,system-shutdown Poweroff,systemctl -i poweroff,system-shutdown
1 ^sep()
3 Exit,^checkout(exit),system-shutdown
4 ^tag(exit)
5 Suspend,systemctl -i suspend,system-log-out
6 Hybrid Suspend,systemctl -i hybrid-sleep,system-suspend
7 Reboot,systemctl -i reboot,system-reboot
8 Hibernate,systemctl -i hibernate,system-hibernate
9 Poweroff,systemctl -i poweroff,system-shutdown

View File

@@ -1,7 +1,7 @@
stay_alive = 1 stay_alive = 1
tint2_look = 0 tint2_look = 0
position_mode = fixed position_mode = fixed
terminal_exec = alacritty terminal_exec = kitty
terminal_args = -e terminal_args = -e
menu_width = 300 menu_width = 300
menu_padding_top = 5 menu_padding_top = 5
@@ -21,7 +21,7 @@ item_padding_x = 8
item_radius = 0 item_radius = 0
item_border = 0 item_border = 0
sep_height = 5 sep_height = 5
font = SauceCodePro Nerd Font Mono 12px font = SauceCodePro NFM 12px
icon_size = 26 icon_size = 26
icon_text_spacing = 10 icon_text_spacing = 10
icon_norm_alpha = 100 icon_norm_alpha = 100
@@ -41,7 +41,7 @@ verbosity = 4
# csv_cmd = apps # csv_cmd = apps
# edge_snap_x = 30 # edge_snap_x = 30
# monitor = 0 # monitor = 0
# hover_delay = 100 hover_delay = 100
# hide_back_items = 1 # hide_back_items = 1
# columns = 1 # columns = 1
# tabs = 120 # tabs = 120

View File

@@ -0,0 +1,80 @@
# vim:ft=kitty
## name: Catppuccin-Macchiato
## author: Pocco81 (https://github.com/Pocco81)
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/macchiato.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #CAD3F5
background #24273A
selection_foreground #24273A
selection_background #F4DBD6
# Cursor colors
cursor #F4DBD6
cursor_text_color #24273A
# URL underline color when hovering with mouse
url_color #F4DBD6
# Kitty window border colors
active_border_color #B7BDF8
inactive_border_color #6E738D
bell_border_color #EED49F
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #181926
active_tab_background #C6A0F6
inactive_tab_foreground #CAD3F5
inactive_tab_background #1E2030
tab_bar_background #181926
# Colors for marks (marked text in the terminal)
mark1_foreground #24273A
mark1_background #B7BDF8
mark2_foreground #24273A
mark2_background #C6A0F6
mark3_foreground #24273A
mark3_background #7DC4E4
# The 16 terminal colors
# black
color0 #494D64
color8 #5B6078
# red
color1 #ED8796
color9 #ED8796
# green
color2 #A6DA95
color10 #A6DA95
# yellow
color3 #EED49F
color11 #EED49F
# blue
color4 #8AADF4
color12 #8AADF4
# magenta
color5 #F5BDE6
color13 #F5BDE6
# cyan
color6 #8BD5CA
color14 #8BD5CA
# white
color7 #B8C0E0
color15 #A5ADCB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,352 +0,0 @@
modkey = "Mod4"
mousekey = "Mod4"
workspaces = []
tags = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]
layouts = ["MainAndVertStack", "MainAndHorizontalStack", "MainAndDeck", "GridHorizontal", "EvenHorizontal", "EvenVertical", "Fibonacci", "CenterMain", "CenterMainBalanced", "Monocle", "RightWiderLeftStack", "LeftWiderRightStack"]
layout_mode = "Workspace"
disable_current_tag_swap = false
focus_behaviour = "Sloppy"
focus_new_windows = true
window_rules = [
# windows whose WM_CLASS is "Navigator" will be spawn on tag 2 (by position, 1-indexed)
{window_class = "tint2", spawn_floating = true},
{window_class = "ulauncher", spawn_floating = true, spawn_sticky = true},
]
####################################################################################################
##########################################################################################SCRATCHPAD
####################################################################################################
[[scratchpad]]
name = "Alacritty"
value = "WINIT_X11_SCALE_FACTOR=1 alacritty -o font.size=14"
x = 0.25
y = 0.0
height = 0.5
width = 0.5
[[keybind]]
command = "ToggleScratchPad"
value = "Alacritty"
modifier = ["modkey"]
key = "F12"
####################################################################################################
###########################################################################################LAUNCHERS
####################################################################################################
[[keybind]]
command = "Execute"
value = "dmenu_run"
modifier = ["modkey"]
key = "p"
[[keybind]]
command = "Execute"
value = "ulauncher-toggle"
modifier = ["Alt"]
key = "space"
[[keybind]]
command = "Execute"
value = "rofi -modi drun,run,window,calc,windowcd,combi,keys,filebrowser,emoji -show drun"
modifier = ["modkey"]
key = "r"
####################################################################################################
#####################################################################################SESSION CONTROL
####################################################################################################
[[keybind]]
command = "Execute"
value = "loginctl kill-session $XDG_SESSION_ID"
modifier = ["modkey", "Shift"]
key = "q"
[[keybind]]
command = "Execute"
value = "loginctl lock-session"
modifier = ["modkey", "Control"]
key = "l"
####################################################################################################
########################################################################################APPLICATIONS
####################################################################################################
[[keybind]]
command = "Execute"
value = "xterm"
modifier = ["modkey", "Shift"]
key = "Return"
[[keybind]]
command = "Execute"
value = "alacritty"
modifier = ["modkey"]
key = "z"
[[keybind]]
command = "Execute"
value = "nemo"
modifier = ["modkey"]
key = "e"
[[keybind]]
command = "Execute"
value = "flameshot gui"
modifier = ["modkey", "Shift"]
key = "s"
####################################################################################################
#####################################################################################LEFTWM-SPECIFIC
####################################################################################################
[[keybind]]
command = "CloseWindow"
modifier = ["modkey"]
key = "x"
[[keybind]]
command = "ToggleSticky"
modifier = ["modkey"]
key = "c"
[[keybind]]
command = "ToggleFullScreen"
modifier = ["modkey", "Shift"]
key = "f"
[[keybind]]
command = "SoftReload"
modifier = ["modkey", "Shift"]
key = "r"
[[keybind]]
command = "HardReload"
modifier = ["modkey", "Shift", "Control"]
key = "r"
[[keybind]]
command = "MoveToLastWorkspace"
modifier = ["modkey", "Shift"]
key = "w"
[[keybind]]
command = "SwapTags"
modifier = ["modkey"]
key = "w"
[[keybind]]
command = "MoveWindowUp"
modifier = ["modkey", "Shift"]
key = "k"
[[keybind]]
command = "MoveWindowDown"
modifier = ["modkey", "Shift"]
key = "j"
[[keybind]]
command = "MoveWindowTop"
modifier = ["modkey"]
key = "Return"
[[keybind]]
command = "FocusWindowUp"
modifier = ["modkey"]
key = "k"
[[keybind]]
command = "FocusWindowDown"
modifier = ["modkey"]
key = "j"
[[keybind]]
command = "NextLayout"
modifier = ["modkey", "Control"]
key = "k"
[[keybind]]
command = "PreviousLayout"
modifier = ["modkey", "Control"]
key = "j"
[[keybind]]
command = "FocusWorkspaceNext"
modifier = ["modkey"]
key = "l"
[[keybind]]
command = "FocusWorkspacePrevious"
modifier = ["modkey"]
key = "h"
[[keybind]]
command = "MoveWindowUp"
modifier = ["modkey", "Shift"]
key = "Up"
[[keybind]]
command = "MoveWindowDown"
modifier = ["modkey", "Shift"]
key = "Down"
[[keybind]]
command = "FocusWindowUp"
modifier = ["modkey"]
key = "Up"
[[keybind]]
command = "FocusWindowDown"
modifier = ["modkey"]
key = "Down"
[[keybind]]
command = "NextLayout"
modifier = ["modkey", "Control"]
key = "Up"
[[keybind]]
command = "PreviousLayout"
modifier = ["modkey", "Control"]
key = "Down"
[[keybind]]
command = "FocusWorkspaceNext"
modifier = ["modkey"]
key = "Right"
[[keybind]]
command = "FocusWorkspacePrevious"
modifier = ["modkey"]
key = "Left"
####################################################################################################
####################################################################################TAG MANIPULATION
####################################################################################################
[[keybind]]
command = "GotoTag"
value = "1"
modifier = ["modkey"]
key = "1"
[[keybind]]
command = "GotoTag"
value = "2"
modifier = ["modkey"]
key = "2"
[[keybind]]
command = "GotoTag"
value = "3"
modifier = ["modkey"]
key = "3"
[[keybind]]
command = "GotoTag"
value = "4"
modifier = ["modkey"]
key = "4"
[[keybind]]
command = "GotoTag"
value = "5"
modifier = ["modkey"]
key = "5"
[[keybind]]
command = "GotoTag"
value = "6"
modifier = ["modkey"]
key = "6"
[[keybind]]
command = "GotoTag"
value = "7"
modifier = ["modkey"]
key = "7"
[[keybind]]
command = "GotoTag"
value = "8"
modifier = ["modkey"]
key = "8"
[[keybind]]
command = "GotoTag"
value = "9"
modifier = ["modkey"]
key = "9"
[[keybind]]
command = "GotoTag"
value = "10"
modifier = ["modkey"]
key = "0"
####################################################################################################
#################################################################################MOVING BETWEEN TAGS
####################################################################################################
[[keybind]]
command = "MoveToTag"
value = "1"
modifier = ["modkey", "Shift"]
key = "1"
[[keybind]]
command = "MoveToTag"
value = "2"
modifier = ["modkey", "Shift"]
key = "2"
[[keybind]]
command = "MoveToTag"
value = "3"
modifier = ["modkey", "Shift"]
key = "3"
[[keybind]]
command = "MoveToTag"
value = "4"
modifier = ["modkey", "Shift"]
key = "4"
[[keybind]]
command = "MoveToTag"
value = "5"
modifier = ["modkey", "Shift"]
key = "5"
[[keybind]]
command = "MoveToTag"
value = "6"
modifier = ["modkey", "Shift"]
key = "6"
[[keybind]]
command = "MoveToTag"
value = "7"
modifier = ["modkey", "Shift"]
key = "7"
[[keybind]]
command = "MoveToTag"
value = "8"
modifier = ["modkey", "Shift"]
key = "8"
[[keybind]]
command = "MoveToTag"
value = "9"
modifier = ["modkey", "Shift"]
key = "9"
[[keybind]]
command = "MoveToTag"
value = "10"
modifier = ["modkey", "Shift"]
key = "0"

View File

@@ -1,8 +1,9 @@
" ----------------- " -----------------
" GUI - Settings " GUI - Settings
" ----------------- " -----------------
set guifont=SauceCodePro\ Nerd\ Font\ Mono:12 set guifont=SauceCodePro\ NFM:12
set linespace=4 set linespace=4
set title
set mouse=a set mouse=a
let g:neovide_input_use_logo=v:false let g:neovide_input_use_logo=v:false

View File

@@ -23,7 +23,7 @@ Plug 'elkowar/yuck.vim'
Plug 'junegunn/vim-github-dashboard' Plug 'junegunn/vim-github-dashboard'
Plug 'honza/vim-snippets' Plug 'honza/vim-snippets'
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'ActivityWatch/aw-watcher-vim' "Plug 'ActivityWatch/aw-watcher-vim'
Plug 'vim-scripts/indentLine.vim' Plug 'vim-scripts/indentLine.vim'
Plug 'rhysd/git-messenger.vim' Plug 'rhysd/git-messenger.vim'
"Plug 'neoclide/coc.nvim', {'branch': 'release'} "Plug 'neoclide/coc.nvim', {'branch': 'release'}
@@ -71,7 +71,7 @@ Plug 'antoinemadec/FixCursorHold.nvim'
Plug 'glacambre/firenvim', { 'do': { _ -> firenvim#install(0) } } Plug 'glacambre/firenvim', { 'do': { _ -> firenvim#install(0) } }
Plug 'norcalli/nvim-colorizer.lua' Plug 'NvChad/nvim-colorizer.lua'
Plug 'ms-jpq/chadtree', {'branch': 'chad', 'do': 'python3 -m chadtree deps'} Plug 'ms-jpq/chadtree', {'branch': 'chad', 'do': 'python3 -m chadtree deps'}
Plug 'ms-jpq/coq_nvim', {'branch': 'coq'} Plug 'ms-jpq/coq_nvim', {'branch': 'coq'}
@@ -79,14 +79,21 @@ Plug 'ms-jpq/coq_nvim', {'branch': 'coq'}
Plug 'ms-jpq/coq.artifacts', {'branch': 'artifacts'} Plug 'ms-jpq/coq.artifacts', {'branch': 'artifacts'}
Plug 'ms-jpq/coq.thirdparty', {'branch': '3p'} Plug 'ms-jpq/coq.thirdparty', {'branch': '3p'}
Plug 'nvim-tree/nvim-web-devicons'
Plug 'projekt0n/circles.nvim'
Plug 'nvim-neotest/nvim-nio'
Plug 'uga-rosa/translate.nvim' Plug 'uga-rosa/translate.nvim'
Plug 'mechatroner/rainbow_csv'
Plug 'christoomey/vim-system-copy' Plug 'christoomey/vim-system-copy'
Plug 'eandrju/cellular-automaton.nvim' Plug 'eandrju/cellular-automaton.nvim'
Plug 'williamboman/mason.nvim' Plug 'williamboman/mason.nvim'
Plug 'williamboman/mason-lspconfig.nvim'
Plug 'neovim/nvim-lspconfig' Plug 'neovim/nvim-lspconfig'
Plug 'ranjithshegde/ccls.nvim' "Plug 'ranjithshegde/ccls.nvim'
Plug 'mfussenegger/nvim-dap'
Plug 'rcarriga/nvim-dap-ui'
" Initialize plugin system " Initialize plugin system
call plug#end() call plug#end()
@@ -129,22 +136,44 @@ let g:syntastic_python_checkers = ['bandit', 'python']
" Keybinds " Keybinds
nnoremap <F2> :CHADopen<CR> nnoremap <F2> :CHADopen<CR>
set pastetoggle=<F3> nnoremap <F3> :lua vim.lsp.buf.code_action()<CR>
nnoremap <F4> :Goyo<CR> nnoremap <F4> :Goyo<CR>
nnoremap <F5> :MundoToggle<CR> nnoremap <F5> :MundoToggle<CR>
nnoremap <F6> :lua require("dapui").toggle()<CR>
""Legacy" bindings for cut/copy/paste ""Legacy" bindings for cut/copy/paste
imap <C-X> "+x "imap <C-X> "+x
imap <C-C> "+y "imap <C-C> "+y
imap <C-V> "+gP "imap <C-V> "+gP
lua << EOF lua << EOF
require("mason").setup()
require("mason-lspconfig").setup()
require("mason-lspconfig").setup_handlers({
function (server_name) -- default handler (optional)
require("lspconfig")[server_name].setup(require('coq').lsp_ensure_capabilities({}))
end})
local lsp = require "lspconfig" local lsp = require "lspconfig"
local coq = require "coq" -- add this local coq = require "coq" -- add this
local dap = require("dap")
dap.adapters.gdb = {
type = "executable",
command = "gdb",
args = { "-i", "dap" }
}
dap.configurations.cpp = {
{
name = "Launch",
type = "gdb",
request = "launch",
program = function()
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
end,
cwd = "${workspaceFolder}",
stopAtBeginningOfMainSubprogram = false,
},
}
-- Mappings. -- Mappings.
-- See `:help vim.diagnostic.*` for documentation on any of the below functions -- See `:help vim.diagnostic.*` for documentation on any of the below functions
local opts = { noremap=true, silent=true } local opts = { noremap=true, silent=true }
@@ -187,8 +216,9 @@ local lsp_flags = {
--lsp.<server>.setup(<stuff...>) -- before --lsp.<server>.setup(<stuff...>) -- before
--lsp.<server>.setup(coq.lsp_ensure_capabilities(<stuff...>)) -- after --lsp.<server>.setup(coq.lsp_ensure_capabilities(<stuff...>)) -- after
lsp.pyright.setup(coq.lsp_ensure_capabilities({})) --lsp.pyright.setup(coq.lsp_ensure_capabilities({}))
lsp.ccls.setup(coq.lsp_ensure_capabilities({})) --lsp.ccls.setup(coq.lsp_ensure_capabilities({}))
--lsp.ltex.setup(coq.lsp_ensure_capabilities({settings = {ltex = {language = "pl-PL"}}}))
lsp.rust_analyzer.setup(coq.lsp_ensure_capabilities({ lsp.rust_analyzer.setup(coq.lsp_ensure_capabilities({
settings = { settings = {
["rust-analyzer"] = { ["rust-analyzer"] = {
@@ -212,10 +242,11 @@ lsp.rust_analyzer.setup(coq.lsp_ensure_capabilities({
EOF EOF
let g:catppuccin_flavour = "macchiato" " latte, frappe, macchiato, mocha let g:catppuccin_flavour = "macchiato"
lua require("dapui").setup()
lua require("catppuccin").setup() lua require("catppuccin").setup()
lua require('colorizer').setup() lua require('colorizer').setup()
lua require("circles").setup()
colorscheme catppuccin colorscheme catppuccin
autocmd VimEnter * execute 'COQnow -s' autocmd VimEnter * execute 'COQnow -s'

View File

@@ -1,65 +0,0 @@
// The Nord colorscheme is used by default,
// but you can make your own by changing `colors`
uniform float opacity;
uniform float time;
uniform bool invert_color;
uniform sampler2D tex;
float sin_rand() {
return sin(gl_FragCoord.x + cos(gl_FragCoord.y));
}
float random(float seedChange) {
vec2 seed = gl_FragCoord.xy + sin(seedChange);
return fract(dot(vec2(sin(mod(seed.x / cos(seed.y), 5.0) * 10000.0)), vec2(1.1, 12.2)));
}
void main() {
vec4 c = texture2D(tex, gl_TexCoord[0].xy);
vec4 d = c;
vec3 colors[16];
colors[0 ] = vec3(0.286,0.302,0.392);
colors[1 ] = vec3(0.929,0.529,0.588);
colors[2 ] = vec3(0.651,0.855,0.584);
colors[3 ] = vec3(0.933,0.831,0.624);
colors[4 ] = vec3(0.541,0.678,0.957);
colors[5 ] = vec3(0.961,0.741,0.902);
colors[6 ] = vec3(0.545,0.835,0.792);
colors[7 ] = vec3(0.722,0.753,0.878);
colors[8 ] = vec3(0.357,0.376,0.471);
colors[9 ] = vec3(0.926,0.529,0.588);
colors[10] = vec3(0.651,0.855,0.584);
colors[11] = vec3(0.933,0.831,0.624);
colors[12] = vec3(0.541,0.678,0.957);
colors[13] = vec3(0.961,0.741,0.902);
colors[14] = vec3(0.545,0.835,0.792);
colors[15] = vec3(0.647,0.678,0.796);
float mindist = 100.0;
int minind = 0;
float mindist2 = 100.0;
int minind2 = 0;
for (int i = 0; i < 16; i++) {
float dist = length(c.xyz - colors[i]);
if (dist < mindist) {
mindist2 = mindist;
mindist = dist;
minind2 = minind;
minind = i;
}
}
float ratio = mindist / (mindist + mindist2);
float r = random(1.0) * 0.4 + 0.25;
if (r > ratio)
c.xyz = colors[minind];
else
c.xyz = colors[minind2];
c.xyz = mix(mix(colors[minind], colors[minind2], ratio), c.xyz, 0.5);
if (invert_color)
c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a);
c *= opacity;
gl_FragColor = vec4(c);
}

View File

@@ -1,65 +0,0 @@
// The Nord colorscheme is used by default,
// but you can make your own by changing `colors`
uniform float opacity;
uniform float time;
uniform bool invert_color;
uniform sampler2D tex;
float sin_rand() {
return sin(gl_FragCoord.x + cos(gl_FragCoord.y));
}
float random(float seedChange) {
vec2 seed = gl_FragCoord.xy + sin(seedChange);
return fract(dot(vec2(sin(mod(seed.x / cos(seed.y), 5.0) * 10000.0)), vec2(1.1, 12.2)));
}
void main() {
vec4 c = texture2D(tex, gl_TexCoord[0].xy);
vec4 d = c;
vec3 colors[16];
colors[0 ] = vec3(0.18 ,0.204,0.251);
colors[1 ] = vec3(0.231,0.259,0.322);
colors[2 ] = vec3(0.263,0.298,0.369);
colors[3 ] = vec3(0.298,0.337,0.416);
colors[4 ] = vec3(0.847,0.871,0.914);
colors[5 ] = vec3(0.898,0.914,0.941);
colors[6 ] = vec3(0.925,0.937,0.957);
colors[7 ] = vec3(0.561,0.737,0.733);
colors[8 ] = vec3(0.533,0.753,0.816);
colors[9 ] = vec3(0.506,0.631,0.757);
colors[10] = vec3(0.369,0.506,0.675);
colors[11] = vec3(0.749,0.38 ,0.416);
colors[12] = vec3(0.816,0.529,0.439);
colors[13] = vec3(0.922,0.796,0.545);
colors[14] = vec3(0.639,0.745,0.549);
colors[15] = vec3(0.706,0.557,0.678);
float mindist = 100.0;
int minind = 0;
float mindist2 = 100.0;
int minind2 = 0;
for (int i = 0; i < 16; i++) {
float dist = length(c.xyz - colors[i]);
if (dist < mindist) {
mindist2 = mindist;
mindist = dist;
minind2 = minind;
minind = i;
}
}
float ratio = mindist / (mindist + mindist2);
float r = random(1.0) * 0.4 + 0.25;
if (r > ratio)
c.xyz = colors[minind];
else
c.xyz = colors[minind2];
c.xyz = mix(mix(colors[minind], colors[minind2], ratio), c.xyz, 0.5);
if (invert_color)
c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a);
c *= opacity;
gl_FragColor = vec4(c);
}

View File

@@ -1,33 +0,0 @@
#version 130
#extension GL_ARB_shading_language_420pack: enable
#define CYCLE 5000 // The amount of miliseconds it takes to do a full "loop" around all the colors.
uniform float opacity;
uniform bool invert_color;
uniform sampler2D tex;
uniform float time;
float get_decimal_part(float f) {
return f - int(f);
}
float snap0(float f) {
return (f < 0) ? 0 : f;
}
void main() {
vec4 c = texture2D(tex, gl_TexCoord[0].xy);
float f = get_decimal_part(time / CYCLE);
gl_FragColor.a = 1;
float p[3] = {
snap0(0.33 - abs(f - 0.33)) * 4,
snap0(0.33 - abs(f - 0.66)) * 4,
snap0(0.33 - abs(f - 1.00)) * 4 + snap0(0.33 - abs(f - 0.0)) * 4
};
gl_FragColor.r = p[0] * c.r + p[1] * c.g + p[2] * c.b;
gl_FragColor.g = p[2] * c.r + p[0] * c.g + p[1] * c.b;
gl_FragColor.b = p[1] * c.r + p[2] * c.g + p[0] * c.b;
}

View File

@@ -17,5 +17,6 @@ vec4 window_shader() {
if (invert_color) if (invert_color)
c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a); c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a);
c *= opacity; c *= opacity;
vec4 default_post_processing(vec4 c);
return c; return c;
} }

View File

@@ -0,0 +1,22 @@
#version 330
in vec2 texcoord;
uniform float opacity;
uniform bool invert_color;
uniform sampler2D tex;
vec4 window_shader() {
vec4 c = texelFetch(tex, ivec2(texcoord), 0);
{
// Change vec4(1.0, 1.0, 1.0, 1.0) to your desired color
vec4 vdiff = abs(vec4(0.0, 0.0, 0.0, 1.0) - c);
float diff = max(max(max(vdiff.r, vdiff.g), vdiff.b), vdiff.a);
// Change 0.8 to your desired opacity
if (diff < 0.001)
c *= 0;
}
if (invert_color)
c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a);
c *= opacity;
vec4 default_post_processing(vec4 c);
return c;
}

View File

@@ -132,7 +132,7 @@ focus-exclude = [ "class_g = 'Cairo-clock'" ];
# Sets the radius of rounded window corners. When > 0, the compositor will # Sets the radius of rounded window corners. When > 0, the compositor will
# round the corners of windows. Does not interact well with # round the corners of windows. Does not interact well with
# `transparent-clipping`. # `transparent-clipping`.
corner-radius = 3 corner-radius = 9
# Exclude conditions for rounded corners. # Exclude conditions for rounded corners.
rounded-corners-exclude = [ rounded-corners-exclude = [
@@ -169,11 +169,11 @@ opacity-rule = [
# Exclude conditions for background blur. # Exclude conditions for background blur.
# blur-background-exclude = [] # blur-background-exclude = []
blur-background-exclude = [ #blur-background-exclude = [
"window_type = 'dock'", # "window_type = 'dock'",
"window_type = 'desktop'", # "window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c" # "_GTK_FRAME_EXTENTS@:c"
]; #];
################################# #################################
# General Settings # # General Settings #
@@ -298,7 +298,13 @@ use-damage = true;
# to opacity-rule. SHADER_PATH can be "default". This overrides window-shader-fg. # to opacity-rule. SHADER_PATH can be "default". This overrides window-shader-fg.
# #
window-shader-fg-rule = [ window-shader-fg-rule = [
"black_to_transparent.frag:class_g = 'stalonetray'" "black_to_transparent.frag:class_g = 'stalonetray'",
"black_to_transparent.frag:class_g = 'Minecraft 1.7.10'",
"black_to_transparent.frag:focused = true",
"black_to_transparent.frag:focused != true",
#"sphere.glsl:focused != true"
#"nordify.glsl:class_g = 'miru'"
] ]
# Force all windows to be painted with blending. Useful if you # Force all windows to be painted with blending. Useful if you

View File

@@ -0,0 +1,372 @@
#version 430
#define PI 3.14159265
// These shaders work by using a pinhole camera and raycasting
// The window 3d objects will always be (somewhat) centered at (0, 0, 0)
struct pinhole_camera
{
float focal_offset; // Distance along the Z axis between the camera
// center and the focal point. Use negative values
// so the image doesn't flip
// This kinda works like FOV in games
// Transformations
// Use these to modify the coordinate system of the camera plane
vec3 rotations; // Rotations in radians around each axis
// The camera plane rotates around
// its center point, not the origin
vec3 translations; // Translations in pixels along each axis
vec3 deformations; // Deforms the camera. Higher values on each axis
// means the window will be squashed in that axis
// ---------------------------------------------------------------//
// "Aftervalues"
// These will be set later with setup_camera(), leave them as 0
vec3 base_x;
vec3 base_y;
vec3 base_z;
vec3 center_point;
vec3 focal_point;
};
in vec2 texcoord; // texture coordinate of the fragment
uniform sampler2D tex; // texture of the window
uniform float time; // Time in miliseconds.
float time_cyclic = mod(time/10000,2); // Like time, but in seconds and resets to
// 0 when it hits 2. Useful for using it in
// periodic functions like cos and sine
// Time variables can be used to change transformations over time
ivec2 window_size = textureSize(tex, 0); // Size of the window
float window_diagonal = length(window_size); // Diagonal of the window
//
int wss = min(window_size.x, window_size.y); // Window smallest side, useful when squaring windows
// Try to keep focal offset and translations proportional to window_size components
// or window_diagonal as you see fit
pinhole_camera camera =
pinhole_camera(-window_size.y/2, // Focal offset
vec3(0,0,0), // Rotations
vec3(0,0,0), // Translations
vec3(1,1,1), // Deformations
// Leave the rest as 0
vec3(0),
vec3(0),
vec3(0),
vec3(0),
vec3(0));
// Here are some presets you can use
// Moves the camera up and down
pinhole_camera bobbing =
pinhole_camera(-window_size.y/2,
vec3(0,0,0),
vec3(0,cos(time_cyclic*PI)*window_size.y/16,-window_size.y/4),
vec3(1,1,1),
vec3(0),
vec3(0),
vec3(0),
vec3(0),
vec3(0));
// Rotates camera around the origin
// Makes the window rotate around the Y axis from the camera's POV
// (if the window is centered)
pinhole_camera rotate_around_origin =
pinhole_camera(-wss,
vec3(PI/6*sin(2*time_cyclic*PI),-time_cyclic*PI-PI/2,0),
vec3(cos(time_cyclic*PI)*wss,
wss/2*sin(2*time_cyclic*PI),
sin(time_cyclic*PI)*wss),
vec3(1,1,1),
vec3(0),
vec3(0),
vec3(0),
vec3(0),
vec3(0));
// Rotate camera around its center
pinhole_camera rotate_around_itself =
pinhole_camera(-wss,
vec3(0,-time_cyclic*PI-PI/2,0),
vec3(0,0,-wss),
vec3(1,1,1),
vec3(0),
vec3(0),
vec3(0),
vec3(0),
vec3(0));
// Here you can select the preset to use
pinhole_camera window_cam = rotate_around_origin;
ivec2 window_center = ivec2(window_size.x/2, window_size.y/2);
// Default window post-processing:
// 1) invert color
// 2) opacity / transparency
// 3) max-brightness clamping
// 4) rounded corners
vec4 default_post_processing(vec4 c);
// Sets up a camera by applying transformations and
// calculating xyz vector basis
pinhole_camera setup_camera(pinhole_camera camera)
{
// Apply translations
camera.center_point += camera.translations;
// Apply rotations
// We initialize our vector basis as normalized vectors
// in each axis * our deformations vector
camera.base_x = vec3(camera.deformations.x, 0, 0);
camera.base_y = vec3(0, camera.deformations.y, 0);
camera.base_z = vec3(0, 0, camera.deformations.z);
// Then we rotate them around following our rotations vector:
// First save these values to avoid redundancy
float cosx = cos(camera.rotations.x);
float cosy = cos(camera.rotations.y);
float cosz = cos(camera.rotations.z);
float sinx = sin(camera.rotations.x);
float siny = sin(camera.rotations.y);
float sinz = sin(camera.rotations.z);
// Declare a buffer vector we will use to apply multiple changes at once
vec3 tmp = vec3(0);
// Rotations for base_x:
tmp = camera.base_x;
// X axis:
tmp.y = camera.base_x.y * cosx - camera.base_x.z * sinx;
tmp.z = camera.base_x.y * sinx + camera.base_x.z * cosx;
camera.base_x = tmp;
// Y axis:
tmp.x = camera.base_x.x * cosy + camera.base_x.z * siny;
tmp.z = -camera.base_x.x * siny + camera.base_x.z * cosy;
camera.base_x = tmp;
// Z axis:
tmp.x = camera.base_x.x * cosz - camera.base_x.y * sinz;
tmp.y = camera.base_x.x * sinz + camera.base_x.y * cosz;
camera.base_x = tmp;
// Rotations for base_y:
tmp = camera.base_y;
// X axis:
tmp.y = camera.base_y.y * cosx - camera.base_y.z * sinx;
tmp.z = camera.base_y.y * sinx + camera.base_y.z * cosx;
camera.base_y = tmp;
// Y axis:
tmp.x = camera.base_y.x * cosy + camera.base_y.z * siny;
tmp.z = -camera.base_y.x * siny + camera.base_y.z * cosy;
camera.base_y = tmp;
// Z axis:
tmp.x = camera.base_y.x * cosz - camera.base_y.y * sinz;
tmp.y = camera.base_y.x * sinz + camera.base_y.y * cosz;
camera.base_y = tmp;
// Rotations for base_z:
tmp = camera.base_z;
// X axis:
tmp.y = camera.base_z.y * cosx - camera.base_z.z * sinx;
tmp.z = camera.base_z.y * sinx + camera.base_z.z * cosx;
camera.base_z = tmp;
// Y axis:
tmp.x = camera.base_z.x * cosy + camera.base_z.z * siny;
tmp.z = -camera.base_z.x * siny + camera.base_z.z * cosy;
camera.base_z = tmp;
// Z axis:
tmp.x = camera.base_z.x * cosz - camera.base_z.y * sinz;
tmp.y = camera.base_z.x * sinz + camera.base_z.y * cosz;
camera.base_z = tmp;
// Now that we have our transformed 3d orthonormal base
// we can calculate our focal point
camera.focal_point = camera.center_point + camera.base_z * camera.focal_offset;
// Return our set up camera
return camera;
}
// Gets a pixel from the end of a ray projected to an axis
vec4 get_pixel_from_projection(float t, pinhole_camera camera, vec3 focal_vector)
{
// If the point we end up in is behind our camera, don't "render" it
if (t < 1)
{
return vec4(0);
}
// Then we multiply our focal vector by t and add our focal point to it
// to end up in a point inside the window plane
vec3 intersection = focal_vector * t + camera.focal_point;
// Save necessary coordinates
vec2 cam_coords = intersection.xy;
// Square window trickery
if (window_size.x > window_size.y)
{
cam_coords.x /= window_size.y/float(window_size.x);
cam_coords.xy += window_center.xy;
}
else if (window_size.x < window_size.y)
{
cam_coords.y /= window_size.x/float(window_size.y);
cam_coords.xy += window_center.xy;
}
// If pixel is outside of our window region
// return a dimmed pixel with the window's border color
if (cam_coords.x >=window_size.x-1 ||
cam_coords.y >=window_size.y-1 ||
cam_coords.x <=0 || cam_coords.y <=0)
{
cam_coords.x = 0;
cam_coords.y = window_center.y;
vec4 pixel = texelFetch(tex, ivec2(cam_coords), 0);
pixel *= 0.5;
return pixel;
}
// Fetch the pixel
vec4 pixel = texelFetch(tex, ivec2(cam_coords), 0);
return pixel;
}
// Combines colors using alpha
// Got this from https://stackoverflow.com/questions/64701745/how-to-blend-colours-with-transparency
// Not sure how it works honestly lol
vec4 alpha_composite(vec4 color1, vec4 color2)
{
float ar = color1.w + color2.w - (color1.w * color2.w);
float asr = color2.w / ar;
float a1 = 1 - asr;
float a2 = asr * (1 - color1.w);
float ab = asr * color1.w;
vec4 outcolor;
outcolor.xyz = color1.xyz * a1 + color2.xyz * a2 + color2.xyz * ab;
outcolor.w = ar;
return outcolor;
}
// Gets a pixel through the camera using coords as coordinates in
// the camera plane
vec4 get_pixel_through_camera(vec2 coords, pinhole_camera camera)
{
// Offset coords
coords -= window_center;
// Find the pixel 3d position using the camera vector basis
vec3 pixel_3dposition = camera.center_point
+ coords.x * camera.base_x
+ coords.y * camera.base_y;
// Get the vector going from the focal point to the pixel in 3d sapace
vec3 focal_vector = pixel_3dposition - camera.focal_point;
// Following the sphere EQ (with Y axis as center)
// x^2 + y^2 + z^2 = r^2
float r = min(window_size.x, window_size.y)/(PI/2);
// Then there's a line going from our focal point to the cylinder
// which we can describe as:
// x(t) = focal_point.x + focal_vector.x * t
// y(t) = focal_point.y + focal_vector.y * t
// z(t) = focal_point.z + focal_vector.z * t
// We substitute x, y and z with x(t) and z(t) in the cylinder EQ
// Solving for t we get a cuadratic EQ which we solve with the
// cuadratic formula:
// We calculate focal vector and focal point values squared
// to avoid redundancy
vec3 fvsqr;
vec3 fpsqr;
fvsqr.x = pow(focal_vector.x,2);
fvsqr.y = pow(focal_vector.y,2);
fvsqr.z = pow(focal_vector.z,2);
fpsqr.x = pow(camera.focal_point.x,2);
fpsqr.y = pow(camera.focal_point.y,2);
fpsqr.z = pow(camera.focal_point.z,2);
// Coeficients of our EQ
float a = fvsqr.x + fvsqr.y + fvsqr.z;
float b = 2*(camera.focal_point.x*focal_vector.x
+camera.focal_point.y*focal_vector.y
+camera.focal_point.z*focal_vector.z);
float c = fpsqr.x + fpsqr.y + fpsqr.z - pow(r,2);
// If there are no real roots, then there's no intersection and we
// return an empty pixel
float formulasqrt = pow(b,2)-4*a*c;
if (formulasqrt < 0)
{
return vec4(0);
}
vec2 t[2]; // A float should be used for this instead, but the shader
// isn't rendered correctly when I use a float
// Cursed, but it works
// Solve with general formula
t[0].x = (-b + sqrt(formulasqrt))/(2*a);
t[1].x = (-b - sqrt(formulasqrt))/(2*a);
t[0].y = 0;
t[1].y = 0;
// Bubble sort to know which intersections happen first
for (int i = 0; i < t.length(); i++)
{
for (int j = 0; j < t.length(); j++)
{
if (t [j].x > t[j+1].x)
{
vec2 tmp = t[j];
t[j] = t[j+1];
t[j+1] = tmp;
}
}
}
// Then we go through each one of the intersections in order
// and mix pixels together using alpha
vec4 blended_pixels = vec4(0);
for (int i = 0; i < t.length(); i++)
{
// We get the pixel through projection
vec4 projection_pixel = get_pixel_from_projection(t[i].x,
camera,
focal_vector);
if (projection_pixel.w > 0.0)
{
// Blend the pixel using alpha
blended_pixels = alpha_composite(projection_pixel, blended_pixels);
}
}
return blended_pixels;
}
// Main function
vec4 window_shader() {
pinhole_camera transformed_cam = setup_camera(window_cam);
return(get_pixel_through_camera(texcoord, transformed_cam));
}

View File

@@ -49,11 +49,11 @@ padding-right = 2
module-margin-left = 1 module-margin-left = 1
module-margin-right = 1 module-margin-right = 1
font-0 = "SauceCodePro Nerd Font Mono:size=10;1" font-0 = "SauceCodePro NFM:size=10;1"
font-1 = "Unifont:size=10:antialias=false;0" font-1 = "Unifont:size=10:antialias=false;0"
font-2 = "Siji:pixelsize=10;1" font-2 = "Siji:pixelsize=10;1"
font-3 = "SauceCodePro Nerd Font Mono:size=16;4" font-3 = "SauceCodePro NFM:size=16;4"
font-4 = "SauceCodePro Nerd Font Mono:size=13;3" font-4 = "SauceCodePro NFM:size=13;3"
font-5 = "Noto Color Emoji:scale=10;1" font-5 = "Noto Color Emoji:scale=10;1"
modules-left = rofi bspwm modules-left = rofi bspwm
@@ -95,11 +95,11 @@ padding-right = 2
module-margin-left = 1 module-margin-left = 1
module-margin-right = 1 module-margin-right = 1
font-0 = "SauceCodePro Nerd Font Mono:size=10" font-0 = "SauceCodePro NFM:size=10"
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0 font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
font-2 = siji:pixelsize=10;1 font-2 = siji:pixelsize=10;1
font-3 = "SauceCodePro Nerd Font Mono:size=16;4" font-3 = "SauceCodePro NFM:size=16;4"
font-4 = "SauceCodePro Nerd Font Mono:size=13;2" font-4 = "SauceCodePro NFM:size=13;2"
modules-center = mpd modules-center = mpd
modules-right = pulseaudio modules-right = pulseaudio
@@ -133,11 +133,11 @@ padding-right = 2
module-margin-left = 1 module-margin-left = 1
module-margin-right = 1 module-margin-right = 1
font-0 = "SauceCodePro Nerd Font Mono:size=10" font-0 = "SauceCodePro NFM:size=10"
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0 font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
font-2 = siji:pixelsize=10;1 font-2 = siji:pixelsize=10;1
font-3 = "SauceCodePro Nerd Font Mono:size=16;4" font-3 = "SauceCodePro NFM:size=16;4"
font-4 = "SauceCodePro Nerd Font Mono:size=13;2" font-4 = "SauceCodePro NFM:size=13;2"
modules-left = restart_polybar modules-left = restart_polybar
modules-center = temperature modules-center = temperature

View File

@@ -34,7 +34,7 @@ set column_ratios 1,3,4
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$ set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
# Show hidden files? You can toggle this by typing 'zh' # Show hidden files? You can toggle this by typing 'zh'
set show_hidden false set show_hidden true
# Ask for a confirmation when running the "delete" command? # Ask for a confirmation when running the "delete" command?
# Valid values are "always", "never", "multiple" (default) # Valid values are "always", "never", "multiple" (default)
@@ -57,7 +57,7 @@ set automatically_count_files true
set open_all_images true set open_all_images true
# Be aware of version control systems and display information. # Be aware of version control systems and display information.
set vcs_aware false set vcs_aware true
# State of the four backends git, hg, bzr, svn. The possible states are # State of the four backends git, hg, bzr, svn. The possible states are
# disabled, local (only show local info), enabled (show local and remote # disabled, local (only show local info), enabled (show local and remote
@@ -71,7 +71,7 @@ set vcs_backend_svn disabled
set vcs_msg_length 50 set vcs_msg_length 50
# Use one of the supported image preview protocols # Use one of the supported image preview protocols
set preview_images false set preview_images true
# Set the preview image method. Supported methods: # Set the preview image method. Supported methods:
# #
@@ -114,7 +114,7 @@ set preview_images false
# Preview images in full color with the external command "ueberzug". # Preview images in full color with the external command "ueberzug".
# Images are shown by using a child window. # Images are shown by using a child window.
# Only for users who run X11 in GNU/Linux. # Only for users who run X11 in GNU/Linux.
set preview_images_method ueberzug set preview_images_method kitty
# Delay in seconds before displaying an image with the w3m method. # Delay in seconds before displaying an image with the w3m method.
# Increase it in case of experiencing display corruption. # Increase it in case of experiencing display corruption.
@@ -128,7 +128,7 @@ set iterm2_font_width 8
set iterm2_font_height 11 set iterm2_font_height 11
# Use a unicode "..." character to mark cut-off filenames? # Use a unicode "..." character to mark cut-off filenames?
set unicode_ellipsis false set unicode_ellipsis true
# BIDI support - try to properly display file names in RTL languages (Hebrew, Arabic). # BIDI support - try to properly display file names in RTL languages (Hebrew, Arabic).
# Requires the python-bidi pip package # Requires the python-bidi pip package
@@ -183,7 +183,7 @@ set display_free_space_in_status_bar true
set display_tags_in_all_columns true set display_tags_in_all_columns true
# Set a title for the window? Updates both `WM_NAME` and `WM_ICON_NAME` # Set a title for the window? Updates both `WM_NAME` and `WM_ICON_NAME`
set update_title false set update_title true
# Set the tmux/screen window-name to "ranger"? # Set the tmux/screen window-name to "ranger"?
set update_tmux_title true set update_tmux_title true
@@ -495,7 +495,7 @@ map p`<any> paste dest=%any_path
map p'<any> paste dest=%any_path map p'<any> paste dest=%any_path
map dD console delete map dD console delete
map dT console trash map dT shell gio trash %s
map dd cut map dd cut
map ud uncut map ud uncut

View File

@@ -262,7 +262,7 @@ label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1"
#------------------------------------------- #-------------------------------------------
# Generic file openers # Generic file openers
#------------------------------------------- #-------------------------------------------
label open, has xdg-open = xdg-open -- "$@" label open, has xdg-open = xdg-open "$@"
label open, has open = open -- "$@" label open, has open = open -- "$@"
# Define the editor for non-text files + pager as last action # Define the editor for non-text files + pager as last action
@@ -280,5 +280,5 @@ label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER"
mime application/x-executable = "$1" mime application/x-executable = "$1"
# Move the file to trash using trash-cli. # Move the file to trash using trash-cli.
label trash, has trash-put = trash-put -- "$@" label trash, has trash-put = trash-put "$@"
label trash = mkdir -p -- ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash; mv -- "$@" ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash label trash = mkdir -p -- ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash; mv -- "$@" ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash

View File

@@ -287,10 +287,10 @@ super + shift + Return
urxvt urxvt
super + z super + z
alacritty kitty
super + shift + z super + shift + z
open-terminal-here alacritty
super + r super + r
rofi -modi drun,run,window,calc,emoji -show run rofi -modi drun,run,window,calc,emoji -show run

View File

@@ -0,0 +1,180 @@
{
"layer": "top", // Waybar at top layer
// "position": "bottom", // Waybar position (top|bottom|left|right)
"height": 30, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
"spacing": 4, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": ["custom/archicon","hyprland/workspaces", "custom/media", ],
"modules-center": ["hyprland/window"],
"modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "sway/language", "battery", "clock", "tray"],
// Modules configuration
// "sway/workspaces": {
// "disable-scroll": true,
// "all-outputs": true,
// "warp-on-scroll": false,
// "format": "{name}: {icon}",
// "format-icons": {
// "1": "",
// "2": "",
// "3": "",
// "4": "",
// "5": "",
// "urgent": "",
// "focused": "",
// "default": ""
// }
// },
"hyprland/workspaces":{
"active-only":false,
"format":"{name}",
"on-scroll-up": "hyprctl dispatch workspace e+1",
"on-scroll-down": "hyprctl dispatch workspace e-1",
"persistent-workspaces": {
"*":10,
},
},
"keyboard-state": {
"numlock": false,
"capslock": true,
"format": "{name} {icon}",
"format-icons": {
"locked": "",
"unlocked": ""
}
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"sway/scratchpad": {
"format": "{icon} {count}",
"show-empty": false,
"format-icons": ["", ""],
"tooltip": true,
"tooltip-format": "{app}: {title}"
},
"mpd": {
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
"format-disconnected": "Disconnected ",
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
"unknown-tag": "N/A",
"interval": 2,
"consume-icons": {
"on": " "
},
"random-icons": {
"off": "<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": {
"format": "{icon}",
"format-icons": {
"activated": "󰅶",
"deactivated": "󰾪"
}
},
"tray": {
// "icon-size": 21,
"spacing": 10
},
"clock": {
// "timezone": "America/New_York",
"tooltip-format": "<big>{:%d %B %Y}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%Y-%m-%d}",
},
"cpu": {
"format": "{usage}% ",
"tooltip": false
},
"memory": {
"format": "{}% "
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": "{temperatureC}°C {icon}",
"format-icons": ["", "", " "]
},
"backlight": {
// "device": "acpi_video1",
"format": "{percent}% {icon}",
"format-icons": ["", "", "", "", "", "", "", "", ""]
},
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{capacity}% {icon}",
"format-charging": "{capacity}% ",
"format-plugged": "{capacity}% ",
"format-alt": "{time} {icon}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{essid} ({signalStrength}%) ",
"format-ethernet": "{ipaddr}/{cidr} 󰈀",
"tooltip-format": "{ifname} via {gwaddr} ",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "Disconnected ⚠",
"format-alt": "{ifname}: {ipaddr}/{cidr}",
"on-click-right": "kitty nmtui"
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon} {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": "󰝟 {icon} {format_source}",
"format-muted": "󰝟 {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "󰋋",
"hands-free": "󰟅",
"headset": "󰋎",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"on-click": "pavucontrol"
},
"custom/media": {
"format": "{icon} {}",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": "",
"default": "🎜"
},
"escape": true,
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
},
"custom/archicon": {
"format":"󰣇",
// "on-click":"nwg-menu -d -fm nemo -cmd-lock gtklock -va top",
"on-click":"jgmenu_run",
"tooltip":false,
}
}

View File

@@ -0,0 +1,10 @@
#!/bin/dash
CONFIG_FILES="$HOME/.config/waybar/config $HOME/.config/waybar/style.css"
trap "killall waybar" EXIT
while true; do
waybar &
inotifywait -e create,modify $CONFIG_FILES
killall waybar
done

View File

@@ -0,0 +1,38 @@
/*
*
* Catppuccin Macchiato palette
* Maintainer: rubyowo
*
*/
@define-color base #24273a;
@define-color mantle #1e2030;
@define-color crust #181926;
@define-color text #cad3f5;
@define-color subtext0 #a5adcb;
@define-color subtext1 #b8c0e0;
@define-color surface0 #363a4f;
@define-color surface1 #494d64;
@define-color surface2 #5b6078;
@define-color overlay0 #6e738d;
@define-color overlay1 #8087a2;
@define-color overlay2 #939ab7;
@define-color blue #8aadf4;
@define-color lavender #b7bdf8;
@define-color sapphire #7dc4e4;
@define-color sky #91d7e3;
@define-color teal #8bd5ca;
@define-color green #a6da95;
@define-color yellow #eed49f;
@define-color peach #f5a97f;
@define-color maroon #ee99a0;
@define-color red #ed8796;
@define-color mauve #c6a0f6;
@define-color pink #f5bde6;
@define-color flamingo #f0c6c6;
@define-color rosewater #f4dbd6;

View File

@@ -0,0 +1,313 @@
@import "macchiato.css";
* {
/* `otf-font-awesome` is required to be installed for icons */
font-family: "NotoSans Nerd Font Propo", FontAwesome, Roboto, Helvetica, Arial, sans-serif;
font-size: 13px;
}
window#waybar {
background-color: shade(@base, 1);/* rgba(43, 48, 59, 0.5);*/
border-bottom: 3px solid shade(@overlay2, 0.5);
color: #ffffff;
transition-property: background-color;
transition-duration: .5s;
}
window#waybar.hidden {
opacity: 0.2;
}
/*
window#waybar.empty {
background-color: transparent;
}
window#waybar.solo {
background-color: #FFFFFF;
}
*/
window#waybar.termite {
background-color: #3F3F3F;
}
window#waybar.chromium {
background-color: @base;
border: none;
}
button {
/* Use box-shadow instead of border so the text isn't offset */
box-shadow: inset 0 -3px transparent;
/* Avoid rounded borders under each button name */
border: none;
border-radius: 0;
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
button:hover {
background: inherit;
box-shadow: inset 0 -3px #ffffff;
}
#workspaces button {
padding: 0 5px;
background-color: shade(@blue, 0.5);
color: #ffffff;
}
#workspaces button.empty {
background-color: transparent;/* rgba(43, 48, 59, 0.5);*/
}
#workspaces button:hover {
background: rgba(0, 0, 0, 0.2);
}
#workspaces button.active {
background-color: @overlay1;
box-shadow: inset 0 -3px #ffffff;
}
#workspaces button.urgent {
background-color: @red;
}
#mode {
background-color: #64727D;
border-bottom: 3px solid #ffffff;
}
#cava,
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#wireplumber,
#custom-media,
#tray,
#mode,
#idle_inhibitor,
#scratchpad,
#mpd {
padding: 0 10px;
color: @text;
}
#window,
#workspaces {
margin: 0 4px;
}
/* If workspaces is the leftmost module, omit left margin */
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
/* If workspaces is the rightmost module, omit right margin */
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
#clock {
background-color: inherit;
}
#battery {
background-color: #ffffff;
color: @base;
}
#battery.charging, #battery.plugged {
color: @base;
background-color: @green;
}
@keyframes blink {
to {
background-color: #ffffff;
color: @base;
}
}
#battery.critical:not(.charging) {
background-color: #f53c3c;
color: #ffffff;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
label:focus {
background-color: @base;
}
#cpu {
background-color: @teal;
color: @surface0;
}
#memory {
background-color: @mauve;
color: @surface0;
}
#disk {
background-color: #964B00;
}
#backlight {
background-color: @teal;
color: @base;
}
#network {
background-color: @sky;
color: @base;
}
#network.disconnected {
background-color: @red;
}
#pulseaudio {
background-color: @yellow;
color: @base;
}
#pulseaudio.muted {
background-color: @peach;
color: @base;
}
#wireplumber {
background-color: @yellow;
color: @base;
}
#wireplumber.muted {
background-color: @peach;
}
#custom-media {
background-color: #66cc99;
color: #2a5c45;
min-width: 100px;
}
#custom-media.custom-spotify {
background-color: #66cc99;
}
#custom-media.custom-vlc {
background-color: #ffa000;
}
#temperature {
background-color: #f0932b;
color: @base;
}
#temperature.critical {
background-color: #eb4d4b;
}
#tray {
/*background-color: @crust;*/
}
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: @maroon;
}
#idle_inhibitor {
background-color: #2d3436;
}
#idle_inhibitor.activated {
background-color: #ecf0f1;
color: #2d3436;
}
#mpd {
background-color: #66cc99;
color: #2a5c45;
}
#mpd.disconnected {
background-color: #f53c3c;
}
#mpd.stopped {
background-color: #90b1b1;
}
#mpd.paused {
background-color: #51a37a;
}
#language {
background: #00b093;
color: #740864;
padding: 0 5px;
margin: 0 5px;
min-width: 16px;
}
#keyboard-state {
background: @sky;
color: @base;
padding: 0 0px;
margin: 0 5px;
min-width: 16px;
}
#keyboard-state > label {
padding: 0 5px;
}
#keyboard-state > label.locked {
background: rgba(0, 0, 0, 0.2);
}
#scratchpad {
background: rgba(0, 0, 0, 0.2);
}
#scratchpad.empty {
background-color: transparent;
}
#privacy {
padding: 0;
}
#privacy-item {
padding: 0 5px;
color: white;
}
#privacy-item.screenshare {
background-color: #cf5700;
}
#privacy-item.audio-in {
background-color: #1ca000;
}
#privacy-item.audio-out {
background-color: #0069d4;
}
#custom-archicon {
background-color: #ff0000;
min-width: 40px;
}

View File

@@ -10,7 +10,7 @@ alias .....="cd ../../../.."
alias ......="cd ../../../../.." alias ......="cd ../../../../.."
##* Colours! ##* Colours!
alias ls="command exa" alias ls="command eza"
alias grep='grep --color=auto' alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto' alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto' alias egrep='egrep --color=auto'
@@ -24,17 +24,17 @@ alias j="jobs"
alias lessf="less +F" alias lessf="less +F"
# List all files colorized in long format # List all files colorized in long format
alias l="exa -G --icons" alias l="eza -G --icons"
alias ll="exa -l --icons" alias ll="eza -l --icons"
alias lg="exa -lG" alias lg="eza -lG"
alias lall="exa -lahF --icons --git" alias lall="eza -lahF --icons --git"
alias lalg="exa -laGhF --icons --git" alias lalg="eza -laGhF --icons --git"
alias latree="exa -laGghHT --git --icons" alias latree="eza -laGghHT --git --icons"
# List all files colorized in long format, including dot files # List all files colorized in long format, including dot files
alias la="exa -la" alias la="eza -la"
# List only directories # List only directories
alias lsd="exa -laD" alias lsd="eza -laD"
# Enable aliases to be sudoed # Enable aliases to be sudoed
alias sudo='sudo ' alias sudo='sudo '
@@ -89,7 +89,10 @@ alias please='sudo'
alias simon-says='sudo' alias simon-says='sudo'
alias runhis="anyframe-widget-execute-history" alias runhis="anyframe-widget-execute-history"
alias gitup='for dir in $(find . -name ".git"); do cd ${dir%/*}; pwd ; git pull ; cd -; done'
# Default xclip to use Ctrl-c/Ctrl-v clipboard # Default xclip to use Ctrl-c/Ctrl-v clipboard
alias xclip="xclip -selection c" alias xclip="xclip -selection c"
alias :q="exit" alias :q="exit"
alias mirrorup='sudo reflector --verbose -c Poland -c Germany -c France -l 10 -a 2 -p https --sort rate --save /etc/pacman.d/mirrorlist' alias mirrorup='sudo reflector --verbose -c Poland -c Germany -c France -l 25 -a 2 -p https --sort rate --save /etc/pacman.d/mirrorlist'
alias lock="swaylock --screenshots --clock --indicator --indicator-radius 100 --indicator-thickness 7 --effect-blur 7x5 --effect-vignette 0.5:0.5 --ring-color bb00cc --key-hl-color 880033 --line-color 00000000 --inside-color 00000088 --separator-color 00000000 --grace 2 --fade-in 0.2"

View File

@@ -1,7 +1,7 @@
# Generated by Powerlevel10k configuration wizard on 2022-10-18 at 23:43 CEST. # Generated by Powerlevel10k configuration wizard on 2023-11-22 at 09:26 CET.
# Based on romkatv/powerlevel10k/config/p10k-lean.zsh, checksum 30611. # Based on romkatv/powerlevel10k/config/p10k-lean.zsh, checksum 61526.
# Wizard options: nerdfont-complete + powerline, small icons, unicode, lean, 2 lines, # Wizard options: nerdfont-v3 + powerline, small icons, unicode, lean, 2 lines, solid,
# solid, right frame, darkest-ornaments, sparse, many icons, concise, transient_prompt, # right frame, darkest-ornaments, sparse, many icons, concise, transient_prompt,
# instant_prompt=quiet. # instant_prompt=quiet.
# Type `p10k configure` to generate another config. # Type `p10k configure` to generate another config.
# #
@@ -54,33 +54,33 @@
anaconda # conda environment (https://conda.io/) anaconda # conda environment (https://conda.io/)
pyenv # python environment (https://github.com/pyenv/pyenv) pyenv # python environment (https://github.com/pyenv/pyenv)
goenv # go environment (https://github.com/syndbg/goenv) goenv # go environment (https://github.com/syndbg/goenv)
# nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv)
nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) nvm # node.js version from nvm (https://github.com/nvm-sh/nvm)
# nodeenv # node.js environment (https://github.com/ekalinin/nodeenv) nodeenv # node.js environment (https://github.com/ekalinin/nodeenv)
node_version # node.js version # node_version # node.js version
go_version # go version (https://golang.org) # go_version # go version (https://golang.org)
rust_version # rustc version (https://www.rust-lang.org) rust_version # rustc version (https://www.rust-lang.org)
# dotnet_version # .NET version (https://dotnet.microsoft.com) # dotnet_version # .NET version (https://dotnet.microsoft.com)
# php_version # php version (https://www.php.net/) # php_version # php version (https://www.php.net/)
# laravel_version # laravel php framework version (https://laravel.com/) # laravel_version # laravel php framework version (https://laravel.com/)
# java_version # java version (https://www.java.com/) # java_version # java version (https://www.java.com/)
package # name@version from package.json (https://docs.npmjs.com/files/package.json) package # name@version from package.json (https://docs.npmjs.com/files/package.json)
# rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv) rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv)
# rvm # ruby version from rvm (https://rvm.io) rvm # ruby version from rvm (https://rvm.io)
fvm # flutter version management (https://github.com/leoafarias/fvm) fvm # flutter version management (https://github.com/leoafarias/fvm)
luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv) luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv)
jenv # java version from jenv (https://github.com/jenv/jenv) jenv # java version from jenv (https://github.com/jenv/jenv)
# plenv # perl version from plenv (https://github.com/tokuhirom/plenv) plenv # perl version from plenv (https://github.com/tokuhirom/plenv)
# perlbrew # perl version from perlbrew (https://github.com/gugod/App-perlbrew) perlbrew # perl version from perlbrew (https://github.com/gugod/App-perlbrew)
phpenv # php version from phpenv (https://github.com/phpenv/phpenv) phpenv # php version from phpenv (https://github.com/phpenv/phpenv)
# scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv) scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv)
haskell_stack # haskell version from stack (https://haskellstack.org/) haskell_stack # haskell version from stack (https://haskellstack.org/)
kubecontext # current kubernetes context (https://kubernetes.io/) kubecontext # current kubernetes context (https://kubernetes.io/)
terraform # terraform workspace (https://www.terraform.io) terraform # terraform workspace (https://www.terraform.io)
# terraform_version # terraform version (https://www.terraform.io) # terraform_version # terraform version (https://www.terraform.io)
# aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
# aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/)
# azure # azure account name (https://docs.microsoft.com/en-us/cli/azure) azure # azure account name (https://docs.microsoft.com/en-us/cli/azure)
gcloud # google cloud cli account and project (https://cloud.google.com/) gcloud # google cloud cli account and project (https://cloud.google.com/)
google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production) google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
toolbox # toolbox name (https://github.com/containers/toolbox) toolbox # toolbox name (https://github.com/containers/toolbox)
@@ -88,33 +88,36 @@
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
ranger # ranger shell (https://github.com/ranger/ranger) ranger # ranger shell (https://github.com/ranger/ranger)
nnn # nnn shell (https://github.com/jarun/nnn) nnn # nnn shell (https://github.com/jarun/nnn)
lf # lf shell (https://github.com/gokcehan/lf)
xplr # xplr shell (https://github.com/sayanarijit/xplr) xplr # xplr shell (https://github.com/sayanarijit/xplr)
vim_shell # vim shell indicator (:sh) vim_shell # vim shell indicator (:sh)
midnight_commander # midnight commander shell (https://midnight-commander.org/) midnight_commander # midnight commander shell (https://midnight-commander.org/)
nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
chezmoi_shell # chezmoi shell (https://www.chezmoi.io/)
# vpn_ip # virtual private network indicator # vpn_ip # virtual private network indicator
# load # CPU load # load # CPU load
# disk_usage # disk usage # disk_usage # disk usage
# ram # free RAM # ram # free RAM
# swap # used swap # swap # used swap
# todo # todo items (https://github.com/todotxt/todo.txt-cli) todo # todo items (https://github.com/todotxt/todo.txt-cli)
timewarrior # timewarrior tracking status (https://timewarrior.net/) timewarrior # timewarrior tracking status (https://timewarrior.net/)
taskwarrior # taskwarrior task count (https://taskwarrior.org/) taskwarrior # taskwarrior task count (https://taskwarrior.org/)
per_directory_history # Oh My Zsh per-directory-history local/global indicator
# cpu_arch # CPU architecture # cpu_arch # CPU architecture
time # current time time # current time
# =========================[ Line #2 ]========================= # =========================[ Line #2 ]=========================
newline newline
command_execution_time # duration of the last command command_execution_time # duration of the last command
# ip # ip address and bandwidth usage for a specified network interface # ip # ip address and bandwidth usage for a specified network interface
# public_ip # public IP address # public_ip # public IP address
# proxy # system-wide http/https/ftp proxy # proxy # system-wide http/https/ftp proxy
battery # internal battery battery # internal battery
# wifi # wifi speed # wifi # wifi speed
# example # example user-defined segment (see prompt_example function below) # example # example user-defined segment (see prompt_example function below)
) )
# Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you.
typeset -g POWERLEVEL9K_MODE=nerdfont-complete typeset -g POWERLEVEL9K_MODE=nerdfont-v3
# When set to `moderate`, some icons will have an extra space after them. This is meant to avoid # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid
# icon overlap when using non-monospace fonts. When set to `none`, spaces are not added. # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added.
typeset -g POWERLEVEL9K_ICON_PADDING=none typeset -g POWERLEVEL9K_ICON_PADDING=none
@@ -237,7 +240,7 @@
.java-version .java-version
.perl-version .perl-version
.php-version .php-version
.tool-version .tool-versions
.shorten_folder_marker .shorten_folder_marker
.svn .svn
.terraform .terraform
@@ -344,7 +347,7 @@
#####################################[ vcs: git status ]###################################### #####################################[ vcs: git status ]######################################
# Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon. # Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon.
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\UE0A0 ' typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\uF126 '
# Untracked files icon. It's really a question mark, your font isn't broken. # Untracked files icon. It's really a question mark, your font isn't broken.
# Change the value of this parameter to show a different icon. # Change the value of this parameter to show a different icon.
@@ -423,11 +426,17 @@
res+=" ${modified}wip" res+=" ${modified}wip"
fi fi
# ⇣42 if behind the remote. if (( VCS_STATUS_COMMITS_AHEAD || VCS_STATUS_COMMITS_BEHIND )); then
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}${VCS_STATUS_COMMITS_BEHIND}" # ⇣42 if behind the remote.
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42. (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}${VCS_STATUS_COMMITS_BEHIND}"
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" " # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}${VCS_STATUS_COMMITS_AHEAD}" (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}${VCS_STATUS_COMMITS_AHEAD}"
elif [[ -n $VCS_STATUS_REMOTE_BRANCH ]]; then
# Tip: Uncomment the next line to display '=' if up to date with the remote.
# res+=" ${clean}="
fi
# ⇠42 if behind the push remote. # ⇠42 if behind the push remote.
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}${VCS_STATUS_PUSH_COMMITS_BEHIND}" (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}${VCS_STATUS_PUSH_COMMITS_BEHIND}"
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" " (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
@@ -555,7 +564,7 @@
# Background jobs color. # Background jobs color.
typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=70 typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=70
# Custom icon. # Custom icon.
typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='' # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐'
#######################[ direnv: direnv status (https://direnv.net/) ]######################## #######################[ direnv: direnv status (https://direnv.net/) ]########################
# Direnv color. # Direnv color.
@@ -724,6 +733,12 @@
# Custom icon. # Custom icon.
# typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐'
######################[ lf: lf shell (https://github.com/gokcehan/lf) ]#######################
# lf shell color.
typeset -g POWERLEVEL9K_LF_FOREGROUND=72
# Custom icon.
# typeset -g POWERLEVEL9K_LF_VISUAL_IDENTIFIER_EXPANSION='⭐'
##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]################## ##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]##################
# xplr shell color. # xplr shell color.
typeset -g POWERLEVEL9K_XPLR_FOREGROUND=72 typeset -g POWERLEVEL9K_XPLR_FOREGROUND=72
@@ -746,12 +761,21 @@
# Nix shell color. # Nix shell color.
typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74 typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74
# Display the icon of nix_shell if PATH contains a subdirectory of /nix/store.
# typeset -g POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH=false
# Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line. # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
# typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION= # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
# Custom icon. # Custom icon.
# typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
##################[ chezmoi_shell: chezmoi shell (https://www.chezmoi.io/) ]##################
# chezmoi shell color.
typeset -g POWERLEVEL9K_CHEZMOI_SHELL_FOREGROUND=33
# Custom icon.
# typeset -g POWERLEVEL9K_CHEZMOI_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
##################################[ disk_usage: disk usage ]################################## ##################################[ disk_usage: disk usage ]##################################
# Colors for different levels of disk usage. # Colors for different levels of disk usage.
typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35 typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35
@@ -845,6 +869,19 @@
# Custom icon. # Custom icon.
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
######[ per_directory_history: Oh My Zsh per-directory-history local/global indicator ]#######
# Color when using local/global history.
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_FOREGROUND=135
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_FOREGROUND=130
# Tip: Uncomment the next two lines to hide "local"/"global" text and leave just the icon.
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_CONTENT_EXPANSION=''
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_CONTENT_EXPANSION=''
# Custom icon.
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
################################[ cpu_arch: CPU architecture ]################################ ################################[ cpu_arch: CPU architecture ]################################
# CPU architecture color. # CPU architecture color.
typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172 typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172
@@ -981,6 +1018,11 @@
##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]############### ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]###############
# Nvm color. # Nvm color.
typeset -g POWERLEVEL9K_NVM_FOREGROUND=70 typeset -g POWERLEVEL9K_NVM_FOREGROUND=70
# If set to false, hide node version if it's the same as default:
# $(nvm version current) == $(nvm version default).
typeset -g POWERLEVEL9K_NVM_PROMPT_ALWAYS_SHOW=false
# If set to false, hide node version if it's equal to "system".
typeset -g POWERLEVEL9K_NVM_SHOW_SYSTEM=true
# Custom icon. # Custom icon.
# typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
@@ -1183,7 +1225,7 @@
#############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
# Show kubecontext only when the command you are typing invokes one of these tools. # Show kubecontext only when the command you are typing invokes one of these tools.
# Tip: Remove the next line to always show kubecontext. # Tip: Remove the next line to always show kubecontext.
typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern|kubeseal|skaffold' typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern|kubeseal|skaffold|kubent|kubecolor|cmctl|sparkctl'
# Kubernetes context classes for the purpose of using different colors, icons and expansions with # Kubernetes context classes for the purpose of using different colors, icons and expansions with
# different contexts. # different contexts.
@@ -1357,10 +1399,39 @@
# Show azure only when the command you are typing invokes one of these tools. # Show azure only when the command you are typing invokes one of these tools.
# Tip: Remove the next line to always show azure. # Tip: Remove the next line to always show azure.
typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt'
# POWERLEVEL9K_AZURE_CLASSES is an array with even number of elements. The first element
# in each pair defines a pattern against which the current azure account name gets matched.
# More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
# that gets matched. If you unset all POWERLEVEL9K_AZURE_*CONTENT_EXPANSION parameters,
# you'll see this value in your prompt. The second element of each pair in
# POWERLEVEL9K_AZURE_CLASSES defines the account class. Patterns are tried in order. The
# first match wins.
#
# For example, given these settings:
#
# typeset -g POWERLEVEL9K_AZURE_CLASSES=(
# '*prod*' PROD
# '*test*' TEST
# '*' OTHER)
#
# If your current azure account is "company_test", its class is TEST because "company_test"
# doesn't match the pattern '*prod*' but does match '*test*'.
#
# You can define different colors, icons and content expansions for different classes:
#
# typeset -g POWERLEVEL9K_AZURE_TEST_FOREGROUND=28
# typeset -g POWERLEVEL9K_AZURE_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_AZURE_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
typeset -g POWERLEVEL9K_AZURE_CLASSES=(
# '*prod*' PROD # These values are examples that are unlikely
# '*test*' TEST # to match your needs. Customize them as needed.
'*' OTHER)
# Azure account name color. # Azure account name color.
typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32 typeset -g POWERLEVEL9K_AZURE_OTHER_FOREGROUND=32
# Custom icon. # Custom icon.
# typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_AZURE_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
# Show gcloud only when the command you are typing invokes one of these tools. # Show gcloud only when the command you are typing invokes one of these tools.
@@ -1481,7 +1552,7 @@
typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION=
# Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN
# to see the name of the interface. # to see the name of the interface.
typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*' typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*|(zt.*)'
# If set to true, show one segment per matching network interface. If set to false, show only # If set to true, show one segment per matching network interface. If set to false, show only
# one segment corresponding to the first matching network interface. # one segment corresponding to the first matching network interface.
# Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION.
@@ -1526,7 +1597,7 @@
# Show battery in yellow when it's discharging. # Show battery in yellow when it's discharging.
typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178 typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178
# Battery pictograms going from low to high level of charge. # Battery pictograms going from low to high level of charge.
typeset -g POWERLEVEL9K_BATTERY_STAGES='\uf58d\uf579\uf57a\uf57b\uf57c\uf57d\uf57e\uf57f\uf580\uf581\uf578' typeset -g POWERLEVEL9K_BATTERY_STAGES='\UF008E\UF007A\UF007B\UF007C\UF007D\UF007E\UF007F\UF0080\UF0081\UF0082\UF0079'
# Don't show the remaining time to charge/discharge. # Don't show the remaining time to charge/discharge.
typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false

View File

@@ -106,51 +106,6 @@ fi
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"' PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
case "${TERM}" in
cons25*|linux) # plain BSD/Linux console
bindkey '\e[H' beginning-of-line # home
bindkey '\e[F' end-of-line # end
bindkey '\e[5~' delete-char # delete
bindkey '[D' emacs-backward-word # esc left
bindkey '[C' emacs-forward-word # esc right
;;
*rxvt*) # rxvt derivatives
bindkey '\eOc' forward-word # ctrl right
bindkey '\eOd' backward-word # ctrl left
bindkey '\e\e[D' backward-word ### Alt left
bindkey '\e\e[C' forward-word ### Alt right
# workaround for screen + urxvt
bindkey '\e[7~' beginning-of-line # home
bindkey '\e[8~' end-of-line # end
bindkey '^[[1~' beginning-of-line # home
bindkey '^[[4~' end-of-line # end
;;
*xterm*) # xterm derivatives
bindkey '\e[H' beginning-of-line # home
bindkey '\e[F' end-of-line # end
bindkey '\e[3~' delete-char # delete
bindkey '^[[C' forward-word # ctrl right
bindkey '^[[D' backward-word # ctrl left
bindkey '\eOC' forward-word # ctrl right
bindkey '\eOD' backward-word # ctrl left
bindkey '^[[1;3C' forward-word # alt right
bindkey '^[[1;3D' backward-word # alt left
# workaround for screen + xterm
bindkey '\e[1~' beginning-of-line # home
bindkey '\e[4~' end-of-line # end
;;
screen)
bindkey '^[[1~' beginning-of-line # home
bindkey '^[[4~' end-of-line # end
bindkey '\e[3~' delete-char # delete
bindkey '\eOc' forward-word # ctrl right
bindkey '\eOd' backward-word # ctrl left
bindkey '^[[1;5C' forward-word # ctrl right
bindkey '^[[1;5D' backward-word # ctrl left
;;
esac
setopt completealiases setopt completealiases
setopt interactivecomments setopt interactivecomments
@@ -224,6 +179,7 @@ zinit snippet OMZP::colored-man-pages
zinit snippet OMZP::rust zinit snippet OMZP::rust
zinit snippet OMZP::zoxide zinit snippet OMZP::zoxide
zinit snippet OMZL::completion.zsh zinit snippet OMZL::completion.zsh
zinit snippet https://github.com/hyprwm/Hyprland/blob/main/hyprctl/hyprctl.zsh
zinit wait lucid for \ zinit wait lucid for \
atinit"ZINIT[COMPINIT_OPTS]=-C; zicompinit; zicdreplay" \ atinit"ZINIT[COMPINIT_OPTS]=-C; zicompinit; zicdreplay" \
@@ -246,6 +202,13 @@ export GPG_TTY=$(tty)
gpg-connect-agent updatestartuptty /bye >/dev/null gpg-connect-agent updatestartuptty /bye >/dev/null
[ "$TERM" = "xterm-kitty" ] && (alias ssh="command kitten ssh";)
[ "$TERMUX_APK_RELEASE" = "F_DROID" ] && (eval `okc-ssh-agent`)
preexec() { print -Pn "\e]0;$1\a" }
@@ -255,5 +218,3 @@ gpg-connect-agent updatestartuptty /bye >/dev/null
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
(( ! ${+functions[p10k]} )) || p10k finalize (( ! ${+functions[p10k]} )) || p10k finalize