Added first version of a gamescope script
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
6
.zshrc
6
.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
|
||||
|
||||
79
gamescope-kde-dynamic-res
Normal file
79
gamescope-kde-dynamic-res
Normal file
@@ -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 -- "$@"
|
||||
160
lathund.txt
160
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: <Esc> :q! <Enter> to trash all changes.
|
||||
OR type: <Esc> :wq <Enter> to save the changes.
|
||||
|
||||
4. To delete the character at the cursor type: x
|
||||
|
||||
5. To insert or append text type:
|
||||
i insert text <Esc> insert before the cursor.
|
||||
A append text <Esc> 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: `<C-r>`{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. `<C-g>`{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.
|
||||
`<C-o>`{normal} takes you back to older positions, `<C-i>`{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 `<Esc>`{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 `<C-d>`{normal} and `<Tab>`{normal}. **
|
||||
|
||||
1. List the contents of the current directory: `:!ls`{vim}
|
||||
|
||||
2. Type the start of a command: `:e`{vim}
|
||||
|
||||
3. Press `<C-d>`{normal} and Neovim will show a list of commands beginning with "e".
|
||||
|
||||
4. Press `<Tab>`{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 `<Tab>`{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 `<F1>`{normal} or `<Help>`{normal} to open a help window.
|
||||
|
||||
2. Type `:help TOPIC`{vim} to find help on TOPIC.
|
||||
|
||||
3. Type `<C-w><C-w>`{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 `<C-d>`{normal} to see possible completions.
|
||||
Press `<Tab>`{normal} to use one completion.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user