mirror of
https://github.com/ItsDrike/dotfiles.git
synced 2025-06-29 12:10:42 +00:00
Major rewrite: switching back to Arch from NixOS
This commit is contained in:
parent
df585b737b
commit
254181c0fc
121 changed files with 5433 additions and 2371 deletions
3
home/.config/Kvantum/kvantum.kvconfig
Normal file
3
home/.config/Kvantum/kvantum.kvconfig
Normal file
|
@ -0,0 +1,3 @@
|
|||
[General]
|
||||
theme=catppuccin-mocha-blue
|
||||
|
|
@ -5,16 +5,17 @@
|
|||
# Which monitor should the notifications be shown on
|
||||
monitor = 0
|
||||
|
||||
# Display notifications on focused monitor. Possible modes:
|
||||
# mouse: follow mouse pointer
|
||||
# keyboard: follow window with keyboard focus
|
||||
# none: don't follow anything
|
||||
# Display notification on focused monitor. Possible modes are:
|
||||
# mouse: follow mouse pointer
|
||||
# keyboard: follow window with keyboard focus
|
||||
# none: don't follow anything
|
||||
#
|
||||
# keyboard needs a window manager that exports
|
||||
# _NET_ACTIVE_WINDOW propery! This should be the case for almost
|
||||
# all modern window managers.
|
||||
# "keyboard" needs a window manager that exports the
|
||||
# _NET_ACTIVE_WINDOW property.
|
||||
# This should be the case for almost all modern window managers.
|
||||
#
|
||||
# If this option isn't none, monitor option will be ignored.
|
||||
# If this option is set to mouse or keyboard, the monitor option
|
||||
# will be ignored.
|
||||
follow = mouse
|
||||
|
||||
### Geometry ###
|
||||
|
@ -38,7 +39,7 @@
|
|||
scale = 0
|
||||
|
||||
# Maximum number of notifications (0 means no limit)
|
||||
notification_limit = 0
|
||||
notification_limit = 10
|
||||
|
||||
### Progress bar ###
|
||||
|
||||
|
@ -59,6 +60,20 @@
|
|||
# Set the maximum width for the progress bar
|
||||
progress_bar_max_width = 300
|
||||
|
||||
# Corner radius for the progress bar. 0 disables rounded corners.
|
||||
progress_bar_corner_radius = 0
|
||||
|
||||
# Define which corners to round when drawing the progress bar. If progress_bar_corner_radius
|
||||
# is set to 0 this option will be ignored.
|
||||
progress_bar_corners = all
|
||||
|
||||
# Corner radius for the icon image.
|
||||
icon_corner_radius = 0
|
||||
|
||||
# Define which corners to round when drawing the icon image. If icon_corner_radius
|
||||
# is set to 0 this option will be ignored.
|
||||
icon_corners = all
|
||||
|
||||
# Show how many messages are currently hidden (because of
|
||||
# notification_limit).
|
||||
indicate_hidden = yes
|
||||
|
@ -68,8 +83,10 @@
|
|||
# present (e.g. xcompmgr, compiz, picom, etc.). (X11 only)
|
||||
transparency = 20
|
||||
|
||||
# Draw a line of "separator_height" pixel height between two
|
||||
# notifications. Set to 0 to disable.
|
||||
# Draw a line of "separator_height" pixel height between two
|
||||
# notifications.
|
||||
# Set to 0 to disable.
|
||||
# If gap_size is greater than 0, this setting will be ignored.
|
||||
separator_height = 2
|
||||
|
||||
# Padding between text and separator.
|
||||
|
@ -86,7 +103,13 @@
|
|||
frame_width = 3
|
||||
|
||||
# Defines color of the frame around the notification window
|
||||
frame_color = "#aaaaaa"
|
||||
frame_color = "#27292c";
|
||||
|
||||
# Size of gap to display between notifications - requires a compositor.
|
||||
# If value is greater than 0, separator_height will be ignored and a border
|
||||
# of size frame_width will be drawn around each notification instead.
|
||||
# Click events on gaps do not currently propagate to applications below.
|
||||
gap_size = 0
|
||||
|
||||
# Define a color for the separator.
|
||||
# possible values are:
|
||||
|
@ -96,19 +119,26 @@
|
|||
# * anything else will be interpreted as a X color.
|
||||
separator_color = frame
|
||||
|
||||
# Sort messages by urgency.
|
||||
# Sort type.
|
||||
# possible values are:
|
||||
# * id: sort by id
|
||||
# * urgency_ascending: sort by urgency (low then normal then critical)
|
||||
# * urgency_descending: sort by urgency (critical then normal then low)
|
||||
# * update: sort by update (most recent always at the top)
|
||||
sort = yes
|
||||
|
||||
# Don't remove messages if the user is idle (no mouse/keyboard input)
|
||||
# for longer than idle_threshold seconds (0 to disable)
|
||||
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||
# for longer than idle_threshold seconds.
|
||||
# Set to 0 to disable.
|
||||
# A client can set the 'transient' hint to bypass this. See the rules
|
||||
# section for how to disable this if necessary
|
||||
idle_threshold = 120
|
||||
|
||||
### Text ###
|
||||
|
||||
font = JetBrains Mono 11
|
||||
|
||||
# The spacing between the 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.
|
||||
line_height = 0
|
||||
|
||||
|
@ -120,7 +150,7 @@
|
|||
# <u>underline</u>
|
||||
#
|
||||
# For a complete reference see
|
||||
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
|
||||
# <https://docs.gtk.org/Pango/pango_markup.html>.
|
||||
#
|
||||
# strip: This setting is provided for compatibility with some broken
|
||||
# clients that send markup even though it's not enabled on the
|
||||
|
@ -160,17 +190,18 @@
|
|||
# of the noticication. If set to no, longer sententences will be truncated
|
||||
word_wrap = yes
|
||||
|
||||
# Specify where to make an ellipsis in the long lines.
|
||||
# Possible values are "start", "middle", "end".
|
||||
# Show age of message if message is older than show_age_threshold
|
||||
# seconds.
|
||||
# Set to -1 to disable.
|
||||
show_age_threshold = 60
|
||||
|
||||
# Specify where to make an ellipsis in long lines.
|
||||
# Possible values are "start", "middle" and "end".
|
||||
ellipsize = middle
|
||||
|
||||
# Ignore newlines '\n' in notifications.
|
||||
ignore_newline = no
|
||||
|
||||
# Show age of message if message is older than show_age_threshold seconds
|
||||
# Set to -1 to disable, 0 to always show.
|
||||
show_age_threshold = 60
|
||||
|
||||
# Merge multiple notifications with the same content
|
||||
stack_duplicates = true
|
||||
|
||||
|
@ -182,6 +213,15 @@
|
|||
|
||||
### Icons ###
|
||||
|
||||
# Recursive icon lookup. You can set a single theme, instead of having to
|
||||
# define all lookup paths.
|
||||
enable_recursive_icon_lookup = true
|
||||
|
||||
# Set icon theme (only used for recursive icon lookup)
|
||||
# You can also set multiple icon themes, with the leftmost one being used first.
|
||||
# icon_theme = "Adwaita, breeze"
|
||||
icon_theme = Papirus-Dark, Adwaita
|
||||
|
||||
# Align icons left/right/off
|
||||
icon_position = left
|
||||
|
||||
|
@ -193,8 +233,8 @@
|
|||
# Scale larger icons down to this size, set to 0 to disable
|
||||
max_icon_size = 32
|
||||
|
||||
# Paths to default icons
|
||||
icon_path = /usr/share/icons/hicolor/16x16/status/:/usr/share/icons/hicolor/16x16/devices/:/usr/share/icons/hicolor/16x16/apps/
|
||||
# Paths to default icons (only necessary when not using recursive icon lookup)
|
||||
#icon_path = /usr/share/icons/hicolor/16x16/status/:/usr/share/icons/hicolor/16x16/devices/:/usr/share/icons/hicolor/16x16/apps/
|
||||
|
||||
### History ###
|
||||
|
||||
|
@ -229,6 +269,13 @@
|
|||
# notification height to avoid clipping text and/or icons.
|
||||
corner_radius = 0
|
||||
|
||||
# Define which corners to round when drawing the window. If the corner radius
|
||||
# is set to 0 this option will be ignored.
|
||||
#
|
||||
# Comma-separated list of the corners. The accepted corner values are bottom-right,
|
||||
# bottom-left, top-right, top-left, top, bottom, left, right or all.
|
||||
corners = all
|
||||
|
||||
# Ignore the dbus closeNotification message.
|
||||
# Useful to enforce the timeout set by dunst configuration. Without this
|
||||
# parameter, an application may close the notification sent before the
|
||||
|
@ -293,8 +340,9 @@
|
|||
foreground = "#ffffff"
|
||||
|
||||
timeout = 5
|
||||
|
||||
# Icon for notifications with low urgency, uncomment to enable
|
||||
#icon = /path/to/icon
|
||||
#default_icon = /path/to/icon
|
||||
|
||||
[urgency_normal]
|
||||
highlight = "#fe6c5a"
|
||||
|
@ -303,8 +351,9 @@
|
|||
foreground = "#ffffffff"
|
||||
|
||||
timeout = 10
|
||||
|
||||
# Icon for notifications with normal urgency, uncomment to enable
|
||||
#icon = /path/to/icon
|
||||
#default_icon = /path/to/icon
|
||||
|
||||
[urgency_critical]
|
||||
highlight = "#fe6c5a"
|
||||
|
@ -313,7 +362,10 @@
|
|||
foreground = "#ffffffff"
|
||||
|
||||
timeout = 0
|
||||
override_pause_level = 60
|
||||
|
||||
icon = arbt
|
||||
|
||||
# Icon for notifications with critical urgency, uncomment to enable
|
||||
#icon = /path/to/icon
|
||||
|
||||
|
@ -352,6 +404,7 @@
|
|||
# ellipsize
|
||||
# alignment
|
||||
# hide_text
|
||||
# override_pause_level
|
||||
#
|
||||
# Shell-like globbing will get expanded.
|
||||
#
|
||||
|
@ -359,6 +412,10 @@
|
|||
# GLib based applications export their desktop-entry name. In comparison to the appname,
|
||||
# the desktop-entry won't get localized.
|
||||
#
|
||||
# You can also allow a notification to appear even when paused. Notification will appear whenever notification's override_pause_level >= dunst's paused level.
|
||||
# This can be used to set partial pause modes, where more urgent notifications get through, but less urgent stay paused. To do that, you can override the following in the rules:
|
||||
# override_pause_level = X
|
||||
|
||||
# SCRIPTING
|
||||
# You can specify a script that gets run when the rule matches by
|
||||
# setting the "script" option.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.window_name {
|
||||
font-family: "JetBrains Mono", "Font Awesome 6 Free", sans-serif;
|
||||
font-family: "Monaspace Krypton";
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
|
|
|
@ -2,13 +2,14 @@
|
|||
background-color: $bg1-a;
|
||||
border-radius: 25px;
|
||||
|
||||
.icon, .icon label {
|
||||
font-family: "Material Symbols Outlined";
|
||||
font-size: 1.15rem;
|
||||
.icon,
|
||||
.icon label {
|
||||
font-family: "JetBrainsMono Nerd Font", "Material Symbols Outlined";
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
.value {
|
||||
margin: 0 9px;
|
||||
margin: 0 10px;
|
||||
}
|
||||
|
||||
.focused {
|
||||
|
|
|
@ -34,13 +34,13 @@
|
|||
background-color: $bg-a;
|
||||
color: $fg;
|
||||
|
||||
font-family: "JetBrains Mono", "Jost *", sans-serif;
|
||||
font-family: "JetBrains Mono";
|
||||
|
||||
label {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
// TODO: Use ercentages (for some reason it fails now)
|
||||
// TODO: Use percentages (for some reason it fails now)
|
||||
min-width: 1900px;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
(defvar terminal "alacritty -e")
|
||||
(defvar terminal "kitty -e")
|
||||
|
||||
(include "./modules/variables.yuck")
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
(defwidget bitcoin_module []
|
||||
(eventbox
|
||||
:onclick "~/.local/bin/scripts/cli/bitcoin | xargs -I_ ${EWW_CMD} update bitcoin=_"
|
||||
:onclick "bitcoin | xargs -I{} ${EWW_CMD} update bitcoin={}"
|
||||
:class "module bitcoin"
|
||||
|
||||
(box
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
(defwidget clock_module []
|
||||
|
||||
(eventbox
|
||||
:onclick "${EWW_CMD} open --toggle calendar"
|
||||
:tooltip {time.day}
|
||||
:class "module clock"
|
||||
:onclick "${EWW_CMD} open --toggle calendar"
|
||||
|
||||
(box
|
||||
:space-evenly false
|
||||
|
@ -13,5 +13,6 @@
|
|||
:text "")
|
||||
(label
|
||||
:class "value"
|
||||
:text "${time.date} ${time.hour}:${time.minute}"))
|
||||
))
|
||||
:text "${time.date} ${time.hour}:${time.minute}")
|
||||
)))
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
(defpoll bitcoin
|
||||
:interval "5m"
|
||||
:initial "$N/A"
|
||||
`~/.local/bin/scripts/cli/bitcoin`)
|
||||
`bitcoin`)
|
||||
|
||||
; TODO: Figure out how to store this one-time
|
||||
(defpoll kernel
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# shellcheck source=include
|
||||
source "./scripts/include"
|
||||
|
|
|
@ -1,83 +1,82 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ "$1" = "temperature" ]; then
|
||||
watch_cmd="{t}"
|
||||
update_cmd="UpdateTemperature"
|
||||
update_signature="n"
|
||||
set_cmd="Temperature"
|
||||
set_signature="q"
|
||||
default_val=6500
|
||||
click_val=4500
|
||||
scroll_change=100
|
||||
cmp_op="<"
|
||||
watch_cmd="{t}"
|
||||
update_cmd="UpdateTemperature"
|
||||
update_signature="n"
|
||||
set_cmd="Temperature"
|
||||
set_signature="q"
|
||||
default_val=6500
|
||||
click_val=4500
|
||||
scroll_change=100
|
||||
cmp_op="<"
|
||||
|
||||
elif [ "$1" = "brightness" ]; then
|
||||
watch_cmd="{bp}"
|
||||
update_cmd="UpdateBrightness"
|
||||
update_signature="d"
|
||||
set_cmd="Brightness"
|
||||
set_signature="d"
|
||||
default_val=1
|
||||
click_val=0.8
|
||||
scroll_change=0.02
|
||||
cmp_op="<"
|
||||
watch_cmd="{bp}"
|
||||
update_cmd="UpdateBrightness"
|
||||
update_signature="d"
|
||||
set_cmd="Brightness"
|
||||
set_signature="d"
|
||||
default_val=1
|
||||
click_val=0.8
|
||||
scroll_change=0.02
|
||||
cmp_op="<"
|
||||
|
||||
elif [ "$1" = "gamma" ]; then
|
||||
watch_cmd="{g}"
|
||||
update_cmd="UpdateGamma"
|
||||
update_signature="d"
|
||||
set_cmd="Gamma"
|
||||
set_signature="d"
|
||||
default_val=1
|
||||
click_val=1.1
|
||||
scroll_change=0.02
|
||||
cmp_op=">"
|
||||
watch_cmd="{g}"
|
||||
update_cmd="UpdateGamma"
|
||||
update_signature="d"
|
||||
set_cmd="Gamma"
|
||||
set_signature="d"
|
||||
default_val=1
|
||||
click_val=1.1
|
||||
scroll_change=0.02
|
||||
cmp_op=">"
|
||||
|
||||
else
|
||||
>&2 echo "Invalid option, first argument must be one of: temperature, brightness, gamma"
|
||||
exit 1
|
||||
>&2 echo "Invalid option, first argument must be one of: temperature, brightness, gamma"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
if [ "$2" = "watch" ]; then
|
||||
exec wl-gammarelay-rs watch "$watch_cmd"
|
||||
exec wl-gammarelay-rs watch "$watch_cmd"
|
||||
|
||||
elif [ "$2" = "get" ]; then
|
||||
exec busctl --user get-property rs.wl-gammarelay / rs.wl.gammarelay "$set_cmd" | cut -d' ' -f2
|
||||
exec busctl --user get-property rs.wl-gammarelay / rs.wl.gammarelay "$set_cmd" | cut -d' ' -f2
|
||||
|
||||
elif [ "$2" = "scroll" ]; then
|
||||
if [ "$3" = "up" ]; then
|
||||
sign="+"
|
||||
elif [ "$3" = "down" ]; then
|
||||
sign="-"
|
||||
else
|
||||
>&2 echo "Invalid sign, second argument must be one of: up, down"
|
||||
exit 1
|
||||
fi
|
||||
if [ "$3" = "up" ]; then
|
||||
sign="+"
|
||||
elif [ "$3" = "down" ]; then
|
||||
sign="-"
|
||||
else
|
||||
>&2 echo "Invalid sign, second argument must be one of: up, down"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exec busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay "$update_cmd" "$update_signature" ${sign}${scroll_change}
|
||||
exec busctl --user -- call rs.wl-gammarelay / rs.wl.gammarelay "$update_cmd" "$update_signature" ${sign}${scroll_change}
|
||||
|
||||
elif [ "$2" = "set" ]; then
|
||||
mode="$3"
|
||||
if [ "$mode" = "toggle" ]; then
|
||||
cur_val="$(busctl --user get-property rs.wl-gammarelay / rs.wl.gammarelay "$set_cmd" | cut -d' ' -f2)"
|
||||
if [ "$(echo "$cur_val $cmp_op $default_val" | bc -l)" = "1" ]; then
|
||||
mode="off"
|
||||
else
|
||||
mode="on"
|
||||
fi
|
||||
fi
|
||||
mode="$3"
|
||||
if [ "$mode" = "toggle" ]; then
|
||||
cur_val="$(busctl --user get-property rs.wl-gammarelay / rs.wl.gammarelay "$set_cmd" | cut -d' ' -f2)"
|
||||
if [ "$(echo "$cur_val $cmp_op $default_val" | bc -l)" = "1" ]; then
|
||||
mode="off"
|
||||
else
|
||||
mode="on"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$mode" = "on" ]; then
|
||||
exec busctl --user -- set-property rs.wl-gammarelay / rs.wl.gammarelay "$set_cmd" "$set_signature" "$click_val"
|
||||
elif [ "$mode" = "off" ]; then
|
||||
exec busctl --user -- set-property rs.wl-gammarelay / rs.wl.gammarelay "$set_cmd" "$set_signature" "$default_val"
|
||||
else
|
||||
>&2 echo "Invalid mode, third argument, must be one of: toggle, on, off"
|
||||
exit 1
|
||||
fi
|
||||
if [ "$mode" = "on" ]; then
|
||||
exec busctl --user -- set-property rs.wl-gammarelay / rs.wl.gammarelay "$set_cmd" "$set_signature" "$click_val"
|
||||
elif [ "$mode" = "off" ]; then
|
||||
exec busctl --user -- set-property rs.wl-gammarelay / rs.wl.gammarelay "$set_cmd" "$set_signature" "$default_val"
|
||||
else
|
||||
>&2 echo "Invalid mode, third argument, must be one of: toggle, on, off"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
else
|
||||
>&2 echo "Invalid operation, second argument must be one of: watch, scroll, set"
|
||||
exit 1
|
||||
>&2 echo "Invalid operation, second argument must be one of: watch, scroll, set"
|
||||
exit 1
|
||||
fi
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# $1: Current number
|
||||
# $2: Range minimum
|
||||
# $3: Range maximum
|
||||
# $4-: Icons as individual arguments
|
||||
pick_icon() {
|
||||
cur="$1"
|
||||
min="$2"
|
||||
max="$3"
|
||||
shift 3
|
||||
icons=( "$@" )
|
||||
cur="$1"
|
||||
min="$2"
|
||||
max="$3"
|
||||
shift 3
|
||||
icons=("$@")
|
||||
|
||||
index="$(echo "($cur-$min)/(($max-$min)/${#icons[@]})" | bc)"
|
||||
index="$(echo "($cur-$min)/(($max-$min)/${#icons[@]})" | bc)"
|
||||
|
||||
# Print the picked icon, handling overflows/underflows, i.e. if our index is <0 or >len(icons)
|
||||
if [ "$index" -ge "${#icons[@]}" ]; then
|
||||
index=-1
|
||||
elif [ "$index" -lt 0 ]; then
|
||||
index=0
|
||||
fi
|
||||
# Print the picked icon, handling overflows/underflows, i.e. if our index is <0 or >len(icons)
|
||||
if [ "$index" -ge "${#icons[@]}" ]; then
|
||||
index=-1
|
||||
elif [ "$index" -lt 0 ]; then
|
||||
index=0
|
||||
fi
|
||||
|
||||
echo "${icons[index]}"
|
||||
echo "${icons[index]}"
|
||||
}
|
||||
|
||||
# Will block and listen to the hyprland socket messages and output them
|
||||
|
@ -29,21 +29,22 @@ pick_icon() {
|
|||
# Note: requires openbsd version of netcat.
|
||||
# $1 - Optional event to listen for (no event filtering will be done if not provided)
|
||||
hyprland_ipc() {
|
||||
if [ -z "$HYPRLAND_INSTANCE_SIGNATURE" ]; then
|
||||
>&2 echo "Hyprland is not running, IPC not available"
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$HYPRLAND_INSTANCE_SIGNATURE" ]; then
|
||||
>&2 echo "Hyprland is not running, IPC not available"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SOCKET_PATH="/tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock"
|
||||
SOCKET_PATH="${XDG_RUNTIME_DIR:-/run/user/$UID}/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock"
|
||||
#SOCKET_PATH="/tmp/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock"
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
nc -U "$SOCKET_PATH" | while read -r test; do
|
||||
echo "$test"
|
||||
done
|
||||
else
|
||||
nc -U "$SOCKET_PATH" | while read -r test; do
|
||||
# shellcheck disable=SC2016
|
||||
echo "$test" | grep --line-buffered -E "^$1>>" | stdbuf -oL awk -F '>>' '{print $2}'
|
||||
done
|
||||
fi
|
||||
if [ -z "$1" ]; then
|
||||
nc -U "$SOCKET_PATH" | while read -r test; do
|
||||
echo "$test"
|
||||
done
|
||||
else
|
||||
nc -U "$SOCKET_PATH" | while read -r test; do
|
||||
# shellcheck disable=SC2016
|
||||
echo "$test" | grep --line-buffered -E "^$1>>" | stdbuf -oL awk -F '>>' '{print $2}'
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# shellcheck source=include
|
||||
source "./scripts/include"
|
||||
|
@ -7,7 +7,6 @@ source "./scripts/include"
|
|||
# as we might be in transition state and just killing the program might
|
||||
# not be enough.
|
||||
|
||||
|
||||
if [ "$1" = "toggle" ]; then
|
||||
gammastep -x
|
||||
gammastep -x
|
||||
fi
|
||||
|
|
|
@ -1,35 +1,35 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
MOUNTPOINTS=("/" "/mnt/ext")
|
||||
|
||||
data="$(df -H)"
|
||||
|
||||
as_json() {
|
||||
mountpoint="$1"
|
||||
res="$2"
|
||||
arr_res=($res)
|
||||
mountpoint="$1"
|
||||
res="$2"
|
||||
arr_res=($res)
|
||||
|
||||
jq -n -c --monochrome-output \
|
||||
--arg mountpoint "$mountpoint" \
|
||||
--arg size "${arr_res[0]}" \
|
||||
--arg used "${arr_res[1]}" \
|
||||
--arg avail "${arr_res[2]}" \
|
||||
--arg percent "${arr_res[3]}" \
|
||||
'$ARGS.named'
|
||||
jq -n -c --monochrome-output \
|
||||
--arg mountpoint "$mountpoint" \
|
||||
--arg size "${arr_res[0]}" \
|
||||
--arg used "${arr_res[1]}" \
|
||||
--arg avail "${arr_res[2]}" \
|
||||
--arg percent "${arr_res[3]}" \
|
||||
'$ARGS.named'
|
||||
}
|
||||
|
||||
output_json="[]"
|
||||
for mountpoint in "${MOUNTPOINTS[@]}"; do
|
||||
res="$(echo "$data" | awk -v m="$mountpoint" '$6 == m {print $2 " " $3 " " $4 " " $5}')"
|
||||
out="$(as_json "$mountpoint" "$res")"
|
||||
res="$(echo "$data" | awk -v m="$mountpoint" '$6 == m {print $2 " " $3 " " $4 " " $5}')"
|
||||
out="$(as_json "$mountpoint" "$res")"
|
||||
|
||||
# echo "$output_json $out" | jq -c -s
|
||||
# echo "$output_json $out" | jq -c -s
|
||||
|
||||
jq --argjson arr1 "$output_json" --argjson arr2 "[$out]" -n \
|
||||
'$arr1 + $arr2'
|
||||
jq --argjson arr1 "$output_json" --argjson arr2 "[$out]" -n \
|
||||
'$arr1 + $arr2'
|
||||
|
||||
# mount_data+=("$mountpoint" $res)
|
||||
# echo "${mount_data[@]}"
|
||||
# mount_data+=("$mountpoint" $res)
|
||||
# echo "${mount_data[@]}"
|
||||
done
|
||||
|
||||
# echo "${mount_data[@]}"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# shellcheck source=include
|
||||
source "./scripts/include"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Define some icons
|
||||
SPEAKER_ICONS=("" "" "")
|
||||
|
@ -10,100 +10,103 @@ MIC_MUTED_ICON=""
|
|||
|
||||
# $1 can either be "SINK" (speaker) or "SOURCE" (microphone)
|
||||
get_vol() {
|
||||
wpctl get-volume "@DEFAULT_AUDIO_${1}@" | awk '{print int($2*100)}'
|
||||
wpctl get-volume "@DEFAULT_AUDIO_${1}@" | awk '{print int($2*100)}'
|
||||
}
|
||||
|
||||
# $1 can either be "SINK" (speaker) or "SOURCE" (microphone)
|
||||
# #2 is the voulme (as percentage) to set the volume to
|
||||
# $3 is optional, if set, it can be '+' or '-', which then adds/decreases volume, instead of setting
|
||||
set_vol() {
|
||||
wpctl set-volume "@DEFAULT_AUDIO_${1}@" "$(awk -v n="$2" 'BEGIN{print (n / 100)}')$3"
|
||||
wpctl set-volume "@DEFAULT_AUDIO_${1}@" "$(awk -v n="$2" 'BEGIN{print (n / 100)}')$3"
|
||||
}
|
||||
|
||||
# $1 can either be "SINK" (speaker) or "SOURCE" (microphone)
|
||||
check_mute() {
|
||||
wpctl get-volume "@DEFAULT_AUDIO_${1}@" | grep -i muted >/dev/null
|
||||
echo $?
|
||||
wpctl get-volume "@DEFAULT_AUDIO_${1}@" | grep -i muted >/dev/null
|
||||
echo $?
|
||||
}
|
||||
|
||||
# $1 can either be "SINK" (speaker) or "SOURCE" (microphone)
|
||||
toggle_mute() {
|
||||
wpctl set-mute "@DEFAULT_AUDIO_${1}@" toggle
|
||||
wpctl set-mute "@DEFAULT_AUDIO_${1}@" toggle
|
||||
}
|
||||
|
||||
get_report() {
|
||||
spkr_vol="$(get_vol "SINK")"
|
||||
mic_vol="$(get_vol "SOURCE")"
|
||||
spkr_vol="$(get_vol "SINK")"
|
||||
mic_vol="$(get_vol "SOURCE")"
|
||||
|
||||
if [ "$(check_mute "SINK")" == "0" ]; then
|
||||
spkr_mute="true"
|
||||
spkr_icon="$SPEAKER_MUTED_ICON"
|
||||
else
|
||||
spkr_mute="false"
|
||||
index="$(awk -v n="$spkr_vol" -v m="${#SPEAKER_ICONS[@]}" 'BEGIN{print int(n/(100/m))}')"
|
||||
if [ "$(check_mute "SINK")" == "0" ]; then
|
||||
spkr_mute="true"
|
||||
spkr_icon="$SPEAKER_MUTED_ICON"
|
||||
else
|
||||
spkr_mute="false"
|
||||
index="$(awk -v n="$spkr_vol" -v m="${#SPEAKER_ICONS[@]}" 'BEGIN{print int(n/(100/m))}')"
|
||||
|
||||
# We might end up with an higher than the length of icons, if the volume is over 100%
|
||||
# in this case, set the index to last icon
|
||||
if [ "$index" -ge "${#SPEAKER_ICONS[@]}" ]; then
|
||||
spkr_icon="${SPEAKER_ICONS[-1]}"
|
||||
else
|
||||
spkr_icon="${SPEAKER_ICONS[$index]}"
|
||||
fi
|
||||
fi
|
||||
# We might end up with an higher than the length of icons, if the volume is over 100%
|
||||
# in this case, set the index to last icon
|
||||
if [ "$index" -ge "${#SPEAKER_ICONS[@]}" ]; then
|
||||
spkr_icon="${SPEAKER_ICONS[-1]}"
|
||||
else
|
||||
spkr_icon="${SPEAKER_ICONS[$index]}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$(check_mute "SOURCE")" = "0" ]; then
|
||||
mic_mute="true"
|
||||
mic_icon="$MIC_MUTED_ICON"
|
||||
else
|
||||
mic_mute="false"
|
||||
mic_icon="$MIC_ICON"
|
||||
fi
|
||||
if [ "$(check_mute "SOURCE")" = "0" ]; then
|
||||
mic_mute="true"
|
||||
mic_icon="$MIC_MUTED_ICON"
|
||||
else
|
||||
mic_mute="false"
|
||||
mic_icon="$MIC_ICON"
|
||||
fi
|
||||
|
||||
echo "{ \"speaker_vol\": \"$spkr_vol\", \"speaker_mute\": $spkr_mute, \"speaker_icon\": \"$spkr_icon\", \"microphone_mute\": $mic_mute, \"microphone_vol\": \"$mic_vol\", \"microphone_icon\": \"$mic_icon\" }"
|
||||
echo "{ \"speaker_vol\": \"$spkr_vol\", \"speaker_mute\": $spkr_mute, \"speaker_icon\": \"$spkr_icon\", \"microphone_mute\": $mic_mute, \"microphone_vol\": \"$mic_vol\", \"microphone_icon\": \"$mic_icon\" }"
|
||||
}
|
||||
|
||||
# Continually run and report every volume change (into stdout)
|
||||
loop() {
|
||||
get_report
|
||||
pactl subscribe | grep --line-buffered "change" | while read -r _; do
|
||||
get_report
|
||||
done
|
||||
get_report
|
||||
pactl subscribe | grep --line-buffered "change" | while read -r _; do
|
||||
get_report
|
||||
done
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
"loop") loop ;;
|
||||
"loop") loop ;;
|
||||
|
||||
"once") get_report ;;
|
||||
"once") get_report ;;
|
||||
|
||||
"togglemute")
|
||||
if [ "$2" != "SOURCE" ] && [ "$2" != "SINK" ]; then
|
||||
>&2 echo "Invalid usage, expected second argument to be 'SINK' or 'SOURCE', got '$2'"
|
||||
exit 1
|
||||
fi
|
||||
toggle_mute "$2"
|
||||
;;
|
||||
"togglemute")
|
||||
if [ "$2" != "SOURCE" ] && [ "$2" != "SINK" ]; then
|
||||
>&2 echo "Invalid usage, expected second argument to be 'SINK' or 'SOURCE', got '$2'"
|
||||
exit 1
|
||||
fi
|
||||
toggle_mute "$2"
|
||||
;;
|
||||
|
||||
"setvol")
|
||||
if [ "$2" != "SOURCE" ] && [ "$2" != "SINK" ]; then
|
||||
>&2 echo "Invalid usage, expected second argument to be 'SINK' or 'SOURCE', got '$2'"
|
||||
exit 1
|
||||
fi
|
||||
"setvol")
|
||||
if [ "$2" != "SOURCE" ] && [ "$2" != "SINK" ]; then
|
||||
>&2 echo "Invalid usage, expected second argument to be 'SINK' or 'SOURCE', got '$2'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "$3" =~ ^[+-]?[0-9]*\.?[0-9]+$ ]]; then
|
||||
case "$4" in
|
||||
"") set_vol "$2" "$3" ;;
|
||||
up|+) set_vol "$2" "$3" "+" ;;
|
||||
down|-) set_vol "$2" "$3" "-" ;;
|
||||
*)
|
||||
>&2 echo "Invalid usage, expected fourth argument to be up/down or +/-, got '$4'"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
>&2 echo "Invalid usage, exepcted third argument to be a number, got '$3'"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
if [[ "$3" =~ ^[+-]?[0-9]*\.?[0-9]+$ ]]; then
|
||||
case "$4" in
|
||||
"") set_vol "$2" "$3" ;;
|
||||
up | +) set_vol "$2" "$3" "+" ;;
|
||||
down | -) set_vol "$2" "$3" "-" ;;
|
||||
*)
|
||||
>&2 echo "Invalid usage, expected fourth argument to be up/down or +/-, got '$4'"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
>&2 echo "Invalid usage, exepcted third argument to be a number, got '$3'"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
*) >&2 echo "Invalid usage, argument '$1' not recognized."; exit 1 ;;
|
||||
*)
|
||||
>&2 echo "Invalid usage, argument '$1' not recognized."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# shellcheck source=include
|
||||
source "./scripts/include"
|
||||
|
|
|
@ -7,6 +7,7 @@ the window names. Window name and class are obtained from piped stdin, to preven
|
|||
needlessly keep restarting this program, which takes a while due to the interpreter starting
|
||||
overhead.
|
||||
"""
|
||||
|
||||
import json
|
||||
import re
|
||||
import sys
|
||||
|
@ -50,9 +51,9 @@ class RemapRule:
|
|||
# Rules will be applied in specified order
|
||||
REMAP_RULES: list[RemapRule] = [
|
||||
RemapRule(r"", "", ""),
|
||||
RemapRule(r"(.*) — Mozilla Firefox", " {}", "firefox"),
|
||||
RemapRule(r"Mozilla Firefox", " Mozilla Firefox", "firefox"),
|
||||
RemapRule(r"Alacritty", " Alacritty", "Alacritty"),
|
||||
RemapRule(r"(.*) — Mozilla Firefox", " {}", "firefox"),
|
||||
RemapRule(r"Mozilla Firefox", " Mozilla Firefox", "firefox"),
|
||||
RemapRule(r"Alacritty", " Alacritty", "Alacritty"),
|
||||
RemapRule(
|
||||
r"zsh;#toggleterm#1 - \(term:\/\/(.+)\/\/(\d+):(.+)\) - N?VIM",
|
||||
" Terminal: {0}",
|
||||
|
@ -63,13 +64,13 @@ REMAP_RULES: list[RemapRule] = [
|
|||
RemapRule(r"(.+) - Discord", " {}", "discord"),
|
||||
RemapRule(r"(?:\(\d+\) )?Discord \| (.+)", " {}", "vesktop"),
|
||||
RemapRule(r"(.+) - mpv", " {}", "mpv"),
|
||||
RemapRule(r"Stremio - (.+)", " Stremio - {}", r"(Stremio)|(com.stremio.stremio)"),
|
||||
RemapRule(r"Spotify", " Spotify", "Spotify"),
|
||||
RemapRule(r"pulsemixer", " Pulsemixer"),
|
||||
RemapRule(r"Stremio - (.+)", " Stremio - {}", r"(Stremio)|(com.stremio.stremio)"),
|
||||
RemapRule(r"Spotify((?: Premium)?)", " Spotify{}", "[Ss]potify"),
|
||||
RemapRule(r"pulsemixer", " Pulsemixer"),
|
||||
RemapRule(r"(.*)", " {}", "Pcmanfm"),
|
||||
RemapRule(r"(.*)", " {}", "pcmanfm-qt"),
|
||||
# Needs to be last
|
||||
RemapRule(r"(.*)", " {}", "kitty"),
|
||||
RemapRule(r"(.*)", " {}", "kitty"),
|
||||
]
|
||||
|
||||
MAX_LENGTH = 65
|
||||
|
@ -81,7 +82,9 @@ def iter_window() -> Iterator[tuple[str, str]]:
|
|||
line = line.removesuffix("\n")
|
||||
els = line.split(",", maxsplit=1)
|
||||
if len(els) != 2:
|
||||
raise ValueError(f"Expected 2 arguments from stdin line (name, class), but got {len(els)}")
|
||||
raise ValueError(
|
||||
f"Expected 2 arguments from stdin line (name, class), but got {len(els)}"
|
||||
)
|
||||
yield els[1], els[0]
|
||||
|
||||
|
||||
|
@ -94,6 +97,7 @@ def main() -> None:
|
|||
formatted_name = new_name
|
||||
break
|
||||
|
||||
formatted_name = formatted_name.split("\n")[0]
|
||||
if len(formatted_name) > MAX_LENGTH:
|
||||
formatted_name = formatted_name[: MAX_LENGTH - 3] + "..."
|
||||
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# shellcheck source=include
|
||||
source "./scripts/include"
|
||||
|
||||
if [ "$1" = "--switch" ]; then
|
||||
$HOME/.local/bin/scripts/gui/hyprland/swap-workspace "$2" >/dev/null
|
||||
# hyprctl dispatch workspace "$2" >/dev/null
|
||||
hyprctl dispatch focusworkspaceoncurrentmonitor "$2" >/dev/null
|
||||
elif [ "$1" = "--loop" ]; then
|
||||
hyprland_ipc "workspace|createworkspace|destroyworkspace" | ./scripts/workspaces.py "$@"
|
||||
hyprland_ipc "workspace|createworkspace|destroyworkspace" | ./scripts/workspaces.py "$@"
|
||||
else
|
||||
./scripts/workspaces.py "$@"
|
||||
./scripts/workspaces.py "$@"
|
||||
fi
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
|
||||
|
||||
<fontconfig>
|
||||
<description>Disable Caskaydia Cove Nerd Font</description>
|
||||
|
||||
<selectfont>
|
||||
<rejectfont>
|
||||
<glob>/usr/share/fonts/nerd-fonts-git/TTF/Caskaydia*</glob>
|
||||
</rejectfont>
|
||||
</selectfont>
|
||||
</fontconfig>
|
|
@ -50,6 +50,7 @@
|
|||
bD = "branch --delete --force"
|
||||
bm = "branch --move"
|
||||
bM = "branch --move --force"
|
||||
bb = "!better-git-branch"
|
||||
|
||||
r = "rebase"
|
||||
ri = "rebase -i"
|
||||
|
@ -65,8 +66,13 @@
|
|||
|
||||
set-upstream = "!git branch --set-upstream-to=origin/`git symbolic-ref --short HEAD`"
|
||||
|
||||
fixup-picker = "!git log -n 50 --pretty=format:'%h %s' --no-merges | fzf | cut -c -7 | xargs -o git commit --fixup";
|
||||
|
||||
staash = "stash --all";
|
||||
stash-staged = "!sh -c 'git stash --keep-index; git stash push -m \"staged\" --keep-index; git stash pop stash@{1}'"
|
||||
|
||||
reauthor-all = "rebase --root -r --exec 'git commit --amend --no-edit --reset-author --no-verify'";
|
||||
|
||||
find-merge = "!sh -c 'commit=$0 && branch=${1:-HEAD} && (git rev-list $commit..$branch --ancestry-path | cat -n; git rev-list $commit..$branch --first-parent | cat -n) | sort -k2 -s | uniq -f1 -d | sort -n | tail -1 | cut -f2'"
|
||||
show-merge = "!sh -c 'merge=$(git find-merge $0 $1) && [ -n \"$merge\" ] && git show $merge'"
|
||||
|
||||
|
@ -75,7 +81,7 @@
|
|||
total-lines = "!git tracked-text-files | xargs cat | wc -l"
|
||||
total-files = "!git tracked-files | wc -l"
|
||||
total-commits = "!git log --oneline | wc -l"
|
||||
comitter-lines = "!git log --author=\"$1\" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf \"added lines: %s, removed lines: %s, total lines: %s\\n\", add, subs, loc }' #"
|
||||
comitter-lines = "!git log --author=\"$1\" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf \"added lines: %s, removed lines: %s, total lines: %s\\n\", add, subs, loc }' #"
|
||||
[credential]
|
||||
helper = store --file ~/.config/git/git-credentials
|
||||
[core]
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
[Filechooser Settings]
|
||||
LocationMode=path-bar
|
||||
ShowHidden=false
|
||||
ShowSizeColumn=true
|
||||
GeometryX=510
|
||||
GeometryY=260
|
||||
GeometryWidth=900
|
||||
GeometryHeight=584
|
||||
SortColumn=name
|
||||
SortOrder=ascending
|
||||
StartupMode=recent
|
|
@ -1,19 +1,15 @@
|
|||
# DO NOT EDIT! This file will be overwritten by LXAppearance.
|
||||
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
|
||||
|
||||
include "/home/itsdrike/.gtkrc-2.0.mine"
|
||||
gtk-theme-name="Adwaita-dark"
|
||||
gtk-icon-theme-name="Papirus-Dark"
|
||||
gtk-font-name="Noto Sans, 10"
|
||||
gtk-cursor-theme-name="BreezeX-Light"
|
||||
gtk-cursor-theme-size=24
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-theme-name = "Tokyonight-Dark"
|
||||
gtk-icon-theme-name = "Papirus-Dark"
|
||||
gtk-cursor-theme-name = "BreezeX-RosePine-Linux"
|
||||
gtk-cursor-theme-size = 24
|
||||
gtk-font-name = "Noto Sans 10"
|
||||
gtk-button-images=1
|
||||
gtk-menu-images=1
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=1
|
||||
gtk-enable-event-sounds=0
|
||||
gtk-enable-input-feedback-sounds=0
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle="hintfull"
|
||||
gtk-modules="colorreload-gtk-module:window-decorations-gtk-module:appmenu-gtk-module"
|
||||
gtk-xft-hintstyle="hintslight"
|
||||
gtk-xft-rgba="rgb"
|
||||
|
|
|
@ -1,21 +1,19 @@
|
|||
[Settings]
|
||||
gtk-application-prefer-dark-theme=true
|
||||
gtk-button-images=1
|
||||
gtk-cursor-theme-name=BreezeX-Light
|
||||
gtk-cursor-theme-size=24
|
||||
gtk-decoration-layout=icon:minimize,maximize,close
|
||||
gtk-enable-animations=true
|
||||
gtk-font-name=Noto Sans, 10
|
||||
gtk-theme-name=Tokyonight-Dark
|
||||
gtk-icon-theme-name=Papirus-Dark
|
||||
gtk-cursor-theme-name=BreezeX-RosePine-Linux
|
||||
gtk-cursor-theme-size=24
|
||||
gtk-font-name=Noto Sans 10
|
||||
gtk-enable-animations=true
|
||||
gtk-button-images=1
|
||||
gtk-menu-images=1
|
||||
gtk-modules=colorreload-gtk-module:window-decorations-gtk-module:appmenu-gtk-module
|
||||
gtk-primary-button-warps-slider=false
|
||||
gtk-shell-shows-menubar=1
|
||||
gtk-theme-name=Adwaita-dark
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
|
||||
gtk-enable-event-sounds=0
|
||||
gtk-enable-input-feedback-sounds=0
|
||||
gtk-error-bell=0
|
||||
gtk-decoration-layout=appmenu:none
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=1
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle=hintfull
|
||||
gtk-xft-hintstyle=hintslight
|
||||
|
|
5
home/.config/gtk-4.0/gtk.css
Normal file
5
home/.config/gtk-4.0/gtk.css
Normal file
|
@ -0,0 +1,5 @@
|
|||
/**
|
||||
* GTK 4 reads the theme configured by gtk-theme-name, but ignores it.
|
||||
* It does however respect user CSS, so import the theme from here.
|
||||
**/
|
||||
@import url("file:///usr/share/themes/Tokyonight-Dark/gtk-4.0/gtk.css");
|
14
home/.config/gtk-4.0/settings.ini
Normal file
14
home/.config/gtk-4.0/settings.ini
Normal file
|
@ -0,0 +1,14 @@
|
|||
[Settings]
|
||||
gtk-application-prefer-dark-theme=true
|
||||
gtk-theme-name=Tokyonight-Dark
|
||||
gtk-icon-theme-name=Papirus-Dark
|
||||
gtk-cursor-theme-name=BreezeX-RosePine-Linux
|
||||
gtk-cursor-theme-size=24
|
||||
gtk-font-name=Noto Sans 10
|
||||
gtk-enable-event-sounds=0
|
||||
gtk-enable-input-feedback-sounds=0
|
||||
gtk-error-bell=0
|
||||
gtk-decoration-layout=appmenu:none
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle=hintslight
|
|
@ -1,19 +1,19 @@
|
|||
{
|
||||
"preset": "rainbow",
|
||||
"mode": "rgb",
|
||||
"light_dark": "dark",
|
||||
"lightness": 0.65,
|
||||
"color_align": {
|
||||
"mode": "custom",
|
||||
"custom_colors": {
|
||||
"1": 1,
|
||||
"2": 4
|
||||
},
|
||||
"fore_back": []
|
||||
"preset": "rainbow",
|
||||
"mode": "rgb",
|
||||
"light_dark": "dark",
|
||||
"lightness": 0.65,
|
||||
"color_align": {
|
||||
"mode": "custom",
|
||||
"custom_colors": {
|
||||
"1": 1,
|
||||
"2": 4
|
||||
},
|
||||
"backend": "neofetch",
|
||||
"args": null,
|
||||
"distro": null,
|
||||
"pride_month_shown": [],
|
||||
"pride_month_disable": false
|
||||
}
|
||||
"fore_back": []
|
||||
},
|
||||
"backend": "neofetch",
|
||||
"args": null,
|
||||
"distro": null,
|
||||
"pride_month_shown": [],
|
||||
"pride_month_disable": false
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ general {
|
|||
unlock-cmd = killall -s SIGUSR1 hyprlock && dunstctl set-paused false
|
||||
before_sleep_cmd = loginctl lock-session && dunstctl set-paused true && sleep 2
|
||||
ignore_dbus_inhibit = false
|
||||
ignore_systemd_inhibit = false;
|
||||
}
|
||||
|
||||
# Warn about going idle (5 mins)
|
||||
|
|
|
@ -1,55 +1,6 @@
|
|||
# #################
|
||||
# ### AUTOSTART ###
|
||||
# #################
|
||||
|
||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_TYPE
|
||||
exec-once = sleep 1 && systemctl --user start wayland-session.target # Hyprland socket sometimes isn't yet loaded, sleep for sec
|
||||
|
||||
# exec-once = aa-notify -p
|
||||
# exec-once = udiskie -A -T
|
||||
# exec-once = nm-applet --indicator
|
||||
|
||||
exec-once = vesktop
|
||||
# exec-once = discord
|
||||
# exec-once = webcord --start-minimized
|
||||
|
||||
# #############################
|
||||
# ### ENVIRONMENT VARIABLES ###
|
||||
# #############################
|
||||
|
||||
env = HYPRCURSOR_THEME,Adwaita
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
|
||||
|
||||
# #########################
|
||||
# ### CATEGORY SETTINGS ###
|
||||
# #########################
|
||||
|
||||
general {
|
||||
# cursor_inactive_timeout = 10
|
||||
# no_cursor_warps = true
|
||||
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
gestures {
|
||||
workspace_swipe = true
|
||||
workspace_swipe_fingers = 3
|
||||
workspace_swipe_distance = 300
|
||||
workspace_swipe_invert = false
|
||||
workspace_swipe_min_speed_to_force = 20
|
||||
workspace_swipe_cancel_ratio = 0.650000
|
||||
}
|
||||
|
||||
group {
|
||||
insert_after_current = true
|
||||
focus_removed_window = true
|
||||
}
|
||||
|
||||
misc {
|
||||
# follow requests from windows to be focused
|
||||
focus_on_activate = true
|
||||
}
|
||||
|
||||
debug {
|
||||
|
@ -58,21 +9,14 @@ debug {
|
|||
enable_stdout_logs = true
|
||||
}
|
||||
|
||||
dwindle {
|
||||
pseudotile = false
|
||||
preserve_split = true
|
||||
no_gaps_when_only = false
|
||||
#smart_split = true
|
||||
}
|
||||
|
||||
# #######################
|
||||
# ### EXTERNAL CONFIG ###
|
||||
# #######################
|
||||
|
||||
source = ~/.config/hypr/input.conf
|
||||
source = ~/.config/hypr/style.conf
|
||||
source = ~/.config/hypr/keybinds.conf
|
||||
source = ~/.config/hypr/window_rules.conf
|
||||
source = ~/.config/hypr/plugins.conf
|
||||
source = ~/.config/hypr/hyprland.d/exec.conf
|
||||
source = ~/.config/hypr/hyprland.d/layout.conf
|
||||
source = ~/.config/hypr/hyprland.d/input.conf
|
||||
source = ~/.config/hypr/hyprland.d/style.conf
|
||||
source = ~/.config/hypr/hyprland.d/keybinds.conf
|
||||
source = ~/.config/hypr/hyprland.d/window_rules.conf
|
||||
source = ~/.config/hypr/hyprland.d/gestures.conf
|
||||
source = ~/.config/hypr/hyprland.d/misc.conf
|
||||
source = ~/.config/hypr/hyprland.d/plugins.conf
|
||||
|
||||
# vi: ft=hyprlang
|
||||
|
|
11
home/.config/hypr/hyprland.d/exec.conf
Normal file
11
home/.config/hypr/hyprland.d/exec.conf
Normal file
|
@ -0,0 +1,11 @@
|
|||
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_TYPE GTK_THEME QT_QPA_PLATFORMTHEME QT_STYLE_OVERRIDE
|
||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP GTK_THEME QT_QPA_PLATFORMTHEME QT_STYLE_OVERRIDE
|
||||
|
||||
# Hyprland socket sometimes isn't yet loaded, sleep for sec
|
||||
exec-once = sleep 1 && systemctl --user start wayland-session.target
|
||||
|
||||
exec-once = vesktop
|
||||
# exec-once = discord
|
||||
# exec-once = webcord --start-minimized
|
||||
|
||||
# vi: ft=hyprlang
|
11
home/.config/hypr/hyprland.d/gestures.conf
Normal file
11
home/.config/hypr/hyprland.d/gestures.conf
Normal file
|
@ -0,0 +1,11 @@
|
|||
gestures {
|
||||
workspace_swipe = true
|
||||
workspace_swipe_fingers = 3
|
||||
workspace_swipe_distance = 300
|
||||
workspace_swipe_invert = false
|
||||
workspace_swipe_min_speed_to_force = 20
|
||||
workspace_swipe_cancel_ratio = 0.650000
|
||||
}
|
||||
|
||||
# vi: ft=hyprlang
|
||||
|
|
@ -24,7 +24,10 @@ input {
|
|||
|
||||
follow_mouse = 1
|
||||
touchpad {
|
||||
middle_button_emulation = true
|
||||
# Sending LMB + RMB = MMB
|
||||
middle_button_emulation = true
|
||||
# I'm not natural
|
||||
natural_scroll = false;
|
||||
}
|
||||
}
|
||||
|
|
@ -4,14 +4,20 @@ $MOUSE_MMB = mouse:274
|
|||
$MOUSE_EX1 = mouse:275
|
||||
$MOUSE_EX2 = mouse:276
|
||||
|
||||
$XF86Favorites = 164
|
||||
|
||||
# #####################
|
||||
# ### DE/WM CONTROL ###
|
||||
# ### ACTIVE WINDOW ###
|
||||
# #####################
|
||||
|
||||
bind = SUPER_SHIFT, Q, exec, menuquit
|
||||
bind = SUPER_CTRL, L, exec, loginctl lock-session
|
||||
bind = SUPER_SHIFT, L, exec, wlogout -p layer-shell
|
||||
bind = SUPER_SHIFT, T, exec, toggle-idle
|
||||
bind = SUPER, W, killactive,
|
||||
bind = SUPER, F, togglefloating,
|
||||
bind = SUPER, Space, fullscreen, 0 # regular fullscreen
|
||||
bind = SUPER_SHIFT, Space, fullscreen, 1 # maximize without client fullscreen
|
||||
bind = SUPER_CTRL, Space, fullscreenstate, 2, 0 # fullscreen without client knowing
|
||||
bind = SUPER_CTRL_SHIFT, Space, fullscreenstate, 1, 2 # maximize with client being full-screen
|
||||
bind = CTRL_SHIFT, Space, exec, toggle-fake-fullscreen # fake fullscreen + custom border
|
||||
bind = SUPER_SHIFT, S, layoutmsg, togglesplit
|
||||
|
||||
# ################
|
||||
# ### PROGRAMS ###
|
||||
|
@ -24,11 +30,41 @@ bind = SUPER_SHIFT, V, exec, clipman pick -t wofi
|
|||
bind = SUPER, Return, exec, kitty
|
||||
bind = SUPER, X, exec, pcmanfm-qt
|
||||
bind = SUPER, B, exec, firefox
|
||||
bind = SUPER, S, exec, spotify
|
||||
bind = SUPER, D, exec, vesktop
|
||||
bind = SUPER, C, exec, qalculate-gtk
|
||||
bind = , XF86Calculator, exec, qalculate-gtk
|
||||
|
||||
# #####################
|
||||
# ### DE/WM CONTROL ###
|
||||
# #####################
|
||||
|
||||
bind = SUPER_SHIFT, Q, exec, menuquit
|
||||
bind = SUPER_CTRL, L, exec, loginctl lock-session
|
||||
bind = SUPER_SHIFT, L, exec, wlogout -p layer-shell
|
||||
bind = SUPER_SHIFT, T, exec, toggle-idle
|
||||
|
||||
# ###################
|
||||
# ### SCREENSHOTS ###
|
||||
# ###################
|
||||
|
||||
# Screenshots (with custom screenshot script)
|
||||
$SCREENSHOT_FORMAT = "${XDG_SCREENSHOTS_DIR:-$HOME/Media/Pictures/Screenshots}/Screenshot_$(date +%Y-%m-%d_%H-%M-%S).png"
|
||||
$SCREENSHOT_DELAY = 2000
|
||||
|
||||
bind = ALT, Print, exec, wl-copy --type image/png "$(hyprpicker)" && notify-send 'Picked color' "$(wl-paste) (saved to clipboard)"
|
||||
bind = , Print, exec, hyprland-screenshot --notify --copy --target area
|
||||
#bindl = , Print, exec, hyprland-screenshot --notify --copy --target all # lockscreen screenshot (only enable when needed)
|
||||
bind = SUPER, Print, exec, hyprland-screenshot --notify --copy --target area --edit
|
||||
bind = SHIFT, Print, exec, hyprland-screenshot --notify --save $SCREENSHOT_FORMAT --target area
|
||||
bind = CTRL, Print, exec, hyprland-screenshot --notify --copy --target area --delay $SCREENSHOT_DELAY
|
||||
bind = SUPER_SHIFT, Print, exec, hyprland-screenshot --notify --save $SCREENSHOT_FORMAT --target area --edit
|
||||
bind = SUPER_CTRL, Print, exec, hyprland-screenshot --notify --copy --target area --delay $SCREENSHOT_DELAY --edit
|
||||
bind = SUPER_SHIFT_CTRL, Print, exec, hyprland-screenshot --notify --save $SCREENSHOT_FORMAT --target area --delay $SCREENSHOT_DELAY --edit
|
||||
# bind = , Print, exec, hyprland-screenshot --save $SCREENSHOT_FORMAT --target all
|
||||
|
||||
# XF86Favorites key for recording
|
||||
# (don't question me, I had it free)
|
||||
bind = , 164, exec, quick-record --notify toggle
|
||||
bind = SUPER, 164, exec, quick-record toggle
|
||||
|
||||
# #####################
|
||||
# ### NOTIFICATIONS ###
|
||||
# #####################
|
||||
|
@ -39,9 +75,9 @@ bind = CTRL, period, exec, dunstctl history-pop
|
|||
bind = CTRL_SHIFT, period, exec, dunstctl context
|
||||
bind = SUPER_SHIFT, D, exec, toggle-notifications
|
||||
|
||||
# ######################
|
||||
# ### VOLUME CONTROL ###
|
||||
# ######################
|
||||
# ############################
|
||||
# ### AUDIO/VOLUME CONTROL ###
|
||||
# ############################
|
||||
|
||||
binde = SUPER, Down, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-
|
||||
binde = SUPER, Up, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+
|
||||
|
@ -59,48 +95,12 @@ binde = SUPER, Left, exec, brightness -d 5% -n
|
|||
binde = , XF86MonBrightnessUp, exec, brightness -i 5% -n
|
||||
binde = , XF86MonBrightnessDown, exec, brightness -d 5% -n
|
||||
|
||||
# ###################
|
||||
# ### SCREENSHOTS ###
|
||||
# ###################
|
||||
|
||||
# Screenshots (with custom screenshot script)
|
||||
$SCREENSHOT_FORMAT = "${XDG_SCREENSHOTS_DIR:-$HOME/Pictures/Screenshots}/Screenshot_$(date +%Y-%m-%d_%H-%M-%S).png"
|
||||
$SCREENSHOT_DELAY = 2000
|
||||
|
||||
bind = ALT, Print, exec, wl-copy --type image/png "$(hyprpicker)" && notify-send 'Picked color' "$(wl-paste) (saved to clipboard)"
|
||||
bind = , Print, exec, screenshot --notify --copy --target area
|
||||
#bindl = , Print, exec, screenshot --notify --copy --target all # lockscreen screenshot (only enable when needed)
|
||||
bind = SUPER, Print, exec, screenshot --notify --copy --target area --edit
|
||||
bind = SHIFT, Print, exec, screenshot --notify --save $SCREENSHOT_FORMAT --target area
|
||||
bind = CTRL, Print, exec, screenshot --notify --copy --target area --delay $SCREENSHOT_DELAY
|
||||
bind = SUPER_SHIFT, Print, exec, screenshot --notify --save $SCREENSHOT_FORMAT --target area --edit
|
||||
bind = SUPER_CTRL, Print, exec, screenshot --notify --copy --target area --delay $SCREENSHOT_DELAY --edit
|
||||
bind = SUPER_SHIFT_CTRL, Print, exec, screenshot --notify --save $SCREENSHOT_FORMAT --target area --delay $SCREENSHOT_DELAY --edit
|
||||
# bind = , Print, exec, screenshot --save $SCREENSHOT_FORMAT --target all
|
||||
|
||||
# XF86Favorites key for recording
|
||||
# (don't question me, I had it free)
|
||||
bind = , 164, exec, quick-record --notify toggle
|
||||
bind = SUPER, 164, exec, quick-record toggle
|
||||
|
||||
# #####################
|
||||
# ### ACTIVE WINDOW ###
|
||||
# #####################
|
||||
|
||||
bind = SUPER, W, killactive,
|
||||
bind = SUPER, F, togglefloating,
|
||||
bind = SUPER, Space, fullscreen, 0
|
||||
bind = SUPER_SHIFT, Space, fullscreen, 1
|
||||
bind = CTRL_SHIFT, Space, exec, toggle-fakefullscreen
|
||||
bind = SUPER, P, exec, bash -c "if hyprctl activewindow | grep 'floating: 0'; then hyprctl dispatch togglefloating active; fi; hyprctl dispatch pin active"
|
||||
bind = SUPER_SHIFT, P, pseudo,
|
||||
bind = SUPER_SHIFT, S, layoutmsg, togglesplit
|
||||
|
||||
# #####################
|
||||
# ### WINDOW GROUPS ###
|
||||
# #####################
|
||||
|
||||
bind = SUPER, G, togglegroup,
|
||||
bind = SUPER_SHIFT, G, lockactivegroup, toggle
|
||||
bind = ALT, tab, changegroupactive, f
|
||||
bind = ALT, grave, changegroupactive, b
|
||||
|
||||
|
@ -111,15 +111,6 @@ bind = ALT, grave, changegroupactive, b
|
|||
bind = ALT, grave, movetoworkspace, special
|
||||
bind = SUPER, grave, togglespecialworkspace,
|
||||
|
||||
# ################################################################
|
||||
# ### OVERRIDE SPLIT DIRECTION FOR NEXT WINDOW (MANUAL TILING) ###
|
||||
# ################################################################
|
||||
|
||||
bind = SUPER_ALT, left, layoutmsg, preselect l
|
||||
bind = SUPER_ALT, right, layoutmsg, preselect r
|
||||
bind = SUPER_ALT, up, layoutmsg, preselect u
|
||||
bind = SUPER_ALT, down, layoutmsg, preselect d
|
||||
|
||||
# #########################
|
||||
# ### MOVE WINDOW FOCUS ###
|
||||
# #########################
|
||||
|
@ -143,25 +134,34 @@ bind = SUPER_ALT, j, movewindow, d
|
|||
# #######################################
|
||||
|
||||
$myMoveSize = 100
|
||||
$myMove = sh .config/hypr/scripts/move-window.sh $myMoveSize
|
||||
bind = SUPER_ALT, left, exec, $myMove l
|
||||
bind = SUPER_ALT, right, exec, $myMove r
|
||||
bind = SUPER_ALT, up, exec, $myMove u
|
||||
bind = SUPER_ALT, down, exec, $myMove d
|
||||
bind = SUPER_ALT, left, exec, hyprland-move-window $myMoveSiez l
|
||||
bind = SUPER_ALT, right, exec, hyprland-move-window $myMoveSize r
|
||||
bind = SUPER_ALT, up, exec, hyprland-move-window $myMoveSize u
|
||||
bind = SUPER_ALT, down, exec, hyprland-move-window $myMoveSize d
|
||||
|
||||
|
||||
# ################################################################
|
||||
# ### OVERRIDE SPLIT DIRECTION FOR NEXT WINDOW (MANUAL TILING) ###
|
||||
# ################################################################
|
||||
|
||||
bind = SUPER_ALT, left, layoutmsg, preselect l
|
||||
bind = SUPER_ALT, right, layoutmsg, preselect r
|
||||
bind = SUPER_ALT, up, layoutmsg, preselect u
|
||||
bind = SUPER_ALT, down, layoutmsg, preselect d
|
||||
|
||||
# ######################################################
|
||||
# ### SWITCH WORKSPACE (SWAPPING TO CURRENT MONITOR) ###
|
||||
# ######################################################
|
||||
|
||||
bind = SUPER, 1, exec, swap-workspace 1
|
||||
bind = SUPER, 2, exec, swap-workspace 2
|
||||
bind = SUPER, 3, exec, swap-workspace 3
|
||||
bind = SUPER, 4, exec, swap-workspace 4
|
||||
bind = SUPER, 5, exec, swap-workspace 5
|
||||
bind = SUPER, 6, exec, swap-workspace 6
|
||||
bind = SUPER, 7, exec, swap-workspace 7
|
||||
bind = SUPER, 8, exec, swap-workspace 8
|
||||
bind = SUPER, 9, exec, swap-workspace 9
|
||||
bind = SUPER, 1, focusworkspaceoncurrentmonitor, 1
|
||||
bind = SUPER, 2, focusworkspaceoncurrentmonitor, 2
|
||||
bind = SUPER, 3, focusworkspaceoncurrentmonitor, 3
|
||||
bind = SUPER, 4, focusworkspaceoncurrentmonitor, 4
|
||||
bind = SUPER, 5, focusworkspaceoncurrentmonitor, 5
|
||||
bind = SUPER, 6, focusworkspaceoncurrentmonitor, 6
|
||||
bind = SUPER, 7, focusworkspaceoncurrentmonitor, 7
|
||||
bind = SUPER, 8, focusworkspaceoncurrentmonitor, 8
|
||||
bind = SUPER, 9, focusworkspaceoncurrentmonitor, 9
|
||||
|
||||
# ################################
|
||||
# ### MOVE WINDOW TO WORKSPACE ###
|
||||
|
@ -274,7 +274,6 @@ submap = reset
|
|||
# ### GLOBAL KEYBINDS (PASSING KEYS TO OTHER PROGRAMS) ###
|
||||
# ########################################################
|
||||
|
||||
bind = CTRL, F10, pass, ^(com\.obsproject\.Studio)$
|
||||
bind = CTRL, F10, pass, ^(com\.obsproject\.Studio)$
|
||||
|
||||
# #######################
|
||||
|
@ -282,10 +281,10 @@ bind = CTRL, F10, pass, ^(com\.obsproject\.Studio)$
|
|||
# #######################
|
||||
|
||||
# Isolating group to prevent keybind capturing (for games etc)
|
||||
# SUPER + Fn + F12 (Favorites)
|
||||
bind = SUPER, XF86Favorites, exec, hyprctl dispatch submap isolate && notify-send "Keybind isolation" "Keybind isolation on"
|
||||
# SUPER + End
|
||||
bind = SUPER, End, exec, hyprctl dispatch submap isolate && notify-send "Keybind isolation" "Keybind isolation on"
|
||||
submap = isolate
|
||||
bind = SUPER, XF86Favorites, exec, hyprctl dispatch submap reset && notify-send "Keybind isolation" "Keybind isolation off"
|
||||
bind = SUPER, End, exec, hyprctl dispatch submap reset && notify-send "Keybind isolation" "Keybind isolation off"
|
||||
submap = reset
|
||||
|
||||
# vi: ft=hyprlang
|
26
home/.config/hypr/hyprland.d/layout.conf
Normal file
26
home/.config/hypr/hyprland.d/layout.conf
Normal file
|
@ -0,0 +1,26 @@
|
|||
general {
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
dwindle {
|
||||
# Don't change the split (side/top) regardless
|
||||
# of what happens to the container
|
||||
preserve_split = true
|
||||
|
||||
# Show gaps even when there's only 1 window opened
|
||||
no_gaps_when_only = false
|
||||
|
||||
# Scale down special workspaces (bigger borders)
|
||||
special_scale_factor = 0.9
|
||||
}
|
||||
|
||||
group {
|
||||
# Add new windows in the group after the current window
|
||||
# rather than after the group tail window
|
||||
insert_after_current = true
|
||||
|
||||
# Focus the window that was just moved out of the group
|
||||
focus_removed_window = true
|
||||
}
|
||||
|
||||
# vi: ft=hyprlang
|
14
home/.config/hypr/hyprland.d/misc.conf
Normal file
14
home/.config/hypr/hyprland.d/misc.conf
Normal file
|
@ -0,0 +1,14 @@
|
|||
misc {
|
||||
# Disable redundant renders (covered by wallpaper)
|
||||
disable_hyprland_logo = true
|
||||
disable_splash_rendering = true
|
||||
|
||||
# follow requests from windows to be focused
|
||||
focus_on_activate = true
|
||||
|
||||
# Enable DPMS on these actions
|
||||
mouse_move_enables_dpms = true
|
||||
key_press_enables_dpms = true
|
||||
}
|
||||
|
||||
# vi: ft=hyprlang
|
|
@ -44,18 +44,24 @@ group {
|
|||
|
||||
group {
|
||||
groupbar {
|
||||
render_titles = true
|
||||
font_size = 8
|
||||
text_color = rgba(FFFFFFFF) # white
|
||||
# Title box above window
|
||||
render_titles = false # disable, looks kinda bad
|
||||
font_family = Monaspace Krypton
|
||||
font_size = 11
|
||||
text_color = rgba(FFFFFFFF) # white
|
||||
|
||||
gradients = true
|
||||
scrolling = false
|
||||
# Gradients should be enabled only if title rendering is also enabled
|
||||
# on their own, they look really bad
|
||||
gradients = false
|
||||
|
||||
col.active = rgba(FFA500FF) # light orange
|
||||
col.inactive = rgba(00A500AA) # transparent green
|
||||
|
||||
col.locked_active = rgba(FF8000FF) # dark orange
|
||||
col.locked_inactive = rgba(A0A500AA) # transparent yello
|
||||
col.locked_inactive = rgba(A0A500AA) # transparent yellow
|
||||
|
||||
# Scrolling in the groupbar shouldn't change the active window
|
||||
scrolling = false
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -102,6 +108,7 @@ decoration {
|
|||
|
||||
animations {
|
||||
enabled = true
|
||||
first_launch_animation = true # fade in on first launch
|
||||
|
||||
animation = windows, 1, 3, default, popin 50%
|
||||
animation = border, 1, 4, default
|
||||
|
@ -118,9 +125,4 @@ misc {
|
|||
# ### WALLPAPER ###
|
||||
# #################
|
||||
|
||||
misc {
|
||||
disable_hyprland_logo = true
|
||||
disable_splash_rendering = false
|
||||
}
|
||||
|
||||
# vi: ft=hyprlang
|
|
@ -27,22 +27,6 @@ windowrulev2 = idleinhibit focus, class:^(firefox)$,title:^(Picture-in-Picture)$
|
|||
windowrulev2 = size 800 550, class:^(qalculate-gtk)$
|
||||
windowrulev2 = tile, class:^(Spotify)$
|
||||
|
||||
# #############
|
||||
# ### FIXES ###
|
||||
# #############
|
||||
|
||||
# jetbrains
|
||||
|
||||
windowrulev2 = windowdance, class:^(jetbrains-.*)$,floating:1
|
||||
windowrulev2 = center, class:^(jetbrains-.*)$,title:^(splash)$,floating:1
|
||||
windowrulev2 = nofocus, class:^(jetbrains-.*)$,title:^(splash)$,floating:1
|
||||
windowrulev2 = noborder, class:^(jetbrains-.*)$,title:^(splash)$,floating:1
|
||||
windowrulev2 = center, class:^(jetbrains-.*)$,title:^( )$,floating:1
|
||||
windowrulev2 = stayfocused, class:^(jetbrains-.*)$,title:^( )$,floating:1
|
||||
windowrulev2 = noborder, class:^(jetbrains-.*)$,title:^( )$,floating:1
|
||||
windowrulev2 = nofocus, class:^(jetbrains-.*)$,title:^(win.*)$,floating:1
|
||||
windowrulev2 = noinitialfocus, class:^(jetbrains-.*)$,title:^(win.*)$
|
||||
|
||||
# ##################
|
||||
# ### AUTO FLOAT ###
|
||||
# ##################
|
||||
|
@ -58,10 +42,16 @@ windowrulev2 = float, class:^(com.github.wwmm.easyeffects)
|
|||
windowrulev2 = float, class:^(opensnitch_ui)$
|
||||
windowrulev2 = float, class:^(Brave-browser)$,title:^(_crx_.+)$
|
||||
|
||||
## Float hyprland-share-picker & some extra actions
|
||||
windowrulev2 = float, class:^(hyprland-share-picker)$
|
||||
windowrulev2 = center, class:^(hyprland-share-picker)$
|
||||
windowrulev2 = animation slide, class:^(hyprland-share-picker)$
|
||||
|
||||
## Float firefox windows (like bookmark menus, or some extension windows)
|
||||
windowrulev2 = float, class:^(firefox)$,title:^(Revert Bookmarks)$
|
||||
windowrulev2 = float, class:^(firefox)$,title:^(Library)$
|
||||
windowrulev2 = float, class:^(firefox)$,title:^(Extension: \(uBlock Origin\))
|
||||
windowrulev2 = float, class:^(firefox)$,title:^(Extension: \(Bitwarden Password Manager\) - Bitwarden — Mozilla Firefox)$
|
||||
windowrulev2 = float, class:^(firefox)$,title:^(Firefox — Sharing Indicator)$
|
||||
windowrulev2 = float, class:^(firefox)$,title:^(Opening .+)$
|
||||
windowrulev2 = float, class:^(firefox)$,title:^$
|
||||
|
@ -73,6 +63,11 @@ windowrulev2 = float, class:^(pcmanfm-qt)$,title:^(Move files)$
|
|||
windowrulev2 = float, class:^(pcmanfm-qt)$,title:^(Search Files)$
|
||||
windowrulev2 = float, class:^(pcmanfm-qt)$,title:^(Copy Files)$
|
||||
windowrulev2 = float, class:^(pcmanfm-qt)$,title:^(Confirm to replace files)$
|
||||
windowrulev2 = float, class:^(pcmanfm-qt|)$,title:^(Choose an Application)$
|
||||
|
||||
## Float some qimgv windows
|
||||
windowrulev2 = float, class:^(qimgv)$,title:^(Add shortcut)$
|
||||
windowrulev2 = float, class:^(qimgv)$,title:^(Preferences — qimgv)$
|
||||
|
||||
## Float some windows from other apps
|
||||
windowrulev2 = float, class:^(Spotify)$,title:^(Ozone X11)$
|
||||
|
@ -88,5 +83,27 @@ windowrulev2 = float, class:^(notification)$
|
|||
windowrulev2 = float, class:^(error)$
|
||||
windowrulev2 = float, class:^(splash)$
|
||||
windowrulev2 = float, class:^(confirmreset)$
|
||||
windowrulev2 = float, class:^(floating)$
|
||||
|
||||
## Float all windows that don't have a title nor a class
|
||||
windowrulev2 = float, class:^$,title:^$
|
||||
|
||||
# #############
|
||||
# ### FIXES ###
|
||||
# #############
|
||||
|
||||
# jetbrains
|
||||
|
||||
windowrulev2 = center, class:^(jetbrains-.*)$,title:^(splash)$,floating:1
|
||||
windowrulev2 = nofocus, class:^(jetbrains-.*)$,title:^(splash)$,floating:1
|
||||
windowrulev2 = noborder, class:^(jetbrains-.*)$,title:^(splash)$,floating:1
|
||||
windowrulev2 = center, class:^(jetbrains-.*)$,title:^( )$,floating:1
|
||||
windowrulev2 = stayfocused, class:^(jetbrains-.*)$,title:^( )$,floating:1
|
||||
windowrulev2 = noborder, class:^(jetbrains-.*)$,title:^( )$,floating:1
|
||||
windowrulev2 = nofocus, class:^(jetbrains-.*)$,title:^(win.*)$,floating:1
|
||||
windowrulev2 = noinitialfocus, class:^(jetbrains-.*)$,title:^(win.*)$
|
||||
|
||||
# Don't add borders to grim selections when taking screenshots
|
||||
layerrule = noanim, ^(selection)$
|
||||
|
||||
# vi: ft=hyprlang
|
|
@ -9,11 +9,11 @@ general {
|
|||
}
|
||||
|
||||
background {
|
||||
path = ~/Pictures/Wallpapers/Categories/Extra/origami.png
|
||||
path = ~/Media/Pictures/Wallpapers/Categories/Extra/origami.png
|
||||
blur_passes = 3
|
||||
blur_size = 6
|
||||
contrast = 0.7
|
||||
brightness = 0.7
|
||||
#contrast = 0.7
|
||||
#brightness = 0.7
|
||||
noise = 0.01
|
||||
contrast = 0.9
|
||||
brightness = 0.6
|
||||
|
@ -53,7 +53,7 @@ label {
|
|||
font_size = 35
|
||||
font_family = Noto Sans
|
||||
|
||||
position = 0, 0
|
||||
position = 0, 30
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ label {
|
|||
font_size = 20
|
||||
font_family = Noto Sans
|
||||
|
||||
position = 0, -50
|
||||
position = 0, -20
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
@ -102,7 +102,7 @@ label {
|
|||
valign = center
|
||||
}
|
||||
|
||||
# Failed attempts count
|
||||
# Fail reason
|
||||
label {
|
||||
text = <i>$FAIL</i>
|
||||
color = rgba(255, 34, 34, 1.0) # red
|
||||
|
@ -123,7 +123,7 @@ label {
|
|||
text = Session Locked
|
||||
color = rgba(255, 255, 255, 1.0)
|
||||
font_size = 40
|
||||
font_family = GohuFont uni11 Nerd Font
|
||||
font_family = Monaspace Krypton
|
||||
|
||||
shadow_passes = 1
|
||||
shadow_size = 5
|
||||
|
|
5
home/.config/hypr/hyprpaper.conf
Normal file
5
home/.config/hypr/hyprpaper.conf
Normal file
|
@ -0,0 +1,5 @@
|
|||
$bg = $HOME/Media/Pictures/Wallpapers/active
|
||||
|
||||
preload=$bg
|
||||
wallpaper=,$bg # same wallpaper on all monitors
|
||||
ipc=off
|
|
@ -1,29 +1,88 @@
|
|||
# Fonts
|
||||
font_family JetBrains Mono
|
||||
# Fonts & Text style
|
||||
font_family Monaspace Krypton
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
font_size 11
|
||||
disable_ligatures never
|
||||
|
||||
#font_size 13
|
||||
|
||||
disable_ligatures always
|
||||
|
||||
# Colors / Style
|
||||
# Dark Theme
|
||||
foreground #d8dee9
|
||||
background #191919
|
||||
cursor #D0D0D0
|
||||
# Light Theme (for screenshots in papers)
|
||||
#foreground = "#191919";
|
||||
#background = "#FFFFFF";
|
||||
|
||||
# URLs
|
||||
url_color #0087bd
|
||||
url_style curly
|
||||
|
||||
background_opacity 0.85
|
||||
# Cursor
|
||||
cursor #D0D0D0
|
||||
cursor_shape underline
|
||||
cursor_blink_interval 0.5
|
||||
cursor_stop_blinking_after 15.0
|
||||
|
||||
# Background
|
||||
background_opacity 0.9
|
||||
dynamic_background_opacity yes
|
||||
background_blur 2
|
||||
|
||||
# Misc
|
||||
scrollback_lines 10000
|
||||
# Window size
|
||||
remember_window_size no
|
||||
initial_window_width 640
|
||||
initial_window_height 400
|
||||
|
||||
# Bell
|
||||
## flash the screen for this duration when bell occurs
|
||||
visual_bell_duration 0.0
|
||||
## disable audio bells
|
||||
enable_audio_bell no
|
||||
|
||||
|
||||
# Misc
|
||||
## don't check for updates, we have a package manager...
|
||||
update_check_interval 0
|
||||
## don't ask for confirmation if window gets closed
|
||||
confirm_os_window_close 0
|
||||
## Capture up to 10k lines for scrolling
|
||||
scrollback_lines 10000
|
||||
## chars considered part of word when double clicking
|
||||
select_by_word_characters :@-./_~?&=%+#
|
||||
|
||||
# Keybindings
|
||||
map ctrl+alt+c copy_to_clipboard
|
||||
map ctrl+alt+v paste_from_clipboard
|
||||
map ctrl+c copy_or_interrupt
|
||||
map ctrl+shift+, move_tab_backward
|
||||
map ctrl+shift+. move_tab_forward
|
||||
map ctrl+shift+0 tenth_window
|
||||
map ctrl+shift+1 first_window
|
||||
map ctrl+shift+2 second_window
|
||||
map ctrl+shift+3 third_window
|
||||
map ctrl+shift+4 fourth_window
|
||||
map ctrl+shift+5 fifth_window
|
||||
map ctrl+shift+6 sixth_window
|
||||
map ctrl+shift+7 seventh_window
|
||||
map ctrl+shift+8 eighth_window
|
||||
map ctrl+shift+9 ninth_window
|
||||
map ctrl+shift+[ previous_window
|
||||
map ctrl+shift+] next_window
|
||||
map ctrl+shift+` move_window_to_top
|
||||
map ctrl+shift+alt+t set_tab_title
|
||||
map ctrl+shift+b move_window_backward
|
||||
map ctrl+shift+backspace restore_font_size
|
||||
map ctrl+shift+down decrease_font_size
|
||||
map ctrl+shift+enter new_window
|
||||
map ctrl+shift+f move_window_forward
|
||||
map ctrl+shift+l next_layout
|
||||
map ctrl+shift+left previous_tab
|
||||
map ctrl+shift+n new_os_window
|
||||
map ctrl+shift+q close_tab
|
||||
map ctrl+shift+right next_tab
|
||||
map ctrl+shift+t new_tab
|
||||
map ctrl+shift+up increase_font_size
|
||||
map ctrl+shift+v paste_from_clipboard
|
||||
map ctrl+shift+w close_window
|
||||
|
||||
# vi: ft=conf
|
||||
|
|
|
@ -1,20 +1,185 @@
|
|||
[Default Applications]
|
||||
inode/directory=pcmanfm-qt.desktop
|
||||
image/jpeg=org.nomacs.ImageLounge.desktop
|
||||
image/png=org.nomacs.ImageLounge.desktop
|
||||
image/gif=org.nomacs.ImageLounge.desktop
|
||||
application/pdf=firefox.desktop
|
||||
# Browser
|
||||
text/html=firefox.desktop
|
||||
x-scheme-handler/http=firefox.desktop
|
||||
x-scheme-handler/https=firefox.desktop
|
||||
x-scheme-handler/about=firefox.desktop
|
||||
x-scheme-handler-unknown=firefox.desktop
|
||||
application/json=nvim.desktop
|
||||
application/x-extension-htm=firefox.desktop
|
||||
application/x-extension-html=firefox.desktop
|
||||
application/x-extension-shtml=firefox.desktop
|
||||
application/x-extension-xhtml=firefox.desktop
|
||||
application/x-extension-xht=firefox.desktop
|
||||
application/xhtml+xml=firefox.desktop
|
||||
application/xhtml_xml=firefox.desktop
|
||||
|
||||
# Image viewer
|
||||
# (wildcard associations don't work everywhere)
|
||||
# or org.nomacs.ImageLounge.desktop?
|
||||
image/*=qimgv.desktop
|
||||
image/bmp=qimgv.desktop
|
||||
image/gif=qimgv.desktop
|
||||
image/jpeg=qimgv.desktop
|
||||
image/jpg=qimgv.desktop
|
||||
image/png=qimgv.desktop
|
||||
image/webp=qimgv.desktop
|
||||
image/tiff=qimgv.desktop
|
||||
image/x-bmp=qimgv.desktop
|
||||
image/x-pcx=qimgv.desktop
|
||||
image/x-tga=qimgv.desktop
|
||||
image/x-portable-pixmap=qimgv.desktop
|
||||
image/x-portable-bitmap=qimgv.desktop
|
||||
image/x-portable-greymap=qimgv.desktop
|
||||
image/x-targa=qimgv.desktop
|
||||
image/svg+xml=qimgv.desktop
|
||||
image/svg_xml=qimgv.desktop
|
||||
|
||||
# Media player
|
||||
|
||||
# Media Player (video + audio)
|
||||
# (wildcard associations don't work everywhere)
|
||||
video/*=mpv.desktop
|
||||
video/mpeg=mpv.desktop
|
||||
video/x-mpeg2=mpv.desktop
|
||||
video/x-mpeg3=mpv.desktop
|
||||
video/mp4v-es=mpv.desktop
|
||||
video/x-m4v=mpv.desktop
|
||||
video/mp4=mpv.desktop
|
||||
video/divx=mpv.desktop
|
||||
video/vnd.divx=mpv.desktop
|
||||
video/msvideo=mpv.desktop
|
||||
video/x-msvideo=mpv.desktop
|
||||
video/ogg=mpv.desktop
|
||||
video/quicktime=mpv.desktop
|
||||
video/vnd.rn-realvideo=mpv.desktop
|
||||
video/x-avi=mpv.desktop
|
||||
video/avi=mpv.desktop
|
||||
video/x-flic=mpv.desktop
|
||||
video/fli=mpv.desktop
|
||||
video/x-flc=mpv.desktop
|
||||
video/flv=mpv.desktop
|
||||
video/x-flv=mpv.desktop
|
||||
video/x-theora=mpv.desktop
|
||||
video/x-theora+ogg=mpv.desktop
|
||||
video/x-matroska=mpv.desktop
|
||||
video/mkv=mpv.desktop
|
||||
video/webm=mpv.desktop
|
||||
video/x-ogm=mpv.desktop
|
||||
video/x-ogm+ogg=mpv.desktop
|
||||
video/dv=mpv.desktop
|
||||
video/mp2t=mpv.desktop
|
||||
video/vnd.mpegurl=mpv.desktop
|
||||
video/3gp=mpv.desktop
|
||||
video/3gpp=mpv.desktop
|
||||
video/3gpp2=mpv.desktop
|
||||
|
||||
audio/*=mpv.desktop
|
||||
audio/x-matroska=mpv.desktop
|
||||
audio/webm=mpv.desktop
|
||||
audio/vorbis=mpv.desktop
|
||||
audio/x-vorbis=mpv.desktop
|
||||
audio/x-vorbis+ogg=mpv.desktop
|
||||
audio/x-shorten=mpv.desktop
|
||||
audio/x-ape=mpv.desktop
|
||||
audio/x-wavpack=mpv.desktop
|
||||
audio/x-tta=mpv.desktop
|
||||
audio/AMR=mpv.desktop
|
||||
audio/ac3=mpv.desktop
|
||||
audio/eac3=mpv.desktop
|
||||
audio/amr-wb=mpv.desktop
|
||||
audio/flac=mpv.desktop
|
||||
audio/mp4=mpv.desktop
|
||||
audio/x-pn-au=mpv.desktop
|
||||
audio/3gpp=mpv.desktop
|
||||
audio/3gpp2=mpv.desktop
|
||||
audio/dv=mpv.desktop
|
||||
audio/opus=mpv.desktop
|
||||
audio/x-ms-asf=mpv.desktop
|
||||
audio/vnd.dts=mpv.desktop
|
||||
audio/vnd.dts.hd=mpv.desktop
|
||||
audio/x-adpcm=mpv.desktop
|
||||
audio/m3u=mpv.desktop
|
||||
audio/aac=mpv.desktop
|
||||
audio/x-aac=mpv.desktop
|
||||
audio/vnd.dolby.heaac.1=mpv.desktop
|
||||
audio/vnd.dolby.heaac.2=mpv.desktop
|
||||
audio/aiff=mpv.desktop
|
||||
audio/x-aiff=mpv.desktop
|
||||
audio/m4a=mpv.desktop
|
||||
audio/x-m4a=mpv.desktop
|
||||
audio/mp1=mpv.desktop
|
||||
audio/x-mp1=mpv.desktop
|
||||
audio/mp2=mpv.desktop
|
||||
audio/x-mp2=mpv.desktop
|
||||
audio/mp3=mpv.desktop
|
||||
audio/x-mp3=mpv.desktop
|
||||
audio/mpeg=mpv.desktop
|
||||
audio/mpeg2=mpv.desktop
|
||||
audio/mpeg3=mpv.desktop
|
||||
audio/mpegurl=mpv.desktop
|
||||
audio/x-mpegurl=mpv.desktop
|
||||
audio/mpg=mpv.desktop
|
||||
audio/x-mpg=mpv.desktop
|
||||
audio/rn-mpeg=mpv.desktop
|
||||
audio/musepack=mpv.desktop
|
||||
audio/x-musepack=mpv.desktop
|
||||
audio/ogg=mpv.desktop
|
||||
audio/scpls=mpv.desktop
|
||||
audio/x-scpls=mpv.desktop
|
||||
audio/vnd.rn-realaudio=mpv.desktop
|
||||
audio/wav=mpv.desktop
|
||||
audio/x-pn-wav=mpv.desktop
|
||||
audio/x-pn-windows-pcm=mpv.desktop
|
||||
audio/x-realaudio=mpv.desktop
|
||||
audio/x-pn-realaudio=mpv.desktop
|
||||
audio/x-ms-wma=mpv.desktop
|
||||
audio/x-pls=mpv.desktop
|
||||
audio/x-wav=mpv.desktop
|
||||
|
||||
application/x-cue=mpv.desktop
|
||||
application/vnd.ms-asf=mpv.desktop
|
||||
application/x-matroska=mpv.desktop
|
||||
application/x-ogm=mpv.desktop
|
||||
application/x-ogm-audio=mpv.desktop
|
||||
application/x-ogm-video=mpv.desktop
|
||||
application/x-shorten=mpv.desktop
|
||||
application/x-mpegurl=mpv.desktop
|
||||
application/vnd.apple.mpegurl=mpv.desktop
|
||||
application/ogg=mpv.desktop
|
||||
application/x-ogg=mpv.desktop
|
||||
application/mxf=mpv.desktop
|
||||
application/sdp=mpv.desktop
|
||||
application/smil=mpv.desktop
|
||||
application/x-smil=mpv.desktop
|
||||
application/streamingmedia=mpv.desktop
|
||||
application/x-streamingmedia=mpv.desktop
|
||||
application/vnd.rn-realmedia=mpv.desktop
|
||||
application/vnd.rn-realmedia-vbr=mpv.desktop
|
||||
application/x-extension-m4a=mpv.desktop
|
||||
|
||||
# Document Viewer
|
||||
application/pdf=firefox.desktop
|
||||
application/epub=firefox.desktop
|
||||
application/djvu=firefox.desktop
|
||||
application/mobi=firefox.desktop
|
||||
|
||||
# File & archive manager(s)
|
||||
inode/directory=pcmanfm-qt.desktop
|
||||
application/zip=org.gnome.FileRoller.desktop
|
||||
application/x-xz-compressed-tar=org.gnome.FileRoller.desktop
|
||||
|
||||
# Plain-text
|
||||
text/plain=nvim.desktop
|
||||
application/json=nvim.desktop
|
||||
application/x-desktop=nvim.desktop;
|
||||
|
||||
# Application specific schemes
|
||||
x-scheme-handler/spotify=spotify.desktop
|
||||
x-scheme-handler/tg=telegramdesktop.desktop
|
||||
x-scheme-handler/discord=vesktop.desktop
|
||||
x-scheme-handler/msteams=teams.desktop
|
||||
|
||||
# Misc
|
||||
x-scheme-handler/mailto=firefox.desktop
|
||||
|
||||
[Added Associations]
|
||||
application/x-desktop=nvim.desktop;
|
||||
image/png=org.nomacs.ImageLounge.desktop;
|
||||
text/plain=nvim.desktop;
|
||||
image/svg+xml=org.nomacs.ImageLounge.desktop;
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
[General]
|
||||
DkEditDock=2
|
||||
DkExplorer=1
|
||||
DkMetaDataDock=2
|
||||
firstTime=false
|
||||
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x3\xc7\0\0\x2\x38\0\0\au\0\0\x4\x32\0\0\x3\xc7\0\0\x2\x38\0\0\au\0\0\x4-\0\0\0\0\x2\0\0\0\a\x80\0\0\x3\xc7\0\0\x2\x38\0\0\au\0\0\x4\x32)
|
||||
geometryNomacs=@Rect(967 568 943 507)
|
||||
windowState=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x3\0\0\0\0\0\0\x1\0\0\0\x4\x4\xfc\x2\0\0\0\x1\xfb\0\0\0\x14\0\x44\0k\0\x45\0x\0p\0l\0o\0r\0\x65\0r\0\0\0\0\x34\0\0\x4\x4\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\xdd\0\0\x3\xc4\xfc\x2\0\0\0\x1\xfb\0\0\0\x14\0\x44\0k\0\x45\0\x64\0i\0t\0\x44\0o\0\x63\0k\0\0\0\0\x1e\0\0\x3\xc4\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\a\x80\0\0\0>\xfc\x1\0\0\0\x1\xfb\0\0\0\x10\0\x63\0r\0o\0p\0\x44\0o\0\x63\0k\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x3\xaf\0\0\x1\xe4\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\x2\0\0\0\x1\0\0\0\x16\0\x45\0\x64\0i\0t\0T\0o\0o\0l\0\x42\0\x61\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)
|
||||
|
||||
[AppSettings]
|
||||
appMode=0
|
||||
|
@ -12,29 +10,27 @@ currentAppMode=0
|
|||
defaultJpgQuality=97
|
||||
firstTime.nomacs.3=false
|
||||
hideAllPanels=true
|
||||
showPlayer=@Variant(\0\0\0\r\0\0\0\x6\0)
|
||||
showMenuBar=false
|
||||
showRecentFiles=false
|
||||
useLogFile=true
|
||||
|
||||
[CustomPluginShortcuts]
|
||||
Composite%20Image=Composite Image
|
||||
Crop%20to%20Metadata=Crop to Metadata
|
||||
Crop%20to%20Page=Crop to Page
|
||||
Draw%20to%20Page=Draw to Page
|
||||
Fake%20Miniatures=Fake Miniatures
|
||||
Image%20Transform=Image Transform
|
||||
Paint%20on%20Image=Paint on Image
|
||||
[Crop]
|
||||
AspectRatioHorizontal=0
|
||||
AspectRatioVertical=0
|
||||
cropToMetadata=false
|
||||
guides=1
|
||||
info=true
|
||||
inverted=false
|
||||
|
||||
[DisplaySettings]
|
||||
bgColorNoMacsRGBA=4281545523
|
||||
bgColorWidgetRGBA=2852126720
|
||||
fadeSec=@Variant(\0\0\0\x87\0\0\0\0)
|
||||
fadeSec=0
|
||||
fontColorRGBA=4292730333
|
||||
highlightColorRGBA=4278233855
|
||||
iconColorRGBA=4292730333
|
||||
iconSize=18
|
||||
showCrop=true
|
||||
themeName312=Dark-Theme.css
|
||||
transition=0
|
||||
zoomToFit=true
|
||||
|
||||
[DkAppManager]
|
||||
Apps\size=0
|
||||
|
@ -51,14 +47,14 @@ overwriteDialog-answer=16384
|
|||
saveEditDialog=false
|
||||
saveEditDialog-answer=16384
|
||||
saveTabsDialog=false
|
||||
saveTabsDialog-answer=65536
|
||||
saveTabsDialog-answer=16384
|
||||
|
||||
[DkExplorer]
|
||||
Date%20ModifiedHidden=true
|
||||
Date%20ModifiedSize=0
|
||||
LoadSelected=false
|
||||
NameHidden=false
|
||||
NameSize=254
|
||||
NameSize=243
|
||||
ReadOnly=true
|
||||
RootPath=/home/itsdrike
|
||||
SizeHidden=true
|
||||
|
@ -69,20 +65,23 @@ TypeSize=0
|
|||
[DkFilePreview]
|
||||
windowPosition=1
|
||||
|
||||
[DkMetaDataDock]
|
||||
KeySize=100
|
||||
ValueSize=113
|
||||
expandedNames=@Invalid()
|
||||
|
||||
[DkMetaDataHUD]
|
||||
keyValues=File.Filename, File.Path, File.Size, Exif.Image.Make, Exif.Image.Model, Exif.Image.DateTime, Exif.Image.ImageDescription, Exif.Photo.ISO, Exif.Photo.FocalLength, Exif.Photo.ExposureTime, Exif.Photo.Flash, Exif.Photo.FNumber
|
||||
numColumns=-1
|
||||
windowPosition=3
|
||||
|
||||
[GlobalSettings]
|
||||
logRecentFiles=false
|
||||
|
||||
[MetaDataSettings]
|
||||
ignoreExifOrientation=false
|
||||
saveExifOrientation=false
|
||||
|
||||
[Page%20Extraction%20Plugin]
|
||||
Method=0
|
||||
|
||||
[SlideShowSettings]
|
||||
time=@Variant(\0\0\0\x87@\xa0\0\0)
|
||||
|
||||
[SynchronizeSettings]
|
||||
checkForUpdates=true
|
||||
disableUpdateInteraction=false
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
prefix=${XDG_DATA_HOME}/npm
|
||||
cache=${XDG_CACHE_HOME}/npm
|
||||
tmp=${XDG_RUNTIME_DIR}/npm
|
||||
init-module=${XDG_CONFIG_HOME}/npm/config/npm-init.js
|
||||
|
|
|
@ -1,25 +1,30 @@
|
|||
import atexit
|
||||
import os
|
||||
import readline
|
||||
from functools import partial
|
||||
from pathlib import Path
|
||||
from types import ModuleType
|
||||
def is_vanilla() -> bool:
|
||||
import sys
|
||||
|
||||
cache_xdg_dir = Path(os.environ.get("XDG_CACHE_HOME", str(Path("~/.cache"))))
|
||||
cache_xdg_dir.mkdir(exist_ok=True, parents=True)
|
||||
|
||||
history_file = cache_xdg_dir.joinpath("python_history")
|
||||
|
||||
readline.read_history_file(history_file)
|
||||
return not hasattr(__builtins__, "__IPYTHON__") and "bpython" not in sys.argv[0]
|
||||
|
||||
|
||||
def write_history(readline: ModuleType, history_file: Path) -> None:
|
||||
"""
|
||||
We need to get ``readline`` and ``history_file`` as arguments, as it
|
||||
seems they get garbage collected when the function is registered and
|
||||
the program ends, even though we refer to them here.
|
||||
"""
|
||||
readline.write_history_file(history_file)
|
||||
def setup_history():
|
||||
import os
|
||||
import atexit
|
||||
import readline
|
||||
from pathlib import Path
|
||||
|
||||
if state_home := os.environ.get("XDG_STATE_HOME"):
|
||||
state_home = Path(state_home)
|
||||
else:
|
||||
state_home = Path.home() / ".local" / "state"
|
||||
|
||||
history: Path = state_home / "python_history"
|
||||
|
||||
# https://github.com/python/cpython/issues/105694
|
||||
if not history.is_file():
|
||||
# breaks on macos + python3 without this.
|
||||
readline.write_history_file(str(history))
|
||||
|
||||
readline.read_history_file(str(history))
|
||||
atexit.register(readline.write_history_file, str(history))
|
||||
|
||||
|
||||
atexit.register(partial(write_history, readline, history_file))
|
||||
if is_vanilla():
|
||||
setup_history()
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
import atexit
|
||||
import os
|
||||
import readline
|
||||
from functools import partial
|
||||
from pathlib import Path
|
||||
from types import ModuleType
|
||||
|
||||
cache_xdg_dir = Path(
|
||||
os.environ.get("XDG_CACHE_HOME", str(Path("~/.cache").expanduser()))
|
||||
)
|
||||
cache_xdg_dir.mkdir(exist_ok=True, parents=True)
|
||||
|
||||
history_file = cache_xdg_dir.joinpath("python_history")
|
||||
history_file.touch()
|
||||
|
||||
readline.read_history_file(history_file)
|
||||
|
||||
|
||||
def write_history(readline: ModuleType, history_file: Path) -> None:
|
||||
"""
|
||||
We need to get ``readline`` and ``history_file`` as arguments, as it
|
||||
seems they get garbage collected when the function is registered and
|
||||
the program ends, even though we refer to them here.
|
||||
"""
|
||||
readline.write_history_file(history_file)
|
||||
|
||||
|
||||
atexit.register(partial(write_history, readline, history_file))
|
844
home/.config/qalculate/qalculate-gtk.cfg
Normal file
844
home/.config/qalculate/qalculate-gtk.cfg
Normal file
|
@ -0,0 +1,844 @@
|
|||
|
||||
[General]
|
||||
version=5.0.1
|
||||
allow_multiple_instances=-1
|
||||
width=800
|
||||
always_on_top=0
|
||||
enable_tooltips=1
|
||||
keep_function_dialog_open=0
|
||||
error_info_shown=1
|
||||
save_mode_on_exit=1
|
||||
save_definitions_on_exit=1
|
||||
clear_history_on_exit=0
|
||||
save_history_separately=0
|
||||
history_expression_type=2
|
||||
ignore_locale=0
|
||||
load_global_definitions=1
|
||||
auto_update_exchange_rates=-1
|
||||
local_currency_conversion=1
|
||||
use_binary_prefixes=0
|
||||
check_version=0
|
||||
show_keypad=1
|
||||
show_history=0
|
||||
history_height=318
|
||||
minimal_width=500
|
||||
show_stack=1
|
||||
show_convert=0
|
||||
persistent_keypad=0
|
||||
minimal_mode=0
|
||||
show_bases_keypad=1
|
||||
continuous_conversion=1
|
||||
set_missing_prefixes=0
|
||||
rpn_keys=1
|
||||
display_expression_status=1
|
||||
parsed_expression_in_resultview=0
|
||||
enable_completion=1
|
||||
enable_completion2=1
|
||||
completion_min=1
|
||||
completion_min2=1
|
||||
completion_delay=0
|
||||
calculate_as_you_type_history_delay=2000
|
||||
use_unicode_signs=1
|
||||
lower_case_numbers=0
|
||||
duodecimal_symbols=0
|
||||
exp_display=3
|
||||
imaginary_j=0
|
||||
base_display=1
|
||||
twos_complement=1
|
||||
hexadecimal_twos_complement=0
|
||||
twos_complement_input=0
|
||||
hexadecimal_twos_complement_input=0
|
||||
programming_outbase=10
|
||||
programming_inbase=10
|
||||
spell_out_logical_operators=1
|
||||
caret_as_xor=0
|
||||
close_with_esc=-1
|
||||
digit_grouping=1
|
||||
copy_ascii=0
|
||||
copy_ascii_without_units=0
|
||||
decimal_comma=-1
|
||||
dot_as_separator=-1
|
||||
comma_as_separator=0
|
||||
gtk_theme=1
|
||||
vertical_button_padding=-1
|
||||
horizontal_button_padding=-1
|
||||
use_custom_result_font=0
|
||||
use_custom_expression_font=0
|
||||
use_custom_status_font=0
|
||||
use_custom_keypad_font=0
|
||||
use_custom_history_font=0
|
||||
use_custom_application_font=0
|
||||
multiplication_sign=2
|
||||
division_sign=1
|
||||
automatic_number_fraction_format=1
|
||||
expression_history=95czk
|
||||
expression_history=135czk
|
||||
expression_history=127czk
|
||||
expression_history=127
|
||||
expression_history=comb(30,2)×comb(25,2)×comb(20,1)
|
||||
expression_history=8!/(5!×3!)×8
|
||||
expression_history=comb(8, 3)×8
|
||||
expression_history=comb(8, 3)
|
||||
expression_history=4!×2
|
||||
expression_history=9×9×8×7×6×5
|
||||
expression_history=6!
|
||||
expression_history=2520/7!
|
||||
expression_history=7!
|
||||
expression_history=comb(45, 2)
|
||||
expression_history=(comb(64, 3))−comb(8,3)×8
|
||||
expression_history=(comb(64, 3))−comb(8,3)
|
||||
expression_history=(comb(64, 3))
|
||||
expression_history=(comb(56, 2)×comb(8, 1))×(comb(56, 1)×comb(8, 2))
|
||||
expression_history=(comb(56, 2)×comb(8, 1))+(comb(56, 1)×comb(8, 2))
|
||||
expression_history=comb(32, 2)×comb(32, 1)×2
|
||||
expression_history=4!×3!×2!×3!
|
||||
expression_history=8!
|
||||
expression_history=5×4
|
||||
expression_history=5×4×3
|
||||
expression_history=3!×3×2×2
|
||||
expression_history=5!×2
|
||||
expression_history=4!
|
||||
expression_history=4!×2×2
|
||||
expression_history=(5!)×2
|
||||
expression_history=5!
|
||||
expression_history=6×5×4×3×2×1
|
||||
expression_history=6×5×4×6×2×1
|
||||
expression_history=10!/(8!)
|
||||
expression_history=comb(8, 2)×comb(10, 4)+comb(8, 1)×comb(10, 5)+comb(10, 6)
|
||||
expression_history=comb(10,2)×comb(8,4)
|
||||
expression_history=comb(10,2)+comb(8,4)
|
||||
expression_history=comb(10,2)+comb(16,4)
|
||||
expression_history=10×9×16×15×14×13
|
||||
expression_history=4×4×3×2
|
||||
expression_history=3×4×3×2
|
||||
expression_history=3×4×3
|
||||
expression_history=2×4×3×2
|
||||
expression_history=2×4×3×2×1
|
||||
expression_history=comb(8, 2)
|
||||
expression_history=8C2
|
||||
expression_history=8×7
|
||||
expression_history=10!/(5!×5!)
|
||||
expression_history=10!/5!
|
||||
expression_history=7!/((7−5)!×5!)
|
||||
expression_history=8!/((8−5)!×5!)
|
||||
expression_history=8!/((8−5)!)
|
||||
expression_history=8!/(8−5)!
|
||||
expression_history=8×7×6
|
||||
expression_history=4!×3!
|
||||
expression_history=1726697223328−60×15×1000
|
||||
expression_history=1726697223448−60×2
|
||||
expression_history=500/280
|
||||
expression_history=498/280
|
||||
expression_history=480×2
|
||||
expression_history=1280−480
|
||||
expression_history=((86400000/1000)/60)/60
|
||||
expression_history=(86400000/1000)/60
|
||||
expression_history=86400000/1000
|
||||
expression_history=34.8usd
|
||||
expression_history=50−15
|
||||
expression_history=22usd
|
||||
expression_history=180/20
|
||||
expression_history=log2(652618)
|
||||
expression_history=652618
|
||||
expression_history=bin(652618)
|
||||
expression_history=14500/4
|
||||
expression_history=80/8
|
||||
expression_history=324×25
|
||||
expression_history=300×25
|
||||
expression_history=638/7
|
||||
expression_history=2××7
|
||||
expression_history=(15000×300)/3.6
|
||||
expression_history=15000×300
|
||||
expression_history=250czk
|
||||
expression_history=5000czk
|
||||
expression_history=5czk
|
||||
expression_history=5k
|
||||
expression_history=1504.32/60
|
||||
expression_history=1504.32czk/60eur
|
||||
expression_history=30eur/1504.32czk
|
||||
expression_history=183.75czk
|
||||
expression_history=735/4
|
||||
expression_history=(3688czk)−3625czk
|
||||
expression_history=(3688czk)−3625
|
||||
expression_history=3688czk
|
||||
expression_history=14500czk/4
|
||||
expression_history=14500czk
|
||||
expression_history=184czk
|
||||
expression_history=735czk/4
|
||||
expression_history=735czk
|
||||
expression_history=35000czk
|
||||
expression_history=20000czk
|
||||
expression_history=29×3
|
||||
expression_history=(60×20)/60
|
||||
expression_history=60×20
|
||||
history_time=1727342283
|
||||
history_expression=95czk
|
||||
history_parse=95 CZK to EUR
|
||||
history_result_approximate=€3.781 395 534
|
||||
history_time=1727342267
|
||||
history_expression=135czk
|
||||
history_parse=135 CZK to EUR
|
||||
history_result_approximate=€5.373 562 075
|
||||
history_time=1727342265
|
||||
history_expression=127czk
|
||||
history_parse=127 CZK to EUR
|
||||
history_result_approximate=€5.055 128 766
|
||||
history_time=1727342263
|
||||
history_expression=127
|
||||
history_parse=127
|
||||
history_result=127
|
||||
history_time=1727342256
|
||||
history_expression=135czk
|
||||
history_parse=135 CZK
|
||||
history_result_approximate=$6.015 165 386
|
||||
history_time=1727342258
|
||||
history_result_approximate=CVE 592.542 690 0
|
||||
history_result_approximate=537.356 207 5 eurocents
|
||||
history_time=1727342259
|
||||
history_result_approximate=€5.373 562 075
|
||||
history_time=1727292570
|
||||
history_expression=comb(30,2)×comb(25,2)×comb(20,1)
|
||||
history_parse=comb(30, 2) × comb(25, 2) × comb(20, 1)
|
||||
history_result=2 610 000
|
||||
history_time=1727292525
|
||||
history_expression=8!/(5!×3!)×8
|
||||
history_parse=(factorial(8) ∕ (factorial(5) × factorial(3))) × 8
|
||||
history_result=448
|
||||
history_time=1727292493
|
||||
history_expression=comb(8, 3)×8
|
||||
history_parse=comb(8, 3) × 8
|
||||
history_result=448
|
||||
history_time=1727292489
|
||||
history_expression=comb(8, 3)
|
||||
history_parse=comb(8, 3)
|
||||
history_result=56
|
||||
history_time=1727292470
|
||||
history_expression=4!×2
|
||||
history_parse=factorial(4) × 2
|
||||
history_result=48
|
||||
history_time=1727292259
|
||||
history_expression=9×9×8×7×6×5
|
||||
history_parse=9 × 9 × 8 × 7 × 6 × 5
|
||||
history_result=136 080
|
||||
history_time=1727292219
|
||||
history_expression=6!
|
||||
history_parse=factorial(6)
|
||||
history_result=720
|
||||
history_time=1727281361
|
||||
history_expression=2520/7!
|
||||
history_parse=2520 ∕ factorial(7)
|
||||
history_result=0.5
|
||||
history_time=1727281337
|
||||
history_expression=7!
|
||||
history_parse=factorial(7)
|
||||
history_result=5040
|
||||
history_time=1727280771
|
||||
history_expression=comb(45, 2)
|
||||
history_parse=comb(45, 2)
|
||||
history_result=990
|
||||
history_time=1727280717
|
||||
history_expression=(comb(64, 3))−comb(8,3)×8
|
||||
history_parse=comb(64, 3) − (comb(8, 3) × 8)
|
||||
history_result=41 216
|
||||
history_time=1727280688
|
||||
history_expression=(comb(64, 3))−comb(8,3)
|
||||
history_parse=comb(64, 3) − comb(8, 3)
|
||||
history_result=41 608
|
||||
history_time=1727280639
|
||||
history_expression=(comb(64, 3))
|
||||
history_parse=comb(64, 3)
|
||||
history_result=41 664
|
||||
history_time=1727280572
|
||||
history_expression=(comb(56, 2)×comb(8, 1))×(comb(56, 1)×comb(8, 2))
|
||||
history_parse=(comb(56, 2) × comb(8, 1)) × (comb(56, 1) × comb(8, 2))
|
||||
history_result=19 317 760
|
||||
history_time=1727280500
|
||||
history_expression=(comb(56, 2)×comb(8, 1))+(comb(56, 1)×comb(8, 2))
|
||||
history_parse=(comb(56, 2) × comb(8, 1)) + (comb(56, 1) × comb(8, 2))
|
||||
history_result=13 888
|
||||
history_time=1727280492
|
||||
history_expression=(comb(56, 2)×comb(8, 1))×(comb(56, 1)×comb(8, 2))
|
||||
history_parse=(comb(56, 2) × comb(8, 1)) × (comb(56, 1) × comb(8, 2))
|
||||
history_result=19 317 760
|
||||
history_time=1727280408
|
||||
history_expression=comb(32, 2)×comb(32, 1)×2
|
||||
history_parse=comb(32, 2) × comb(32, 1) × 2
|
||||
history_result=31 744
|
||||
history_time=1727280364
|
||||
history_expression=4!×3!×2!×3!
|
||||
history_parse=factorial(4) × factorial(3) × factorial(2) × factorial(3)
|
||||
history_result=1728
|
||||
history_time=1727280317
|
||||
history_expression=8!
|
||||
history_parse=factorial(8)
|
||||
history_result=40 320
|
||||
history_time=1727280292
|
||||
history_expression=5×4
|
||||
history_parse=5 × 4
|
||||
history_result=20
|
||||
history_time=1727280285
|
||||
history_expression=5×4×3
|
||||
history_parse=5 × 4 × 3
|
||||
history_result=60
|
||||
history_time=1727280190
|
||||
history_expression=3!×3×2×2
|
||||
history_parse=factorial(3) × 3 × 2 × 2
|
||||
history_result=72
|
||||
history_time=1727279907
|
||||
history_expression=5!×2
|
||||
history_parse=factorial(5) × 2
|
||||
history_result=240
|
||||
history_time=1727279831
|
||||
history_expression=4!
|
||||
history_parse=factorial(4)
|
||||
history_result=24
|
||||
history_time=1727279830
|
||||
history_expression=4!×2
|
||||
history_parse=factorial(4) × 2
|
||||
history_result=48
|
||||
history_time=1727279778
|
||||
history_expression=4!×2×2
|
||||
history_parse=factorial(4) × 2 × 2
|
||||
history_result=96
|
||||
history_time=1727279719
|
||||
history_expression=(5!)×2
|
||||
history_parse=factorial(5) × 2
|
||||
history_result=240
|
||||
history_time=1727279715
|
||||
history_expression=5!
|
||||
history_parse=factorial(5)
|
||||
history_result=120
|
||||
history_time=1727279713
|
||||
history_expression=6!
|
||||
history_parse=factorial(6)
|
||||
history_result=720
|
||||
history_time=1727279701
|
||||
history_expression=5!
|
||||
history_parse=factorial(5)
|
||||
history_result=120
|
||||
history_time=1727279632
|
||||
history_expression=6×5×4×3×2×1
|
||||
history_parse=6 × 5 × 4 × 3 × 2 × 1
|
||||
history_result=720
|
||||
history_time=1727279622
|
||||
history_expression=6×5×4×6×2×1
|
||||
history_parse=6 × 5 × 4 × 6 × 2 × 1
|
||||
history_result=1440
|
||||
history_time=1727279485
|
||||
history_expression=6×5×4×6×2×1
|
||||
history_parse=6 × 5 × 4 × 6 × 2 × 1
|
||||
history_result=1440
|
||||
history_time=1727279609
|
||||
history_result=(8 × 10<sup>29</sup> ∕ 89 009 813) × √(α) × q<sub>P</sub>
|
||||
history_time=1727279432
|
||||
history_expression=10!/(8!)
|
||||
history_parse=factorial(10) ∕ factorial(8)
|
||||
history_result=90
|
||||
history_time=1727279388
|
||||
history_expression=comb(8, 2)×comb(10, 4)+comb(8, 1)×comb(10, 5)+comb(10, 6)
|
||||
history_parse=(comb(8, 2) × comb(10, 4)) + (comb(8, 1) × comb(10, 5)) + comb(10, 6)
|
||||
history_result=8106
|
||||
history_time=1727279314
|
||||
history_expression=comb(10,2)×comb(8,4)
|
||||
history_parse=comb(10, 2) × comb(8, 4)
|
||||
history_result=3150
|
||||
history_time=1727279296
|
||||
history_expression=comb(10,2)+comb(8,4)
|
||||
history_parse=comb(10, 2) + comb(8, 4)
|
||||
history_result=115
|
||||
history_time=1727279276
|
||||
history_expression=comb(10,2)+comb(16,4)
|
||||
history_parse=comb(10, 2) + comb(16, 4)
|
||||
history_result=1865
|
||||
history_time=1727279232
|
||||
history_expression=10×9×16×15×14×13
|
||||
history_parse=10 × 9 × 16 × 15 × 14 × 13
|
||||
history_result=3 931 200
|
||||
history_time=1727279148
|
||||
history_expression=4×4×3×2
|
||||
history_parse=4 × 4 × 3 × 2
|
||||
history_result=96
|
||||
history_time=1727279136
|
||||
history_expression=3×4×3×2
|
||||
history_parse=3 × 4 × 3 × 2
|
||||
history_result=72
|
||||
history_time=1727279114
|
||||
history_expression=3×4×3
|
||||
history_parse=3 × 4 × 3
|
||||
history_result=36
|
||||
history_time=1727278893
|
||||
history_expression=2×4×3×2
|
||||
history_parse=2 × 4 × 3 × 2
|
||||
history_result=48
|
||||
history_time=1727278843
|
||||
history_expression=2×4×3×2×1
|
||||
history_parse=2 × 4 × 3 × 2 × 1
|
||||
history_result=48
|
||||
history_time=1727278684
|
||||
history_expression=comb(8, 2)
|
||||
history_parse=comb(8, 2)
|
||||
history_result=28
|
||||
history_time=1727278667
|
||||
history_expression=8C2
|
||||
history_parse=8 coulomb<sup>2</sup>
|
||||
history_result=8 C<sup>2</sup>
|
||||
history_time=1727278616
|
||||
history_expression=8×7
|
||||
history_parse=8 × 7
|
||||
history_result=56
|
||||
history_time=1727278554
|
||||
history_expression=10!/(5!×5!)
|
||||
history_parse=factorial(10) ∕ (factorial(5) × factorial(5))
|
||||
history_result=252
|
||||
history_time=1727278540
|
||||
history_expression=10!/5!
|
||||
history_parse=factorial(10) ∕ factorial(5)
|
||||
history_result=30 240
|
||||
history_time=1727278512
|
||||
history_expression=7!/((7−5)!×5!)
|
||||
history_parse=factorial(7) ∕ (factorial(7 − 5) × factorial(5))
|
||||
history_result=21
|
||||
history_time=1727278486
|
||||
history_expression=8!/((8−5)!×5!)
|
||||
history_parse=factorial(8) ∕ (factorial(8 − 5) × factorial(5))
|
||||
history_result=56
|
||||
history_time=1727278425
|
||||
history_expression=8!/(8−5)!
|
||||
history_parse=factorial(8) ∕ factorial(8 − 5)
|
||||
history_result=6720
|
||||
history_time=1727278231
|
||||
history_expression=8×7×6
|
||||
history_parse=8 × 7 × 6
|
||||
history_result=336
|
||||
history_time=1727276103
|
||||
history_expression=4!×3!
|
||||
history_parse=factorial(4) × factorial(3)
|
||||
history_result=144
|
||||
history_time=1726696097
|
||||
history_expression=1726697223328−60×15×1000
|
||||
history_parse=1 726 697 223 328 − (60 × 15 × 1000)
|
||||
history_result=1 726 696 323 328
|
||||
history_time=1726696068
|
||||
history_expression=1726697223448−60×2
|
||||
history_parse=1 726 697 223 448 − (60 × 2)
|
||||
history_result=1 726 697 223 328
|
||||
history_time=1726619113
|
||||
history_expression=500/280
|
||||
history_parse=500 ∕ 280
|
||||
history_result=25 ∕ 14
|
||||
history_time=1726619106
|
||||
history_expression=498/280
|
||||
history_parse=498 ∕ 280
|
||||
history_result=249 ∕ 140
|
||||
history_time=1726593466
|
||||
history_expression=480×2
|
||||
history_parse=480 × 2
|
||||
history_result=960
|
||||
history_time=1726592811
|
||||
history_expression=1280−480
|
||||
history_parse=1280 − 480
|
||||
history_result=800
|
||||
history_time=1726523587
|
||||
history_expression=((86400000/1000)/60)/60
|
||||
history_parse=((86 400 000 ∕ 1000) ∕ 60) ∕ 60
|
||||
history_result=24
|
||||
history_time=1726523579
|
||||
history_expression=(86400000/1000)/60
|
||||
history_parse=(86 400 000 ∕ 1000) ∕ 60
|
||||
history_result=1440
|
||||
history_time=1726523576
|
||||
history_expression=86400000/1000
|
||||
history_parse=86 400 000 ∕ 1000
|
||||
history_result=86 400
|
||||
history_time=1726496554
|
||||
history_expression=34.8usd
|
||||
history_parse=34.8 USD
|
||||
history_result=$34.8
|
||||
history_time=1726496555
|
||||
history_result_approximate=CVE 3449.034 694
|
||||
history_result_approximate=3127.808 736 eurocents
|
||||
history_time=1726496556
|
||||
history_result_approximate=€31.278 087 36
|
||||
history_time=1726234180
|
||||
history_expression=50−15
|
||||
history_parse=50 − 15
|
||||
history_result=35
|
||||
history_time=1726162266
|
||||
history_expression=22usd
|
||||
history_parse=22 USD
|
||||
history_result=$22
|
||||
history_time=1726162273
|
||||
history_result_approximate=CVE 2202.196 805
|
||||
history_result_approximate=1997.095 134 eurocents
|
||||
history_time=1726162274
|
||||
history_result_approximate=€19.970 951 34
|
||||
history_time=1726060907
|
||||
history_expression=180/20
|
||||
history_parse=180 ∕ 20
|
||||
history_result=9
|
||||
history_time=1726046557
|
||||
history_expression=log2(652618)
|
||||
history_parse=log<sub>2</sub>(652 618)
|
||||
history_result_approximate=19.315 879 25
|
||||
history_time=1726046521
|
||||
history_expression=652618
|
||||
history_parse=652 618
|
||||
history_result=652 618
|
||||
history_time=1726046530
|
||||
history_result=0000 0000 0000 1001 1111 0101 0100 1010<sub><small>2</small></sub>
|
||||
history_time=1726046551
|
||||
history_result=652 618
|
||||
history_time=1726046517
|
||||
history_expression=bin(652618)
|
||||
history_parse=bin(<i>"652618"</i>)
|
||||
history_error=Character '6' was ignored in the number "652618" with base 2.
|
||||
history_error=Character '5' was ignored in the number "652618" with base 2.
|
||||
history_error=Character '2' was ignored in the number "652618" with base 2.
|
||||
history_error=Character '8' was ignored in the number "652618" with base 2.
|
||||
history_result=1
|
||||
history_time=1726046512
|
||||
history_expression=652618
|
||||
history_parse=652 618
|
||||
history_result=652 618
|
||||
history_time=1725978858
|
||||
history_expression=14500/4
|
||||
history_parse=14 500 ∕ 4
|
||||
history_result=3625
|
||||
history_time=1725574098
|
||||
history_expression=80/8
|
||||
history_parse=80 ∕ 8
|
||||
history_result=10
|
||||
history_time=1725463240
|
||||
history_expression=324×25
|
||||
history_parse=324 × 25
|
||||
history_result=8100
|
||||
history_time=1725463233
|
||||
history_expression=300×25
|
||||
history_parse=300 × 25
|
||||
history_result=7500
|
||||
history_time=1725105187
|
||||
history_expression=638/7
|
||||
history_parse=638 ∕ 7
|
||||
history_result_approximate=91.142 857 14
|
||||
history_time=1725104792
|
||||
history_expression=2××7
|
||||
history_parse=2<sup>7</sup>
|
||||
history_result=128
|
||||
history_time=1724192718
|
||||
history_expression=(15000×300)/3.6
|
||||
history_parse=(15 000 × 300) ∕ 3.6
|
||||
history_result=1 250 000
|
||||
history_time=1724192715
|
||||
history_expression=15000×300
|
||||
history_parse=15 000 × 300
|
||||
history_result=4 500 000
|
||||
history_time=1724173179
|
||||
history_expression=250czk
|
||||
history_parse=250 CZK
|
||||
history_result_approximate=$11.014 389 06
|
||||
history_time=1724173180
|
||||
history_result_approximate=CVE 1095.774 704
|
||||
history_result_approximate=993.719 691 5 eurocents
|
||||
history_time=1724173181
|
||||
history_result_approximate=€9.937 196 915
|
||||
history_time=1724172274
|
||||
history_expression=5000czk
|
||||
history_parse=5000 CZK
|
||||
history_result_approximate=$220.287 781 2
|
||||
history_time=1724172276
|
||||
history_result_approximate=CDF 630 288.4268
|
||||
history_time=1724172277
|
||||
history_result_approximate=CVE 21 915.494 08
|
||||
history_result_approximate=19 874.393 83 eurocents
|
||||
history_time=1724172278
|
||||
history_result_approximate=€198.743 938 3
|
||||
history_time=1724172270
|
||||
history_expression=5czk
|
||||
history_parse=5 CZK
|
||||
history_result_approximate=$0.220 287 781 2
|
||||
history_time=1724172207
|
||||
history_expression=5k
|
||||
history_parse=5 × 1000
|
||||
history_result=5000
|
||||
history_time=1724171979
|
||||
history_expression=1504.32/60
|
||||
history_parse=1504.32 ∕ 60
|
||||
history_result=25.072
|
||||
history_time=1724171974
|
||||
history_expression=1504.32czk/60eur
|
||||
history_parse=(1504.32 CZK) ∕ (60 EUR)
|
||||
history_result_approximate=0.996 581 604 3
|
||||
history_time=1724171966
|
||||
history_expression=30eur/1504.32czk
|
||||
history_parse=(30 EUR) ∕ (1504.32 CZK)
|
||||
history_result_approximate=0.501 715 060 6
|
||||
history_time=1724171791
|
||||
history_expression=5000czk
|
||||
history_parse=5000 CZK
|
||||
history_result_approximate=$220.287 781 2
|
||||
history_time=1724167931
|
||||
history_expression=183.75czk
|
||||
history_parse=183.75 CZK
|
||||
history_result_approximate=$8.095 575 960
|
||||
history_time=1724167933
|
||||
history_result_approximate=CVE 805.394 407 3
|
||||
history_result_approximate=730.383 973 3 eurocents
|
||||
history_time=1724167935
|
||||
history_result_approximate=€7.303 839 733
|
||||
history_time=1724167917
|
||||
history_expression=735/4
|
||||
history_parse=735 ∕ 4
|
||||
history_result=183.75
|
||||
history_time=1724167611
|
||||
history_expression=(3688czk)−3625czk
|
||||
history_parse=(3688 CZK) − (3625 CZK) to EUR
|
||||
history_result_approximate=€2.504 173 623
|
||||
history_time=1724167609
|
||||
history_expression=(3688czk)−3625
|
||||
history_parse=(3688 CZK) − 3625 to EUR
|
||||
history_result_approximate=€146.593 528 9 − 3625.000 000
|
||||
history_time=1724167603
|
||||
history_expression=3688czk
|
||||
history_parse=3688 CZK to EUR
|
||||
history_result_approximate=€146.593 528 9
|
||||
history_time=1724167540
|
||||
history_expression=14500czk/4
|
||||
history_parse=(14 500 CZK) ∕ 4 to EUR
|
||||
history_result_approximate=€144.089 355 3
|
||||
history_time=1724167532
|
||||
history_expression=14500czk
|
||||
history_parse=14 500 CZK
|
||||
history_result_approximate=$638.834 565 5
|
||||
history_time=1724167534
|
||||
history_result_approximate=CVE 63 554.932 82
|
||||
history_result_approximate=57 635.742 11 eurocents
|
||||
history_time=1724167535
|
||||
history_result_approximate=€576.357 421 1
|
||||
history_time=1724167230
|
||||
history_expression=183.75czk
|
||||
history_parse=183.75 CZK
|
||||
history_result_approximate=$8.095 575 960
|
||||
history_time=1724167237
|
||||
history_result_approximate=CVE 805.394 407 3
|
||||
history_result_approximate=730.383 973 3 eurocents
|
||||
history_time=1724167238
|
||||
history_result_approximate=€7.303 839 733
|
||||
history_time=1724167225
|
||||
history_expression=735/4
|
||||
history_parse=735 ∕ 4
|
||||
history_result=183.75
|
||||
history_time=1724167222
|
||||
history_expression=184czk
|
||||
history_parse=184 CZK
|
||||
history_result_approximate=$8.106 590 349
|
||||
history_time=1724167207
|
||||
history_expression=735/4
|
||||
history_parse=735 ∕ 4
|
||||
history_result=183.75
|
||||
history_time=1724167172
|
||||
history_expression=735czk/4
|
||||
history_parse=(735 CZK) ∕ 4
|
||||
history_result_approximate=$8.095 575 960
|
||||
history_time=1724167168
|
||||
history_expression=735czk
|
||||
history_parse=735 CZK
|
||||
history_result_approximate=$32.382 303 84
|
||||
history_time=1724166888
|
||||
history_expression=14500/4
|
||||
history_parse=14 500 ∕ 4
|
||||
history_result=3625
|
||||
history_time=1724080135
|
||||
history_expression=35000czk
|
||||
history_parse=35 000 CZK
|
||||
history_result_approximate=$1534.629 284
|
||||
history_time=1724080106
|
||||
history_expression=20000czk
|
||||
history_parse=20 000 CZK
|
||||
history_result_approximate=$876.931 019 4
|
||||
history_time=1724013854
|
||||
history_expression=29×3
|
||||
history_parse=29 × 3
|
||||
history_result=87
|
||||
history_time=1724013476
|
||||
history_expression=(60×20)/60
|
||||
history_parse=(60 × 20) ∕ 60
|
||||
history_result=20
|
||||
history_time=1724013473
|
||||
history_expression=60×20
|
||||
history_parse=60 × 20
|
||||
history_result=1200
|
||||
history_time=1724013442
|
||||
history_expression=24+24+12
|
||||
history_parse=24 + 24 + 12
|
||||
history_result=60
|
||||
history_time=1723541887
|
||||
history_expression=38+15
|
||||
history_parse=38 + 15
|
||||
history_result=53
|
||||
history_time=1723541880
|
||||
history_expression=(43−33)+5
|
||||
history_parse=(43 − 33) + 5
|
||||
history_result=15
|
||||
history_time=1723541879
|
||||
history_expression=43−33
|
||||
history_parse=43 − 33
|
||||
history_result=10
|
||||
history_time=1723319641
|
||||
history_expression=11mA×1kohm
|
||||
history_parse=(11 milliamperes) × (1 kiloohm)
|
||||
history_result=11 V
|
||||
history_time=1723319554
|
||||
history_expression=220ohm×54mA
|
||||
history_parse=(220 ohms) × (54 milliamperes)
|
||||
history_result=11.88 V
|
||||
history_time=1723317250
|
||||
history_expression=1.5k×7mA
|
||||
history_parse=(1.5 × 1000) × (7 milliamperes)
|
||||
history_result=10.5 A
|
||||
history_time=1723317195
|
||||
history_expression=12.5V/5mA
|
||||
history_parse=(12.5 volts) ∕ (5 milliamperes)
|
||||
history_result=2.5 kΩ
|
||||
history_time=1723317115
|
||||
history_expression=11k×7×10^−3
|
||||
history_parse=(11 × 1000) × 7 × 10<sup>−3</sup>
|
||||
history_result=77
|
||||
history_time=1723317084
|
||||
history_expression=11k×7m
|
||||
history_parse=(11 × 1000) × (7 meters)
|
||||
history_result=77 km
|
||||
history_time=1723317016
|
||||
history_expression=12/(1×10^−3)
|
||||
history_parse=12 ∕ (1 × 10<sup>−3</sup>)
|
||||
history_result=12 000
|
||||
history_time=1723316369
|
||||
history_expression=12V/200ohm
|
||||
history_parse=(12 volts) ∕ (200 ohms)
|
||||
history_result=60 mA
|
||||
history_time=1723316359
|
||||
history_expression=12v/200ohm
|
||||
history_parse=12 ∕ (200 ohms)
|
||||
history_error=Trailing characters "v" (not a valid variable/function/unit) in number "12v" were ignored.
|
||||
history_result=60 mS
|
||||
history_time=1723232596
|
||||
history_expression=190ml/8.3s
|
||||
history_parse=(190 milliliters) ∕ (8.3 seconds)
|
||||
history_result_approximate=22.891 566 27 mL ∕ s
|
||||
history_time=1723059809
|
||||
history_expression=(10800/60)/60
|
||||
history_parse=(10 800 ∕ 60) ∕ 60
|
||||
history_result=3
|
||||
history_time=1723059807
|
||||
history_expression=10800/60
|
||||
history_parse=10 800 ∕ 60
|
||||
history_result=180
|
||||
history_time=1722970501
|
||||
history_expression=0.98××30
|
||||
history_parse=0.98<sup>30</sup>
|
||||
history_result_approximate=0.545 484 319 4
|
||||
history_time=1722855354
|
||||
history_expression=10cad
|
||||
history_parse=10 CAD to EUR
|
||||
history_result_approximate=€6.651 147 323
|
||||
history_time=1722855343
|
||||
history_expression=10×52
|
||||
history_parse=10 × 52
|
||||
history_result=520
|
||||
history_time=1722855320
|
||||
history_expression=43×52
|
||||
history_parse=43 × 52
|
||||
history_result=2236
|
||||
history_time=1722855280
|
||||
history_expression=65.7cad
|
||||
history_parse=65.7 CAD
|
||||
history_result_approximate=$47.346 824 08
|
||||
history_time=1722855292
|
||||
history_result_approximate=CVE 4818.582 640
|
||||
history_time=1722855293
|
||||
history_result_approximate=4369.803 791 eurocents
|
||||
history_time=1722855294
|
||||
history_result_approximate=€43.698 037 91
|
||||
history_time=1722855269
|
||||
history_expression=42.85+22.85
|
||||
history_parse=42.85 + 22.85
|
||||
history_result=65.7
|
||||
recent_functions=
|
||||
recent_variables=
|
||||
recent_units=
|
||||
latest_button_currency=USD
|
||||
|
||||
[Mode]
|
||||
min_deci=0
|
||||
use_min_deci=0
|
||||
max_deci=2
|
||||
use_max_deci=0
|
||||
precision=10
|
||||
interval_arithmetic=1
|
||||
interval_display=0
|
||||
min_exp=-1
|
||||
negative_exponents=0
|
||||
sort_minus_last=1
|
||||
number_fraction_format=1
|
||||
complex_number_form=0
|
||||
use_prefixes=1
|
||||
use_prefixes_for_all_units=0
|
||||
use_prefixes_for_currencies=0
|
||||
abbreviate_names=1
|
||||
all_prefixes_enabled=0
|
||||
denominator_prefix_enabled=1
|
||||
place_units_separately=1
|
||||
auto_post_conversion=3
|
||||
mixed_units_conversion=3
|
||||
number_base=10
|
||||
number_base_expression=10
|
||||
read_precision=0
|
||||
assume_denominators_nonzero=1
|
||||
warn_about_denominators_assumed_nonzero=1
|
||||
structuring=1
|
||||
angle_unit=1
|
||||
functions_enabled=1
|
||||
variables_enabled=1
|
||||
calculate_functions=1
|
||||
calculate_variables=1
|
||||
variable_units_enabled=1
|
||||
sync_units=1
|
||||
unknownvariables_enabled=0
|
||||
units_enabled=1
|
||||
allow_complex=1
|
||||
allow_infinite=1
|
||||
indicate_infinite_series=0
|
||||
show_ending_zeroes=1
|
||||
rounding_mode=0
|
||||
approximation=0
|
||||
interval_calculation=1
|
||||
concise_uncertainty_input=0
|
||||
calculate_as_you_type=0
|
||||
in_rpn_mode=0
|
||||
chain_mode=0
|
||||
limit_implicit_multiplication=0
|
||||
parsing_mode=0
|
||||
simplified_percentage=1
|
||||
implicit_question_asked=1
|
||||
spacious=1
|
||||
excessive_parenthesis=0
|
||||
visible_keypad=0
|
||||
short_multiplication=1
|
||||
default_assumption_type=4
|
||||
default_assumption_sign=0
|
||||
|
||||
[Plotting]
|
||||
plot_legend_placement=2
|
||||
plot_style=0
|
||||
plot_smoothing=0
|
||||
plot_display_grid=1
|
||||
plot_full_border=0
|
||||
plot_min=0
|
||||
plot_max=10
|
||||
plot_step=1
|
||||
plot_sampling_rate=1001
|
||||
plot_use_sampling_rate=1
|
||||
plot_variable=x
|
||||
plot_rows=0
|
||||
plot_type=0
|
||||
plot_color=1
|
||||
plot_linewidth=2
|
62
home/.config/qimgv/qimgv.conf
Normal file
62
home/.config/qimgv/qimgv.conf
Normal file
|
@ -0,0 +1,62 @@
|
|||
[General]
|
||||
JPEGSaveQuality=95
|
||||
absoluteZoomStep=false
|
||||
autoResizeLimit=90
|
||||
autoResizeWindow=false
|
||||
backgroundOpacity=1
|
||||
blurBackground=false
|
||||
confirmDelete=true
|
||||
confirmTrash=false
|
||||
cursorAutohiding=true
|
||||
defaultCropAction=0
|
||||
defaultFitMode=0
|
||||
defaultViewMode=0
|
||||
drawTransparencyGrid=false
|
||||
enableSmoothScroll=true
|
||||
expandImage=false
|
||||
expandLimit=2
|
||||
firstRun=false
|
||||
focusPointIn1to1Mode=1
|
||||
folderEndAction=0
|
||||
imageScrolling=1
|
||||
infoBarFullscreen=true
|
||||
infoBarWindowed=false
|
||||
jxlAnimation=false
|
||||
keepFitMode=false
|
||||
lastVerMajor=1
|
||||
lastVerMicro=2
|
||||
lastVerMinor=0
|
||||
loopSlideshow=false
|
||||
mpvBinary=/nix/store/sz3h6s8p2r22v76m0yr6fn3m663sms7r-mpv-with-scripts-0.37.0/bin/mpv
|
||||
openInFullscreen=false
|
||||
panelEnabled=true
|
||||
panelFullscreenOnly=true
|
||||
panelPosition=top
|
||||
panelPreviewsSize=140
|
||||
playVideoSounds=false
|
||||
scalingFilter=1
|
||||
showSaveOverlay=true
|
||||
slideshowInterval=3000
|
||||
smoothAnimatedImages=true
|
||||
smoothUpscaling=true
|
||||
sortingMode=0
|
||||
squareThumbnails=false
|
||||
thumbPanelStyle=1
|
||||
thumbnailCache=true
|
||||
thumbnailerThreads=4
|
||||
unloadThumbs=true
|
||||
useOpenGL=false
|
||||
usePreloader=true
|
||||
useSystemColorScheme=false
|
||||
videoPlayback=true
|
||||
windowTitleExtendedInfo=true
|
||||
zoomIndicatorMode=0
|
||||
zoomStep=0.20000000298023224
|
||||
|
||||
[Controls]
|
||||
shortcuts="zoomIn=+", "frameStepBack=,", "zoomOut=-", "frameStep=.", "fitWindow=1", "scrollDown=2", "fitNormal=3", "scrollLeft=4", "scrollRight=6", "scrollUp=8", "exit=Alt+X", "folderView=Backspace", "crop=C", "copyFileClipboard=Ctrl+C", "showInDirectory=Ctrl+D", "zoomOut=Ctrl+Down", "rotateLeft=Ctrl+L", "seekVideoBackward=Ctrl+Left", "open=Ctrl+O", "print=Ctrl+P", "exit=Ctrl+Q", "rotateRight=Ctrl+R", "seekVideoForward=Ctrl+Right", "save=Ctrl+S", "copyPathClipboard=Ctrl+Shift+C", "saveAs=Ctrl+Shift+S", "zoomIn=Ctrl+Up", "pasteFile=Ctrl+V", "zoomOutCursor=Ctrl+WheelDown", "zoomInCursor=Ctrl+WheelUp", "discardEdits=Ctrl+Z", "s:trash with trash-cli=Del", "scrollDown=Down", "jumpToLast=End", "folderView=Enter", "closeFullScreenOrExit=Esc", "toggleFullscreen=F", "toggleFullscreen=F11", "renameFile=F2", "reloadImage=F5", "flipH=H", "jumpToFirst=Home", "toggleImageInfo=I", "toggleFullscreen=LMB_DoubleClick", "prevImage=Left", "moveFile=M", "contextMenu=Menu", "openSettings=P", "resize=R", "contextMenu=RMB", "nextImage=Right", "removeFile=Shift+Del", "toggleFullscreenInfoBar=Shift+F", "prevDirectory=Shift+Left", "nextDirectory=Shift+Right", "toggleFitMode=Space", "scrollUp=Up", "flipV=V", "nextImage=WheelDown", "prevImage=WheelUp", "prevImage=XButton1", "nextImage=XButton2", "toggleSlideshow=`", "toggleShuffle=~"
|
||||
|
||||
[Scripts]
|
||||
script\1\name=trash with trash-cli
|
||||
script\1\value=@Variant(\0\0\0\x7f\0\0\0\aScript\0\0\0\0 \0t\0r\0\x61\0s\0h\0-\0p\0u\0t\0 \0%\0\x66\0i\0l\0\x65\0%\x1)
|
||||
script\size=1
|
13
home/.config/qimgv/theme.conf
Normal file
13
home/.config/qimgv/theme.conf
Normal file
|
@ -0,0 +1,13 @@
|
|||
[Colors]
|
||||
accent=#8c9b81
|
||||
background=#1a1a1a
|
||||
background_fullscreen=#1a1a1a
|
||||
folderview=#242424
|
||||
folderview_topbar=#383838
|
||||
icons=#a4a4a4
|
||||
overlay=#1a1a1a
|
||||
overlay_text=#d2d2d2
|
||||
scrollbar=#5a5a5a
|
||||
text=#b6b6b6
|
||||
widget=#252525
|
||||
widget_border=#2c2c2c
|
|
@ -1,32 +1,2 @@
|
|||
[Appearance]
|
||||
color_scheme_path=/usr/share/qt5ct/colors/simple.conf
|
||||
custom_palette=false
|
||||
icon_theme=Papirus-Dark
|
||||
standard_dialogs=gtk3
|
||||
style=Adwaita-Dark
|
||||
|
||||
[Fonts]
|
||||
fixed=@Variant(\0\0\0@\0\0\0\x12\0N\0o\0t\0o\0 \0S\0\x61\0n\0s@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
|
||||
general=@Variant(\0\0\0@\0\0\0\x12\0N\0o\0t\0o\0 \0S\0\x61\0n\0s@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
|
||||
|
||||
[Interface]
|
||||
activate_item_on_single_click=1
|
||||
buttonbox_layout=0
|
||||
cursor_flash_time=1000
|
||||
dialog_buttons_have_icons=1
|
||||
double_click_interval=400
|
||||
gui_effects=@Invalid()
|
||||
keyboard_scheme=2
|
||||
menus_have_icons=true
|
||||
show_shortcuts_in_context_menus=true
|
||||
stylesheets=@Invalid()
|
||||
toolbutton_style=4
|
||||
underline_shortcut=1
|
||||
wheel_scroll_lines=3
|
||||
|
||||
[SettingsWindow]
|
||||
geometry="@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x5$\0\0\x3\x30\0\0\0\0\0\0\0\0\0\0\x5;\0\0\x4\x92\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x5$\0\0\x3\x30)"
|
||||
|
||||
[Troubleshooting]
|
||||
force_raster_widgets=1
|
||||
ignored_applications=@Invalid()
|
||||
|
|
2
home/.config/qt6ct/qt6ct.conf
Normal file
2
home/.config/qt6ct/qt6ct.conf
Normal file
|
@ -0,0 +1,2 @@
|
|||
[Appearance]
|
||||
icon_theme=Papirus-Dark
|
2
home/.config/rye/config.toml
Normal file
2
home/.config/rye/config.toml
Normal file
|
@ -0,0 +1,2 @@
|
|||
[default]
|
||||
license = "GPL-3.0-or-later"
|
|
@ -59,15 +59,12 @@ fi
|
|||
|
||||
# Config access shortcuts
|
||||
alias cfzsh='vim ~/.config/zsh/.zshrc'
|
||||
alias cfprofile='vim ~/.config/zsh/.zprofile'
|
||||
alias cfprompt='vim ~/.config/zsh/rc/prompt.zsh'
|
||||
alias cfalias='vim ~/.config/shell/aliases'
|
||||
alias cffunctions='vim ~/.config/shell/functions'
|
||||
alias cfprofile='vim ~/.config/shell/profile'
|
||||
alias cfenvironment='vim ~/.config/shell/environment'
|
||||
alias cfenv='cfenvironment'
|
||||
alias cfhandlers='vim ~/.config/shell/handlers'
|
||||
alias cfprompt='vim ~/.config/shell/prompt'
|
||||
alias cfkeybinds='vim ~/.config/shell/keybinds'
|
||||
alias cftodo='vim ~/Personal/vimwiki/todo.md'
|
||||
alias cfnvim='vim ~/.config/nvim'
|
||||
alias cfvim='cfnvim'
|
||||
alias cfgit='vim ~/.config/git/config'
|
||||
|
@ -75,8 +72,6 @@ alias cfhypr='vim ~/.config/hypr'
|
|||
alias cfsway='vim ~/.config/sway/config'
|
||||
|
||||
# zoxide shortcuts
|
||||
alias cd='z' # use zoxide as the default cd command
|
||||
alias cdi='zi' # interactive mode (fzf)
|
||||
alias j='z' # for the sake of old habits from autojump
|
||||
alias ji='zi' # interactive mode (fzf)
|
||||
|
||||
|
@ -142,11 +137,6 @@ alias iptlistout='iptables -L OUTPUT -n -v --line-numbers' # OUT rules
|
|||
alias iptlistfw='iptables -L FORWARD -n -v --line-numbers' # FORWARD rules
|
||||
alias ufw-log='journalctl -f -n 100 -g ufw' # Show UFW log entries in system journal
|
||||
|
||||
# Kernel actions
|
||||
alias kernel-recompile='cd /usr/src/linux && make -j7 && make -j7 modules_install && make install'
|
||||
alias kernel-oldconfig='cd /usr/src/linux && make oldconfig'
|
||||
alias kernel-configure='cd /usr/src/linux && make menuconfig'
|
||||
|
||||
# System actions
|
||||
alias sv='systemctl'
|
||||
alias pacnew="find / -name '*.pacnew' 2>/dev/null" # Search for all new configurations after pacman update
|
||||
|
@ -281,9 +271,11 @@ if [ -x /usr/bin/dircolors ]; then
|
|||
alias egrep='egrep --color=auto'
|
||||
|
||||
alias diff='diff --color=auto'
|
||||
# shellcheck disable=SC2032
|
||||
alias ip='ip --color=auto'
|
||||
|
||||
# Take advantage of $LS_COLORS for completion as well
|
||||
# shellcheck disable=SC2296
|
||||
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
|
||||
fi
|
||||
|
||||
|
@ -298,12 +290,6 @@ if [ ! "$(uname -s)" = 'Darwin' ]; then
|
|||
fi
|
||||
fi
|
||||
|
||||
# Autogenerate python aliases
|
||||
if [ -f ~/.config/shell/py-alias ]; then
|
||||
# shellcheck source=/home/itsdrike/.config/shell/py-alias
|
||||
. "$HOME/.config/shell/py-alias"
|
||||
fi
|
||||
|
||||
# Functions
|
||||
if [ -f ~/.config/shell/functions ]; then
|
||||
# shellcheck source=/home/itsdrike/.config/shell/functions
|
||||
|
|
|
@ -8,6 +8,23 @@
|
|||
# which means the XDG definitions will be ignored anyway, and
|
||||
# defining them may break programs when root is actually logged in.
|
||||
|
||||
|
||||
# Add all folders in ~/.local/bin into PATH
|
||||
# Some window managers require this line to be in profile not in .zshenv
|
||||
if [ -d "$HOME/.local/bin" ]; then
|
||||
PATH+=":${$(find -L ~/.local/bin -type d | tr '\n' ':')%%:}"
|
||||
fi
|
||||
|
||||
if [ -d "$HOME/.local/share/npm/bin" ]; then
|
||||
PATH+=":$HOME/.local/share/npm/bin"
|
||||
fi
|
||||
|
||||
# Prepend rye shims to PATH, to have rye python executables
|
||||
# take priority over the system-wide python.
|
||||
if [ -d "${RYE_HOME:-$HOME/.rye}/shims" ]; then
|
||||
PATH="${RYE_HOME:-$HOME/.rye}/shims:$PATH"
|
||||
fi
|
||||
|
||||
# Define some variables for POSIX compatibility
|
||||
uid="$(id -u)"
|
||||
|
||||
|
@ -16,14 +33,26 @@ export EDITOR="nvim"
|
|||
export BROWSER="firefox"
|
||||
export TERMINAL="alacritty"
|
||||
export DIFFPROG="nvim -d"
|
||||
export FILEMANAGER="pcmanfm"
|
||||
export FILEMANAGER="pcmanfm-qt"
|
||||
|
||||
# XDG Standard paths
|
||||
# XDG Base Directory standard paths
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
export XDG_CACHE_HOME="$HOME/.cache"
|
||||
export XDG_DATA_HOME="$HOME/.local/share"
|
||||
export XDG_RUNTIME_DIR="/run/user/$uid"
|
||||
export XDG_STATE_HOME="$HOME/.local/state"
|
||||
export XDG_BIN_HOME="$HOME/.local/bin"
|
||||
|
||||
# XDG User directories (should match ~/.config/user-dirs.dirs)
|
||||
#export XDG_DESKTOP_DIR="$HOME/Desktop"
|
||||
export XDG_DOWNLOAD_DIR="$HOME/Downloads"
|
||||
export XDG_TEMPLATES_DIR="$XDG_DATA_HOME/templates"
|
||||
export XDG_PUBLICSHARE_DIR="$XDG_DATA_HOME/public"
|
||||
#export XDG_DOCUMENTS_DIR="$HOME/Documents"
|
||||
export XDG_MUSIC_DIR="$HOME/Media/Music"
|
||||
export XDG_PICTURES_DIR="$HOME/Media/Pictures"
|
||||
export XDG_VIDEOS_DIR="$HOME/Media/Videos"
|
||||
export XDG_SCREENSHOTS_DIR="$HOME/Media/Pictures/Screenshots"
|
||||
|
||||
# Per-Application XDG settings
|
||||
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
|
||||
|
@ -33,7 +62,7 @@ export ZSH_COMPDUMP="$ZSH_CACHE/zcompdump-$ZSH_VERSION"
|
|||
export XINITRC="$XDG_CONFIG_HOME/x11/xinitrc"
|
||||
#export XAUTHORITY="$XDG_RUNTIME_DIR/Xauthority" # This line will break some DMs.
|
||||
export LESSHISTFILE="-"
|
||||
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc"
|
||||
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc":"$XDG_CONFIG_HOME/gtk-2.0/gtkrc.mine"
|
||||
export WGETRC="$XDG_CONFIG_HOME/wget/wgetrc"
|
||||
export GNUPGHOME="$XDG_DATA_HOME/gnupg"
|
||||
export GOPATH="$XDG_DATA_HOME/go"
|
||||
|
@ -44,22 +73,46 @@ export _JAVA_OPTIONS="-Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java"
|
|||
export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc"
|
||||
export NPM_CONFIG_CACHE="$XDG_CACHE_HOME/npm"
|
||||
export NPM_CONFIG_PREFIX="$XDG_DATA_HOME/npm"
|
||||
export NPM_CONFIG_TMP="$XDG_RUNTIME_DIR/npm"
|
||||
export NUGET_PACKAGES="$XDG_CACHE_HOME/NuGetPackages"
|
||||
export PARALLEL_HOME="$XDG_CONFIG_HOME/parallel"
|
||||
export RANDFILE="$XDG_CACHE_HOME/rnd"
|
||||
export PYTHONSTARTUP="$XDG_CONFIG_HOME/python/pythonrc.py"
|
||||
export PYTHONPYCACHEPREFIX="$XDG_CACHE_HOME/python"
|
||||
export PYTHONUSERBASE="$XDG_DATA_HOME/python"
|
||||
# Less commonly used applications
|
||||
export _ZL_DATA="$XDG_DATA_HOME/zlua"
|
||||
export SQLITE_HISTORY="$XDG_DATA_HOME/sqlite_history"
|
||||
export WAKATIME_HOME="$XDG_CONFIG_HOME/wakatime"
|
||||
export IPYTHONDIR="$XDG_CONFIG_HOME/ipython"
|
||||
export PYENV_ROOT="$XDG_DATA_HOME/pyenv"
|
||||
export MYPY_CACHE_DIR="$XDG_CACHE_HOME/mypy"
|
||||
#export PYLINTHOME="$XDG_CACHE_HOME/pylint"
|
||||
#export DOCKER_CONFIG="$XDG_CONFIG_HOME/docker"
|
||||
#export CUDA_CACHE_PATH="$XDG_CACHE_HOME/nv"
|
||||
export PYLINTHOME="$XDG_CACHE_HOME/pylint"
|
||||
export DOCKER_CONFIG="$XDG_CONFIG_HOME/docker"
|
||||
export CUDA_CACHE_PATH="$XDG_CACHE_HOME/nv"
|
||||
export WINEPREFIX="$XDG_DATA_HOME/wine"
|
||||
export MPLAYERHOME="$XDG_CONFIG_HOME/mplayer"
|
||||
export ANDROID_HOME="$XDG_DATA_HOME/android"
|
||||
export M2_HOME="$XDG_DATA_HOME/m2"
|
||||
export NODE_REPL_HISTORY="$XDG_DATA_HOME/node_repl_history"
|
||||
export DOTNET_CLI_HOME="$XDG_DATA_HOME/dotnet"
|
||||
export JUPYTER_CONFIG_DIR="$XDG_CONFIG_HOME/jupyter"
|
||||
export RYE_HOME="$XDG_CONFIG_HOME/rye"
|
||||
|
||||
# Theming
|
||||
export GTK_THEME="Tokyonight-Dark"
|
||||
export GTK_USE_PORTAL=1
|
||||
|
||||
export QT_STYLE_OVERRIDE=kvantum
|
||||
export QT_QPA_PLATFORMTHEME="qt5ct"
|
||||
export QT_AUTO_SCREEN_SCALE_FACTOR="1"
|
||||
export QT_QPA_PLATFORM="wayland;xcb"
|
||||
export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
|
||||
|
||||
export XCURSOR_THEME="BreezeX-RosePine-Linux"
|
||||
export XCURSOR_SIZE="24"
|
||||
|
||||
export HYPRCURSOR_THEME="rose-pine-hyprcursor"
|
||||
export HYPRCURSOR_SIZE="24"
|
||||
|
||||
# Colorful man pages!
|
||||
# Use neovim to open man pages
|
||||
|
@ -84,12 +137,9 @@ fi
|
|||
# Other program settings
|
||||
export HISTTIMEFORMAT="%Y-%m-%d %T "
|
||||
export SUDO_ASKPASS="$HOME/.local/bin/scripts/gui/prompt/menupass"
|
||||
export PIPENV_VENV_IN_PROJECT=1 # Force pipenv to create new environments within projects ./.venv
|
||||
export XSECURELOCK_SHOW_HOSTNAME=0 # Don't show hostname in xsecurelock
|
||||
export XSECURELOCK_SHOW_DATETIME=1 # Show current date and time in xsecurelock
|
||||
export QT_QPA_PLATFORMTHEME="qt5ct" # Have QT use theme from qt5ct.
|
||||
#export QT_STYLE_OVERRIDE="gtk2" # Have QT use the gtk2 theme (needs aur/qt5-styleplugins)
|
||||
#export QSG_RENDER_LOOP=basic # Fix Stremio freezing
|
||||
export PIPENV_VENV_IN_PROJECT=1 # Force pipenv to create new environments within projects ./.venv
|
||||
export XSECURELOCK_SHOW_HOSTNAME=0 # Don't show hostname in xsecurelock
|
||||
export XSECURELOCK_SHOW_DATETIME=1 # Show current date and time in xsecurelock
|
||||
|
||||
# Remove irrelevant variables added for posix compatibility
|
||||
unset posix
|
||||
|
|
|
@ -202,8 +202,8 @@ anonymize() {
|
|||
# Reset the prompt on initial run to allow this script
|
||||
# to be ran multiple times without user having to reload
|
||||
# PS1 manually
|
||||
# shellcheck source=/home/itsdrike/.config/shell/prompt
|
||||
. "${XDG_CONFIG_DIR:-$HOME/.config}/shell/prompt"
|
||||
# shellcheck source=/home/itsdrike/.config/zsh/rc/prompt.zsh
|
||||
. "${ZDOTDIR}/rc/prompt.zsh"
|
||||
|
||||
# Regular expression to match 0-255 numbers (color)
|
||||
color_int_re='^(0+)?([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])$'
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
#!/bin/zsh
|
||||
|
||||
# User .profile definition.
|
||||
# This file is only sourced once, after login, Unlike
|
||||
# .zshrc/.bashrc, which will run whenever a new terminal
|
||||
# is opened.
|
||||
|
||||
# Add all folders in ~/.local/bin into PATH
|
||||
# Some window managers require this line to be in profile
|
||||
# not in .zshenv
|
||||
if [ -d "$HOME/.local/bin" ]; then
|
||||
PATH+=":${$(find -L ~/.local/bin -type d | tr '\n' ':')%%:}"
|
||||
fi
|
||||
|
||||
if [ -d "$HOME/.local/share/pyenv/shims" ]; then
|
||||
PATH+=":$HOME/.local/share/pyenv/shims"
|
||||
fi
|
||||
|
||||
if [ -d "$HOME/.local/share/npm/bin" ]; then
|
||||
PATH+=":$HOME/.local/share/npm/bin"
|
||||
fi
|
||||
|
||||
# Start graphical session automatically on tty1 if Hyprland or startx is available
|
||||
if [ "$(tty)" = "/dev/tty1" ] && [ "$UID" != 0 ]; then
|
||||
if command -v Hyprland >/dev/null; then
|
||||
! pidof -s Hyprland >/dev/null 2>&1 && launch-hypr
|
||||
elif command -v startx >/dev/null; then
|
||||
! pidof -s Xorg >/dev/null 2>&1 && exec startx "$XINITRC"
|
||||
fi
|
||||
fi
|
|
@ -1,196 +0,0 @@
|
|||
#!/usr/bin/env zsh
|
||||
# Simple script which automatically defines certain aliases for python,
|
||||
# which will automatically use certain python version
|
||||
# Versions are automatically obtained from $PYENV_ROOT/versions directories
|
||||
# NOTE: This assumes that all folders in this directory are valid python versions
|
||||
#
|
||||
# Assume we have these installed pyenv python versions 3.6.5, 3.6.12 and 3.10.1:
|
||||
# - Set full-version aliases: py3.6.5, py3.6.12 and py3.10.1
|
||||
# - Set py3 to 3.10.1 (latest with major version 3)
|
||||
# - Set py3.6 to 3.6.12 (latest with major version 3 and minor version 6)
|
||||
# - Set py3.10 to 3.10.1 (latest, and only python with major version 3 and minor version 10)
|
||||
|
||||
|
||||
# Define all wanted aliases for a given python version
|
||||
# $1 - full valid pyenv python version (for example '3.6.12', `3.11-dev`, or `pypy3.6-7.2.0-src`)
|
||||
# $2 - version used in the alias (for example '3.6', '3', or even '', but also `pypy3.7`, ...)
|
||||
define_aliases() {
|
||||
version="$1"
|
||||
alias_version="$2"
|
||||
cmd_prefix="PYENV_VERSION=$version"
|
||||
|
||||
alias "py$alias_version=$cmd_prefix python"
|
||||
alias "ipy$alias_version=$cmd_prefix ipython"
|
||||
alias "bpy$alias_version=$cmd_prefix bpython"
|
||||
alias "pydoc$alias_version=$cmd_prefix pydoc"
|
||||
alias "pytest$alias_version=$cmd_prefix pytest"
|
||||
alias -g "PY$alias_version=$cmd_prefix"
|
||||
}
|
||||
|
||||
# Handle splitting full version into prefix, version number and suffix
|
||||
# Because of the huge variaty of python implemenations and their different namings,
|
||||
# this function will only be able to handle the default CPython version names,
|
||||
# which follow the regex pattern of: '\d+\.\d+\.\d+', the rest will print 'full_version;;'
|
||||
# In the future, this may also include support for some other naming schemes.
|
||||
# $1 - full valid pyenv python version (for example '3.6.12', `3.11-dev`, or `pypy3.6-7.2.0-src`)
|
||||
parse_python_version() {
|
||||
full_version="$1"
|
||||
if echo "$full_version" | grep -E "[0-9]+\.[0-9]+\.[0-9]+" >/dev/null; then
|
||||
echo ";$full_version;"
|
||||
else
|
||||
echo ';;'
|
||||
fi
|
||||
}
|
||||
|
||||
# Prints version number extracted from alias for given version
|
||||
# $1 - version used in the alias (for example '3.6', '3', or even '', but also 'pypy3.6', ...)
|
||||
get_alias_version() {
|
||||
alias_version="$1"
|
||||
definition="$(alias "py$alias_version")"
|
||||
full_version="$(echo "$definition" | cut -d= -f3 | cut -d' ' -f1)"
|
||||
|
||||
version_info="$(parse_python_version "$full_version")"
|
||||
version="$(echo "$version_info" | cut -d';' -f2)"
|
||||
echo "$version"
|
||||
}
|
||||
|
||||
# Compares 2 python versions in major, minor and micro parts
|
||||
# $1 - version #1
|
||||
# $2 - version #2
|
||||
# Returns:
|
||||
# 0 - version #1 is newer
|
||||
# 1 - version #2 is newer
|
||||
# 2 - versions are equal
|
||||
version_compare() {
|
||||
version_1="$1"
|
||||
version_2="$2"
|
||||
# ZSH Only:
|
||||
version_1=("${(@s:.:)version_1}")
|
||||
version_2=("${(@s:.:)version_2}")
|
||||
major_1=$version_1[1]
|
||||
major_2=$version_2[1]
|
||||
minor_1=$version_1[2]
|
||||
minor_2=$version_2[2]
|
||||
micro_1=$version_1[3]
|
||||
micro_2=$version_2[3]
|
||||
# POSIX, but slow:
|
||||
# major_1="$(echo "$version_1" | cut -d. -f1)"
|
||||
# major_2="$(echo "$version_2" | cut -d. -f1)"
|
||||
# minor_1="$(echo "$version_1" | cut -d. -f2)"
|
||||
# minor_2="$(echo "$version_2" | cut -d. -f2)"
|
||||
# micro_1="$(echo "$version_1" | cut -d. -f3)"
|
||||
# micro_2="$(echo "$version_2" | cut -d. -f3)"
|
||||
|
||||
# Compare majors
|
||||
if [ $major_1 -gt $major_2 ]; then
|
||||
# version 1's major is bigger, version 1 is newer
|
||||
return 0
|
||||
elif [ $major_1 -lt $major_2 ]; then
|
||||
# version 1's major is smaller, version 2 is newer
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Majors equal, compare minors
|
||||
if [ $minor_1 -gt $minor_2 ]; then
|
||||
# version 1's minor is bigger, version 1 is newer
|
||||
return 0
|
||||
elif [ $minor_1 -lt $minor_2 ]; then
|
||||
# version 1's major is smaller, version 2 is newer
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Minors equal, compare micros
|
||||
if [ $micro_1 -gt $micro_2 ]; then
|
||||
# version 1's micro is bigger, version 1 is newer
|
||||
return 0
|
||||
elif [ $micro_1 -lt $micro_2 ]; then
|
||||
# version 1's micro is smaller, version 2 is newer
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Micros equal, versions equal
|
||||
return 2
|
||||
}
|
||||
|
||||
# Define new aliases if they don't already exsist, in which case override
|
||||
# if the current version is newer than the version in the alias
|
||||
# $1 - full valid pyenv python version (for example '3.6.12', `3.11-dev`, or `pypy3.6-7.2.0-src`)
|
||||
# $2 - version used in the alias (for example '3.6', '3', or even '', but also `pypy3.7`, ...)
|
||||
try_define_aliases() {
|
||||
version="$1"
|
||||
alias_version="$2"
|
||||
|
||||
# Check if alias already exists
|
||||
if alias "py$alias_version" >/dev/null; then
|
||||
# Compare version from the existing alias with current version,
|
||||
# if current is newer, override the existing alias(es)
|
||||
defined_version="$(get_alias_version "$alias_version")"
|
||||
if version_compare "$version" "$defined_version"; then
|
||||
define_aliases "$version" "$alias_version"
|
||||
# echo "Overwrote '$alias_version' aliases to point to '$version'"
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# The aliases aren't already defined, it's safe to create them
|
||||
define_aliases "$version" "$alias_version"
|
||||
# echo "Made '$alias_version' aliases pointing to '$version'"
|
||||
return 0
|
||||
}
|
||||
|
||||
define_version_aliases() {
|
||||
prefix="$1"
|
||||
version="$2"
|
||||
suffix="$3"
|
||||
|
||||
|
||||
# ZSH only:
|
||||
version_data=("${(@s:.:)version}")
|
||||
major_version=$version_data[1]
|
||||
minor_version=$version_data[2]
|
||||
# POSIX, but slow:
|
||||
# major_version="$(echo "$version" | cut -d. -f1)"
|
||||
# minor_version="$(echo "$version" | cut -d. -f2)"
|
||||
|
||||
# Define the major.minor.micro (full) alias
|
||||
try_define_aliases "$version" "$prefix$version$suffix"
|
||||
# Define the major.minor alias
|
||||
try_define_aliases "$version" "$prefix$major_version.$minor_version$suffix"
|
||||
# Define the major alias
|
||||
try_define_aliases "$version" "$prefix$major_version$suffix"
|
||||
# Define top level alias
|
||||
try_define_aliases "$version" "$prefix$suffix"
|
||||
}
|
||||
|
||||
for python_dir in "$PYENV_ROOT"/versions/*/ ; do
|
||||
full_version="$(basename $python_dir)"
|
||||
|
||||
version_info="$(parse_python_version "$full_version")"
|
||||
if [ $version_info = ';;' ]; then
|
||||
# Version info wasn't obtained successfully, skip this version
|
||||
echo "Skipped $full_version"
|
||||
continue
|
||||
fi
|
||||
|
||||
# ZSH only:
|
||||
version_data=("${(@s:;:)version_info}")
|
||||
prefix=$version_data[1]
|
||||
version=$version_data[2]
|
||||
suffix=$version_data[3]
|
||||
# POSIX, but slow:
|
||||
# prefix="$(echo "$version_info" | cut -d';' -f1)"
|
||||
# version="$(echo "$version_info" | cut -d';' -f2)"
|
||||
# suffix="$(echo "$version_info" | cut -d';' -f3)"
|
||||
|
||||
# startTime=$(date +%N)
|
||||
define_version_aliases "$prefix" "$version" "$suffix"
|
||||
# endTime=$(date +%N)
|
||||
# nanos="$(expr $endTime - $startTime)"
|
||||
# echo "took $(expr $nanos / 1000000) miliseconds"
|
||||
done
|
||||
|
||||
if command -v poetry >/dev/null 2>&1; then
|
||||
alias poetry-pyenv='poetry env use "$(pyenv which python)" && poetry install'
|
||||
fi
|
|
@ -1,9 +1,9 @@
|
|||
[Default]
|
||||
save_dir=$HOME/Pictures/Screenshots
|
||||
early_exit=true
|
||||
line_size=5
|
||||
paint_mode=rectangle
|
||||
save_dir=/home/itsdrike/Media/Pictures/Screenshots
|
||||
save_filename_format=Screenshot_%Y-%M-%d_%H-%M-%S.png
|
||||
show_panel=false
|
||||
line_size=5
|
||||
text_size=20
|
||||
text_font=JetBrains Mono
|
||||
early_exit=true
|
||||
paint_mode=rectangle
|
||||
text_size=20
|
||||
|
|
|
@ -5,9 +5,9 @@ After=eww.service
|
|||
PartOf=eww.service
|
||||
|
||||
[Service]
|
||||
ExecStartPre=/usr/local/bin/eww ping
|
||||
ExecStart=/usr/local/bin/eww open %i
|
||||
ExecStop=/usr/local/bin/eww close %i
|
||||
ExecStartPre=/usr/bin/eww ping
|
||||
ExecStart=/usr/bin/eww open %i
|
||||
ExecStop=/usr/bin/eww close %i
|
||||
Type=oneshot
|
||||
RemainAfterExit=true
|
||||
Restart=on-failure
|
||||
|
|
|
@ -3,7 +3,7 @@ Description="Eww daemon"
|
|||
PartOf=graphical-session.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/local/bin/eww daemon --no-daemonize
|
||||
ExecStart=/usr/bin/eww daemon --no-daemonize
|
||||
Restart=always
|
||||
RestartSec=3s
|
||||
|
||||
|
|
12
home/.config/systemd/user/hyprpaper.service
Normal file
12
home/.config/systemd/user/hyprpaper.service
Normal file
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Description="Hyprpaper (Hyprland wallpaper daemon"
|
||||
PartOf=graphical-session.target
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/hyprpaper
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=wayland-session.target
|
|
@ -1,12 +0,0 @@
|
|||
[Unit]
|
||||
Description="Wallpaper setter"
|
||||
PartOf=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Environment=WALLPAPER_IMAGE=%h/.local/share/background
|
||||
ExecStart=/usr/bin/swaybg --image $WALLPAPER_IMAGE
|
||||
Restart=always
|
||||
RestartSec=3s
|
||||
|
||||
[Install]
|
||||
WantedBy=wayland-session.target
|
|
@ -0,0 +1 @@
|
|||
/home/itsdrike/.config/systemd/user/hyprpaper.service
|
|
@ -1 +0,0 @@
|
|||
/home/itsdrike/.config/systemd/user/wallpaper.service
|
7
home/.config/tealdeer/config.toml
Normal file
7
home/.config/tealdeer/config.toml
Normal file
|
@ -0,0 +1,7 @@
|
|||
[display]
|
||||
compact = false
|
||||
use_pager = true
|
||||
|
||||
[updates]
|
||||
auto_update = true
|
||||
auto_update_interval_hours = 720
|
|
@ -7,12 +7,10 @@
|
|||
#
|
||||
#XDG_DESKTOP_DIR="$HOME/Desktop"
|
||||
XDG_DOWNLOAD_DIR="$HOME/Downloads"
|
||||
#XDG_TEMPLATES_DIR="$HOME/Templates"
|
||||
#XDG_PUBLICSHARE_DIR="$HOME/Public"
|
||||
XDG_TEMPLATES_DIR="$XDG_DATA_HOME/templates"
|
||||
XDG_PUBLICSHARE_DIR="$XDG_DATA_HOME/public"
|
||||
#XDG_DOCUMENTS_DIR="$HOME/Documents"
|
||||
XDG_DOCUMENTS_DIR="$HOME/Personal"
|
||||
#XDG_MUSIC_DIR="$HOME/Music"
|
||||
XDG_MUSIC_DIR="$HOME/Audio"
|
||||
XDG_PICTURES_DIR="$HOME/Pictures"
|
||||
XDG_SCREENSHOTS_DIR="$HOME/Pictures/Screenshots"
|
||||
XDG_VIDEOS_DIR="$HOME/Videos"
|
||||
XDG_MUSIC_DIR="$HOME/Media/Music"
|
||||
XDG_PICTURES_DIR="$HOME/Media/Pictures"
|
||||
XDG_VIDEOS_DIR="$HOME/Media/Videos"
|
||||
XDG_SCREENSHOTS_DIR="$HOME/Media/Pictures/Screenshots"
|
||||
|
|
5
home/.config/xdg-desktop-portal/portals.conf
Normal file
5
home/.config/xdg-desktop-portal/portals.conf
Normal file
|
@ -0,0 +1,5 @@
|
|||
[preferred]
|
||||
default=gtk
|
||||
org.freedesktop.impl.portal.Screencast=hyprland
|
||||
org.freedesktop.impl.portal.Screenshot=hyprland
|
||||
org.freedesktop.impl.portal.Secret=gnome-keyring
|
9
home/.config/xsettingsd/xsettingsd.conf
Normal file
9
home/.config/xsettingsd/xsettingsd.conf
Normal file
|
@ -0,0 +1,9 @@
|
|||
Net/ThemeName "Tokyonight-Dark"
|
||||
Net/IconThemeName "Papirus-Dark"
|
||||
Gtk/CursorThemeName "BreezeX-RosePine-Linux"
|
||||
Net/EnableEventSounds 1
|
||||
EnableInputFeedbackSounds 0
|
||||
Xft/Antialias 1
|
||||
Xft/Hinting 1
|
||||
Xft/HintStyle "hintslight"
|
||||
Xft/RGBA "rgb"
|
|
@ -1 +0,0 @@
|
|||
../shell/profile
|
16
home/.config/zsh/.zprofile
Executable file
16
home/.config/zsh/.zprofile
Executable file
|
@ -0,0 +1,16 @@
|
|||
#!/bin/zsh
|
||||
|
||||
# User .profile definition.
|
||||
# This file is only sourced once, after login, Unlike
|
||||
# .zshrc/.bashrc, which will run whenever a new terminal
|
||||
# is opened.
|
||||
|
||||
# Start graphical session automatically on tty1 if Hyprland or startx is available
|
||||
#if [ "$(tty)" = "/dev/tty1" ] && [ "$UID" != 0 ]; then
|
||||
# if command -v Hyprland >/dev/null; then
|
||||
# ! pidof -s Hyprland >/dev/null 2>&1 && launch-hypr
|
||||
# elif command -v startx >/dev/null; then
|
||||
# ! pidof -s Xorg >/dev/null 2>&1 && exec startx "$XINITRC"
|
||||
# fi
|
||||
#fi
|
||||
|
|
@ -1,138 +1,22 @@
|
|||
#!/usr/bin/zsh
|
||||
|
||||
#########################
|
||||
# History Configuration #
|
||||
#########################
|
||||
export HISTSIZE=12000
|
||||
export SAVEHIST=10000
|
||||
|
||||
# If the internal history needs to be trimmed to add the current command line, setting this
|
||||
# option will cause the oldest history event that has a duplicate to be lost before losing a
|
||||
# unique event from the list. You should be sure to set the value of HISTSIZE to a larger
|
||||
# number than SAVEHIST in order to give you some room for the duplicated events, otherwise
|
||||
# this option will behave just like HIST_IGNORE_ALL_DUPS once the history fills up with unique
|
||||
# events.
|
||||
setopt hist_expire_dups_first
|
||||
|
||||
# When searching for history entries in the line editor, do not display duplicates of a line
|
||||
# previously found, even if the duplicates are not contiguous.
|
||||
setopt hist_find_no_dups
|
||||
|
||||
# If a new command line being added to the history list duplicates an older one, the older
|
||||
# command is removed from the list (even if it is not the previous event).
|
||||
setopt hist_ignore_all_dups
|
||||
|
||||
# Remove command lines from the history list when the first character on the line is a space,
|
||||
# or when one of the expanded aliases contains a leading space. Only normal aliases (not
|
||||
# global or suffix aliases) have this behaviour. Note that the command lingers in the internal
|
||||
# history until the next command is entered before it vanishes, allowing you to briefly reuse
|
||||
# or edit the line. If you want to make it vanish right away without entering another command,
|
||||
# type a space and press return.
|
||||
setopt hist_ignore_space
|
||||
|
||||
# When writing out the history file, older commands that duplicate newer ones are omitted.
|
||||
setopt hist_save_no_dups
|
||||
|
||||
# This option works like APPEND_HISTORY except that new history lines are added to the $HISTFILE
|
||||
# incrementally (as soon as they are entered), rather than waiting until the shell exits.
|
||||
setopt inc_append_history
|
||||
|
||||
# When using history expansion (such as with sudo !!), on enter, first show the expanded command
|
||||
# and only run it after confirmation (another enter press)
|
||||
setopt hist_verify
|
||||
|
||||
###############
|
||||
# ZSH Options #
|
||||
###############
|
||||
|
||||
setopt auto_cd # cd by typing directory name if it's not a command
|
||||
setopt auto_list # automatically list choices on ambiguous completion
|
||||
setopt auto_menu # automatically use menu completion
|
||||
setopt always_to_end # move cursor to end if word had one match
|
||||
setopt interactivecomments # allow comments in interactive mode
|
||||
setopt magicequalsubst # enable filename expansion for arguments of form `x=expression`
|
||||
setopt notify # report the status of background jobs immediately
|
||||
setopt numericglobsort # sort filenames numerically when it makes sense
|
||||
setopt auto_pushd # Make cd act as pushd
|
||||
setopt globdots # Match files starting with . without specifying it (cd <TAB>)
|
||||
#setopt correct_all # autocorrect commands
|
||||
|
||||
##################
|
||||
# Autocompletion #
|
||||
##################
|
||||
|
||||
autoload -Uz compinit
|
||||
zmodload -i zsh/complist # load completion list
|
||||
compinit -d $ZSH_COMPDUMP # Specify compdump file
|
||||
zstyle ':completion:*' menu select # select completions with arrow keys
|
||||
zstyle ':completion:*' group-name '' # group results by category
|
||||
zstyle ':completion:::::' completer _expand _complete _ignored _approximate #enable approximate matches for completion
|
||||
|
||||
#################
|
||||
# Custom config #
|
||||
#################
|
||||
source ~/.config/zsh/rc/fallback_term.zsh
|
||||
source ~/.config/zsh/rc/history.zsh
|
||||
source ~/.config/zsh/rc/opts.zsh
|
||||
source ~/.config/zsh/rc/completion.zsh
|
||||
source ~/.config/zsh/rc/keybinds.zsh
|
||||
source ~/.config/zsh/rc/prompt.zsh
|
||||
source ~/.config/zsh/rc/cmd_not_found.zsh
|
||||
source ~/.config/zsh/rc/auto_cleanup.zsh
|
||||
|
||||
# Setup aliases
|
||||
[ -f ~/.config/shell/aliases ] && source ~/.config/shell/aliases
|
||||
# Load handlers
|
||||
[ -f ~/.config/shell/handlers ] && source ~/.config/shell/handlers
|
||||
# Load key bindings
|
||||
[ -f ~/.config/shell/keybinds ] && source ~/.config/shell/keybinds
|
||||
# Load prompt
|
||||
[ -f ~/.config/shell/prompt ] && source ~/.config/shell/prompt
|
||||
|
||||
#####################
|
||||
# Automatic Cleanup #
|
||||
#####################
|
||||
|
||||
[ -f ~/.zsh-update ] && mv ~/.zsh-update $ZSH_CACHE/.zsh-update
|
||||
[ -f ~/.sudo_as_admin_sucessful ] && rm ~/.sudo_as_admin_successful
|
||||
[ -f ~/.bash_history ] && rm ~/.bash_history
|
||||
|
||||
# Make sure ZSH_CACHE dir exists, avoiding zsh to create it's cache files
|
||||
# in $HOME
|
||||
mkdir -p "$ZSH_CACHE"
|
||||
|
||||
########
|
||||
# Misc #
|
||||
########
|
||||
|
||||
# Color support
|
||||
#autoload -U colors && colors
|
||||
|
||||
# Define TMOUT timeout for TTY and root
|
||||
# [ -z "$DISPLAY" ] && export TMOUT=800
|
||||
# [ $UID -eq 0 ] && export TMOUT=600
|
||||
|
||||
if command -v pyenv >/dev/null 2>&1; then
|
||||
eval "$(pyenv init -)"
|
||||
fi
|
||||
|
||||
if command -v zoxide >/dev/null 2>&1; then
|
||||
eval "$(zoxide init --cmd z zsh)"
|
||||
fi
|
||||
|
||||
#########################
|
||||
# Zgenom Plugin Manager #
|
||||
#########################
|
||||
|
||||
# Load zgenom (plugin manager for ZSH)
|
||||
source "${ZDOTDIR}/.zgenom/zgenom.zsh"
|
||||
|
||||
# Check for zgenom updates
|
||||
# This does not increase startup time
|
||||
zgenom autoupdate
|
||||
|
||||
# If the init script doesn't exist yet
|
||||
if ! zgenom saved; then
|
||||
zgenom load akash329d/zsh-alias-finder
|
||||
zgenom load clarketm/zsh-completions
|
||||
zgenom load zsh-users/zsh-autosuggestions
|
||||
zgenom load zdharma-continuum/fast-syntax-highlighting
|
||||
|
||||
# Generate the init script from plugins above
|
||||
zgenom save
|
||||
fi
|
||||
source ~/.config/zsh/rc/misc.zsh
|
||||
source ~/.config/zsh/rc/plugins.zsh
|
||||
source ~/.config/zsh/rc/zgenom.zsh
|
||||
|
||||
# Override the comment color to make comments visible on black bg
|
||||
# (this needs to be after zgenom, as it requires the zsh-fast-highlighting plugin
|
||||
# to be loaded)
|
||||
FAST_HIGHLIGHT_STYLES[comment]='fg=#696C76'
|
||||
|
|
8
home/.config/zsh/rc/auto_cleanup.zsh
Normal file
8
home/.config/zsh/rc/auto_cleanup.zsh
Normal file
|
@ -0,0 +1,8 @@
|
|||
# This will simply remove some clutter files from the home directory
|
||||
|
||||
[ -f ~/.zsh-update ] && mv ~/.zsh-update $ZSH_CACHE/.zsh-update
|
||||
[ -f ~/.sudo_as_admin_sucessful ] && rm ~/.sudo_as_admin_successful
|
||||
[ -f ~/.bash_history ] && rm ~/.bash_history
|
||||
|
||||
# Make sure ZSH_CACHE dir exists, avoiding zsh to create it's cache files in $HOME
|
||||
mkdir -p "$ZSH_CACHE"
|
3
home/.config/shell/handlers → home/.config/zsh/rc/cmd_not_found.zsh
Executable file → Normal file
3
home/.config/shell/handlers → home/.config/zsh/rc/cmd_not_found.zsh
Executable file → Normal file
|
@ -1,5 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
if command -v pkgfile > /dev/null; then
|
||||
# Command not found hook that uses `pkgfile` package
|
||||
# to search through the package index in order to find
|
||||
|
@ -38,3 +36,4 @@ elif [ -x /usr/lib/command-not-found ] || [ -x /usr/share/command-not-found/comm
|
|||
fi
|
||||
}
|
||||
fi
|
||||
|
19
home/.config/zsh/rc/completion.zsh
Normal file
19
home/.config/zsh/rc/completion.zsh
Normal file
|
@ -0,0 +1,19 @@
|
|||
# Autocompletion behavior of ZSH
|
||||
|
||||
autoload -Uz compinit
|
||||
zmodload -i zsh/complist # load completion list
|
||||
|
||||
if [[ -n "$(print ${ZDOTDIR:-$HOME}/.zcompdump(Nmh+5))" ]]; then
|
||||
# Re-check for new completions, re-creating .zcompdump if necessary.
|
||||
# This check can be quite slow and it's rare that we actually have new completions to load.
|
||||
# For that reason, we only do this if the compdump file is older than 5 hours.
|
||||
compinit
|
||||
else
|
||||
# This will omit the check for new completions,
|
||||
# only re-creating .zcompdump if it doesn't yet exist.
|
||||
compinit -C
|
||||
fi
|
||||
|
||||
zstyle ':completion:*' menu select # select completions with arrow keys
|
||||
zstyle ':completion:*' group-name '' # group results by category
|
||||
zstyle ':completion:::::' completer _expand _complete _ignored _approximate # enable approximate matches for completion
|
8
home/.config/zsh/rc/fallback_term.zsh
Normal file
8
home/.config/zsh/rc/fallback_term.zsh
Normal file
|
@ -0,0 +1,8 @@
|
|||
# If the set $TERM variable doesn't match any configured terminfo entries
|
||||
# fall back to xterm. This fixes SSH connections from unknown terminals
|
||||
|
||||
if ! infocmp "$TERM" &>/dev/null; then
|
||||
echo "Setting \$TERM to xterm-256color due to missing terminfo entry for $TERM."
|
||||
export TERM=xterm-256color
|
||||
fi
|
||||
|
59
home/.config/zsh/rc/history.zsh
Normal file
59
home/.config/zsh/rc/history.zsh
Normal file
|
@ -0,0 +1,59 @@
|
|||
export HISTSIZE=12000
|
||||
export SAVEHIST=10000
|
||||
|
||||
# Append history list to history file once the session exits, rather than replacing
|
||||
# the history file, erasing any past entries
|
||||
setopt APPEND_HISTORY
|
||||
|
||||
# If the internal history needs to be trimmed to add the current command line, setting this
|
||||
# option will cause the oldest history event that has a duplicate to be lost before losing a
|
||||
# unique event from the list. You should be sure to set the value of HISTSIZE to a larger
|
||||
# number than SAVEHIST in order to give you some room for the duplicated events, otherwise
|
||||
# this option will behave just like HIST_IGNORE_ALL_DUPS once the history fills up with unique
|
||||
# events.
|
||||
setopt HIST_EXPIRE_DUPS_FIRST
|
||||
|
||||
# When searching for history entries in the line editor, do not display duplicates of a line
|
||||
# previously found, even if the duplicates are not contiguous.
|
||||
setopt HIST_FIND_NO_DUPS
|
||||
|
||||
# If a new command line being added to the history list duplicates an older one, the older
|
||||
# command is removed from the list (even if it is not the previous event).
|
||||
setopt HIST_IGNORE_ALL_DUPS
|
||||
|
||||
# Remove command lines from the history list when the first character on the line is a space,
|
||||
# or when one of the expanded aliases contains a leading space. Only normal aliases (not
|
||||
# global or suffix aliases) have this behaviour. Note that the command lingers in the internal
|
||||
# history until the next command is entered before it vanishes, allowing you to briefly reuse
|
||||
# or edit the line. If you want to make it vanish right away without entering another command,
|
||||
# type a space and press return.
|
||||
setopt HIST_IGNORE_SPACE
|
||||
|
||||
# When writing out the history file, older commands that duplicate newer ones are omitted.
|
||||
setopt HIST_SAVE_NO_DUPS
|
||||
|
||||
# This option works like APPEND_HISTORY except that new history lines are added to the $HISTFILE
|
||||
# incrementally (as soon as they are entered), rather than waiting until the shell exits.
|
||||
setopt INC_APPEND_HISTORY
|
||||
|
||||
# When using history expansion (such as with sudo !!), on enter, first show the expanded command
|
||||
# and only run it after confirmation (another enter press)
|
||||
setopt HIST_VERIFY
|
||||
|
||||
# Remove superfluous blanks from each command line being added to the history list
|
||||
setopt HIST_REDUCE_BLANKS
|
||||
|
||||
# When writing out the history file, by default zsh uses ad-hoc file locking to avoid known
|
||||
# problems with locking on some operating systems. With this option, locking is done by means
|
||||
# of the `fcntl` system call, where this method is available. This can improve performance on
|
||||
# recent operating systems, and is better at avoiding history corruption when files are stored
|
||||
# on NFS.
|
||||
setopt HIST_FCNTL_LOCK
|
||||
|
||||
# Save each command's beginning time (unix timestamp) and the duration (in seconds) to the
|
||||
# history file.
|
||||
setopt EXTENDED_HISTORY
|
||||
|
||||
# beep in ZLE when a widget attempts to access a history entry which isn’t there
|
||||
unsetopt HIST_BEEP
|
||||
|
2
home/.config/shell/keybinds → home/.config/zsh/rc/keybinds.zsh
Executable file → Normal file
2
home/.config/shell/keybinds → home/.config/zsh/rc/keybinds.zsh
Executable file → Normal file
|
@ -1,4 +1,3 @@
|
|||
#!/usr/bin/env zsh
|
||||
# shellcheck disable=SC2030,SC2031,SC2015
|
||||
# Set default keybindings (mostly from oh-my-zsh)
|
||||
|
||||
|
@ -63,3 +62,4 @@ bindkey ' ' magic-space
|
|||
|
||||
# [ctrl+space] Accept suggestion from zsh-autosuggestions plugin
|
||||
bindkey '^ ' autosuggest-accept
|
||||
|
15
home/.config/zsh/rc/misc.zsh
Normal file
15
home/.config/zsh/rc/misc.zsh
Normal file
|
@ -0,0 +1,15 @@
|
|||
# This file contains miscellaneous configurations,
|
||||
# usually required by external applications that isn't suited for plugins.zsh
|
||||
# or just general ZSH/shell settings that don't fit anywhere else
|
||||
|
||||
# Foot terminal uses this sequence to identify a command execution
|
||||
# that way it's possible to use ctrl+shift+z/x to jump between commands
|
||||
if [ "$TERM" = "foot" ]; then
|
||||
precmd() {
|
||||
print -Pn "\e]133;A\e\\"
|
||||
}
|
||||
fi
|
||||
|
||||
# Define TMOUT timeout for TTY and root
|
||||
# [ -z "$DISPLAY" ] && export TMOUT=800
|
||||
# [ $UID -eq 0 ] && export TMOUT=600
|
31
home/.config/zsh/rc/opts.zsh
Normal file
31
home/.config/zsh/rc/opts.zsh
Normal file
|
@ -0,0 +1,31 @@
|
|||
# Set or unset various zsh options.
|
||||
# You can read more about what options are available and what these do in
|
||||
# the ZSH manual: <https://zsh.sourceforge.io/Doc/Release/Options.html>
|
||||
#
|
||||
# Note that history-related options are set from history.zsh, not from here.
|
||||
|
||||
#########################
|
||||
# General/Other options #
|
||||
#########################
|
||||
|
||||
setopt AUTO_CD # cd by typing directory name if it's not a command
|
||||
setopt AUTO_LIST # automatically list choices on ambiguous completion
|
||||
setopt AUTO_MENU # automatically use menu completion
|
||||
setopt MENU_COMPLETE # insert first match immediately on ambiguous completion
|
||||
setopt AUTO_PARAM_SLASH # if a parameter is completed with a directory, add trailing slash instead of space
|
||||
setopt ALWAYS_TO_END # move cursor to end if word had one match
|
||||
setopt INTERACTIVE_COMMENTS # allow comments in interactive mode
|
||||
setopt MAGIC_EQUAL_SUBST # enable filename expansion for arguments of form `x=expression`
|
||||
setopt NOTIFY # report the status of background jobs immediately
|
||||
setopt NUMERIC_GLOB_SORT # sort filenames numerically when it makes sense
|
||||
setopt GLOB_DOTS # Match files starting with . without specifying it (cd <TAB>)
|
||||
|
||||
|
||||
######################
|
||||
# Auto pushd options #
|
||||
######################
|
||||
|
||||
setopt AUTO_PUSHD # Make cd push the old directory onto the directory stack
|
||||
setopt PUSHD_IGNORE_DUPS # don't push multiple copies of the same directory
|
||||
setopt PUSHD_TO_HOME # have pushd with no arguments act like `pushd $HOME`
|
||||
setopt PUSHD_SILENT # do not print the directory stack
|
15
home/.config/zsh/rc/plugins.zsh
Normal file
15
home/.config/zsh/rc/plugins.zsh
Normal file
|
@ -0,0 +1,15 @@
|
|||
# This file loads custom ZSH plugins or runs shell configurations
|
||||
# exposed by various plugins. This often includes custom autocompletions,
|
||||
# but also whatever other functionalities that these may contain.
|
||||
|
||||
if command -v pyenv >/dev/null 2>&1; then
|
||||
eval "$(pyenv init -)"
|
||||
fi
|
||||
|
||||
if command -v zoxide >/dev/null 2>&1; then
|
||||
eval "$(zoxide init zsh --cmd z)"
|
||||
fi
|
||||
|
||||
if command -v eww >/dev/null 2>&1; then
|
||||
eval "$(eww shell-completions --shell zsh)"
|
||||
fi
|
|
@ -185,3 +185,4 @@ else
|
|||
RPS1="%(?..${RED}%? ↵$RESET)"
|
||||
fi
|
||||
|
||||
|
18
home/.config/zsh/rc/zgenom.zsh
Normal file
18
home/.config/zsh/rc/zgenom.zsh
Normal file
|
@ -0,0 +1,18 @@
|
|||
# Load zgenom (plugin manager for ZSH)
|
||||
source "${ZDOTDIR}/.zgenom/zgenom.zsh"
|
||||
|
||||
# Check for zgenom updates
|
||||
# This does not increase startup time
|
||||
zgenom autoupdate
|
||||
|
||||
# If the init script doesn't exist yet
|
||||
if ! zgenom saved; then
|
||||
zgenom load akash329d/zsh-alias-finder
|
||||
zgenom load clarketm/zsh-completions
|
||||
zgenom load zsh-users/zsh-autosuggestions
|
||||
zgenom load zdharma-continuum/fast-syntax-highlighting
|
||||
|
||||
# Generate the init script from plugins above
|
||||
zgenom save
|
||||
fi
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue