Lots of config
This commit is contained in:
3
.config/brave-flags.conf
Normal file
3
.config/brave-flags.conf
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
--ozone-platform=wayland
|
||||||
|
--ozone-platform-hint=wayland
|
||||||
|
--enable-features=TouchpadOverscrollHistoryNavigation
|
||||||
257
.config/btop/btop.conf
Normal file
257
.config/btop/btop.conf
Normal file
@@ -0,0 +1,257 @@
|
|||||||
|
#? Config file for btop v. 1.4.5
|
||||||
|
|
||||||
|
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||||
|
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||||
|
color_theme = "current"
|
||||||
|
|
||||||
|
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
||||||
|
theme_background = True
|
||||||
|
|
||||||
|
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
||||||
|
truecolor = True
|
||||||
|
|
||||||
|
#* Set to true to force tty mode regardless if a real tty has been detected or not.
|
||||||
|
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
||||||
|
force_tty = False
|
||||||
|
|
||||||
|
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
||||||
|
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
||||||
|
#* Use whitespace " " as separator between different presets.
|
||||||
|
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
|
||||||
|
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
|
||||||
|
|
||||||
|
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
|
||||||
|
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
||||||
|
vim_keys = True
|
||||||
|
|
||||||
|
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
||||||
|
rounded_corners = True
|
||||||
|
|
||||||
|
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
||||||
|
#* "braille" offers the highest resolution but might not be included in all fonts.
|
||||||
|
#* "block" has half the resolution of braille but uses more common characters.
|
||||||
|
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
|
||||||
|
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
|
||||||
|
graph_symbol = "braille"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_cpu = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_gpu = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_mem = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_net = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_proc = "default"
|
||||||
|
|
||||||
|
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
||||||
|
shown_boxes = "cpu mem net proc"
|
||||||
|
|
||||||
|
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
||||||
|
update_ms = 2000
|
||||||
|
|
||||||
|
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||||
|
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||||
|
proc_sorting = "cpu lazy"
|
||||||
|
|
||||||
|
#* Reverse sorting order, True or False.
|
||||||
|
proc_reversed = False
|
||||||
|
|
||||||
|
#* Show processes as a tree.
|
||||||
|
proc_tree = False
|
||||||
|
|
||||||
|
#* Use the cpu graph colors in the process list.
|
||||||
|
proc_colors = True
|
||||||
|
|
||||||
|
#* Use a darkening gradient in the process list.
|
||||||
|
proc_gradient = True
|
||||||
|
|
||||||
|
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
||||||
|
proc_per_core = False
|
||||||
|
|
||||||
|
#* Show process memory as bytes instead of percent.
|
||||||
|
proc_mem_bytes = True
|
||||||
|
|
||||||
|
#* Show cpu graph for each process.
|
||||||
|
proc_cpu_graphs = True
|
||||||
|
|
||||||
|
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
|
||||||
|
proc_info_smaps = False
|
||||||
|
|
||||||
|
#* Show proc box on left side of screen instead of right.
|
||||||
|
proc_left = False
|
||||||
|
|
||||||
|
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
||||||
|
proc_filter_kernel = False
|
||||||
|
|
||||||
|
#* In tree-view, always accumulate child process resources in the parent process.
|
||||||
|
proc_aggregate = False
|
||||||
|
|
||||||
|
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
||||||
|
#* Select from a list of detected attributes from the options menu.
|
||||||
|
cpu_graph_upper = "Auto"
|
||||||
|
|
||||||
|
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
|
||||||
|
#* Select from a list of detected attributes from the options menu.
|
||||||
|
cpu_graph_lower = "Auto"
|
||||||
|
|
||||||
|
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
|
||||||
|
show_gpu_info = "Auto"
|
||||||
|
|
||||||
|
#* Toggles if the lower CPU graph should be inverted.
|
||||||
|
cpu_invert_lower = True
|
||||||
|
|
||||||
|
#* Set to True to completely disable the lower CPU graph.
|
||||||
|
cpu_single_graph = False
|
||||||
|
|
||||||
|
#* Show cpu box at bottom of screen instead of top.
|
||||||
|
cpu_bottom = False
|
||||||
|
|
||||||
|
#* Shows the system uptime in the CPU box.
|
||||||
|
show_uptime = True
|
||||||
|
|
||||||
|
#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo.
|
||||||
|
show_cpu_watts = True
|
||||||
|
|
||||||
|
#* Show cpu temperature.
|
||||||
|
check_temp = True
|
||||||
|
|
||||||
|
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
|
||||||
|
cpu_sensor = "Auto"
|
||||||
|
|
||||||
|
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
|
||||||
|
show_coretemp = True
|
||||||
|
|
||||||
|
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
|
||||||
|
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
|
||||||
|
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
|
||||||
|
#* Example: "4:0 5:1 6:3"
|
||||||
|
cpu_core_map = ""
|
||||||
|
|
||||||
|
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
|
||||||
|
temp_scale = "celsius"
|
||||||
|
|
||||||
|
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
||||||
|
base_10_sizes = False
|
||||||
|
|
||||||
|
#* Show CPU frequency.
|
||||||
|
show_cpu_freq = True
|
||||||
|
|
||||||
|
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
|
||||||
|
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
||||||
|
clock_format = "%X"
|
||||||
|
|
||||||
|
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
|
||||||
|
background_update = True
|
||||||
|
|
||||||
|
#* Custom cpu model name, empty string to disable.
|
||||||
|
custom_cpu_name = ""
|
||||||
|
|
||||||
|
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
||||||
|
#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user"
|
||||||
|
disks_filter = ""
|
||||||
|
|
||||||
|
#* Show graphs instead of meters for memory values.
|
||||||
|
mem_graphs = True
|
||||||
|
|
||||||
|
#* Show mem box below net box instead of above.
|
||||||
|
mem_below_net = False
|
||||||
|
|
||||||
|
#* Count ZFS ARC in cached and available memory.
|
||||||
|
zfs_arc_cached = True
|
||||||
|
|
||||||
|
#* If swap memory should be shown in memory box.
|
||||||
|
show_swap = True
|
||||||
|
|
||||||
|
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
|
||||||
|
swap_disk = True
|
||||||
|
|
||||||
|
#* If mem box should be split to also show disks info.
|
||||||
|
show_disks = True
|
||||||
|
|
||||||
|
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
||||||
|
only_physical = True
|
||||||
|
|
||||||
|
#* Read disks list from /etc/fstab. This also disables only_physical.
|
||||||
|
use_fstab = True
|
||||||
|
|
||||||
|
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
|
||||||
|
zfs_hide_datasets = False
|
||||||
|
|
||||||
|
#* Set to true to show available disk space for privileged users.
|
||||||
|
disk_free_priv = False
|
||||||
|
|
||||||
|
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
|
||||||
|
show_io_stat = True
|
||||||
|
|
||||||
|
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
||||||
|
io_mode = False
|
||||||
|
|
||||||
|
#* Set to True to show combined read/write io graphs in io mode.
|
||||||
|
io_graph_combined = False
|
||||||
|
|
||||||
|
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
|
||||||
|
#* Example: "/mnt/media:100 /:20 /boot:1".
|
||||||
|
io_graph_speeds = ""
|
||||||
|
|
||||||
|
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
||||||
|
net_download = 100
|
||||||
|
|
||||||
|
net_upload = 100
|
||||||
|
|
||||||
|
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
|
||||||
|
net_auto = True
|
||||||
|
|
||||||
|
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
||||||
|
net_sync = True
|
||||||
|
|
||||||
|
#* Starts with the Network Interface specified here.
|
||||||
|
net_iface = ""
|
||||||
|
|
||||||
|
#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes.
|
||||||
|
base_10_bitrate = "Auto"
|
||||||
|
|
||||||
|
#* Show battery stats in top right if battery is present.
|
||||||
|
show_battery = True
|
||||||
|
|
||||||
|
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
||||||
|
selected_battery = "Auto"
|
||||||
|
|
||||||
|
#* Show power stats of battery next to charge indicator.
|
||||||
|
show_battery_watts = True
|
||||||
|
|
||||||
|
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
||||||
|
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
||||||
|
log_level = "WARNING"
|
||||||
|
|
||||||
|
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
|
||||||
|
nvml_measure_pcie_speeds = True
|
||||||
|
|
||||||
|
#* Measure PCIe throughput on AMD cards, may impact performance on certain cards.
|
||||||
|
rsmi_measure_pcie_speeds = True
|
||||||
|
|
||||||
|
#* Horizontally mirror the GPU graph.
|
||||||
|
gpu_mirror_graph = True
|
||||||
|
|
||||||
|
#* Custom gpu0 model name, empty string to disable.
|
||||||
|
custom_gpu_name0 = ""
|
||||||
|
|
||||||
|
#* Custom gpu1 model name, empty string to disable.
|
||||||
|
custom_gpu_name1 = ""
|
||||||
|
|
||||||
|
#* Custom gpu2 model name, empty string to disable.
|
||||||
|
custom_gpu_name2 = ""
|
||||||
|
|
||||||
|
#* Custom gpu3 model name, empty string to disable.
|
||||||
|
custom_gpu_name3 = ""
|
||||||
|
|
||||||
|
#* Custom gpu4 model name, empty string to disable.
|
||||||
|
custom_gpu_name4 = ""
|
||||||
|
|
||||||
|
#* Custom gpu5 model name, empty string to disable.
|
||||||
|
custom_gpu_name5 = ""
|
||||||
3
.config/chromium-flags.conf
Normal file
3
.config/chromium-flags.conf
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
--ozone-platform=wayland
|
||||||
|
--ozone-platform-hint=wayland
|
||||||
|
--enable-features=TouchpadOverscrollHistoryNavigation
|
||||||
15
.config/chromium/Default/Preferences
Normal file
15
.config/chromium/Default/Preferences
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"extensions": {
|
||||||
|
"theme": {
|
||||||
|
"id": "",
|
||||||
|
"use_system": false,
|
||||||
|
"use_custom": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"browser": {
|
||||||
|
"theme": {
|
||||||
|
"color_scheme": 2,
|
||||||
|
"user_color": 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
1
.config/elephant/calc.toml
Normal file
1
.config/elephant/calc.toml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
async = false
|
||||||
3
.config/elephant/desktopapplications.toml
Normal file
3
.config/elephant/desktopapplications.toml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
show_actions = false
|
||||||
|
only_search_title = true
|
||||||
|
history = false
|
||||||
1
.config/elephant/symbols.toml
Normal file
1
.config/elephant/symbols.toml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
command = 'wl-copy && hyprctl dispatch sendshortcut "SHIFT, Insert,"'
|
||||||
4
.config/environment.d/fcitx.conf
Normal file
4
.config/environment.d/fcitx.conf
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
INPUT_METHOD=fcitx
|
||||||
|
QT_IM_MODULE=fcitx
|
||||||
|
XMODIFIERS=@im=fcitx
|
||||||
|
SDL_IM_MODULE=fcitx
|
||||||
2
.config/fcitx5/conf/clipboard.conf
Normal file
2
.config/fcitx5/conf/clipboard.conf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
TriggerKey=
|
||||||
|
PastePrimaryKey=
|
||||||
1
.config/fcitx5/conf/xcb.conf
Normal file
1
.config/fcitx5/conf/xcb.conf
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Allow Overriding System XKB Settings=False
|
||||||
@@ -1,3 +1,6 @@
|
|||||||
|
# Dynamic theme colors
|
||||||
|
config-file = ?"~/.local/state/station/theme/ghostty.conf"
|
||||||
|
|
||||||
confirm-close-surface=false
|
confirm-close-surface=false
|
||||||
|
|
||||||
keybind = all:unconsumed:ctrl+shift+,=reload_config
|
keybind = all:unconsumed:ctrl+shift+,=reload_config
|
||||||
@@ -133,3 +136,34 @@ keybind = all:unconsumed:shift+arrow_left=unbind
|
|||||||
keybind = all:unconsumed:shift+arrow_right=unbind
|
keybind = all:unconsumed:shift+arrow_right=unbind
|
||||||
#adjust_selection:up
|
#adjust_selection:up
|
||||||
keybind = all:unconsumed:shift+arrow_up=unbind
|
keybind = all:unconsumed:shift+arrow_up=unbind
|
||||||
|
|
||||||
|
# Font
|
||||||
|
font-family = "Fira Code Nerd Font"
|
||||||
|
font-style = Regular
|
||||||
|
font-size = 9
|
||||||
|
|
||||||
|
# Window
|
||||||
|
window-theme = ghostty
|
||||||
|
window-padding-x = 14
|
||||||
|
window-padding-y = 14
|
||||||
|
confirm-close-surface=false
|
||||||
|
resize-overlay = never
|
||||||
|
gtk-toolbar-style = flat
|
||||||
|
|
||||||
|
# Cursor styling
|
||||||
|
cursor-style = "block"
|
||||||
|
cursor-style-blink = false
|
||||||
|
|
||||||
|
# Cursor styling + SSH session terminfo
|
||||||
|
# (all shell integration options must be passed together)
|
||||||
|
shell-integration-features = no-cursor,ssh-env
|
||||||
|
|
||||||
|
# Keyboard bindings
|
||||||
|
keybind = shift+insert=paste_from_clipboard
|
||||||
|
keybind = control+insert=copy_to_clipboard
|
||||||
|
|
||||||
|
# Slowdown mouse scrolling
|
||||||
|
mouse-scroll-multiplier = 0.95
|
||||||
|
|
||||||
|
# Fix general slowness on hyprland (https://github.com/ghostty-org/ghostty/discussions/3224)
|
||||||
|
async-backend = epoll
|
||||||
|
|||||||
@@ -1,14 +1,36 @@
|
|||||||
[user]
|
[user]
|
||||||
email = stofflees@gmail.com
|
email = stofflees@gmail.com
|
||||||
name = Chris
|
name = Chris
|
||||||
[pull]
|
[pull]
|
||||||
rebase = true
|
rebase = true
|
||||||
|
[push]
|
||||||
|
autoSetupRemote = true
|
||||||
[init]
|
[init]
|
||||||
defaultBranch = main
|
defaultBranch = main
|
||||||
[core]
|
[core]
|
||||||
excludesfile = /home/chris/.config/git/ignore
|
excludesfile = /home/chris/.config/git/ignore
|
||||||
[filter "lfs"]
|
[filter "lfs"]
|
||||||
clean = git-lfs clean -- %f
|
clean = git-lfs clean -- %f
|
||||||
smudge = git-lfs smudge -- %f
|
smudge = git-lfs smudge -- %f
|
||||||
process = git-lfs filter-process
|
process = git-lfs filter-process
|
||||||
required = true
|
required = true
|
||||||
|
[alias]
|
||||||
|
co = checkout
|
||||||
|
br = branch
|
||||||
|
ci = commit
|
||||||
|
st = status
|
||||||
|
[diff]
|
||||||
|
algorithm = histogram # Clearer diffs on moved/edited lines
|
||||||
|
colorMoved = plain # Highlight moved blocks in diffs
|
||||||
|
mnemonicPrefix = true # More intuitive refs in diff output
|
||||||
|
[commit]
|
||||||
|
verbose = true # Include diff comment in commit message template
|
||||||
|
[column]
|
||||||
|
ui = auto # Output in columns when possible
|
||||||
|
[branch]
|
||||||
|
sort = -committerdate # Sort branches by most recent commit first
|
||||||
|
[tag]
|
||||||
|
sort = -version:refname # Sort version numbers as you would expect
|
||||||
|
[rerere]
|
||||||
|
enabled = true # Record and reuse conflict resolutions
|
||||||
|
autoupdate = true # Apply stored conflict resolutions automatically
|
||||||
|
|||||||
71
.config/hyprland-preview-share-picker/config.yaml
Normal file
71
.config/hyprland-preview-share-picker/config.yaml
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
# paths to stylesheets on the filesystem which should be applied to the application
|
||||||
|
#
|
||||||
|
# relative paths are resolved relative to the location of the config file
|
||||||
|
stylesheets: ["../../.local/state/station/theme/hyprland-preview-share-picker.css"]
|
||||||
|
# default page selected when the picker is opened
|
||||||
|
default_page: windows
|
||||||
|
|
||||||
|
window:
|
||||||
|
# height of the application window
|
||||||
|
height: 500
|
||||||
|
# width of the application window
|
||||||
|
width: 1000
|
||||||
|
|
||||||
|
image:
|
||||||
|
# size to which the images should be internally resized to reduce the memory footprint
|
||||||
|
resize_size: 500
|
||||||
|
# target size of the longer side of the image widget
|
||||||
|
widget_size: 150
|
||||||
|
|
||||||
|
classes:
|
||||||
|
# css classname of the window
|
||||||
|
window: window
|
||||||
|
# css classname of the card containing an image and a label
|
||||||
|
image_card: card
|
||||||
|
# css classname of the card containing an image and a label when the image is still being loaded
|
||||||
|
image_card_loading: card-loading
|
||||||
|
# css classname of the image inside the card
|
||||||
|
image: image
|
||||||
|
# css classname of the label inside the card
|
||||||
|
image_label: image-label
|
||||||
|
# css classname of the notebook containing all pages
|
||||||
|
notebook: notebook
|
||||||
|
# css classname of a label of the notebook
|
||||||
|
tab_label: tab-label
|
||||||
|
# css classname of a notebook page (e.g. windows container)
|
||||||
|
notebook_page: page
|
||||||
|
# css classname of the region selection button
|
||||||
|
region_button: region-button
|
||||||
|
# css classname of the button containing the session restore checkbox and label
|
||||||
|
restore_button: restore-button
|
||||||
|
|
||||||
|
windows:
|
||||||
|
# minimum amount of image cards per row on the windows page
|
||||||
|
min_per_row: 3
|
||||||
|
# maximum amount of image cards per row on the windows page
|
||||||
|
max_per_row: 999
|
||||||
|
# number of clicks needed to select a window
|
||||||
|
clicks: 1
|
||||||
|
# spacing in pixels between the window cards
|
||||||
|
spacing: 12
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
# number of clicks needed to select an output
|
||||||
|
clicks: 1
|
||||||
|
# spacing in pixels between the outputs in the layout
|
||||||
|
# note: the spacing is applied from both sides (the gap is `spacing * 2`)
|
||||||
|
spacing: 6
|
||||||
|
# show the label with the output name
|
||||||
|
show_label: false
|
||||||
|
# size the output cards respectively to their scaling
|
||||||
|
respect_output_scaling: true
|
||||||
|
|
||||||
|
region:
|
||||||
|
# command to run for region selection
|
||||||
|
# the output needs to be in the <output>@<x>,<y>,<w>,<h> (e.g. DP-3@2789,436,756,576) format
|
||||||
|
command: slurp -f '%o@%x,%y,%w,%h'
|
||||||
|
|
||||||
|
# hide the token restore checkbox and use the default value instead
|
||||||
|
hide_token_restore: true
|
||||||
|
# enable debug logs by default
|
||||||
|
debug: false
|
||||||
13
.config/imv/config
Normal file
13
.config/imv/config
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
[binds]
|
||||||
|
|
||||||
|
# Print the current image file
|
||||||
|
<Ctrl+p> = exec lp "$imv_current_file"
|
||||||
|
|
||||||
|
# Delete the current image and quit the viewer
|
||||||
|
<Ctrl+x> = exec rm "$imv_current_file"; quit
|
||||||
|
|
||||||
|
# Delete the current image and move to the next one
|
||||||
|
<Ctrl+Shift+X> = exec rm "$imv_current_file"; close
|
||||||
|
|
||||||
|
# Rotate the currently open image by 90 degrees
|
||||||
|
<Ctrl+r> = exec mogrify -rotate 90 "$imv_current_file"
|
||||||
32
.config/mako/core.ini
Normal file
32
.config/mako/core.ini
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
anchor=top-right
|
||||||
|
default-timeout=5000
|
||||||
|
width=420
|
||||||
|
outer-margin=20
|
||||||
|
padding=10,15
|
||||||
|
border-size=2
|
||||||
|
max-icon-size=32
|
||||||
|
font=sans-serif 14px
|
||||||
|
|
||||||
|
[app-name=Spotify]
|
||||||
|
invisible=1
|
||||||
|
|
||||||
|
[mode=do-not-disturb]
|
||||||
|
invisible=true
|
||||||
|
|
||||||
|
[mode=do-not-disturb app-name=notify-send]
|
||||||
|
invisible=false
|
||||||
|
|
||||||
|
[urgency=critical]
|
||||||
|
default-timeout=0
|
||||||
|
layer=overlay
|
||||||
|
|
||||||
|
[summary~="Setup Wi-Fi"]
|
||||||
|
on-button-left=exec sh -c 'station-notification-dismiss "Setup Wi-Fi"; station-launch-wifi'
|
||||||
|
|
||||||
|
[summary~="Screenshot copied & saved"]
|
||||||
|
max-icon-size=80
|
||||||
|
format=<b>%s</b>\n%b
|
||||||
|
|
||||||
|
; text-color={{ foreground }}
|
||||||
|
; border-color={{ accent }}
|
||||||
|
; background-color={{ background }}
|
||||||
99
.config/sddm/station/Main.qml
Normal file
99
.config/sddm/station/Main.qml
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
import QtQuick 2.0
|
||||||
|
import SddmComponents 2.0
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: root
|
||||||
|
width: 640
|
||||||
|
height: 480
|
||||||
|
color: "#000000"
|
||||||
|
|
||||||
|
property string currentUser: userModel.lastUser
|
||||||
|
property int sessionIndex: {
|
||||||
|
for (var i = 0; i < sessionModel.rowCount(); i++) {
|
||||||
|
var name = (sessionModel.data(sessionModel.index(i, 0), Qt.DisplayRole) || "").toString()
|
||||||
|
if (name.indexOf("uwsm") !== -1)
|
||||||
|
return i
|
||||||
|
}
|
||||||
|
return sessionModel.lastIndex
|
||||||
|
}
|
||||||
|
|
||||||
|
Connections {
|
||||||
|
target: sddm
|
||||||
|
function onLoginFailed() {
|
||||||
|
errorMessage.text = "Login failed"
|
||||||
|
password.text = ""
|
||||||
|
password.focus = true
|
||||||
|
}
|
||||||
|
function onLoginSucceeded() {
|
||||||
|
errorMessage.text = ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Column {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
spacing: root.height * 0.04
|
||||||
|
width: parent.width
|
||||||
|
|
||||||
|
// Image {
|
||||||
|
// source: "logo.svg"
|
||||||
|
// width: root.width * 0.35
|
||||||
|
// height: Math.round(width * sourceSize.height / sourceSize.width)
|
||||||
|
// fillMode: Image.PreserveAspectFit
|
||||||
|
// anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
// }
|
||||||
|
|
||||||
|
Row {
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
spacing: root.width * 0.007
|
||||||
|
|
||||||
|
Text {
|
||||||
|
text: "\uf023"
|
||||||
|
color: "#ffffff"
|
||||||
|
font.family: "JetBrainsMono Nerd Font"
|
||||||
|
font.pixelSize: root.height * 0.025
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
width: root.width * 0.17
|
||||||
|
height: root.height * 0.04
|
||||||
|
color: "#000000"
|
||||||
|
border.color: "#ffffff"
|
||||||
|
border.width: 1
|
||||||
|
clip: true
|
||||||
|
|
||||||
|
TextInput {
|
||||||
|
id: password
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.margins: root.height * 0.008
|
||||||
|
verticalAlignment: TextInput.AlignVCenter
|
||||||
|
echoMode: TextInput.Password
|
||||||
|
font.family: "JetBrainsMono Nerd Font"
|
||||||
|
font.pixelSize: root.height * 0.02
|
||||||
|
font.letterSpacing: root.height * 0.004
|
||||||
|
passwordCharacter: "\u2022"
|
||||||
|
color: "#ffffff"
|
||||||
|
focus: true
|
||||||
|
|
||||||
|
Keys.onPressed: {
|
||||||
|
if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) {
|
||||||
|
sddm.login(root.currentUser, password.text, root.sessionIndex)
|
||||||
|
event.accepted = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: errorMessage
|
||||||
|
text: ""
|
||||||
|
color: "#f7768e"
|
||||||
|
font.family: "JetBrainsMono Nerd Font"
|
||||||
|
font.pixelSize: root.height * 0.018
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Component.onCompleted: password.forceActiveFocus()
|
||||||
|
}
|
||||||
6
.config/sddm/station/metadata.desktop
Normal file
6
.config/sddm/station/metadata.desktop
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
[SddmGreeterTheme]
|
||||||
|
Name=Station
|
||||||
|
Description=Minimal terminal-style login theme matching the Limine bootloader aesthetic
|
||||||
|
Author=Station
|
||||||
|
Type=sddm-theme
|
||||||
|
Version=1.0
|
||||||
1
.config/sddm/station/theme.conf
Normal file
1
.config/sddm/station/theme.conf
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[General]
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
|
||||||
# Use neovim for vim if present
|
# Use neovim for vim if present
|
||||||
[ -x "$(command -v nvim)" ] && alias vim="nvim" vimdiff="nvim -d"
|
[ -x "$(command -v nvim)" ] && alias vim="nvim" vimdiff="nvim -d"
|
||||||
|
|
||||||
@@ -14,6 +13,13 @@ done
|
|||||||
|
|
||||||
# Verbosity and settings that you pretty much just always are going to want.
|
# Verbosity and settings that you pretty much just always are going to want.
|
||||||
alias \
|
alias \
|
||||||
|
...="cd .." \
|
||||||
|
...="cd ../.." \
|
||||||
|
....="cd ../../.." \
|
||||||
|
.....="cd ../../../.." \
|
||||||
|
df="df -h" \
|
||||||
|
du="du -h" \
|
||||||
|
free="free -m" \
|
||||||
cp="cp -iv" \
|
cp="cp -iv" \
|
||||||
mv="mv -iv" \
|
mv="mv -iv" \
|
||||||
rm="rm -vI" \
|
rm="rm -vI" \
|
||||||
@@ -25,45 +31,41 @@ alias \
|
|||||||
tmux="tmux -f ~/.config/tmux/tmux.conf" \
|
tmux="tmux -f ~/.config/tmux/tmux.conf" \
|
||||||
aider="aider --config ~/.config/aider/aider.yaml"
|
aider="aider --config ~/.config/aider/aider.yaml"
|
||||||
|
|
||||||
|
alias ff="fzf --preview 'bat --style=numbers --color=always {}'"
|
||||||
|
alias eff='$EDITOR "$(ff)"'
|
||||||
|
|
||||||
|
if command -v eza &> /dev/null; then
|
||||||
|
alias ls='eza -lh --group-directories-first --icons=auto'
|
||||||
|
alias lsa='ls -a'
|
||||||
|
alias lt='eza --tree --level=2 --long --icons --git'
|
||||||
|
alias lta='lt -a'
|
||||||
|
fi
|
||||||
|
|
||||||
|
if command -v zoxide &> /dev/null; then
|
||||||
|
alias cd="zd"
|
||||||
|
zd() {
|
||||||
|
if (( $# == 0 )); then
|
||||||
|
builtin cd ~ || return
|
||||||
|
elif [[ -d $1 ]]; then
|
||||||
|
builtin cd "$1" || return
|
||||||
|
else
|
||||||
|
if ! z "$@"; then
|
||||||
|
echo "Error: Directory not found"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf "\U000F17A9 "
|
||||||
|
pwd
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n $TMUX ]]; then
|
||||||
|
tmux rename-window "$(basename "$PWD")"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
# Colorize commands when possible.
|
# Colorize commands when possible.
|
||||||
alias \
|
alias \
|
||||||
ls="ls -hAN --color=auto --group-directories-first"\
|
|
||||||
li="ls -AhgGFt --group-directories-first --time=atime --color=auto --time-style=long-iso \
|
|
||||||
| sed 's/^[^ ][^ ]* *[^ ][^ ]* //' \
|
|
||||||
| awk '\
|
|
||||||
/^total/ { next }\
|
|
||||||
{\
|
|
||||||
filename = \$NF;\
|
|
||||||
icon = \"📄\";\
|
|
||||||
if (filename ~ /\/$/) {\
|
|
||||||
icon = \"📁\";\
|
|
||||||
} else if (filename ~ /\*$/) {\
|
|
||||||
icon = \"⚙️ \";\
|
|
||||||
} else if (filename ~ /@$/) {\
|
|
||||||
icon = \"🔗\";\
|
|
||||||
} else {\
|
|
||||||
ext = tolower(cleanName);\
|
|
||||||
if (ext ~ /\./) {\
|
|
||||||
sub(/^.*\./, \"\", ext);\
|
|
||||||
} else {\
|
|
||||||
ext = \"\";\
|
|
||||||
}\
|
|
||||||
if (ext ~ /^(jpg|jpeg|png|gif)$/) {\
|
|
||||||
icon = \"🖼\";\
|
|
||||||
} else if (ext ~ /^(mp3|wav|flac)$/) {\
|
|
||||||
icon = \"🎵\";\
|
|
||||||
} else if (ext ~ /^(pdf)$/) {\
|
|
||||||
icon = \"📕\";\
|
|
||||||
} else if (ext ~ /^(txt|md)$/) {\
|
|
||||||
icon = \"📝\";\
|
|
||||||
} else if (ext ~ /^(js|py|sh|c|cpp|java)$/) {\
|
|
||||||
icon = \"⚡\";\
|
|
||||||
}\
|
|
||||||
}\
|
|
||||||
print icon \" \" \$0;\
|
|
||||||
}\
|
|
||||||
'" \
|
|
||||||
grep="grep --color=auto" \
|
grep="grep --color=auto" \
|
||||||
diff="diff --color=auto" \
|
diff="diff --color=auto" \
|
||||||
ccat="highlight --out-format=ansi"
|
ccat="highlight --out-format=ansi"
|
||||||
@@ -73,7 +75,6 @@ alias \
|
|||||||
ka="killall" \
|
ka="killall" \
|
||||||
YT="youtube-viewer" \
|
YT="youtube-viewer" \
|
||||||
sdn="sudo shutdown -h now" \
|
sdn="sudo shutdown -h now" \
|
||||||
e="$EDITOR" \
|
|
||||||
v="$EDITOR" \
|
v="$EDITOR" \
|
||||||
cl="clear" \
|
cl="clear" \
|
||||||
p="sudo pacman" \
|
p="sudo pacman" \
|
||||||
@@ -112,15 +113,19 @@ alias \
|
|||||||
enr="trans en:ro -j -- " \
|
enr="trans en:ro -j -- " \
|
||||||
enri="trans en:ro -i"
|
enri="trans en:ro -i"
|
||||||
|
|
||||||
|
alias d='docker'
|
||||||
|
alias dc='docker compose'
|
||||||
|
alias t='tmux attach || tmux new -s Work'
|
||||||
|
e() { if [ "$#" -eq 0 ]; then command nvim . ; else command nvim "$@"; fi; }
|
||||||
|
|
||||||
|
open() (
|
||||||
|
xdg-open "$@" >/dev/null 2>&1 &
|
||||||
|
)
|
||||||
|
|
||||||
function tf() {
|
function tf() {
|
||||||
php artisan test --filter="$*"
|
php artisan test --filter="$*"
|
||||||
}
|
}
|
||||||
|
|
||||||
function cdj() {
|
|
||||||
dir=$1
|
|
||||||
cd $1 2>/dev/null || autojump $1
|
|
||||||
}
|
|
||||||
|
|
||||||
function dut() {
|
function dut() {
|
||||||
threshold=${1:-5}
|
threshold=${1:-5}
|
||||||
sudo du -hax -t"${threshold}G" /* --exclude=/{proc,sys,dev,run}
|
sudo du -hax -t"${threshold}G" /* --exclude=/{proc,sys,dev,run}
|
||||||
@@ -246,7 +251,6 @@ alias \
|
|||||||
|
|
||||||
|
|
||||||
alias \
|
alias \
|
||||||
docker-compose="podman-compose" \
|
|
||||||
cat="bat" \
|
cat="bat" \
|
||||||
ls="eza --icons=always" \
|
ls="eza --icons=always" \
|
||||||
fullClean="nix-collect-garbage --delete-old; sudo nix-collect-garbage -d; sudo /run/current-system/bin/switch-to-configuration boot" \
|
fullClean="nix-collect-garbage --delete-old; sudo nix-collect-garbage -d; sudo /run/current-system/bin/switch-to-configuration boot" \
|
||||||
|
|||||||
265
.config/shell/fns
Executable file
265
.config/shell/fns
Executable file
@@ -0,0 +1,265 @@
|
|||||||
|
# Compression
|
||||||
|
compress() { tar -czf "${1%/}.tar.gz" "${1%/}"; }
|
||||||
|
alias decompress="tar -xzf"
|
||||||
|
|
||||||
|
# Write iso file to sd card
|
||||||
|
iso2sd() {
|
||||||
|
if (( $# < 1 )); then
|
||||||
|
echo "Usage: iso2sd <input_file> [output_device]"
|
||||||
|
echo "Example: iso2sd ~/Downloads/ubuntu-25.04-desktop-amd64.iso /dev/sda"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local iso="$1"
|
||||||
|
local drive="$2"
|
||||||
|
|
||||||
|
if [[ -z $drive ]]; then
|
||||||
|
local available_sds=$(lsblk -dpno NAME | grep -E '/dev/sd')
|
||||||
|
|
||||||
|
if [[ -z $available_sds ]]; then
|
||||||
|
echo "No SD drives found and no drive specified"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
drive=$(omarchy-drive-select "$available_sds")
|
||||||
|
|
||||||
|
if [[ -z $drive ]]; then
|
||||||
|
echo "No drive selected"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo dd bs=4M status=progress oflag=sync if="$iso" of="$drive"
|
||||||
|
sudo eject "$drive"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Format an entire drive for a single partition using exFAT
|
||||||
|
format-drive() {
|
||||||
|
if (( $# != 2 )); then
|
||||||
|
echo "Usage: format-drive <device> <name>"
|
||||||
|
echo "Example: format-drive /dev/sda 'My Stuff'"
|
||||||
|
echo -e "\nAvailable drives:"
|
||||||
|
lsblk -d -o NAME -n | awk '{print "/dev/"$1}'
|
||||||
|
else
|
||||||
|
echo "WARNING: This will completely erase all data on $1 and label it '$2'."
|
||||||
|
read -rp "Are you sure you want to continue? (y/N): " confirm
|
||||||
|
|
||||||
|
if [[ $confirm =~ ^[Yy]$ ]]; then
|
||||||
|
sudo wipefs -a "$1"
|
||||||
|
sudo dd if=/dev/zero of="$1" bs=1M count=100 status=progress
|
||||||
|
sudo parted -s "$1" mklabel gpt
|
||||||
|
sudo parted -s "$1" mkpart primary 1MiB 100%
|
||||||
|
sudo parted -s "$1" set 1 msftdata on
|
||||||
|
|
||||||
|
partition="$([[ $1 == *"nvme"* ]] && echo "${1}p1" || echo "${1}1")"
|
||||||
|
sudo partprobe "$1" || true
|
||||||
|
sudo udevadm settle || true
|
||||||
|
|
||||||
|
sudo mkfs.exfat -n "$2" "$partition"
|
||||||
|
|
||||||
|
echo "Drive $1 formatted as exFAT and labeled '$2'."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# SSH Port Forwarding Functions
|
||||||
|
fip() {
|
||||||
|
(( $# < 2 )) && echo "Usage: fip <host> <port1> [port2] ..." && return 1
|
||||||
|
local host="$1"
|
||||||
|
shift
|
||||||
|
for port in "$@"; do
|
||||||
|
ssh -f -N -L "$port:localhost:$port" "$host" && echo "Forwarding localhost:$port -> $host:$port"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
dip() {
|
||||||
|
(( $# == 0 )) && echo "Usage: dip <port1> [port2] ..." && return 1
|
||||||
|
for port in "$@"; do
|
||||||
|
pkill -f "ssh.*-L $port:localhost:$port" && echo "Stopped forwarding port $port" || echo "No forwarding on port $port"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
lip() {
|
||||||
|
pgrep -af "ssh.*-L [0-9]+:localhost:[0-9]+" || echo "No active forwards"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create a Tmux Dev Layout with editor, ai, and terminal
|
||||||
|
# Usage: tdl <c|cx|codex|other_ai> [<second_ai>]
|
||||||
|
tdl() {
|
||||||
|
[[ -z $1 ]] && { echo "Usage: tdl <c|cx|codex|other_ai> [<second_ai>]"; return 1; }
|
||||||
|
[[ -z $TMUX ]] && { echo "You must start tmux to use tdl."; return 1; }
|
||||||
|
|
||||||
|
local current_dir="${PWD}"
|
||||||
|
local editor_pane ai_pane ai2_pane
|
||||||
|
local ai="$1"
|
||||||
|
local ai2="$2"
|
||||||
|
|
||||||
|
# Use TMUX_PANE for the pane we're running in (stable even if active window changes)
|
||||||
|
editor_pane="$TMUX_PANE"
|
||||||
|
|
||||||
|
# Name the current window after the base directory name
|
||||||
|
tmux rename-window -t "$editor_pane" "$(basename "$current_dir")"
|
||||||
|
|
||||||
|
# Split window vertically - top 85%, bottom 15% (target editor pane explicitly)
|
||||||
|
tmux split-window -v -p 15 -t "$editor_pane" -c "$current_dir"
|
||||||
|
|
||||||
|
# Split editor pane horizontally - AI on right 30% (capture new pane ID directly)
|
||||||
|
ai_pane=$(tmux split-window -h -p 30 -t "$editor_pane" -c "$current_dir" -P -F '#{pane_id}')
|
||||||
|
|
||||||
|
# If second AI provided, split the AI pane vertically
|
||||||
|
if [[ -n $ai2 ]]; then
|
||||||
|
ai2_pane=$(tmux split-window -v -t "$ai_pane" -c "$current_dir" -P -F '#{pane_id}')
|
||||||
|
tmux send-keys -t "$ai2_pane" "$ai2" C-m
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Run ai in the right pane
|
||||||
|
tmux send-keys -t "$ai_pane" "$ai" C-m
|
||||||
|
|
||||||
|
# Run nvim in the left pane
|
||||||
|
tmux send-keys -t "$editor_pane" "$EDITOR ." C-m
|
||||||
|
|
||||||
|
# Select the nvim pane for focus
|
||||||
|
tmux select-pane -t "$editor_pane"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create multiple tdl windows with one per subdirectory in the current directory
|
||||||
|
# Usage: tdlm <c|cx|codex|other_ai> [<second_ai>]
|
||||||
|
tdlm() {
|
||||||
|
[[ -z $1 ]] && { echo "Usage: tdlm <c|cx|codex|other_ai> [<second_ai>]"; return 1; }
|
||||||
|
[[ -z $TMUX ]] && { echo "You must start tmux to use tdlm."; return 1; }
|
||||||
|
|
||||||
|
local ai="$1"
|
||||||
|
local ai2="$2"
|
||||||
|
local base_dir="$PWD"
|
||||||
|
local first=true
|
||||||
|
|
||||||
|
# Rename the session to the current directory name (replace dots/colons which tmux disallows)
|
||||||
|
tmux rename-session "$(basename "$base_dir" | tr '.:' '--')"
|
||||||
|
|
||||||
|
for dir in "$base_dir"/*/; do
|
||||||
|
[[ -d $dir ]] || continue
|
||||||
|
local dirpath="${dir%/}"
|
||||||
|
|
||||||
|
if $first; then
|
||||||
|
# Reuse the current window for the first project
|
||||||
|
tmux send-keys -t "$TMUX_PANE" "cd '$dirpath' && tdl $ai $ai2" C-m
|
||||||
|
first=false
|
||||||
|
else
|
||||||
|
local pane_id=$(tmux new-window -c "$dirpath" -P -F '#{pane_id}')
|
||||||
|
tmux send-keys -t "$pane_id" "tdl $ai $ai2" C-m
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create a multi-pane swarm layout with the same command started in each pane (great for AI)
|
||||||
|
# Usage: tsl <pane_count> <command>
|
||||||
|
tsl() {
|
||||||
|
[[ -z $1 || -z $2 ]] && { echo "Usage: tsl <pane_count> <command>"; return 1; }
|
||||||
|
[[ -z $TMUX ]] && { echo "You must start tmux to use tsl."; return 1; }
|
||||||
|
|
||||||
|
local count="$1"
|
||||||
|
local cmd="$2"
|
||||||
|
local current_dir="${PWD}"
|
||||||
|
local -a panes
|
||||||
|
|
||||||
|
tmux rename-window -t "$TMUX_PANE" "$(basename "$current_dir")"
|
||||||
|
|
||||||
|
panes+=("$TMUX_PANE")
|
||||||
|
|
||||||
|
while (( ${#panes[@]} < count )); do
|
||||||
|
local new_pane
|
||||||
|
local split_target="${panes[-1]}"
|
||||||
|
new_pane=$(tmux split-window -h -t "$split_target" -c "$current_dir" -P -F '#{pane_id}')
|
||||||
|
panes+=("$new_pane")
|
||||||
|
tmux select-layout -t "${panes[0]}" tiled
|
||||||
|
done
|
||||||
|
|
||||||
|
for pane in "${panes[@]}"; do
|
||||||
|
tmux send-keys -t "$pane" "$cmd" C-m
|
||||||
|
done
|
||||||
|
|
||||||
|
tmux select-pane -t "${panes[0]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Transcode a video to a good-balance 1080p that's great for sharing online
|
||||||
|
transcode-video-1080p() {
|
||||||
|
ffmpeg -i "$1" -vf scale=1920:1080 -c:v libx264 -preset fast -crf 23 -c:a copy "${1%.*}-1080p.mp4"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Transcode a video to a good-balance 4K that's great for sharing online
|
||||||
|
transcode-video-4K() {
|
||||||
|
ffmpeg -i "$1" -c:v libx265 -preset slow -crf 24 -c:a aac -b:a 192k "${1%.*}-optimized.mp4"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Transcode any image to JPG image that's great for shrinking wallpapers
|
||||||
|
img2jpg() {
|
||||||
|
img="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
|
magick "$img" "$@" -quality 95 -strip "${img%.*}-converted.jpg"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Transcode any image to a small JPG (max 1080px wide) that's great for sharing online
|
||||||
|
img2jpg-small() {
|
||||||
|
img="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
|
magick "$img" "$@" -resize 1080x\> -quality 95 -strip "${img%.*}-small.jpg"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Transcode any image to a medium JPG (max 1800px wide) that's great for sharing online
|
||||||
|
img2jpg-medium() {
|
||||||
|
img="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
|
magick "$img" "$@" -resize 1800x\> -quality 95 -strip "${img%.*}-medium.jpg"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Transcode any image to compressed-but-lossless PNG
|
||||||
|
img2png() {
|
||||||
|
img="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
|
magick "$img" "$@" -strip -define png:compression-filter=5 \
|
||||||
|
-define png:compression-level=9 \
|
||||||
|
-define png:compression-strategy=1 \
|
||||||
|
-define png:exclude-chunk=all \
|
||||||
|
"${img%.*}-optimized.png"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create a new worktree and branch from within current git directory.
|
||||||
|
ga() {
|
||||||
|
if [[ -z "$1" ]]; then
|
||||||
|
echo "Usage: ga [branch name]"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local branch="$1"
|
||||||
|
local base="$(basename "$PWD")"
|
||||||
|
local path="../${base}--${branch}"
|
||||||
|
|
||||||
|
git worktree add -b "$branch" "$path"
|
||||||
|
mise trust "$path"
|
||||||
|
cd "$path"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Remove worktree and branch from within active worktree directory.
|
||||||
|
gd() {
|
||||||
|
if gum confirm "Remove worktree and branch?"; then
|
||||||
|
local cwd base branch root
|
||||||
|
|
||||||
|
cwd="$(pwd)"
|
||||||
|
worktree="$(basename "$cwd")"
|
||||||
|
|
||||||
|
# split on first `--`
|
||||||
|
root="${worktree%%--*}"
|
||||||
|
branch="${worktree#*--}"
|
||||||
|
|
||||||
|
# Protect against accidentially nuking a non-worktree directory
|
||||||
|
if [[ "$root" != "$worktree" ]]; then
|
||||||
|
cd "../$root"
|
||||||
|
git worktree remove "$worktree" --force
|
||||||
|
git branch -D "$branch"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
@@ -49,13 +49,13 @@ bind-key -T copy-mode-vi 'v' send -X begin-selection
|
|||||||
bind-key -T copy-mode-vi 'y' send -X copy-selection-and-cancel
|
bind-key -T copy-mode-vi 'y' send -X copy-selection-and-cancel
|
||||||
|
|
||||||
# Status bar
|
# Status bar
|
||||||
set -g status-left-length 52
|
# set -g status-left-length 52
|
||||||
set -g status-right-length 451
|
# set -g status-right-length 451
|
||||||
set -g status-style fg="white",bg="colour234"
|
# set -g status-style fg="white",bg="colour234"
|
||||||
set -g window-status-activity-style bold
|
# set -g window-status-activity-style bold
|
||||||
set -g pane-border-style fg="colour245"
|
# set -g pane-border-style fg="colour245"
|
||||||
set -g pane-active-border-style fg="colour39"
|
# set -g pane-active-border-style fg="colour39"
|
||||||
set -g message-style bold,fg="colour16",bg="colour221"
|
# set -g message-style bold,fg="colour16",bg="colour221"
|
||||||
# set -g status-left '#[fg=colour235,bg=colour252,bold] ❐ #S#[fg=colour252,bg=colour238,nobold]⮀#[fg=colour245,bg=colour238,bold] #(hostname)#[fg=colour238,bg=colour234,nobold]⮀'
|
# set -g status-left '#[fg=colour235,bg=colour252,bold] ❐ #S#[fg=colour252,bg=colour238,nobold]⮀#[fg=colour245,bg=colour238,bold] #(hostname)#[fg=colour238,bg=colour234,nobold]⮀'
|
||||||
# set -g status-right "#[fg=colour39, bg=colour234]⮂#[fg=colour234,bg=colour39] 🐳 "
|
# set -g status-right "#[fg=colour39, bg=colour234]⮂#[fg=colour234,bg=colour39] 🐳 "
|
||||||
# set -g window-status-format "#[fg=white,bg=colour234] #I #W "
|
# set -g window-status-format "#[fg=white,bg=colour234] #I #W "
|
||||||
@@ -81,3 +81,86 @@ bind-key -n User0 send-keys C-S-o
|
|||||||
bind-key -n User0 send-keys C-S-y
|
bind-key -n User0 send-keys C-S-y
|
||||||
bind-key -n User0 send-keys C-S-a
|
bind-key -n User0 send-keys C-S-a
|
||||||
|
|
||||||
|
|
||||||
|
# Prefix
|
||||||
|
set -g prefix C-Space
|
||||||
|
set -g prefix2 C-b
|
||||||
|
bind C-Space send-prefix
|
||||||
|
|
||||||
|
# Reload config
|
||||||
|
bind q source-file ~/.config/tmux/tmux.conf
|
||||||
|
|
||||||
|
# Pane Controls
|
||||||
|
bind x kill-pane
|
||||||
|
|
||||||
|
bind -n C-M-Left select-pane -L
|
||||||
|
bind -n C-M-Right select-pane -R
|
||||||
|
bind -n C-M-Up select-pane -U
|
||||||
|
bind -n C-M-Down select-pane -D
|
||||||
|
|
||||||
|
bind -n C-M-S-Left resize-pane -L 5
|
||||||
|
bind -n C-M-S-Down resize-pane -D 5
|
||||||
|
bind -n C-M-S-Up resize-pane -U 5
|
||||||
|
bind -n C-M-S-Right resize-pane -R 5
|
||||||
|
|
||||||
|
# Window navigation
|
||||||
|
bind r command-prompt -I "#W" "rename-window -- '%%'"
|
||||||
|
bind c new-window -c "#{pane_current_path}"
|
||||||
|
bind k kill-window
|
||||||
|
|
||||||
|
bind -n M-1 select-window -t 1
|
||||||
|
bind -n M-2 select-window -t 2
|
||||||
|
bind -n M-3 select-window -t 3
|
||||||
|
bind -n M-4 select-window -t 4
|
||||||
|
bind -n M-5 select-window -t 5
|
||||||
|
bind -n M-6 select-window -t 6
|
||||||
|
bind -n M-7 select-window -t 7
|
||||||
|
bind -n M-8 select-window -t 8
|
||||||
|
bind -n M-9 select-window -t 9
|
||||||
|
|
||||||
|
bind -n M-Left select-window -t -1
|
||||||
|
bind -n M-Right select-window -t +1
|
||||||
|
bind -n M-S-Left swap-window -t -1 \; select-window -t -1
|
||||||
|
bind -n M-S-Right swap-window -t +1 \; select-window -t +1
|
||||||
|
|
||||||
|
# Session controls
|
||||||
|
bind R command-prompt -I "#S" "rename-session -- '%%'"
|
||||||
|
bind C new-session -c "#{pane_current_path}"
|
||||||
|
bind K kill-session
|
||||||
|
bind P switch-client -p
|
||||||
|
bind N switch-client -n
|
||||||
|
|
||||||
|
bind -n M-Up switch-client -p
|
||||||
|
bind -n M-Down switch-client -n
|
||||||
|
|
||||||
|
# General
|
||||||
|
set -g mouse on
|
||||||
|
set -g base-index 1
|
||||||
|
setw -g pane-base-index 1
|
||||||
|
set -g renumber-windows on
|
||||||
|
set -g history-limit 50000
|
||||||
|
set -g focus-events on
|
||||||
|
set -g set-clipboard on
|
||||||
|
set -g allow-passthrough on
|
||||||
|
setw -g aggressive-resize on
|
||||||
|
set -g detach-on-destroy off
|
||||||
|
|
||||||
|
# Status bar
|
||||||
|
set -g status-position top
|
||||||
|
set -g status-interval 5
|
||||||
|
set -g status-left-length 30
|
||||||
|
set -g status-right-length 50
|
||||||
|
set -g window-status-separator ""
|
||||||
|
|
||||||
|
# Theme
|
||||||
|
set -g status-style "bg=default,fg=default"
|
||||||
|
set -g status-left "#[fg=black,bg=blue,bold] #S #[bg=default] "
|
||||||
|
set -g status-right "#[fg=blue]#{?client_prefix,PREFIX ,}#{?window_zoomed_flag,ZOOM ,}#[fg=brightblack]#h "
|
||||||
|
set -g window-status-format "#[fg=brightblack] #I:#W "
|
||||||
|
set -g window-status-current-format "#[fg=blue,bold] #I:#W "
|
||||||
|
set -g pane-border-style "fg=brightblack"
|
||||||
|
set -g pane-active-border-style "fg=blue"
|
||||||
|
set -g message-style "bg=default,fg=blue"
|
||||||
|
set -g message-command-style "bg=default,fg=blue"
|
||||||
|
set -g mode-style "bg=blue,fg=black"
|
||||||
|
setw -g clock-mode-colour blue
|
||||||
|
|||||||
13
.config/uwsm/default
Normal file
13
.config/uwsm/default
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# Changes require a restart to take effect.
|
||||||
|
|
||||||
|
# Install other terminals via Install > Terminal
|
||||||
|
export TERMINAL=xdg-terminal-exec
|
||||||
|
|
||||||
|
# Use code for VSCode
|
||||||
|
export EDITOR=nvim
|
||||||
|
|
||||||
|
# Use a custom directory for screenshots (remember to make the directory!)
|
||||||
|
# export STATION_SCREENSHOT_DIR="$HOME/Pictures/Screenshots"
|
||||||
|
|
||||||
|
# Use a custom directory for screenrecordings (remember to make the directory!)
|
||||||
|
# export STATION_SCREENRECORD_DIR="$HOME/Videos/Screencasts"
|
||||||
11
.config/uwsm/env
Normal file
11
.config/uwsm/env
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# Changes require a restart to take effect.
|
||||||
|
|
||||||
|
# Ensure Omarchy bins are in the path
|
||||||
|
export STATION_PATH=$HOME/.local/share/station
|
||||||
|
export PATH=$STATION_PATH/bin:$PATH
|
||||||
|
|
||||||
|
# Set default terminal and editor
|
||||||
|
source ~/.config/uwsm/default
|
||||||
|
|
||||||
|
# Activate mise if present on the system
|
||||||
|
station-cmd-present mise && eval "$(mise activate bash --shims)"
|
||||||
5
.config/wiremix/wiremix.toml
Normal file
5
.config/wiremix/wiremix.toml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# overwrites default wiremix configuration
|
||||||
|
# defaults: https://github.com/tsowell/wiremix/blob/main/wiremix.toml
|
||||||
|
|
||||||
|
[char_sets.default]
|
||||||
|
default_device = "⮞"
|
||||||
268
.config/xournalpp/settings.xml
Normal file
268
.config/xournalpp/settings.xml
Normal file
@@ -0,0 +1,268 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--The Xournal++ settings file. Do not edit this file! Most settings are available in the Settings dialog, the others are commented in this file, but handle with care!-->
|
||||||
|
<settings>
|
||||||
|
<property name="pressureSensitivity" value="true"/>
|
||||||
|
<property name="minimumPressure" value="0.05"/>
|
||||||
|
<property name="pressureMultiplier" value="1"/>
|
||||||
|
<property name="zoomGesturesEnabled" value="true"/>
|
||||||
|
<property name="selectedToolbar" value="Portrait"/>
|
||||||
|
<property name="lastSavePath" value="/home/dhh/Downloads"/>
|
||||||
|
<property name="lastOpenPath" value=""/>
|
||||||
|
<property name="lastImagePath" value="/home/dhh/Dropbox/Images"/>
|
||||||
|
<property name="edgePanSpeed" value="20"/>
|
||||||
|
<property name="edgePanMaxMult" value="5"/>
|
||||||
|
<property name="zoomStep" value="10"/>
|
||||||
|
<property name="zoomStepScroll" value="2"/>
|
||||||
|
<property name="displayDpi" value="72"/>
|
||||||
|
<property name="mainWndWidth" value="800"/>
|
||||||
|
<property name="mainWndHeight" value="600"/>
|
||||||
|
<property name="maximized" value="true"/>
|
||||||
|
<property name="showToolbar" value="true"/>
|
||||||
|
<property name="showSidebar" value="true"/>
|
||||||
|
<property name="sidebarWidth" value="150"/>
|
||||||
|
<property name="sidebarNumberingStyle" value="1"/>
|
||||||
|
<property name="sidebarOnRight" value="false"/>
|
||||||
|
<property name="scrollbarOnLeft" value="false"/>
|
||||||
|
<property name="menubarVisible" value="true"/>
|
||||||
|
<property name="filepathShownInTitlebar" value="false"/>
|
||||||
|
<property name="numColumns" value="1"/>
|
||||||
|
<property name="numRows" value="1"/>
|
||||||
|
<property name="viewFixedRows" value="false"/>
|
||||||
|
<property name="showPairedPages" value="false"/>
|
||||||
|
<property name="layoutVertical" value="false"/>
|
||||||
|
<property name="layoutRightToLeft" value="false"/>
|
||||||
|
<property name="layoutBottomToTop" value="false"/>
|
||||||
|
<property name="numPairsOffset" value="1"/>
|
||||||
|
<!--The icon theme, allowed values are "disabled", "onDrawOfLastPage", and "onScrollOfLastPage"-->
|
||||||
|
<property name="emptyLastPageAppend" value="disabled"/>
|
||||||
|
<property name="presentationMode" value="false"/>
|
||||||
|
<!--Which GUI elements are shown in default view mode, separated by a colon (,)-->
|
||||||
|
<property name="defaultViewModeAttributes" value="showMenubar,showToolbar,showSidebar"/>
|
||||||
|
<!--Which GUI elements are shown in fullscreen view mode, separated by a colon (,)-->
|
||||||
|
<property name="fullscreenViewModeAttributes" value="goFullscren,showToolbar,showSidebar"/>
|
||||||
|
<!--Which GUI elements are shown in presentation view mode, separated by a colon (,)-->
|
||||||
|
<property name="presentationViewModeAttributes" value="goFullscren,showToolbar"/>
|
||||||
|
<!--The cursor icon used with a stylus, allowed values are "none", "dot", "big", "arrow"-->
|
||||||
|
<property name="stylusCursorType" value="dot"/>
|
||||||
|
<!--The eraser cursor visibility used with a stylus, allowed values are "never", "always", "hover", "touch"-->
|
||||||
|
<property name="eraserVisibility" value="always"/>
|
||||||
|
<!--The icon theme, allowed values are "iconsColor", "iconsLucide"-->
|
||||||
|
<property name="iconTheme" value="iconsColor"/>
|
||||||
|
<!--Dark/light mode, allowed values are "useSystem", "forceLight", "forceDark"-->
|
||||||
|
<property name="themeVariant" value="forceDark"/>
|
||||||
|
<property name="highlightPosition" value="false"/>
|
||||||
|
<property name="cursorHighlightColor" value="2164260608"/>
|
||||||
|
<property name="cursorHighlightBorderColor" value="2147483903"/>
|
||||||
|
<property name="cursorHighlightRadius" value="30"/>
|
||||||
|
<property name="cursorHighlightBorderWidth" value="0"/>
|
||||||
|
<property name="useStockIcons" value="false"/>
|
||||||
|
<property name="disableScrollbarFadeout" value="false"/>
|
||||||
|
<property name="disableAudio" value="false"/>
|
||||||
|
<!--Hides scroolbars in the main window, allowed values: "none", "horizontal", "vertical", "both"-->
|
||||||
|
<property name="scrollbarHideType" value="none"/>
|
||||||
|
<property name="autoloadMostRecent" value="false"/>
|
||||||
|
<property name="autoloadPdfXoj" value="true"/>
|
||||||
|
<property name="defaultSaveName" value="%F-Note-%H-%M"/>
|
||||||
|
<property name="defaultPdfExportName" value="%{name}_annotated"/>
|
||||||
|
<property name="autosaveEnabled" value="true"/>
|
||||||
|
<property name="autosaveTimeout" value="3"/>
|
||||||
|
<property name="addHorizontalSpace" value="false"/>
|
||||||
|
<property name="addHorizontalSpaceAmount" value="150"/>
|
||||||
|
<property name="addVerticalSpace" value="false"/>
|
||||||
|
<property name="addVerticalSpaceAmount" value="150"/>
|
||||||
|
<property name="drawDirModsEnabled" value="false"/>
|
||||||
|
<property name="drawDirModsRadius" value="50"/>
|
||||||
|
<property name="snapRotation" value="true"/>
|
||||||
|
<property name="snapRotationTolerance" value="0.3"/>
|
||||||
|
<property name="snapGrid" value="true"/>
|
||||||
|
<property name="snapGridTolerance" value="0.5"/>
|
||||||
|
<property name="snapGridSize" value="14.17"/>
|
||||||
|
<property name="strokeRecognizerMinSize" value="40"/>
|
||||||
|
<property name="touchDrawing" value="false"/>
|
||||||
|
<property name="gtkTouchInertialScrolling" value="true"/>
|
||||||
|
<property name="pressureGuessing" value="false"/>
|
||||||
|
<property name="selectionBorderColor" value="4294901760"/>
|
||||||
|
<property name="backgroundColor" value="4292664021"/>
|
||||||
|
<property name="selectionMarkerColor" value="4285702095"/>
|
||||||
|
<property name="touchZoomStartThreshold" value="0"/>
|
||||||
|
<property name="pageRerenderThreshold" value="5"/>
|
||||||
|
<!--The count of rendered PDF pages which will be cached.-->
|
||||||
|
<property name="pdfPageCacheSize" value="10"/>
|
||||||
|
<property name="preloadPagesBefore" value="3"/>
|
||||||
|
<property name="preloadPagesAfter" value="5"/>
|
||||||
|
<property name="eagerPageCleanup" value="true"/>
|
||||||
|
<!--Config for new pages-->
|
||||||
|
<property name="pageTemplate" value="xoj/template copyLastPageSettings=true size=595.275591x841.889764 backgroundType=lined backgroundColor=#ffffff "/>
|
||||||
|
<property name="sizeUnit" value=""/>
|
||||||
|
<property name="audioFolder" value=""/>
|
||||||
|
<property name="audioInputDevice" value="-1"/>
|
||||||
|
<property name="audioOutputDevice" value="-1"/>
|
||||||
|
<property name="audioSampleRate" value="44100"/>
|
||||||
|
<property name="audioGain" value="1"/>
|
||||||
|
<property name="defaultSeekTime" value="5"/>
|
||||||
|
<property name="pluginEnabled" value=""/>
|
||||||
|
<property name="pluginDisabled" value=""/>
|
||||||
|
<property name="strokeFilterIgnoreTime" value="150"/>
|
||||||
|
<property name="strokeFilterIgnoreLength" value="1"/>
|
||||||
|
<property name="strokeFilterSuccessiveTime" value="500"/>
|
||||||
|
<property name="strokeFilterEnabled" value="false"/>
|
||||||
|
<property name="doActionOnStrokeFiltered" value="false"/>
|
||||||
|
<property name="trySelectOnStrokeFiltered" value="false"/>
|
||||||
|
<property name="snapRecognizedShapesEnabled" value="false"/>
|
||||||
|
<property name="restoreLineWidthEnabled" value="false"/>
|
||||||
|
<property name="numIgnoredStylusEvents" value="0"/>
|
||||||
|
<property name="inputSystemTPCButton" value="false"/>
|
||||||
|
<property name="inputSystemDrawOutsideWindow" value="true"/>
|
||||||
|
<property name="preferredLocale" value=""/>
|
||||||
|
<property name="stabilizerAveragingMethod" value="0"/>
|
||||||
|
<property name="stabilizerPreprocessor" value="0"/>
|
||||||
|
<property name="stabilizerBuffersize" value="20"/>
|
||||||
|
<property name="stabilizerSigma" value="0.5"/>
|
||||||
|
<property name="stabilizerDeadzoneRadius" value="1.3"/>
|
||||||
|
<property name="stabilizerDrag" value="0.4"/>
|
||||||
|
<property name="stabilizerMass" value="5"/>
|
||||||
|
<property name="stabilizerCuspDetection" value="true"/>
|
||||||
|
<property name="stabilizerFinalizeStroke" value="true"/>
|
||||||
|
<property name="latexSettings.autoCheckDependencies" value="true"/>
|
||||||
|
<property name="latexSettings.defaultText" value="x^2"/>
|
||||||
|
<property name="latexSettings.globalTemplatePath" value="/usr/share/xournalpp/resources/default_template.tex"/>
|
||||||
|
<property name="latexSettings.genCmd" value="pdflatex -halt-on-error -interaction=nonstopmode '{}'"/>
|
||||||
|
<property name="latexSettings.sourceViewThemeId" value=""/>
|
||||||
|
<property name="latexSettings.editorFont" value="Monospace 12"/>
|
||||||
|
<property name="latexSettings.useCustomEditorFont" value="false"/>
|
||||||
|
<property name="latexSettings.editorWordWrap" value="true"/>
|
||||||
|
<property name="latexSettings.sourceViewAutoIndent" value="true"/>
|
||||||
|
<property name="latexSettings.sourceViewSyntaxHighlight" value="true"/>
|
||||||
|
<property name="latexSettings.sourceViewShowLineNumbers" value="false"/>
|
||||||
|
<property name="font" font="Sans" size="12"/>
|
||||||
|
<data name="buttonConfig">
|
||||||
|
<data name="default">
|
||||||
|
<attribute name="color" type="hex" value="ff000000"/>
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
<attribute name="size" type="string" value="thin"/>
|
||||||
|
<attribute name="tool" type="string" value="pen"/>
|
||||||
|
</data>
|
||||||
|
<data name="eraser">
|
||||||
|
<attribute name="eraserMode" type="string" value="none"/>
|
||||||
|
<attribute name="size" type="string" value="none"/>
|
||||||
|
<attribute name="tool" type="string" value="eraser"/>
|
||||||
|
</data>
|
||||||
|
<data name="middle">
|
||||||
|
<attribute name="tool" type="string" value="hand"/>
|
||||||
|
</data>
|
||||||
|
<data name="right">
|
||||||
|
<attribute name="tool" type="string" value="none"/>
|
||||||
|
</data>
|
||||||
|
<data name="stylus">
|
||||||
|
<attribute name="tool" type="string" value="none"/>
|
||||||
|
</data>
|
||||||
|
<data name="stylus2">
|
||||||
|
<attribute name="tool" type="string" value="none"/>
|
||||||
|
</data>
|
||||||
|
<data name="touch">
|
||||||
|
<attribute name="device" type="string" value=""/>
|
||||||
|
<attribute name="disableDrawing" type="boolean" value="false"/>
|
||||||
|
<attribute name="tool" type="string" value="none"/>
|
||||||
|
</data>
|
||||||
|
</data>
|
||||||
|
<data name="deviceClasses">
|
||||||
|
<data name="Wayland Finger Scrolling">
|
||||||
|
<attribute name="deviceClass" type="int" value="1"/>
|
||||||
|
<attribute name="deviceSource" type="int" value="6"/>
|
||||||
|
</data>
|
||||||
|
<data name="Wayland Pointer">
|
||||||
|
<attribute name="deviceClass" type="int" value="1"/>
|
||||||
|
<attribute name="deviceSource" type="int" value="0"/>
|
||||||
|
</data>
|
||||||
|
</data>
|
||||||
|
<data name="tools">
|
||||||
|
<attribute name="current" type="string" value="text"/>
|
||||||
|
<data name="drawArrow">
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="drawCoordinateSystem">
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="drawDoubleArrow">
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="drawEllipse">
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="drawRect">
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="drawSpline">
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="eraser">
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
<attribute name="size" type="string" value="MEDIUM"/>
|
||||||
|
<attribute name="type" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="hand">
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="highlighter">
|
||||||
|
<attribute name="color" type="hex" value="ffffff00"/>
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
<attribute name="fill" type="int" value="0"/>
|
||||||
|
<attribute name="fillAlpha" type="int" value="128"/>
|
||||||
|
<attribute name="size" type="string" value="MEDIUM"/>
|
||||||
|
</data>
|
||||||
|
<data name="image">
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="pen">
|
||||||
|
<attribute name="color" type="hex" value="ff3333cc"/>
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
<attribute name="fill" type="int" value="0"/>
|
||||||
|
<attribute name="fillAlpha" type="int" value="128"/>
|
||||||
|
<attribute name="size" type="string" value="MEDIUM"/>
|
||||||
|
<attribute name="style" type="string" value="plain"/>
|
||||||
|
</data>
|
||||||
|
<data name="playObject">
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="selectMultiLayerRect">
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="selectMultiLayerRegion">
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="selectObject">
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="selectPdfTextLinear">
|
||||||
|
<attribute name="color" type="hex" value="ff000000"/>
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="selectPdfTextRect">
|
||||||
|
<attribute name="color" type="hex" value="ff000000"/>
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="selectRect">
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="selectRegion">
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="showFloatingToolbox">
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="text">
|
||||||
|
<attribute name="color" type="hex" value="ff000000"/>
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
<data name="verticalSpace">
|
||||||
|
<attribute name="drawingType" type="string" value="default"/>
|
||||||
|
</data>
|
||||||
|
</data>
|
||||||
|
<data name="touch">
|
||||||
|
<attribute name="cmdDisable" type="string" value=""/>
|
||||||
|
<attribute name="cmdEnable" type="string" value=""/>
|
||||||
|
<attribute name="disableTouch" type="boolean" value="false"/>
|
||||||
|
<attribute name="method" type="string" value="auto"/>
|
||||||
|
<attribute name="timeout" type="int" value="1000"/>
|
||||||
|
</data>
|
||||||
|
</settings>
|
||||||
Reference in New Issue
Block a user