diff --git a/.config/ghostty/config b/.config/ghostty/config index 26f38ed..b58b112 100644 --- a/.config/ghostty/config +++ b/.config/ghostty/config @@ -1,2 +1,3 @@ -font-size = 16.0 +command = /home/linuxbrew/.linuxbrew/bin/zsh --login --interactive +font-size = 13.0 quit-after-last-window-closed = true diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf index 7b9bac8..6415e83 100644 --- a/.config/tmux/tmux.conf +++ b/.config/tmux/tmux.conf @@ -1,4 +1,5 @@ set-option -sa terminal-overrides ",xterm*:Tc" +set-option -g default-shell /home/linuxbrew/.linuxbrew/bin/zsh set -g mouse on unbind C-b diff --git a/.zshrc b/.zshrc index 104549d..d311827 100644 --- a/.zshrc +++ b/.zshrc @@ -57,7 +57,7 @@ export GOBIN="$HOME/go/bin" export EDITOR='nvim' -export PATH="/usr/local/bin:/opt/homebrew/bin:$HOME/Library/Python/3.8/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/opt/homebrew/sbin:$HOME/.cargo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$HOME/Library/Application:Support/JetBrains/Toolbox/scripts:/usr/local/go/bin:$GOPATH:$GOBIN" +export PATH="/home/linuxbrew/.linuxbrew/bin/:/usr/local/bin:/opt/homebrew/bin:$HOME/Library/Python/3.8/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/opt/homebrew/sbin:$HOME/.cargo/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$HOME/Library/Application:Support/JetBrains/Toolbox/scripts:$GOPATH/bin" # Path to your Oh My Zsh installation. #export ZSH="$HOME/.oh-my-zsh" @@ -179,6 +179,8 @@ if [ "$TERM_PROGRAM" != "Apple_Terminal" ]; then fi # Created by `pipx` on 2024-09-15 07:28:13 -export PATH="$PATH:/Users/sebastian/.local/bin:$HOME/Library/Android/sdk/platform-tools" +export PATH="$PATH:~/.local/bin:$HOME/Library/Android/sdk/platform-tools" export PATH="/opt/homebrew/opt/openjdk/bin:$PATH" export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH" + +fastfetch diff --git a/gamescope-kde-dynamic-res b/gamescope-kde-dynamic-res new file mode 100644 index 0000000..f339739 --- /dev/null +++ b/gamescope-kde-dynamic-res @@ -0,0 +1,79 @@ +#!/bin/bash + +# Function to get the current active mode id for the enabled output +get_current_mode_id() { + get_screen_info | jq -r '.outputs[] | select(.enabled == true) | .currentModeId' +} + +# Function to get the active mode information (width, height, refresh rate) based on the mode id for the enabled output +get_mode_info() { + local mode_id="$1" + get_screen_info | jq -r --arg mode_id "$mode_id" '.outputs[] | select(.enabled == true) | .modes[] | select(.id == $mode_id) | {width: .size.width, height: .size.height, refresh: .refreshRate}' +} + +# Function to get the HDR state of the enabled display +get_hdr_state() { + get_screen_info | jq -r '.outputs[] | select(.enabled == true) | .hdr' +} + +# Function to get the VRR (adaptive sync) state of the enabled display +get_vrr_state() { + get_screen_info | jq -r '.outputs[] | select(.enabled == true) | .vrrPolicy' +} + +# Function to get current screen information in JSON format +get_screen_info() { + kscreen-doctor -j +} + +# Extract width, height, and refresh rate from mode info for the enabled output +get_width() { + echo "$1" | jq -r '.width' +} + +get_height() { + echo "$1" | jq -r '.height' +} + +get_refresh_rate() { + echo "$1" | jq -r '.refresh' +} + +# Main script logic + +# Get the current mode ID and mode info for the enabled display +mode_id=$(get_current_mode_id) +mode_info=$(get_mode_info "$mode_id") + +# Extract width, height, and refresh rate from the mode info +KDE_WIDTH=$(get_width "$mode_info") +KDE_HEIGHT=$(get_height "$mode_info") +KDE_REFRESH=$(get_refresh_rate "$mode_info") + +# Get HDR and VRR (adaptive sync) states for the enabled display +HDR_STATE=$(get_hdr_state) +VRR_STATE=$(get_vrr_state) + +# Build the gamescope command with dynamic flags based on HDR and VRR support +gamescope_cmd="gamescope -W $KDE_WIDTH -H $KDE_HEIGHT -r $KDE_REFRESH --framerate-limit 175 --fullscreen --force-grab-cursor --mangoapp" + +# Append HDR flag if HDR is supported and enabled +if [[ "$HDR_STATE" == "true" ]]; then + gamescope_cmd="$gamescope_cmd --hdr-enabled" +fi + +# Append VRR (adaptive sync) flag if supported +if [[ "$VRR_STATE" == 1 || "$VRR_STATE" == 2 ]]; then + gamescope_cmd="$gamescope_cmd --adaptive-sync" +fi + +# Output the environment variables and the gamescope command +echo "Screen Width: $KDE_WIDTH" +echo "Screen Height: $KDE_HEIGHT" +echo "Screen Refresh Rate: $KDE_REFRESH" +echo "HDR State: $HDR_STATE" +echo "VRR State: $VRR_STATE" +echo "Running: $gamescope_cmd" + +# Run the constructed gamescope command +$gamescope_cmd -- "$@" diff --git a/lathund.txt b/lathund.txt index b0dc225..67f9e02 100644 --- a/lathund.txt +++ b/lathund.txt @@ -21,3 +21,163 @@ yazi: File manager in terminal Lazygit: git manager in terminal bat, stow, yazi, lazygit, fzf, eza, zoxide, tmux, neovim, zsh + + + 1. The cursor is moved using either the arrow keys or the hjkl keys. + h (left) j (down) k (up) l (right) + + 2. To start Neovim from the shell prompt type: + + $ nvim FILENAME + + 3. To exit Neovim type: :q! to trash all changes. + OR type: :wq to save the changes. + + 4. To delete the character at the cursor type: x + + 5. To insert or append text type: + i insert text insert before the cursor. + A append text append after the line. + + 1. To delete from the cursor up to the next word type: `dw`{normal} + + 2. To delete from the cursor to the end of a line type: `d$`{normal} + + 3. To delete a whole line type: `dd`{normal} + + 4. To repeat a motion prepend it with a number: `2w`{normal} + + 5. The format for a change command is: + + operator [number] motion + + where: + + operator - is what to do, such as [d](d) for delete + [number] - is an optional count to repeat the motion + motion - moves over the text to operate on, such as: + [w](w) (word), + [$]($) (to the end of line), etc. + + 6. To move to the start of the line use a zero: [0](0) + + 7. To undo previous actions, type: `u`{normal} (lowercase u) + To undo all the changes on a line, type: `U`{normal} (capital U) + To undo the undos, type: ``{normal} + + + 1. To put back text that has just been deleted, type [p](p). This puts the + deleted text AFTER the cursor (if a line was deleted it will go on the + line below the cursor). + + 2. To replace the character under the cursor, type [r](r) and then the + character you want to have there. + + 3. The [change operator](c) allows you to change from the cursor to where + the motion takes you. Type `ce`{normal} to change from the cursor to the + end of the word, `c$`{normal} to change to the end of a line, etc. + + 4. The format for change is: + + c [number] motion + + + 1. ``{normal} displays your location and the file status. + `G`{normal} moves to the end of the file. + number `G`{normal} moves to that line number. + `gg`{normal} moves to the first line. + + 2. Typing `/`{normal} followed by a phrase searches FORWARD for the phrase. + Typing `?`{normal} followed by a phrase searches BACKWARD for the phrase. + After a search type `n`{normal} to find the next occurrence in the same + direction or `N`{normal} to search in the opposite direction. + ``{normal} takes you back to older positions, ``{normal} to + newer positions. + + 3. Typing `%`{normal} while the cursor is on a (, ), [, ], {, or } goes to its + match. + + 4. To substitute new for the first old in a line type +~~~ cmd + :s/old/new +~~~ + To substitute new for all olds on a line type +~~~ cmd + :s/old/new/g +~~~ + To substitute phrases between two line #'s type +~~~ cmd + :#,#s/old/new/g +~~~ + To substitute all occurrences in the file type +~~~ cmd + :%s/old/new/g +~~~ + To ask for confirmation each time add 'c' +~~~ cmd + :%s/old/new/gc + + + 1. Type `o`{normal} to open a line BELOW the cursor and start Insert mode. + Type `O`{normal} to open a line ABOVE the cursor. + + 2. Type `a`{normal} to insert text AFTER the cursor. + Type `A`{normal} to insert text after the end of the line. + + 3. The `e`{normal} command moves to the end of a word. + + 4. The `y`{normal} operator copies text, `p`{normal} pastes it. + + 5. Typing a capital `R`{normal} enters Replace mode until ``{normal} is + pressed. + + 6. Typing "[:set](:set) xxx" sets the option "xxx". Some options are: + + 'ic' 'ignorecase' ignore upper/lower case when searching + 'is' 'incsearch' show partial matches for a search phrase + 'hls' 'hlsearch' highlight all matching phrases + + You can either use the long or the short option name. + + 7. Prepend "no" to switch an option off: +~~~ cmd + :set noic +~~~ + 8. Prepend "inv" to invert an option: +~~~ cmd + :set invic +~~~ + + +** Command line completion with ``{normal} and ``{normal}. ** + + 1. List the contents of the current directory: `:!ls`{vim} + + 2. Type the start of a command: `:e`{vim} + + 3. Press ``{normal} and Neovim will show a list of commands beginning with "e". + + 4. Press ``{normal} and Neovim will complete the command name to ":edit". + + 5. Now add a space and the start of an existing file name: `:edit FIL`{vim} + + 6. Press ``{normal}. Neovim will complete the name ("FIL" -> "FILE", if it is unique). + +NOTE: Completion works for many commands. It is especially useful for `:help`{vim}. + + + + 1. Type `:help`{vim} + or press ``{normal} or ``{normal} to open a help window. + + 2. Type `:help TOPIC`{vim} to find help on TOPIC. + + 3. Type ``{normal} to jump to another window + + 4. Type `:q`{vim} to close the help window + + 5. Create an init.vim startup script to keep your preferred settings. + + 6. While in command mode, press ``{normal} to see possible completions. + Press ``{normal} to use one completion. +