This commit is contained in:
2026-07-08 09:22:05 +02:00
parent a8d7ae73f4
commit aaf25faab6
12 changed files with 107 additions and 139 deletions

View File

@@ -417,4 +417,18 @@
"command": "-workbench.action.navigateForward", "command": "-workbench.action.navigateForward",
"when": "canNavigateForward" "when": "canNavigateForward"
}, },
{
"key": "ctrl+i",
"command": "-workbench.action.chat.startVoiceChat",
"when": "chatIsEnabled && hasSpeechProvider && inChatInput && !editorFocus && !notebookEditorFocused && !scopedVoiceChatGettingReady && !speechToTextInProgress || chatIsEnabled && hasSpeechProvider && inlineChatFocused && !editorFocus && !notebookEditorFocused && !scopedVoiceChatGettingReady && !speechToTextInProgress"
},
{
"key": "ctrl+i",
"command": "-workbench.action.chat.stopListeningAndSubmit",
"when": "inChatInput && voiceChatInProgress && scopedVoiceChatInProgress == 'editor' || inChatInput && voiceChatInProgress && scopedVoiceChatInProgress == 'inline' || inChatInput && voiceChatInProgress && scopedVoiceChatInProgress == 'quick' || inChatInput && voiceChatInProgress && scopedVoiceChatInProgress == 'view' || inlineChatFocused && voiceChatInProgress && scopedVoiceChatInProgress == 'editor' || inlineChatFocused && voiceChatInProgress && scopedVoiceChatInProgress == 'inline' || inlineChatFocused && voiceChatInProgress && scopedVoiceChatInProgress == 'quick' || inlineChatFocused && voiceChatInProgress && scopedVoiceChatInProgress == 'view'"
},
{
"key": "ctrl+i",
"command": "workbench.action.openChatToSide"
},
] ]

View File

@@ -117,16 +117,20 @@
"git.blame.editorDecoration.enabled": true, "git.blame.editorDecoration.enabled": true,
"python.analysis.typeCheckingMode": "basic", "python.analysis.typeCheckingMode": "basic",
"workbench.editor.empty.hint": "hidden", "workbench.editor.empty.hint": "hidden",
"python.defaultInterpreterPath": "/home/paul/.pyenv/versions/3.12.5/envs/wasteside-tools", "python.defaultInterpreterPath": "",
"editor.lineNumbers": "relative", "editor.lineNumbers": "relative",
"github.copilot.nextEditSuggestions.enabled": true, "github.copilot.nextEditSuggestions.enabled": true,
"json.schemaDownload.trustedDomains": { "json.schemaDownload.trustedDomains": {
"https://schemastore.azurewebsites.net/": true, "https://developer.microsoft.com/json-schemas/": true,
"https://raw.githubusercontent.com/": true,
"https://www.schemastore.org/": true,
"https://json.schemastore.org/": true,
"https://json-schema.org/": true, "https://json-schema.org/": true,
"https://vicinae.com/schemas/config.json": true "https://json.schemastore.org/": true,
"https://raw.githubusercontent.com/": true,
"https://raw.githubusercontent.com/devcontainers/spec/": true,
"https://raw.githubusercontent.com/microsoft/vscode/": true,
"https://schemastore.azurewebsites.net/": true,
"https://unpkg.com": true,
"https://vicinae.com/schemas/config.json": true,
"https://www.schemastore.org/": true
}, },
"workbench.colorTheme": "Monokai Pro Light", "workbench.colorTheme": "Monokai Pro Light",
"workbench.editor.editorActionsLocation": "hidden", "workbench.editor.editorActionsLocation": "hidden",

0
.config/config.toml Normal file
View File

18
.config/helix/config.toml Normal file
View File

@@ -0,0 +1,18 @@
theme = "base16_transparent"
[editor]
line-number = "relative"
end-of-line-diagnostics="error"
completion-replace = true
[editor.file-picker]
hidden = false
[editor.statusline]
left = ["mode", "spinner", "read-only-indicator", ]
center = ["file-name", "file-modification-indicator", "spacer", "version-control"]
right = ["diagnostics", "selections", "position", "file-encoding", "file-line-ending", "file-type"]
separator = "|"
[editor.soft-wrap]
enable = true

View File

@@ -69,13 +69,12 @@ exec-once = ~/.config/hypr/scripts/float-bitwarden.sh
# Makes sure ratbag is running # Makes sure ratbag is running
exec-once = ratbagctl list exec-once = ratbagctl list
# Plugins
exec-once = hyprpm enable Hyprspace
exec-once = hyprpm reload
# Custom scripts # Custom scripts
exec-once = ~/code/ha-notifications/ha-notifications exec-once = ~/code/ha-notifications/ha-notifications
# Plugins
exec-once = hyprpm reload
############################# #############################
### ENVIRONMENT VARIABLES ### ### ENVIRONMENT VARIABLES ###
############################# #############################
@@ -88,7 +87,7 @@ env = XDG_SESSION_TYPE,wayland
env = HYPRSHOT_DIR,/home/paul/screenshots env = HYPRSHOT_DIR,/home/paul/screenshots
cursor { cursor {
no_hardware_cursors = true no_hardware_cursors = 0
} }
@@ -259,9 +258,10 @@ bind = $mainMod SHIFT, S, exec, hyprshot -m region
bind = $mainMod, PRINT, exec, hyprshot -m window bind = $mainMod, PRINT, exec, hyprshot -m window
bind = $mainMod SHIFT, B, exec, pkill waybar & hyprctl dispatch exec waybar bind = $mainMod SHIFT, B, exec, pkill waybar & hyprctl dispatch exec waybar
bind = $mainMod SHIFT, C, exec, hyprpicker | wl-copy bind = $mainMod SHIFT, C, exec, hyprpicker | wl-copy
# bind = $mainMod, TAB, overview:toggle bind = $mainMod, TAB, hyprtasking:toggle, cursor
bind = $mainMod, END, exec, wlogout -b 6 -L 1100 -R 1100 -T 650 -B 650 bind = $mainMod, END, exec, wlogout -b 6 -L 1100 -R 1100 -T 650 -B 650
# Move focus with mainMod + arrow keys # Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r bind = $mainMod, right, movefocus, r
@@ -413,6 +413,14 @@ windowrule {
no_anim = on no_anim = on
} }
# ClickUp Command Bar will disappear if mouse is not over it, so we pin it and disable focus loss
windowrule {
name = "clickup-command-bar"
match:initial_title = ClickUp Command Bar
float = 1
stay_focused = on
}
# UXPlay windows are always floating and exact size # UXPlay windows are always floating and exact size
windowrule { windowrule {
name = "uxplay" name = "uxplay"
@@ -422,6 +430,18 @@ windowrule {
center = 1 center = 1
} }
# Import Modal for LibreOffice calc is always floating and exact size
windowrule {
name = "libreoffice-import-modal"
match:initial_class = soffice
match:initial_title = Text Import.*
float = 1
size = 800 400
stay_focused = on
dim_around = on
move = 1320 520
}
# Notification animation style # Notification animation style
layerrule = match:namespace notifications, animation slide layerrule = match:namespace notifications, animation slide

View File

@@ -1,33 +0,0 @@
#!/bin/bash
timeout=0
handle() {
case $1 in
windowtitle*)
# Extract the window ID from the line
window_id=${1#*>>}
# Fetch the list of windows and parse it using jq to find the window by its decimal ID
window_info=$(hyprctl clients -j | jq --arg id "0x$window_id" '.[] | select(.address == ($id))')
# Extract the title from the window info
window_title=$(echo "$window_info" | jq -r '.title')
# Check if the title matches the characteristics of the Bitwarden popup window
if [[ "$window_title" == *"(Bitwarden"*"Password Manager) - Bitwarden"* ]]; then
# in case of double rename only allow once per second
if ((SECONDS < timeout)); then
return
fi
timeout=$((SECONDS + 1))
# echo "$window_id", "$window_title"
hyprctl --batch "dispatch togglefloating address:0x$window_id; dispatch resizewindowpixel exact 20% 54%,address:0x$window_id; dispatch centerwindow"
fi
;;
esac
}
# Listen to the Hyprland socket for events and process each line with the handle function
socat -U - UNIX-CONNECT:"$XDG_RUNTIME_DIR"/hypr/"$HYPRLAND_INSTANCE_SIGNATURE"/.socket2.sock | while read -r line; do handle "$line"; done

View File

@@ -0,0 +1,6 @@
[Unit]
Description=Hyprland session
BindsTo=graphical-session.target
Wants=graphical-session-pre.target
After=graphical-session-pre.target
PropagatesStopTo=graphical-session.target

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1 @@
<svg id="emoji" width="36" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><g id="color"><path fill="#F4AA41" stroke="none" d="M23.5,14.5855l-4.5,1.75l-7.25,8.5l-4.5,10.75l2,5.25c1.2554,3.7911,3.5231,7.1832,7.25,10l2.5-3.3333 c0,0,3.8218,7.7098,10.7384,8.9598c0,0,10.2616,1.936,15.5949-0.8765c3.4203-1.8037,4.4167-4.4167,4.4167-4.4167l3.4167-3.4167 l1.5833,2.3333l2.0833-0.0833l5.4167-7.25L64,37.3355l-0.1667-4.5l-2.3333-5.5l-4.8333-7.4167c0,0-2.6667-4.9167-8.1667-3.9167 c0,0-6.5-4.8333-11.8333-4.0833S32.0833,10.6688,23.5,14.5855z"></path><polygon fill="#EA5A47" stroke="none" points="36,47.2521 32.9167,49.6688 30.4167,49.6688 30.3333,53.5021 31.0833,57.0021 32.1667,58.9188 35,60.4188 39.5833,59.8355 41.1667,58.0855 42.1667,53.8355 41.9167,49.8355 39.9167,50.0855"></polygon><polygon fill="#3F3F3F" stroke="none" points="32.5,36.9188 30.9167,40.6688 33.0833,41.9188 34.3333,42.4188 38.6667,42.5855 41.5833,40.3355 39.8333,37.0855"></polygon></g><g id="hair"></g><g id="skin"></g><g id="skin-shadow"></g><g id="line"><path fill="#000000" stroke="none" d="M29.5059,30.1088c0,0-1.8051,1.2424-2.7484,0.6679c-0.9434-0.5745-1.2424-1.8051-0.6679-2.7484 s1.805-1.2424,2.7484-0.6679S29.5059,30.1088,29.5059,30.1088z"></path><path fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2" d="M33.1089,37.006h6.1457c0.4011,0,0.7634,0.2397,0.9203,0.6089l1.1579,2.7245l-2.1792,1.1456 c-0.6156,0.3236-1.3654-0.0645-1.4567-0.754"></path><path fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2" d="M34.7606,40.763c-0.1132,0.6268-0.7757,0.9895-1.3647,0.7471l-2.3132-0.952l1.0899-2.9035 c0.1465-0.3901,0.5195-0.6486,0.9362-0.6486"></path><path fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2" d="M30.4364,50.0268c0,0-0.7187,8.7934,3.0072,9.9375c2.6459,0.8125,5.1497,0.5324,6.0625-0.25 c0.875-0.75,2.6323-4.4741,1.8267-9.6875"></path><path fill="#000000" stroke="none" d="M44.2636,30.1088c0,0,1.805,1.2424,2.7484,0.6679c0.9434-0.5745,1.2424-1.8051,0.6679-2.7484 c-0.5745-0.9434-1.805-1.2424-2.7484-0.6679C43.9881,27.9349,44.2636,30.1088,44.2636,30.1088z"></path><path fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2" d="M25.6245,42.8393c-0.475,3.6024,2.2343,5.7505,4.2847,6.8414c1.1968,0.6367,2.6508,0.5182,3.7176-0.3181l2.581-2.0233l2.581,2.0233 c1.0669,0.8363,2.5209,0.9548,3.7176,0.3181c2.0504-1.0909,4.7597-3.239,4.2847-6.8414"></path><path fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2" d="M19.9509,28.3572c-2.3166,5.1597-0.5084,13.0249,0.119,15.3759c0.122,0.4571,0.0755,0.9355-0.1271,1.3631l-1.9874,4.1937 c-0.623,1.3146-2.3934,1.5533-3.331,0.4409c-3.1921-3.7871-8.5584-11.3899-6.5486-16.686 c7.0625-18.6104,15.8677-18.1429,15.8677-18.1429c2.8453-1.9336,13.1042-6.9375,24.8125,0.875c0,0,8.6323-1.7175,14.9375,16.9375 c1.8036,5.3362-3.4297,12.8668-6.5506,16.6442c-0.9312,1.127-2.7162,0.8939-3.3423-0.4272l-1.9741-4.1656 c-0.2026-0.4275-0.2491-0.906-0.1271-1.3631c0.6275-2.3509,2.4356-10.2161,0.119-15.3759"></path><path fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2" d="M52.6309,46.4628c0,0-3.0781,6.7216-7.8049,8.2712"></path><path fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2" d="M19.437,46.969c0,0,3.0781,6.0823,7.8049,7.632"></path><line x1="36.2078" x2="36.2078" y1="47.3393" y2="44.3093" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2"></line></g></svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -1,3 +1 @@
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

98
.zshrc
View File

@@ -1,7 +1,3 @@
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh" export ZSH="$HOME/.oh-my-zsh"
# Set name of the theme to load --- if set to "random", it will # Set name of the theme to load --- if set to "random", it will
@@ -10,77 +6,22 @@ export ZSH="$HOME/.oh-my-zsh"
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes # See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="custom" ZSH_THEME="custom"
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment one of the following lines to change the auto-update behavior
# zstyle ':omz:update' mode disabled # disable automatic updates
# zstyle ':omz:update' mode auto # update automatically without asking
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
# Uncomment the following line to change how often to auto-update (in days).
# zstyle ':omz:update' frequency 13
# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files # Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories # under VCS as dirty. This makes repository status check for large repositories
# much, much faster. # much, much faster.
DISABLE_UNTRACKED_FILES_DIRTY="true" DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Force pyenv to stop complaining about non-interactive shells
ZSH_PYENV_QUIET="true"
# Which plugins would you like to load? # Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/ # Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/ # Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse) # Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup. # Add wisely, as too many plugins slow down shell startup.
plugins=(git zsh-autosuggestions zsh-syntax-highlighting fast-syntax-highlighting macos pip pyenv docker colorize copyfile brew) plugins=(git zsh-autosuggestions zsh-syntax-highlighting fast-syntax-highlighting pip docker uv zsh-uv-env colorize copyfile)
source $ZSH/oh-my-zsh.sh source $ZSH/oh-my-zsh.sh
# User configuration # User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment # You may need to manually set your language environment
# export LANG=en_US.UTF-8 # export LANG=en_US.UTF-8
@@ -96,32 +37,16 @@ fi
if [[ -n $SSH_CONNECTION ]]; then if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='nano' export EDITOR='nano'
else else
export EDITOR=$codewait export EDITOR="helix"
export VISUAL=$codewait export VISUAL=$codewait
fi fi
# Compilation flags # Compilation flags
# export ARCHFLAGS="-arch x86_64" # export ARCHFLAGS="-arch x86_64"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
# Reboot to Windows (REPLACED WITH SCRIPT)
# reboot_windows()
# {
# windows_title=$(grep -i windows /boot/grub/grub.cfg | cut -d "'" -f 2)
# sudo grub-reboot "$windows_title" && sudo reboot
# }
# alias reboot-windows='reboot_windows'
# Command aliases # Command aliases
alias py=python3 alias py=python3
alias pip=pip3
alias ll="ls -lah" alias ll="ls -lah"
qrshow(){ qrshow(){
@@ -133,23 +58,19 @@ alias sshconfig="$EDITOR ~/.ssh/config"
alias zshconfig="$EDITOR ~/.zshrc" alias zshconfig="$EDITOR ~/.zshrc"
alias zshreload="source ~/.zshrc" alias zshreload="source ~/.zshrc"
alias zshsource="source ~/.zshrc" alias zshsource="source ~/.zshrc"
alias home="cd ~"
alias userchrome="$EDITOR ~/.mozilla/firefox/jcjwalyb.default-release/chrome/userChrome.css"
alias kw='echo Current Week: $((10#$(date +"%V")))'
alias wol=wakeonlan alias wol=wakeonlan
alias ge=gnome-extensions
alias open="xdg-open" alias open="xdg-open"
alias lg="lazygit" alias lg="lazygit"
alias ccat="pygmentize -g -O style=monokai,linenos=1" alias ccat="pygmentize -g -O style=monokai,linenos=1"
alias rm="echo Use the full path i.e. '/bin/rm', consider using: trash" alias rm="echo Use the full path i.e. '/bin/rm', consider using: trash"
alias explain="copilot explain"
alias csv="csvlens" alias csv="csvlens"
alias ccopilot="cd ~/code/copilot && copilot" alias ccopilot="cd ~/code/copilot && copilot"
alias hx="helix"
alias wstmux="cd ~/code/wasteside/app && tmux new -A -s wasteside"
alias R="R --no-save" alias R="R --no-save"
export GOPATH="$HOME/.local/share/go"
export GOBIN="$HOME/.local/bin"
# Python tkinter stuff # Python tkinter stuff
export PATH="/usr/local/opt/tcl-tk/bin:$PATH" export PATH="/usr/local/opt/tcl-tk/bin:$PATH"
@@ -186,7 +107,7 @@ export PATH="$PATH:$ANDROID_SDK_ROOT/emulator"
# Unlock hyprlock # Unlock hyprlock
alias unlock=pkill -USR1 hyprlock alias unlock=pkill -USR1 hyprlock
# zoxide # zoxided
eval "$(zoxide init --cmd cd zsh)" eval "$(zoxide init --cmd cd zsh)"
# SDKMAN & Java # SDKMAN & Java
@@ -199,11 +120,6 @@ export PATH="$HOME/.yarn/bin:$PATH"
# More path stuff # More path stuff
export PATH="$HOME/.local/bin:$PATH" export PATH="$HOME/.local/bin:$PATH"
# pyenv stuff (make sure this is at the end of the file)
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
#nvm #nvm
source /usr/share/nvm/init-nvm.sh source /usr/share/nvm/init-nvm.sh

24
makepkg.conf Normal file
View File

@@ -0,0 +1,24 @@
#!/hint/bash
# shellcheck disable=2034
#########################################################################
# GLOBAL PACKAGE OPTIONS
# These are default values for the options=() settings
#########################################################################
#
# Makepkg defaults:
# OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto !autodeps)
# A negated option will do the opposite of the comments below.
#
#-- strip: Strip symbols from binaries/libraries
#-- docs: Save doc directories specified by DOC_DIRS
#-- libtool: Leave libtool (.la) files in packages
#-- staticlibs: Leave static library (.a) files in packages
#-- emptydirs: Leave empty directories in packages
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
#-- purge: Remove files specified by PURGE_TARGETS
#-- debug: Add debugging flags as specified in DEBUG_* variables
#-- lto: Add compile flags for building with link time optimization
#-- autodeps: Automatically add depends/provides
#
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto)