├── arch_troubleshooting_guide.pdf
├── .config
├── wal
│ ├── templates
│ │ ├── xrdb_extra
│ │ ├── flameshot.ini
│ │ └── pywal16.ron
│ └── colorschemes
│ │ └── dark
│ │ ├── dim.json
│ │ ├── echo.json
│ │ └── flare.json
├── shell
│ └── alias
├── qutebrowser
│ ├── greasemonkey
│ │ └── yt-ads.js
│ ├── styles
│ │ └── youtube-tweaks.css
│ └── config.py
├── dunst
│ └── dunstrc
├── zsh
│ ├── .zprofile
│ └── .zshrc
├── GIMP
│ └── 3.0
│ │ ├── sessionrc
│ │ ├── gimprc
│ │ ├── toolrc
│ │ └── shortcutsrc
├── picom
│ └── picom.conf
└── rmpc
│ └── config.ron
├── README.md
└── LICENSE
/arch_troubleshooting_guide.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BreadOnPenguins/dots/HEAD/arch_troubleshooting_guide.pdf
--------------------------------------------------------------------------------
/.config/wal/templates/xrdb_extra:
--------------------------------------------------------------------------------
1 | dwm.normbordercolor: {color0}
2 | dwm.normbgcolor: {color0}
3 | dwm.normfgcolor: {color4}
4 | dwm.selbordercolor: {color8}
5 | dwm.selbgcolor: {color4}
6 | dwm.selfgcolor: {color0}
7 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | currently includes configuration for:
2 |
3 | - dunst
4 | - gimp
5 | - picom
6 | - rmpc
7 | - wal templates and colorschemes
8 | - qutebrowser
9 | - general shell stuff
10 | - zsh
11 |
12 | my builds/configs of dwm, st, and neovim each have their own repo, as do my scripts for dmenu and dwmblocks.
13 | fonts: Noto Sans Nerd Fonts, Liberation family, Libertinus family.
14 |
--------------------------------------------------------------------------------
/.config/shell/alias:
--------------------------------------------------------------------------------
1 | alias \
2 | \
3 | c="clear" \
4 | v="nvim" \
5 | f="fff" \
6 | cat="bat" \
7 | l="ls -lh --color=auto --group-directories-first" \
8 | ls="ls -h --color=auto --group-directories-first" \
9 | la="ls -lah --color=auto --group-directories-first" \
10 | grep="grep --color=auto" \
11 | shell="exec $SHELL -l" \
12 | fk="sudo !!" \
13 | mv="mv -i" \
14 | rm="rm -Iv" \
15 | df="df -h" \
16 | du="du -h -d 1" \
17 | k="killall" \
18 | p="ps aux | grep $1" \
19 | man="batman" \
20 | lsbc="lsblk | bat -l conf -p" \
21 | freec="free -h | bat -l cpuinfo -p" \
22 | sensors="sensors | bat -l cpuinfo -p" \
23 | exiftool="/usr/bin/vendor_perl/exiftool" \
24 | bathelp='bat --plain --language=help'
25 | help() {
26 | "$@" --help 2>&1 | bathelp
27 | }
28 |
--------------------------------------------------------------------------------
/.config/qutebrowser/greasemonkey/yt-ads.js:
--------------------------------------------------------------------------------
1 | // ==UserScript==
2 | // for more updated scripts, see: https://greasyfork.org/en/scripts/by-site/youtube.com
3 | // @name Auto Skip YouTube Ads
4 | // @version 1.1.0
5 | // @description Speed up and skip YouTube ads automatically
6 | // @author jso8910 and others
7 | // @match *://*.youtube.com/*
8 | // ==/UserScript==
9 |
10 |
11 | document.addEventListener('load', () => {
12 | const btn = document.querySelector('.videoAdUiSkipButton,.ytp-ad-skip-button-modern')
13 | if (btn) {
14 | btn.click()
15 | }
16 | const ad = [...document.querySelectorAll('.ad-showing')][0];
17 | if (ad) {
18 | document.querySelector('video').currentTime = 9999999999;
19 | }
20 | }, true);
21 |
--------------------------------------------------------------------------------
/.config/dunst/dunstrc:
--------------------------------------------------------------------------------
1 | [global]
2 | monitor = 0
3 | follow = keyboard
4 | width = (250, 500)
5 | height = (0, 750)
6 | offset = (17, 26)
7 | padding = 5
8 | horizontal_padding = 5
9 | gap_size = 3
10 | transparency = 35
11 | frame_width = 1
12 | frame_color="#607566"
13 | font = Libertinus Mono 11
14 | corner_radius = 5
15 | min_icon_size = 32
16 | max_icon_size = 32
17 | format = "%s\n%b"
18 |
19 | [urgency_low]
20 | foreground = "#0A2E15"
21 | background = "#68B351"
22 | timeout = 3
23 |
24 | [urgency_normal]
25 | foreground = "#0A2E15"
26 | background = "#8FCE61"
27 | timeout = 5
28 |
29 | [urgency_critical]
30 | background = "#C1CAC4"
31 | foreground = "#0A2E15"
32 | frame_color = "#ff0000"
33 | timeout = 15
34 |
--------------------------------------------------------------------------------
/.config/wal/colorschemes/dark/dim.json:
--------------------------------------------------------------------------------
1 | {
2 | "special": {
3 | "background": "#30272b",
4 | "foreground": "#925633",
5 | "cursor": "#bcb8ba"
6 | },
7 | "colors": {
8 | "color0": "#30272b",
9 | "color1": "#925633",
10 | "color2": "#d8a657",
11 | "color3": "#5e6676",
12 | "color4": "#978341",
13 | "color5": "#694e63",
14 | "color6": "#47676e",
15 | "color7": "#bcb8ba",
16 | "color8": "#443c40",
17 | "color9": "#925633",
18 | "color10": "#72761e",
19 | "color11": "#5e6676",
20 | "color12": "#978341",
21 | "color13": "#694e63",
22 | "color14": "#47676e",
23 | "color15": "#bcb8ba"
24 | },
25 | "checksum": "None",
26 | "wallpaper": "None",
27 | "alpha": "100"
28 | }
29 |
--------------------------------------------------------------------------------
/.config/wal/colorschemes/dark/echo.json:
--------------------------------------------------------------------------------
1 | {
2 | "special": {
3 | "background": "#30272b",
4 | "foreground": "#F38B58",
5 | "cursor": "#bcb8ba"
6 | },
7 | "colors": {
8 | "color0": "#30272b",
9 | "color1": "#F38B58",
10 | "color2": "#DBB77E",
11 | "color3": "#5e6676",
12 | "color4": "#EBAC88",
13 | "color5": "#434C5C",
14 | "color6": "#F38B58",
15 | "color7": "#bcb8ba",
16 | "color8": "#443c40",
17 | "color9": "#F38B58",
18 | "color10": "#687781",
19 | "color11": "#5e6676",
20 | "color12": "#EBAC88",
21 | "color13": "#434C5C",
22 | "color14": "#F38B58",
23 | "color15": "#bcb8ba"
24 | },
25 | "checksum": "None",
26 | "wallpaper": "None",
27 | "alpha": "100"
28 | }
29 |
--------------------------------------------------------------------------------
/.config/wal/colorschemes/dark/flare.json:
--------------------------------------------------------------------------------
1 | {
2 | "special": {
3 | "background": "#2f2a2a",
4 | "foreground": "#ee9142",
5 | "cursor": "#332e2e"
6 | },
7 | "colors": {
8 | "color0": "#2f2a2a",
9 | "color1": "#99312c",
10 | "color2": "#5a986c",
11 | "color3": "#f1841b",
12 | "color4": "#e06412",
13 | "color5": "#915556",
14 | "color6": "#477578",
15 | "color7": "#c9c8c8",
16 | "color8": "#b2885d",
17 | "color9": "#854340",
18 | "color10": "#668c71",
19 | "color11": "#c1854b",
20 | "color12": "#bd5c1b",
21 | "color13": "#854340",
22 | "color14": "#41647b",
23 | "color15": "#b5bbd2"
24 | },
25 | "checksum": "None",
26 | "wallpaper": "None",
27 | "alpha": "100"
28 | }
29 |
--------------------------------------------------------------------------------
/.config/wal/templates/flameshot.ini:
--------------------------------------------------------------------------------
1 | [General]
2 | autoCloseIdleDaemon=true
3 | buttons=@Invalid()
4 | contrastOpacity=188
5 | contrastUiColor={color3}
6 | copyPathAfterSave=true
7 | disabledTrayIcon=false
8 | drawColor={color2}
9 | drawFontSize=39
10 | drawThickness=8
11 | filenamePattern=%F___%H-%M
12 | ignoreUpdateToVersion=0.10.2
13 | saveAfterCopy=true
14 | savePath=~/Downloads
15 | savePathFixed=false
16 | showStartupLaunchMessage=true
17 | startupLaunch=true
18 | uiColor={color1}
19 | undoLimit=100
20 | uploadClientSecret=
21 | useJpgForClipboard=false
22 |
23 | [Shortcuts]
24 | TYPE_ACCEPT=
25 | TYPE_ARROW=A
26 | TYPE_CIRCLE=C
27 | TYPE_CIRCLECOUNT=
28 | TYPE_COMMIT_CURRENT_TOOL=Ctrl+Return
29 | TYPE_COPY=Return
30 | TYPE_DELETE_CURRENT_TOOL=Del
31 | TYPE_DRAWER=D
32 | TYPE_EXIT=Ctrl+Q
33 | TYPE_IMAGEUPLOADER=Ctrl+I
34 | TYPE_MARKER=M
35 | TYPE_MOVESELECTION=Ctrl+M
36 | TYPE_MOVE_DOWN=Down
37 | TYPE_MOVE_LEFT=Left
38 | TYPE_MOVE_RIGHT=Right
39 | TYPE_MOVE_UP=Up
40 | TYPE_OPEN_APP=Ctrl+O
41 | TYPE_PENCIL=P
42 | TYPE_PIN=
43 | TYPE_PIXELATE=B
44 | TYPE_RECTANGLE=R
45 | TYPE_REDO=Ctrl+Shift+Z
46 | TYPE_RESIZE_DOWN=Shift+Down
47 | TYPE_RESIZE_LEFT=Shift+Left
48 | TYPE_RESIZE_RIGHT=Shift+Right
49 | TYPE_RESIZE_UP=Shift+Up
50 | TYPE_SAVE=Ctrl+S
51 | TYPE_SELECTION=S
52 | TYPE_SELECTIONINDICATOR=
53 | TYPE_SELECT_ALL=Ctrl+A
54 | TYPE_TEXT=T
55 | TYPE_TOGGLE_PANEL=Space
56 | TYPE_UNDO=Ctrl+Z
57 |
--------------------------------------------------------------------------------
/.config/qutebrowser/styles/youtube-tweaks.css:
--------------------------------------------------------------------------------
1 | /* cosmetic and focus tweaks for yt */
2 | /* credit to various userstyles makers for some pieces of this */
3 |
4 | /* grid view */
5 | #items.ytd-grid-renderer>ytd-grid-video-renderer:has(ytd-thumbnail-overlay-time-status-renderer[overlay-style="SHORTS"]) {
6 | display: none;
7 | }
8 |
9 | /* list view */
10 | ytd-item-section-renderer:not(:has(ytd-grid-renderer)):has(ytd-thumbnail-overlay-time-status-renderer[overlay-style="SHORTS"]) {
11 | display: none;
12 | }
13 |
14 | /* hide recs */
15 | #secondary {
16 | display: none !important;
17 | }
18 |
19 | /* make video fill the remaining space */
20 | #primary {
21 | width: 100% !important;
22 | flex: 1 !important;
23 | max-width: none !important;
24 | }
25 |
26 | /* hide yt sidebar */
27 | ytd-mini-guide-renderer,
28 | ytd-guide-renderer {
29 | display: none !important;
30 | }
31 |
32 | /* hide yt top bar */
33 | .ytd-masthead {
34 | margin: 0 !important;
35 | display: none !important;
36 | }
37 |
38 | /* remove extra padding and ensure content is full-width on channel page*/
39 | .ytd-app {
40 | margin-top: 0 !important;
41 | padding-top: 0 !important;
42 | margin-left: 0 !important;
43 | }
44 |
45 | html:not(.ytd-watch-flexy) ytd-watch-flexy[flexy] #player {
46 | width: 100% !important;
47 | max-width: 1400px;
48 | margin: 0 auto !important;
49 | }
50 |
51 | /* remove that annoying thing yt adds in dark mode */
52 | .ytp-gradient-bottom {
53 | display: none !important;
54 | }
55 |
56 | /* reshape some elements */
57 | .chip-container {
58 | border-radius: 0% !important;
59 | }
60 |
61 | .ytd-thumbnail {
62 | border-radius: 10% !important;
63 | }
64 |
65 | .yt-spec-avatar-shape__image {
66 | border-radius: 10% !important;
67 | }
68 |
--------------------------------------------------------------------------------
/.config/zsh/.zprofile:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # env vars to set on login, zsh settings in ~/config/zsh/.zshrc
3 | # add `export ZDOTDIR="$HOME/.config/zsh"` to /etc/zsh/zshenv in order to place this file at .config/zsh/.zprofile
4 |
5 | # default programs
6 | export EDITOR="nvim"
7 | export TERM="st"
8 | export TERMINAL="st"
9 | export MUSPLAYER="termusic"
10 | export BROWSER="firefox"
11 | export BROWSER2="librewolf"
12 | # export DISPLAY=:0 # useful for some scripts
13 |
14 | # follow XDG base dir specification
15 | export XDG_CONFIG_HOME="$HOME/.config"
16 | export XDG_DATA_HOME="$HOME/.local/share"
17 | export XDG_CACHE_HOME="$HOME/.cache"
18 |
19 | # bootstrap .zshrc to ~/.config/zsh/.zshrc, any other zsh config files can also reside here
20 | export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
21 |
22 | # history files
23 | export LESSHISTFILE="$XDG_CACHE_HOME/less_history"
24 | export PYTHON_HISTORY="$XDG_DATA_HOME/python/history"
25 |
26 | # add scripts to path
27 | export PATH="$XDG_CONFIG_HOME/scripts:$PATH"
28 |
29 | # moving other files and some other vars
30 | export XINITRC="$XDG_CONFIG_HOME/x11/xinitrc"
31 | export XPROFILE="$XDG_CONFIG_HOME/x11/xprofile"
32 | export XRESOURCES="$XDG_CONFIG_HOME/x11/xresources"
33 | export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc-2.0" # gtk 3 & 4 are XDG compliant
34 | export WGETRC="$XDG_CONFIG_HOME/wget/wgetrc"
35 | export PYTHONSTARTUP="$XDG_CONFIG_HOME/python/pythonrc"
36 | export GNUPGHOME="$XDG_DATA_HOME/gnupg"
37 | export CARGO_HOME="$XDG_DATA_HOME/cargo"
38 | export GOPATH="$XDG_DATA_HOME/go"
39 | export GOBIN="$GOPATH/bin"
40 | export GOMODCACHE="$XDG_CACHE_HOME/go/mod"
41 | export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc"
42 | export GRADLE_USER_HOME="$XDG_DATA_HOME/gradle"
43 | export NUGET_PACKAGES="$XDG_CACHE_HOME/NuGetPackages"
44 | export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME/java"
45 | export _JAVA_AWT_WM_NONREPARENTING=1
46 | export PARALLEL_HOME="$XDG_CONFIG_HOME/parallel"
47 | export FFMPEG_DATADIR="$XDG_CONFIG_HOME/ffmpeg"
48 | export WINEPREFIX="$XDG_DATA_HOME/wineprefixes/default"
49 | export DATE=$(date "+%A, %B %e %_I:%M%P")
50 |
51 | export FZF_DEFAULT_OPTS="--style minimal --color 16 --layout=reverse --height 30% --preview='bat -p --color=always {}'"
52 | export FZF_CTRL_R_OPTS="--style minimal --color 16 --info inline --no-sort --no-preview" # separate opts for history widget
53 | export MANPAGER="less -R --use-color -Dd+r -Du+b" # colored man pages
54 |
55 | # colored less + termcap vars
56 | export LESS="R --use-color -Dd+r -Du+b"
57 | export LESS_TERMCAP_mb="$(printf '%b' '[1;31m')"
58 | export LESS_TERMCAP_md="$(printf '%b' '[1;36m')"
59 | export LESS_TERMCAP_me="$(printf '%b' '[0m')"
60 | export LESS_TERMCAP_so="$(printf '%b' '[01;44;33m')"
61 | export LESS_TERMCAP_se="$(printf '%b' '[0m')"
62 | export LESS_TERMCAP_us="$(printf '%b' '[1;32m')"
63 | export LESS_TERMCAP_ue="$(printf '%b' '[0m')"
64 |
--------------------------------------------------------------------------------
/.config/GIMP/3.0/sessionrc:
--------------------------------------------------------------------------------
1 | # GIMP sessionrc
2 | #
3 | # This file takes session-specific info (that is info, you want to keep
4 | # between two GIMP sessions). You are not supposed to edit it manually, but
5 | # of course you can do. The sessionrc will be entirely rewritten every time
6 | # you quit GIMP. If this file isn't found, defaults are used.
7 |
8 | (session-info "toplevel"
9 | (factory-entry "gimp-empty-image-window")
10 | (position 200 100)
11 | (size 640 480))
12 | (session-info "toplevel"
13 | (factory-entry "gimp-single-image-window")
14 | (position 30 49)
15 | (size 1860 1131)
16 | (open-on-exit)
17 | (aux-info
18 | (left-docks-width "52")
19 | (right-docks-width "381")
20 | (maximized "no"))
21 | (gimp-toolbox
22 | (side left))
23 | (gimp-dock
24 | (side right)
25 | (book
26 | (current-page 6)
27 | (dockable "gimp-color-editor"
28 | (tab-style preview)
29 | (aux-info
30 | (current-page "GimpColorSelect")))
31 | (dockable "gimp-gradient-list"
32 | (tab-style preview)
33 | (aux-info
34 | (show-button-bar "true")))
35 | (dockable "gimp-brush-grid"
36 | (tab-style icon)
37 | (aux-info
38 | (show-button-bar "true")))
39 | (dockable "gimp-font-list"
40 | (tab-style icon)
41 | (aux-info
42 | (show-button-bar "true")))
43 | (dockable "gimp-tool-preset-list"
44 | (tab-style preview)
45 | (aux-info
46 | (show-button-bar "true")))
47 | (dockable "gimp-tool-preset-editor"
48 | (tab-style icon)
49 | (aux-info
50 | (show-button-bar "true")
51 | (edit-active "true")
52 | (current-data "Virtual core pointer")))
53 | (dockable "gimp-tool-options"
54 | (tab-style icon)
55 | (aux-info
56 | (show-button-bar "true"))))
57 | (book
58 | (position 417)
59 | (current-page 0)
60 | (dockable "gimp-layer-list"
61 | (tab-style icon)
62 | (preview-size 32)
63 | (aux-info
64 | (show-button-bar "true")))
65 | (dockable "gimp-channel-list"
66 | (tab-style icon)
67 | (preview-size 32)
68 | (aux-info
69 | (show-button-bar "true")))
70 | (dockable "gimp-vectors-list"
71 | (tab-style icon)
72 | (preview-size 32)
73 | (aux-info
74 | (show-button-bar "true"))))))
75 | (session-info "toplevel"
76 | (factory-entry "gimp-image-new-dialog")
77 | (position 743 440))
78 | (session-info "toplevel"
79 | (factory-entry "gimp-preferences-dialog")
80 | (position 392 352)
81 | (size 1137 749))
82 |
83 | (hide-docks no)
84 | (single-window-mode yes)
85 | (show-tabs yes)
86 | (tabs-position 0)
87 | (last-tip-shown 0)
88 |
89 | # end of sessionrc
90 |
--------------------------------------------------------------------------------
/.config/GIMP/3.0/gimprc:
--------------------------------------------------------------------------------
1 | # GIMP gimprc
2 | #
3 | # This is your personal gimprc file. Any variable defined in this file takes
4 | # precedence over the value defined in the system-wide gimprc:
5 | # /etc/gimp/3.0/gimprc
6 | # Most values can be set within GIMP by changing some options in the
7 | # Preferences dialog.
8 |
9 | (prev-language "American English")
10 | (config-version "3.0.6")
11 | (default-image
12 | (icon-name "gimp-display")
13 | (width 3840)
14 | (height 2400)
15 | (unit pixels)
16 | (xresolution 300)
17 | (yresolution 300)
18 | (resolution-unit inches)
19 | (image-type rgb)
20 | (precision u16-non-linear)
21 | (color-profile NULL)
22 | (simulation-profile NULL)
23 | (simulation-bpc no)
24 | (simulation-intent relative-colorimetric)
25 | (fill-type transparent)
26 | (comment ""))
27 | (thumbnail-size none)
28 | (save-document-history no)
29 | (import-raw-plug-in "")
30 | (image-title-format "%f-%p.%i -- %wx%h -- (%t)")
31 | (monitor-xresolution 94)
32 | (monitor-yresolution 94)
33 | (default-view
34 | (show-menubar yes)
35 | (show-statusbar yes)
36 | (show-rulers no)
37 | (show-scrollbars no)
38 | (show-selection yes)
39 | (show-layer-boundary no)
40 | (show-canvas-boundary no)
41 | (show-guides yes)
42 | (show-grid no)
43 | (show-sample-points no)
44 | (snap-to-guides yes)
45 | (snap-to-grid no)
46 | (snap-to-canvas no)
47 | (snap-to-path no)
48 | (snap-to-bbox no)
49 | (snap-to-equidistance no)
50 | (padding-mode dark-check)
51 | (padding-color
52 | (color "HSV float" 12 "\16\14C\74\70\77p\76\353\327\256\75" 0))
53 | (padding-in-show-all no))
54 | (default-fullscreen-view
55 | (show-menubar yes)
56 | (show-statusbar yes)
57 | (show-rulers no)
58 | (show-scrollbars yes)
59 | (show-selection yes)
60 | (show-layer-boundary no)
61 | (show-canvas-boundary no)
62 | (show-guides yes)
63 | (show-grid no)
64 | (show-sample-points yes)
65 | (snap-to-guides yes)
66 | (snap-to-grid no)
67 | (snap-to-canvas no)
68 | (snap-to-path no)
69 | (snap-to-bbox no)
70 | (snap-to-equidistance no)
71 | (padding-mode default)
72 | (padding-color
73 | (color "R'G'B'A float" 16 "\0\0\200\77\0\0\200\77\0\0\200\77\0\0\200\77" 0))
74 | (padding-in-show-all no))
75 | (save-session-info no)
76 | (toolbox-wilber no)
77 | (theme-color-scheme gray)
78 | (override-theme-icon-size yes)
79 | (font-relative-size 1.3300000000000001)
80 | (user-manual-online yes)
81 | (show-welcome-dialog no)
82 | (color-profile-policy keep)
83 | (layer-new-name "\\")
84 | (fill-options
85 | (style fg-color)
86 | (custom-style solid-color)
87 | (antialias yes)
88 | (feather no)
89 | (feather-radius 10))
90 | (stroke-options
91 | (style fg-color)
92 | (custom-style solid-color)
93 | (antialias yes)
94 | (feather no)
95 | (feather-radius 10)
96 | (method line)
97 | (width 6)
98 | (unit pixels)
99 | (cap-style butt)
100 | (join-style miter)
101 | (miter-limit 10)
102 | (dash-offset 0)
103 | (dash-info 0)
104 | (emulate-brush-dynamics no))
105 |
106 |
107 | # end of gimprc
108 |
--------------------------------------------------------------------------------
/.config/picom/picom.conf:
--------------------------------------------------------------------------------
1 | ## Modified to have rules organized to the rules section at bottom, legacy options commented out.
2 |
3 | # OPACITY
4 | # inactive-opacity = 0.8;
5 | # frame-opacity = 0.7;
6 |
7 | # Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows.
8 | # inactive-opacity-override = true;
9 |
10 | # if for some reason you want all windows transparent
11 | # active-opacity = 1.0
12 |
13 | # inactive-dim = 0.05
14 |
15 | # fixed inactive dim value
16 | # inactive-dim-fixed = 1.0
17 |
18 | # focus-exclude = [ "class_g = 'dwm'" ];
19 |
20 | # opacity-rule = [
21 | # "100:class_g = 'example'"
22 | # ];
23 |
24 |
25 | # ROUNDED CORNERS
26 | corner-radius = 15
27 |
28 | # uncommented for square notification box
29 | # rounded-corners-exclude = [
30 | # "class_g = 'Dunst'"
31 | # ];
32 |
33 |
34 | # BLURRING
35 | # methods: none, gaussian, box, kernel (define custom kernel), dual_kawase
36 | blur:
37 | {
38 | method = "dual_kawase";
39 | size = 10;
40 | strength = 3;
41 | # default deviation is 0.84
42 | # deviation = false;
43 | };
44 |
45 | # semi-transparent
46 | blur-background = true
47 |
48 | # blur-background-frame = true
49 | # Use fixed blur strength rather than adjusting according to window opacity.
50 | blur-background-fixed = true
51 |
52 | # set custom blur kernel (method to kernel), preset examples:
53 | # blur-kern = "3x3box";
54 | # blur-kern = "5x5gaussian";
55 |
56 |
57 | # SHADOWS
58 | # shadow = true; # this allows me to toggle on shadows solely for qutebrowser, to create a muted/blurred look behind tabs when combined with qutebrowser's transparent tabs setting.
59 | shadow-radius = 1; # blur radius
60 | shadow-opacity = 0.6
61 |
62 | shadow-offset-x = 0;
63 | shadow-offset-y = 0;
64 |
65 | # shadow-color = "#000000"
66 | shadow-color = "#393943" # this could be set with a pywal template instead
67 | # shadow-exclude = [];
68 |
69 |
70 | # FADING
71 | fading = true;
72 |
73 | fade-in-step = 0.03;
74 | fade-out-step = 0.03;
75 | fade-delta = 3
76 |
77 |
78 | # OTHER SETTINGS
79 | # dbus = true
80 | # daemon = false
81 |
82 | # backends: `xrender`, `glx`, `egl` or `xr_glx_hybrid`
83 | backend = "egl";
84 |
85 | dithered-present = false;
86 | vsync = true;
87 |
88 | # mark-wmwin-focused = true;
89 |
90 | # mark-ovredir-focused = true;
91 |
92 | detect-rounded-corners = false
93 | detect-client-opacity = true;
94 | use-ewmh-active-win = true
95 | detect-transient = true;
96 | # glx-no-stencil = true
97 | use-damage = true;
98 | log-level = "warn";
99 |
100 | # LEGACY
101 | # wintypes:
102 | # {
103 | # tooltip = { fade = true; shadow = true; opacity = 0.5; focus = true; full-shadow = false; };
104 | # dock = { shadow = false; clip-shadow-above = true; }
105 | # dnd = { shadow = false; }
106 | # popup_menu = { opacity = 0.7; }
107 | # dropdown_menu = { opacity = 0.7; }
108 | # normal = { opacity = 1;}
109 | # };
110 |
111 | # WINDDOW RULES
112 | rules = (
113 | # { match = "name = 'dwm'"; opacity = 1; },
114 | { match = "focused"; opacity = 1; },
115 | { match = "!focused"; opacity = 0.85; },
116 | { match = "tooltip"; fade = true; shadow = true; opacity = 0.5; focus = true; full-shadow = false; },
117 | { match = "popup_menu"; opacity = 0.7; },
118 | { match = "dropdown_menu"; opacity = 0.7; },)
119 | { match = "class_g = 'qutebrowser'"; shadow = true; full-shadow = true; },
120 | { match = "class_g *?= 'slop'"; blur-background = false; opacity = 1; focus = true; },
121 | { match = "class_g *?= 'screenkey'"; blur-background = false; opacity = 1; focus = true; },
122 |
123 | # picom -b to daemonize
124 |
--------------------------------------------------------------------------------
/.config/zsh/.zshrc:
--------------------------------------------------------------------------------
1 | # main zsh settings. env in ~/.zprofile
2 | # read second
3 |
4 |
5 | # source global shell alias & variables files
6 | [ -f "$XDG_CONFIG_HOME/shell/alias" ] && source "$XDG_CONFIG_HOME/shell/alias"
7 | [ -f "$XDG_CONFIG_HOME/shell/vars" ] && source "$XDG_CONFIG_HOME/shell/vars"
8 |
9 | # load modules
10 | zmodload zsh/complist
11 | autoload -U compinit && compinit
12 | autoload -U colors && colors
13 | # autoload -U tetris # main attraction of zsh, obviously
14 |
15 |
16 | # cmp opts
17 | zstyle ':completion:*' menu select # tab opens cmp menu
18 | zstyle ':completion:*' special-dirs true # force . and .. to show in cmp menu
19 | zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} ma=0\;33 # colorize cmp menu
20 | # zstyle ':completion:*' file-list true # more detailed list
21 | zstyle ':completion:*' squeeze-slashes false # explicit disable to allow /*/ expansion
22 |
23 | # main opts
24 | setopt append_history inc_append_history share_history # better history
25 | # on exit, history appends rather than overwrites; history is appended as soon as cmds executed; history shared across sessions
26 | setopt auto_menu menu_complete # autocmp first menu match
27 | setopt autocd # type a dir to cd
28 | setopt auto_param_slash # when a dir is completed, add a / instead of a trailing space
29 | setopt no_case_glob no_case_match # make cmp case insensitive
30 | setopt globdots # include dotfiles
31 | setopt extended_glob # match ~ # ^
32 | setopt interactive_comments # allow comments in shell
33 | unsetopt prompt_sp # don't autoclean blanklines
34 | stty stop undef # disable accidental ctrl s
35 |
36 | # history opts
37 | HISTSIZE=1000000
38 | SAVEHIST=1000000
39 | HISTFILE="$XDG_CACHE_HOME/zsh_history" # move histfile to cache
40 | HISTCONTROL=ignoreboth # consecutive duplicates & commands starting with space are not saved
41 |
42 |
43 | # fzf setup
44 | source <(fzf --zsh) # allow for fzf history widget
45 |
46 |
47 | # binds
48 | bindkey "^a" beginning-of-line
49 | bindkey "^e" end-of-line
50 | bindkey "^k" kill-line
51 | bindkey "^j" backward-word
52 | bindkey "^k" forward-word
53 | bindkey "^H" backward-kill-word
54 | # ctrl J & K for going up and down in prev commands
55 | bindkey "^J" history-search-forward
56 | bindkey "^K" history-search-backward
57 | bindkey '^R' fzf-history-widget
58 |
59 |
60 | # open fff file manager with ctrl f
61 | # openfff() {
62 | # fff <$TTY
63 | # zle redisplay
64 | #}
65 | #zle -N openfff
66 | #bindkey '^f' openfff
67 |
68 |
69 | # set up prompt
70 | NEWLINE=$'\n'
71 | PROMPT="${NEWLINE}%K{#2E3440}%F{#E5E9F0}$(date +%_I:%M%P) %K{#3b4252}%F{#ECEFF4} %n %K{#4c566a} %~ %f%k ❯ " # nord theme
72 | # PROMPT="${NEWLINE}%K{#32302f}%F{#d5c4a1} $0 %K{#3c3836}%F{#d5c4a1} %n %K{#504945} %~ %f%k ❯ " # warmer theme
73 | # PROMPT="${NEWLINE}%K{$COL0}%F{$COL1}$(date +%_I:%M%P) %K{$COL0}%F{$COL2} %n %K{$COL3} %~ %f%k ❯ " # pywal colors, from postrun script
74 |
75 | # echo -e "${NEWLINE}\033[48;2;46;52;64;38;2;216;222;233m $0 \033[0m\033[48;2;59;66;82;38;2;216;222;233m $(uptime -p | cut -c 4-) \033[0m\033[48;2;76;86;106;38;2;216;222;233m $(uname -r) \033[0m" # nord theme
76 | # echo -e "${NEWLINE}\x1b[38;5;137m\x1b[48;5;0m it's$(date +%_I:%M%P) \x1b[38;5;180m\x1b[48;5;0m $(uptime -p | cut -c 4-) \x1b[38;5;223m\x1b[48;5;0m $(uname -r) \033[0m" # warmer theme
77 | echo -e "${NEWLINE}\x1b[38;5;137m\x1b[48;5;0m it's$(print -P '%D{%_I:%M%P}\n') \x1b[38;5;180m\x1b[48;5;0m $(uptime -p | cut -c 4-) \x1b[38;5;223m\x1b[48;5;0m $(uname -r) \033[0m" # current
78 |
79 | # autosuggestions
80 | # requires zsh-autosuggestions
81 | # source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
82 |
83 | # syntax highlighting
84 | # requires zsh-syntax-highlighting package
85 | source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
86 |
--------------------------------------------------------------------------------
/.config/rmpc/config.ron:
--------------------------------------------------------------------------------
1 | #![enable(implicit_some)]
2 | #![enable(unwrap_newtypes)]
3 | #![enable(unwrap_variant_newtypes)]
4 | (
5 | address: "127.0.0.1:6600",
6 | password: None,
7 | theme: "pywal16",
8 | enable_config_hot_reload: true,
9 | cache_dir: None,
10 | on_song_change: None,
11 | volume_step: 5,
12 | max_fps: 30,
13 | scrolloff: 0,
14 | wrap_navigation: false,
15 | enable_mouse: true,
16 | status_update_interval_ms: 1000,
17 | select_current_song_on_change: false,
18 | album_art: (
19 | method: Auto,
20 | max_size_px: (width: 500, height: 500),
21 | disabled_protocols: ["http://", "https://"],
22 | vertical_align: Center,
23 | horizontal_align: Center,
24 | ),
25 | keybinds: (
26 | global: {
27 | ":": CommandMode,
28 | ",": VolumeDown,
29 | "s": Stop,
30 | ".": VolumeUp,
31 | "": NextTab,
32 | "": PreviousTab,
33 | "1": SwitchToTab("Playing"),
34 | "4": SwitchToTab("Dir"),
35 | "3": SwitchToTab("Lists"),
36 | "2": SwitchToTab("Find"),
37 | "q": Quit,
38 | ">": NextTrack,
39 | "p": TogglePause,
40 | "<": PreviousTrack,
41 | "f": SeekForward,
42 | "z": ToggleRepeat,
43 | "x": ToggleRandom,
44 | "c": ToggleConsume,
45 | "v": ToggleSingle,
46 | "b": SeekBack,
47 | "~": ShowHelp,
48 | "I": ShowCurrentSongInfo,
49 | "O": ShowOutputs,
50 | "P": ShowDecoders,
51 | },
52 | navigation: {
53 | "k": Up,
54 | "j": Down,
55 | "h": Left,
56 | "l": Right,
57 | "": Up,
58 | "": Down,
59 | "": Left,
60 | "": Right,
61 | "": PaneUp,
62 | "": PaneDown,
63 | "": PaneLeft,
64 | "": PaneRight,
65 | "": UpHalf,
66 | "N": PreviousResult,
67 | "a": Add,
68 | "A": AddAll,
69 | "r": Rename,
70 | "n": NextResult,
71 | "g": Top,
72 | "": Select,
73 | "": InvertSelection,
74 | "G": Bottom,
75 | "": Confirm,
76 | "i": FocusInput,
77 | "J": MoveDown,
78 | "": DownHalf,
79 | "/": EnterSearch,
80 | "": Close,
81 | "": Close,
82 | "K": MoveUp,
83 | "D": Delete,
84 | },
85 | queue: {
86 | "D": DeleteAll,
87 | "": Play,
88 | "": Save,
89 | "a": AddToPlaylist,
90 | "d": Delete,
91 | "i": ShowInfo,
92 | "C": JumpToCurrent,
93 | },
94 | ),
95 | search: (
96 | case_sensitive: false,
97 | mode: Contains,
98 | tags: [
99 | (value: "any", label: "Any Tag"),
100 | (value: "title", label: "Title"),
101 | (value: "album", label: "Album"),
102 | (value: "artist", label: "Artist"),
103 | (value: "filename", label: "Filename"),
104 | (value: "genre", label: "Genre"),
105 | ],
106 | ),
107 | artists: (
108 | album_display_mode: SplitByDate,
109 | album_sort_by: Date,
110 | ),
111 | tabs: [
112 | (
113 | name: "Playing",
114 | pane: Split(
115 | direction: Horizontal,
116 | panes: [(size: "65%", pane: Pane(Queue)), (size: "35%", pane: Pane(AlbumArt))],
117 | ),
118 | ),
119 | (
120 | name: "Find",
121 | pane: Pane(Search),
122 | ),
123 | (
124 | name: "Lists",
125 | pane: Pane(Playlists),
126 | ),
127 | (
128 | name: "Dir",
129 | pane: Pane(Directories),
130 | ),
131 | ],
132 | )
133 |
--------------------------------------------------------------------------------
/.config/wal/templates/pywal16.ron:
--------------------------------------------------------------------------------
1 | #![enable(implicit_some)]
2 | #![enable(unwrap_newtypes)]
3 | #![enable(unwrap_variant_newtypes)]
4 | (
5 | default_album_art_path: None,
6 | show_song_table_header: false,
7 | draw_borders: true,
8 | browser_column_widths: [20, 38, 42],
9 | text_color: "{color15}",
10 | tab_bar: (
11 | enabled: true,
12 | active_style: (fg: "{color2}", modifiers: "Bold"),
13 | inactive_style: (fg: "{color1}", modifiers: ""),
14 | ),
15 | highlighted_item_style: (fg: "{color1}", modifiers: "Bold"),
16 | current_item_style: (fg: "{color2}", bg: "{color1}", modifiers: "Bold"),
17 | borders_style: (fg: "{color1}", modifiers: "Bold"),
18 | highlight_border_style: (fg: "{color1}"),
19 | symbols: (song: " ", dir: " ", marker: "* ", ellipsis: "..."),
20 | progress_bar: (
21 | symbols: ["█", "█", "█"],
22 | track_style: (fg: "{color0}"),
23 | elapsed_style: (fg: "{color1}"),
24 | thumb_style: (fg: "{color1}"),
25 | ),
26 | scrollbar: (
27 | symbols: ["", "", "", ""],
28 | track_style: (fg: "{color1}"),
29 | ends_style: (fg: "{color1}"),
30 | thumb_style: (fg: "{color1}"),
31 | ),
32 | song_table_format: [
33 | (
34 | prop: (kind: Property(Title), style: (fg: "{color4}"),
35 | highlighted_item_style: (fg: "{color0}", modifiers: "Bold"),
36 | default: (kind: Property(Filename), style: (fg: "gray"),)
37 | ),
38 | width: "70%",
39 | ),
40 | (
41 | prop: (kind: Property(Album), style: (fg: "{color1}"),
42 | default: (kind: Text("Unknown Album"), style: (fg: "{color12}"))
43 | ),
44 | width: "30%",
45 | ),
46 | ],
47 | layout: Split(
48 | direction: Vertical,
49 | panes: [
50 | (
51 | size: "3",
52 | pane: Pane(Tabs),
53 | ),
54 | (
55 | size: "4",
56 | pane: Split(
57 | direction: Horizontal,
58 | panes: [
59 | (
60 | size: "100%",
61 | pane: Split(
62 | direction: Vertical,
63 | panes: [
64 | (
65 | size: "4",
66 | borders: "ALL",
67 | pane: Pane(Header),
68 | ),
69 | ]
70 | )
71 | ),
72 | ]
73 | ),
74 | ),
75 | (
76 | size: "100%",
77 | pane: Split(
78 | direction: Horizontal,
79 | panes: [
80 | (
81 | size: "100%",
82 | borders: "NONE",
83 | pane: Pane(TabContent),
84 | ),
85 | ]
86 | ),
87 | ),
88 | (
89 | size: "3",
90 | borders: "TOP | BOTTOM",
91 | pane: Pane(ProgressBar),
92 | ),
93 | ],
94 | ),
95 | header: (
96 | rows: [
97 | (
98 | left: [
99 | (kind: Property(Status(StateV2(playing_label: " ", paused_label: "❚❚", stopped_label: "❚❚"))), style: (fg: "{color2}", modifiers: "Bold")),
100 | ],
101 | center: [
102 | (kind: Property(Song(Title)), style: (fg: "{color15}",modifiers: "Bold"),
103 | default: (kind: Property(Song(Filename)), style: (fg: "{color15}",modifiers: "Bold"))
104 | )
105 | ],
106 | right: [
107 | (kind: Text("Vol: "), style: (fg: "{color2}", modifiers: "Bold")),
108 | (kind: Property(Status(Volume)), style: (fg: "{color2}", modifiers: "Bold")),
109 | (kind: Text("% "), style: (fg: "{color2}", modifiers: "Bold"))
110 | ]
111 | ),
112 | (
113 | left: [
114 | (kind: Property(Status(Elapsed)),style: (fg: "{color15}")),
115 | (kind: Text("/"),style: (fg: "{color0}")),
116 | (kind: Property(Status(Duration)),style: (fg: "{color15}")),
117 | ],
118 | center: [
119 | (kind: Property(Song(Artist)), style: (fg: "{color2}", modifiers: "Bold"),
120 | default: (kind: Text("Unknown Artist"), style: (fg: "{color9}", modifiers: "Bold"))
121 | ),
122 | ],
123 | right: [
124 | (
125 | kind: Property(Widget(States(
126 | active_style: (fg: "{color15}", modifiers: "Bold"),
127 | separator_style: (fg: "{color15}")))
128 | ),
129 | style: (fg: "{color1}")
130 | ),
131 | ]
132 | ),
133 | ],
134 | ),
135 | browser_song_format: [
136 | (
137 | kind: Group([
138 | (kind: Property(Track)),
139 | (kind: Text(" ")),
140 | ])
141 | ),
142 | (
143 | kind: Group([
144 | (kind: Property(Artist)),
145 | (kind: Text(" - ")),
146 | (kind: Property(Title)),
147 | ]),
148 | default: (kind: Property(Filename))
149 | ),
150 | ],
151 | )
152 |
--------------------------------------------------------------------------------
/.config/GIMP/3.0/toolrc:
--------------------------------------------------------------------------------
1 | # GIMP toolrc
2 |
3 | (file-version 1)
4 |
5 | (GimpToolGroup "tool group"
6 | (visible yes)
7 | (active-tool "gimp-align-tool")
8 | (children
9 | (GimpToolInfo "gimp-move-tool"
10 | (icon-name "gimp-tool-move")
11 | (visible yes))
12 | (GimpToolInfo "gimp-align-tool"
13 | (icon-name "gimp-tool-align")
14 | (visible yes))))
15 | (GimpToolGroup "tool group"
16 | (visible yes)
17 | (active-tool "gimp-unified-transform-tool")
18 | (children
19 | (GimpToolInfo "gimp-unified-transform-tool"
20 | (icon-name "gimp-tool-unified-transform")
21 | (visible yes))
22 | (GimpToolInfo "gimp-rotate-tool"
23 | (icon-name "gimp-tool-rotate")
24 | (visible yes))
25 | (GimpToolInfo "gimp-scale-tool"
26 | (icon-name "gimp-tool-scale")
27 | (visible yes))
28 | (GimpToolInfo "gimp-shear-tool"
29 | (icon-name "gimp-tool-shear")
30 | (visible yes))
31 | (GimpToolInfo "gimp-flip-tool"
32 | (icon-name "gimp-tool-flip")
33 | (visible yes))
34 | (GimpToolInfo "gimp-perspective-tool"
35 | (icon-name "gimp-tool-perspective")
36 | (visible yes))
37 | (GimpToolInfo "gimp-transform-3d-tool"
38 | (icon-name "gimp-tool-transform-3d")
39 | (visible yes))
40 | (GimpToolInfo "gimp-handle-transform-tool"
41 | (icon-name "gimp-tool-handle-transform")
42 | (visible yes))
43 | (GimpToolInfo "gimp-warp-tool"
44 | (icon-name "gimp-tool-warp")
45 | (visible yes))
46 | (GimpToolInfo "gimp-cage-tool"
47 | (icon-name "gimp-tool-cage")
48 | (visible yes))))
49 | (GimpToolGroup "tool group"
50 | (visible yes)
51 | (active-tool "gimp-rect-select-tool")
52 | (children
53 | (GimpToolInfo "gimp-rect-select-tool"
54 | (icon-name "gimp-tool-rect-select")
55 | (visible yes))
56 | (GimpToolInfo "gimp-ellipse-select-tool"
57 | (icon-name "gimp-tool-ellipse-select")
58 | (visible yes))))
59 | (GimpToolInfo "gimp-fuzzy-select-tool"
60 | (icon-name "gimp-tool-fuzzy-select")
61 | (visible yes))
62 | (GimpToolGroup "tool group"
63 | (visible yes)
64 | (active-tool "gimp-iscissors-tool")
65 | (children
66 | (GimpToolInfo "gimp-free-select-tool"
67 | (icon-name "gimp-tool-free-select")
68 | (visible yes))
69 | (GimpToolInfo "gimp-iscissors-tool"
70 | (icon-name "gimp-tool-iscissors")
71 | (visible yes))
72 | (GimpToolInfo "gimp-foreground-select-tool"
73 | (icon-name "gimp-tool-foreground-select")
74 | (visible yes))
75 | (GimpToolInfo "gimp-by-color-select-tool"
76 | (icon-name "gimp-tool-by-color-select")
77 | (visible yes))))
78 | (GimpToolInfo "gimp-crop-tool"
79 | (icon-name "gimp-tool-crop")
80 | (visible yes))
81 | (GimpToolInfo "gimp-bucket-fill-tool"
82 | (icon-name "gimp-tool-bucket-fill")
83 | (visible yes))
84 | (GimpToolInfo "gimp-gradient-tool"
85 | (icon-name "gimp-tool-gradient")
86 | (visible yes))
87 | (GimpToolInfo "gimp-paintbrush-tool"
88 | (icon-name "gimp-tool-paintbrush")
89 | (visible yes))
90 | (GimpToolGroup "tool group"
91 | (visible yes)
92 | (active-tool "gimp-pencil-tool")
93 | (children
94 | (GimpToolInfo "gimp-pencil-tool"
95 | (icon-name "gimp-tool-pencil")
96 | (visible yes))
97 | (GimpToolInfo "gimp-airbrush-tool"
98 | (icon-name "gimp-tool-airbrush")
99 | (visible yes))
100 | (GimpToolInfo "gimp-ink-tool"
101 | (icon-name "gimp-tool-ink")
102 | (visible yes))
103 | (GimpToolInfo "gimp-mypaint-brush-tool"
104 | (icon-name "gimp-tool-mypaint-brush")
105 | (visible yes))))
106 | (GimpToolInfo "gimp-eraser-tool"
107 | (icon-name "gimp-tool-eraser")
108 | (visible yes))
109 | (GimpToolGroup "tool group"
110 | (visible yes)
111 | (active-tool "gimp-dodge-burn-tool")
112 | (children
113 | (GimpToolInfo "gimp-dodge-burn-tool"
114 | (icon-name "gimp-tool-dodge")
115 | (visible yes))
116 | (GimpToolInfo "gimp-smudge-tool"
117 | (icon-name "gimp-tool-smudge")
118 | (visible yes))
119 | (GimpToolInfo "gimp-convolve-tool"
120 | (icon-name "gimp-tool-blur")
121 | (visible yes))))
122 | (GimpToolGroup "tool group"
123 | (visible yes)
124 | (active-tool "gimp-clone-tool")
125 | (children
126 | (GimpToolInfo "gimp-clone-tool"
127 | (icon-name "gimp-tool-clone")
128 | (visible yes))
129 | (GimpToolInfo "gimp-perspective-clone-tool"
130 | (icon-name "gimp-tool-perspective-clone")
131 | (visible yes))
132 | (GimpToolInfo "gimp-heal-tool"
133 | (icon-name "gimp-tool-heal")
134 | (visible yes))))
135 | (GimpToolInfo "gimp-text-tool"
136 | (icon-name "gimp-tool-text")
137 | (visible yes))
138 | (GimpToolGroup "tool group"
139 | (visible yes)
140 | (active-tool "gimp-color-picker-tool")
141 | (children
142 | (GimpToolInfo "gimp-color-picker-tool"
143 | (icon-name "gimp-tool-color-picker")
144 | (visible yes))
145 | (GimpToolInfo "gimp-measure-tool"
146 | (icon-name "gimp-tool-measure")
147 | (visible yes))
148 | (GimpToolInfo "gimp-vector-tool"
149 | (icon-name "gimp-tool-path")
150 | (visible yes))
151 | (GimpToolInfo "gimp-zoom-tool"
152 | (icon-name "gimp-tool-zoom")
153 | (visible no))))
154 | (GimpToolInfo "gimp-levels-tool"
155 | (icon-name "gimp-tool-levels")
156 | (visible yes))
157 | (GimpToolInfo "gimp-curves-tool"
158 | (icon-name "gimp-tool-curves")
159 | (visible yes))
160 | (GimpToolInfo "gimp-brightness-contrast-tool"
161 | (icon-name "gimp-tool-brightness-contrast")
162 | (visible yes))
163 | (GimpToolInfo "gimp-threshold-tool"
164 | (icon-name "gimp-tool-threshold")
165 | (visible yes))
166 | (GimpToolInfo "gimp-gegl-tool"
167 | (icon-name "gimp-gegl")
168 | (visible yes))
169 | (GimpToolInfo "gimp-offset-tool"
170 | (icon-name "gimp-tool-offset")
171 | (visible no))
172 |
173 | # end of toolrc
174 |
--------------------------------------------------------------------------------
/.config/qutebrowser/config.py:
--------------------------------------------------------------------------------
1 | # pylint: disable=C0111
2 | c = c # noqa: F821 pylint: disable=E0602,C0103
3 | config = config # noqa: F821 pylint: disable=E0602,C0103
4 | # pylint settings included to disable linting errors
5 |
6 | import subprocess
7 | def read_xresources(prefix):
8 | props = {}
9 | x = subprocess.run(['xrdb', '-query'], capture_output=True, check=True, text=True)
10 | lines = x.stdout.split('\n')
11 | for line in filter(lambda l : l.startswith(prefix), lines):
12 | prop, _, value = line.partition(':\t')
13 | props[prop] = value
14 | return props
15 |
16 | xresources = read_xresources("*")
17 |
18 | c.colors.statusbar.normal.bg = "#00000000"
19 | c.colors.statusbar.command.bg = "#00000000"
20 | # c.colors.statusbar.normal.bg = xresources["*.background"]
21 | # c.colors.statusbar.command.bg = xresources["*.background"]
22 | c.colors.statusbar.command.fg = xresources["*.foreground"]
23 | c.colors.statusbar.normal.fg = xresources["*color14"]
24 | c.colors.statusbar.passthrough.fg = xresources["*color14"]
25 | c.colors.statusbar.url.fg = xresources["*color13"]
26 | c.colors.statusbar.url.success.https.fg = xresources["*color13"]
27 | c.colors.statusbar.url.hover.fg = xresources["*color12"]
28 | # c.statusbar.show = "always"
29 | c.colors.tabs.even.bg = "#00000000" # transparent tabs!!
30 | c.colors.tabs.odd.bg = "#00000000"
31 | c.colors.tabs.bar.bg = "#00000000"
32 | # c.colors.tabs.even.bg = xresources["*.background"]
33 | # c.colors.tabs.odd.bg = xresources["*.background"]
34 | c.colors.tabs.even.fg = xresources["*.color0"]
35 | c.colors.tabs.odd.fg = xresources["*.color0"]
36 | c.colors.tabs.selected.even.bg = xresources["*.foreground"]
37 | c.colors.tabs.selected.odd.bg = xresources["*.foreground"]
38 | c.colors.tabs.selected.even.fg = xresources["*.background"]
39 | c.colors.tabs.selected.odd.fg = xresources["*.background"]
40 | c.colors.hints.bg = xresources["*.background"]
41 | c.colors.hints.fg = xresources["*.foreground"]
42 | c.tabs.show = "multiple"
43 |
44 | c.colors.completion.item.selected.match.fg = xresources["*color6"]
45 | c.colors.completion.match.fg = xresources["*color6"]
46 |
47 | c.colors.tabs.indicator.start = xresources["*color10"]
48 | c.colors.tabs.indicator.stop = xresources["*color8"]
49 | c.colors.completion.odd.bg = xresources["*.background"]
50 | c.colors.completion.even.bg = xresources["*.background"]
51 | c.colors.completion.fg = xresources["*.foreground"]
52 | c.colors.completion.category.bg = xresources["*.background"]
53 | c.colors.completion.category.fg = xresources["*.foreground"]
54 | c.colors.completion.item.selected.bg = xresources["*.background"]
55 | c.colors.completion.item.selected.fg = xresources["*.foreground"]
56 |
57 | c.colors.messages.info.bg = xresources["*.background"]
58 | c.colors.messages.info.fg = xresources["*.foreground"]
59 | c.colors.messages.error.bg = xresources["*.background"]
60 | c.colors.messages.error.fg = xresources["*.foreground"]
61 | c.colors.downloads.error.bg = xresources["*.background"]
62 | c.colors.downloads.error.fg = xresources["*.foreground"]
63 |
64 | c.colors.downloads.bar.bg = xresources["*.background"]
65 | c.colors.downloads.start.bg = xresources["*.color10"]
66 | c.colors.downloads.start.fg = xresources["*.foreground"]
67 | c.colors.downloads.stop.bg = xresources["*.color8"]
68 | c.colors.downloads.stop.fg = xresources["*.foreground"]
69 |
70 | c.colors.tooltip.bg = xresources["*.background"]
71 | c.colors.webpage.bg = xresources["*.background"]
72 | c.hints.border = xresources["*.foreground"]
73 |
74 | # c.url.start_pages = ""
75 | # c.url.default_page = ""
76 |
77 | c.tabs.title.format = "{audio}{current_title}"
78 | c.fonts.web.size.default = 20
79 |
80 | c.url.searchengines = {
81 | # note - if you use duckduckgo, you can make use of its built in bangs, of which there are many! https://duckduckgo.com/bangs
82 | 'DEFAULT': 'https://duckduckgo.com/?q={}',
83 | '!aw': 'https://wiki.archlinux.org/?search={}',
84 | '!apkg': 'https://archlinux.org/packages/?sort=&q={}&maintainer=&flagged=',
85 | '!gh': 'https://github.com/search?o=desc&q={}&s=stars',
86 | '!yt': 'https://www.youtube.com/results?search_query={}',
87 | }
88 |
89 | c.completion.open_categories = ['searchengines', 'quickmarks', 'bookmarks', 'history', 'filesystem']
90 |
91 | config.load_autoconfig() # load settings done via the gui
92 |
93 | c.auto_save.session = True # save tabs on quit/restart
94 |
95 | # keybinding changes
96 | config.bind('=', 'cmd-set-text -s :open')
97 | config.bind('h', 'history')
98 | config.bind('cc', 'hint images spawn sh -c "cliphist link {hint-url}"')
99 | config.bind('cs', 'cmd-set-text -s :config-source')
100 | config.bind('tH', 'config-cycle tabs.show multiple never')
101 | config.bind('sH', 'config-cycle statusbar.show always never')
102 | config.bind('T', 'hint links tab')
103 | config.bind('pP', 'open -- {primary}')
104 | config.bind('pp', 'open -- {clipboard}')
105 | config.bind('pt', 'open -t -- {clipboard}')
106 | config.bind('qm', 'macro-record')
107 | config.bind('', 'spawn --userscript ytdl.sh')
108 | config.bind('tT', 'config-cycle tabs.position top left')
109 | config.bind('gJ', 'tab-move +')
110 | config.bind('gK', 'tab-move -')
111 | config.bind('gm', 'tab-move')
112 |
113 | # dark mode setup
114 | c.colors.webpage.darkmode.enabled = True
115 | c.colors.webpage.darkmode.algorithm = 'lightness-cielab'
116 | c.colors.webpage.darkmode.policy.images = 'never'
117 | config.set('colors.webpage.darkmode.enabled', False, 'file://*')
118 |
119 | # styles, cosmetics
120 | # c.content.user_stylesheets = ["~/.config/qutebrowser/styles/youtube-tweaks.css"]
121 | c.tabs.padding = {'top': 5, 'bottom': 5, 'left': 9, 'right': 9}
122 | c.tabs.indicator.width = 0 # no tab indicators
123 | # c.window.transparent = True # apparently not needed
124 | c.tabs.width = '7%'
125 |
126 | # fonts
127 | c.fonts.default_family = []
128 | c.fonts.default_size = '13pt'
129 | c.fonts.web.family.fixed = 'monospace'
130 | c.fonts.web.family.sans_serif = 'monospace'
131 | c.fonts.web.family.serif = 'monospace'
132 | c.fonts.web.family.standard = 'monospace'
133 |
134 | # privacy - adjust these settings based on your preference
135 | # config.set("completion.cmd_history_max_items", 0)
136 | # config.set("content.private_browsing", True)
137 | config.set("content.webgl", False, "*")
138 | config.set("content.canvas_reading", False)
139 | config.set("content.geolocation", False)
140 | config.set("content.webrtc_ip_handling_policy", "default-public-interface-only")
141 | config.set("content.cookies.accept", "all")
142 | config.set("content.cookies.store", True)
143 | # config.set("content.javascript.enabled", False) # tsh keybind to toggle
144 |
145 | # Adblocking info -->
146 | # For yt ads: place the greasemonkey script yt-ads.js in your greasemonkey folder (~/.config/qutebrowser/greasemonkey).
147 | # The script skips through the entire ad, so all you have to do is click the skip button.
148 | # Yeah it's not ublock origin, but if you want a minimal browser, this is a solution for the tradeoff.
149 | # You can also watch yt vids directly in mpv, see qutebrowser FAQ for how to do that.
150 | # If you want additional blocklists, you can get the python-adblock package, or you can uncomment the ublock lists here.
151 | c.content.blocking.enabled = True
152 | # c.content.blocking.method = 'adblock' # uncomment this if you install python-adblock
153 | # c.content.blocking.adblock.lists = [
154 | # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/legacy.txt",
155 | # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/filters.txt",
156 | # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/filters-2020.txt",
157 | # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/filters-2021.txt",
158 | # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/filters-2022.txt",
159 | # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/filters-2023.txt",
160 | # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/filters-2024.txt",
161 | # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/badware.txt",
162 | # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/privacy.txt",
163 | # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/badlists.txt",
164 | # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/annoyances.txt",
165 | # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/annoyances-cookies.txt",
166 | # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/annoyances-others.txt",
167 | # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/badlists.txt",
168 | # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/quick-fixes.txt",
169 | # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/resource-abuse.txt",
170 | # "https://github.com/uBlockOrigin/uAssets/raw/master/filters/unbreak.txt"]
171 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | GNU GENERAL PUBLIC LICENSE
2 | Version 3, 29 June 2007
3 |
4 | Copyright (C) 2007 Free Software Foundation, Inc.
5 | Everyone is permitted to copy and distribute verbatim copies
6 | of this license document, but changing it is not allowed.
7 |
8 | Preamble
9 |
10 | The GNU General Public License is a free, copyleft license for
11 | software and other kinds of works.
12 |
13 | The licenses for most software and other practical works are designed
14 | to take away your freedom to share and change the works. By contrast,
15 | the GNU General Public License is intended to guarantee your freedom to
16 | share and change all versions of a program--to make sure it remains free
17 | software for all its users. We, the Free Software Foundation, use the
18 | GNU General Public License for most of our software; it applies also to
19 | any other work released this way by its authors. You can apply it to
20 | your programs, too.
21 |
22 | When we speak of free software, we are referring to freedom, not
23 | price. Our General Public Licenses are designed to make sure that you
24 | have the freedom to distribute copies of free software (and charge for
25 | them if you wish), that you receive source code or can get it if you
26 | want it, that you can change the software or use pieces of it in new
27 | free programs, and that you know you can do these things.
28 |
29 | To protect your rights, we need to prevent others from denying you
30 | these rights or asking you to surrender the rights. Therefore, you have
31 | certain responsibilities if you distribute copies of the software, or if
32 | you modify it: responsibilities to respect the freedom of others.
33 |
34 | For example, if you distribute copies of such a program, whether
35 | gratis or for a fee, you must pass on to the recipients the same
36 | freedoms that you received. You must make sure that they, too, receive
37 | or can get the source code. And you must show them these terms so they
38 | know their rights.
39 |
40 | Developers that use the GNU GPL protect your rights with two steps:
41 | (1) assert copyright on the software, and (2) offer you this License
42 | giving you legal permission to copy, distribute and/or modify it.
43 |
44 | For the developers' and authors' protection, the GPL clearly explains
45 | that there is no warranty for this free software. For both users' and
46 | authors' sake, the GPL requires that modified versions be marked as
47 | changed, so that their problems will not be attributed erroneously to
48 | authors of previous versions.
49 |
50 | Some devices are designed to deny users access to install or run
51 | modified versions of the software inside them, although the manufacturer
52 | can do so. This is fundamentally incompatible with the aim of
53 | protecting users' freedom to change the software. The systematic
54 | pattern of such abuse occurs in the area of products for individuals to
55 | use, which is precisely where it is most unacceptable. Therefore, we
56 | have designed this version of the GPL to prohibit the practice for those
57 | products. If such problems arise substantially in other domains, we
58 | stand ready to extend this provision to those domains in future versions
59 | of the GPL, as needed to protect the freedom of users.
60 |
61 | Finally, every program is threatened constantly by software patents.
62 | States should not allow patents to restrict development and use of
63 | software on general-purpose computers, but in those that do, we wish to
64 | avoid the special danger that patents applied to a free program could
65 | make it effectively proprietary. To prevent this, the GPL assures that
66 | patents cannot be used to render the program non-free.
67 |
68 | The precise terms and conditions for copying, distribution and
69 | modification follow.
70 |
71 | TERMS AND CONDITIONS
72 |
73 | 0. Definitions.
74 |
75 | "This License" refers to version 3 of the GNU General Public License.
76 |
77 | "Copyright" also means copyright-like laws that apply to other kinds of
78 | works, such as semiconductor masks.
79 |
80 | "The Program" refers to any copyrightable work licensed under this
81 | License. Each licensee is addressed as "you". "Licensees" and
82 | "recipients" may be individuals or organizations.
83 |
84 | To "modify" a work means to copy from or adapt all or part of the work
85 | in a fashion requiring copyright permission, other than the making of an
86 | exact copy. The resulting work is called a "modified version" of the
87 | earlier work or a work "based on" the earlier work.
88 |
89 | A "covered work" means either the unmodified Program or a work based
90 | on the Program.
91 |
92 | To "propagate" a work means to do anything with it that, without
93 | permission, would make you directly or secondarily liable for
94 | infringement under applicable copyright law, except executing it on a
95 | computer or modifying a private copy. Propagation includes copying,
96 | distribution (with or without modification), making available to the
97 | public, and in some countries other activities as well.
98 |
99 | To "convey" a work means any kind of propagation that enables other
100 | parties to make or receive copies. Mere interaction with a user through
101 | a computer network, with no transfer of a copy, is not conveying.
102 |
103 | An interactive user interface displays "Appropriate Legal Notices"
104 | to the extent that it includes a convenient and prominently visible
105 | feature that (1) displays an appropriate copyright notice, and (2)
106 | tells the user that there is no warranty for the work (except to the
107 | extent that warranties are provided), that licensees may convey the
108 | work under this License, and how to view a copy of this License. If
109 | the interface presents a list of user commands or options, such as a
110 | menu, a prominent item in the list meets this criterion.
111 |
112 | 1. Source Code.
113 |
114 | The "source code" for a work means the preferred form of the work
115 | for making modifications to it. "Object code" means any non-source
116 | form of a work.
117 |
118 | A "Standard Interface" means an interface that either is an official
119 | standard defined by a recognized standards body, or, in the case of
120 | interfaces specified for a particular programming language, one that
121 | is widely used among developers working in that language.
122 |
123 | The "System Libraries" of an executable work include anything, other
124 | than the work as a whole, that (a) is included in the normal form of
125 | packaging a Major Component, but which is not part of that Major
126 | Component, and (b) serves only to enable use of the work with that
127 | Major Component, or to implement a Standard Interface for which an
128 | implementation is available to the public in source code form. A
129 | "Major Component", in this context, means a major essential component
130 | (kernel, window system, and so on) of the specific operating system
131 | (if any) on which the executable work runs, or a compiler used to
132 | produce the work, or an object code interpreter used to run it.
133 |
134 | The "Corresponding Source" for a work in object code form means all
135 | the source code needed to generate, install, and (for an executable
136 | work) run the object code and to modify the work, including scripts to
137 | control those activities. However, it does not include the work's
138 | System Libraries, or general-purpose tools or generally available free
139 | programs which are used unmodified in performing those activities but
140 | which are not part of the work. For example, Corresponding Source
141 | includes interface definition files associated with source files for
142 | the work, and the source code for shared libraries and dynamically
143 | linked subprograms that the work is specifically designed to require,
144 | such as by intimate data communication or control flow between those
145 | subprograms and other parts of the work.
146 |
147 | The Corresponding Source need not include anything that users
148 | can regenerate automatically from other parts of the Corresponding
149 | Source.
150 |
151 | The Corresponding Source for a work in source code form is that
152 | same work.
153 |
154 | 2. Basic Permissions.
155 |
156 | All rights granted under this License are granted for the term of
157 | copyright on the Program, and are irrevocable provided the stated
158 | conditions are met. This License explicitly affirms your unlimited
159 | permission to run the unmodified Program. The output from running a
160 | covered work is covered by this License only if the output, given its
161 | content, constitutes a covered work. This License acknowledges your
162 | rights of fair use or other equivalent, as provided by copyright law.
163 |
164 | You may make, run and propagate covered works that you do not
165 | convey, without conditions so long as your license otherwise remains
166 | in force. You may convey covered works to others for the sole purpose
167 | of having them make modifications exclusively for you, or provide you
168 | with facilities for running those works, provided that you comply with
169 | the terms of this License in conveying all material for which you do
170 | not control copyright. Those thus making or running the covered works
171 | for you must do so exclusively on your behalf, under your direction
172 | and control, on terms that prohibit them from making any copies of
173 | your copyrighted material outside their relationship with you.
174 |
175 | Conveying under any other circumstances is permitted solely under
176 | the conditions stated below. Sublicensing is not allowed; section 10
177 | makes it unnecessary.
178 |
179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
180 |
181 | No covered work shall be deemed part of an effective technological
182 | measure under any applicable law fulfilling obligations under article
183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or
184 | similar laws prohibiting or restricting circumvention of such
185 | measures.
186 |
187 | When you convey a covered work, you waive any legal power to forbid
188 | circumvention of technological measures to the extent such circumvention
189 | is effected by exercising rights under this License with respect to
190 | the covered work, and you disclaim any intention to limit operation or
191 | modification of the work as a means of enforcing, against the work's
192 | users, your or third parties' legal rights to forbid circumvention of
193 | technological measures.
194 |
195 | 4. Conveying Verbatim Copies.
196 |
197 | You may convey verbatim copies of the Program's source code as you
198 | receive it, in any medium, provided that you conspicuously and
199 | appropriately publish on each copy an appropriate copyright notice;
200 | keep intact all notices stating that this License and any
201 | non-permissive terms added in accord with section 7 apply to the code;
202 | keep intact all notices of the absence of any warranty; and give all
203 | recipients a copy of this License along with the Program.
204 |
205 | You may charge any price or no price for each copy that you convey,
206 | and you may offer support or warranty protection for a fee.
207 |
208 | 5. Conveying Modified Source Versions.
209 |
210 | You may convey a work based on the Program, or the modifications to
211 | produce it from the Program, in the form of source code under the
212 | terms of section 4, provided that you also meet all of these conditions:
213 |
214 | a) The work must carry prominent notices stating that you modified
215 | it, and giving a relevant date.
216 |
217 | b) The work must carry prominent notices stating that it is
218 | released under this License and any conditions added under section
219 | 7. This requirement modifies the requirement in section 4 to
220 | "keep intact all notices".
221 |
222 | c) You must license the entire work, as a whole, under this
223 | License to anyone who comes into possession of a copy. This
224 | License will therefore apply, along with any applicable section 7
225 | additional terms, to the whole of the work, and all its parts,
226 | regardless of how they are packaged. This License gives no
227 | permission to license the work in any other way, but it does not
228 | invalidate such permission if you have separately received it.
229 |
230 | d) If the work has interactive user interfaces, each must display
231 | Appropriate Legal Notices; however, if the Program has interactive
232 | interfaces that do not display Appropriate Legal Notices, your
233 | work need not make them do so.
234 |
235 | A compilation of a covered work with other separate and independent
236 | works, which are not by their nature extensions of the covered work,
237 | and which are not combined with it such as to form a larger program,
238 | in or on a volume of a storage or distribution medium, is called an
239 | "aggregate" if the compilation and its resulting copyright are not
240 | used to limit the access or legal rights of the compilation's users
241 | beyond what the individual works permit. Inclusion of a covered work
242 | in an aggregate does not cause this License to apply to the other
243 | parts of the aggregate.
244 |
245 | 6. Conveying Non-Source Forms.
246 |
247 | You may convey a covered work in object code form under the terms
248 | of sections 4 and 5, provided that you also convey the
249 | machine-readable Corresponding Source under the terms of this License,
250 | in one of these ways:
251 |
252 | a) Convey the object code in, or embodied in, a physical product
253 | (including a physical distribution medium), accompanied by the
254 | Corresponding Source fixed on a durable physical medium
255 | customarily used for software interchange.
256 |
257 | b) Convey the object code in, or embodied in, a physical product
258 | (including a physical distribution medium), accompanied by a
259 | written offer, valid for at least three years and valid for as
260 | long as you offer spare parts or customer support for that product
261 | model, to give anyone who possesses the object code either (1) a
262 | copy of the Corresponding Source for all the software in the
263 | product that is covered by this License, on a durable physical
264 | medium customarily used for software interchange, for a price no
265 | more than your reasonable cost of physically performing this
266 | conveying of source, or (2) access to copy the
267 | Corresponding Source from a network server at no charge.
268 |
269 | c) Convey individual copies of the object code with a copy of the
270 | written offer to provide the Corresponding Source. This
271 | alternative is allowed only occasionally and noncommercially, and
272 | only if you received the object code with such an offer, in accord
273 | with subsection 6b.
274 |
275 | d) Convey the object code by offering access from a designated
276 | place (gratis or for a charge), and offer equivalent access to the
277 | Corresponding Source in the same way through the same place at no
278 | further charge. You need not require recipients to copy the
279 | Corresponding Source along with the object code. If the place to
280 | copy the object code is a network server, the Corresponding Source
281 | may be on a different server (operated by you or a third party)
282 | that supports equivalent copying facilities, provided you maintain
283 | clear directions next to the object code saying where to find the
284 | Corresponding Source. Regardless of what server hosts the
285 | Corresponding Source, you remain obligated to ensure that it is
286 | available for as long as needed to satisfy these requirements.
287 |
288 | e) Convey the object code using peer-to-peer transmission, provided
289 | you inform other peers where the object code and Corresponding
290 | Source of the work are being offered to the general public at no
291 | charge under subsection 6d.
292 |
293 | A separable portion of the object code, whose source code is excluded
294 | from the Corresponding Source as a System Library, need not be
295 | included in conveying the object code work.
296 |
297 | A "User Product" is either (1) a "consumer product", which means any
298 | tangible personal property which is normally used for personal, family,
299 | or household purposes, or (2) anything designed or sold for incorporation
300 | into a dwelling. In determining whether a product is a consumer product,
301 | doubtful cases shall be resolved in favor of coverage. For a particular
302 | product received by a particular user, "normally used" refers to a
303 | typical or common use of that class of product, regardless of the status
304 | of the particular user or of the way in which the particular user
305 | actually uses, or expects or is expected to use, the product. A product
306 | is a consumer product regardless of whether the product has substantial
307 | commercial, industrial or non-consumer uses, unless such uses represent
308 | the only significant mode of use of the product.
309 |
310 | "Installation Information" for a User Product means any methods,
311 | procedures, authorization keys, or other information required to install
312 | and execute modified versions of a covered work in that User Product from
313 | a modified version of its Corresponding Source. The information must
314 | suffice to ensure that the continued functioning of the modified object
315 | code is in no case prevented or interfered with solely because
316 | modification has been made.
317 |
318 | If you convey an object code work under this section in, or with, or
319 | specifically for use in, a User Product, and the conveying occurs as
320 | part of a transaction in which the right of possession and use of the
321 | User Product is transferred to the recipient in perpetuity or for a
322 | fixed term (regardless of how the transaction is characterized), the
323 | Corresponding Source conveyed under this section must be accompanied
324 | by the Installation Information. But this requirement does not apply
325 | if neither you nor any third party retains the ability to install
326 | modified object code on the User Product (for example, the work has
327 | been installed in ROM).
328 |
329 | The requirement to provide Installation Information does not include a
330 | requirement to continue to provide support service, warranty, or updates
331 | for a work that has been modified or installed by the recipient, or for
332 | the User Product in which it has been modified or installed. Access to a
333 | network may be denied when the modification itself materially and
334 | adversely affects the operation of the network or violates the rules and
335 | protocols for communication across the network.
336 |
337 | Corresponding Source conveyed, and Installation Information provided,
338 | in accord with this section must be in a format that is publicly
339 | documented (and with an implementation available to the public in
340 | source code form), and must require no special password or key for
341 | unpacking, reading or copying.
342 |
343 | 7. Additional Terms.
344 |
345 | "Additional permissions" are terms that supplement the terms of this
346 | License by making exceptions from one or more of its conditions.
347 | Additional permissions that are applicable to the entire Program shall
348 | be treated as though they were included in this License, to the extent
349 | that they are valid under applicable law. If additional permissions
350 | apply only to part of the Program, that part may be used separately
351 | under those permissions, but the entire Program remains governed by
352 | this License without regard to the additional permissions.
353 |
354 | When you convey a copy of a covered work, you may at your option
355 | remove any additional permissions from that copy, or from any part of
356 | it. (Additional permissions may be written to require their own
357 | removal in certain cases when you modify the work.) You may place
358 | additional permissions on material, added by you to a covered work,
359 | for which you have or can give appropriate copyright permission.
360 |
361 | Notwithstanding any other provision of this License, for material you
362 | add to a covered work, you may (if authorized by the copyright holders of
363 | that material) supplement the terms of this License with terms:
364 |
365 | a) Disclaiming warranty or limiting liability differently from the
366 | terms of sections 15 and 16 of this License; or
367 |
368 | b) Requiring preservation of specified reasonable legal notices or
369 | author attributions in that material or in the Appropriate Legal
370 | Notices displayed by works containing it; or
371 |
372 | c) Prohibiting misrepresentation of the origin of that material, or
373 | requiring that modified versions of such material be marked in
374 | reasonable ways as different from the original version; or
375 |
376 | d) Limiting the use for publicity purposes of names of licensors or
377 | authors of the material; or
378 |
379 | e) Declining to grant rights under trademark law for use of some
380 | trade names, trademarks, or service marks; or
381 |
382 | f) Requiring indemnification of licensors and authors of that
383 | material by anyone who conveys the material (or modified versions of
384 | it) with contractual assumptions of liability to the recipient, for
385 | any liability that these contractual assumptions directly impose on
386 | those licensors and authors.
387 |
388 | All other non-permissive additional terms are considered "further
389 | restrictions" within the meaning of section 10. If the Program as you
390 | received it, or any part of it, contains a notice stating that it is
391 | governed by this License along with a term that is a further
392 | restriction, you may remove that term. If a license document contains
393 | a further restriction but permits relicensing or conveying under this
394 | License, you may add to a covered work material governed by the terms
395 | of that license document, provided that the further restriction does
396 | not survive such relicensing or conveying.
397 |
398 | If you add terms to a covered work in accord with this section, you
399 | must place, in the relevant source files, a statement of the
400 | additional terms that apply to those files, or a notice indicating
401 | where to find the applicable terms.
402 |
403 | Additional terms, permissive or non-permissive, may be stated in the
404 | form of a separately written license, or stated as exceptions;
405 | the above requirements apply either way.
406 |
407 | 8. Termination.
408 |
409 | You may not propagate or modify a covered work except as expressly
410 | provided under this License. Any attempt otherwise to propagate or
411 | modify it is void, and will automatically terminate your rights under
412 | this License (including any patent licenses granted under the third
413 | paragraph of section 11).
414 |
415 | However, if you cease all violation of this License, then your
416 | license from a particular copyright holder is reinstated (a)
417 | provisionally, unless and until the copyright holder explicitly and
418 | finally terminates your license, and (b) permanently, if the copyright
419 | holder fails to notify you of the violation by some reasonable means
420 | prior to 60 days after the cessation.
421 |
422 | Moreover, your license from a particular copyright holder is
423 | reinstated permanently if the copyright holder notifies you of the
424 | violation by some reasonable means, this is the first time you have
425 | received notice of violation of this License (for any work) from that
426 | copyright holder, and you cure the violation prior to 30 days after
427 | your receipt of the notice.
428 |
429 | Termination of your rights under this section does not terminate the
430 | licenses of parties who have received copies or rights from you under
431 | this License. If your rights have been terminated and not permanently
432 | reinstated, you do not qualify to receive new licenses for the same
433 | material under section 10.
434 |
435 | 9. Acceptance Not Required for Having Copies.
436 |
437 | You are not required to accept this License in order to receive or
438 | run a copy of the Program. Ancillary propagation of a covered work
439 | occurring solely as a consequence of using peer-to-peer transmission
440 | to receive a copy likewise does not require acceptance. However,
441 | nothing other than this License grants you permission to propagate or
442 | modify any covered work. These actions infringe copyright if you do
443 | not accept this License. Therefore, by modifying or propagating a
444 | covered work, you indicate your acceptance of this License to do so.
445 |
446 | 10. Automatic Licensing of Downstream Recipients.
447 |
448 | Each time you convey a covered work, the recipient automatically
449 | receives a license from the original licensors, to run, modify and
450 | propagate that work, subject to this License. You are not responsible
451 | for enforcing compliance by third parties with this License.
452 |
453 | An "entity transaction" is a transaction transferring control of an
454 | organization, or substantially all assets of one, or subdividing an
455 | organization, or merging organizations. If propagation of a covered
456 | work results from an entity transaction, each party to that
457 | transaction who receives a copy of the work also receives whatever
458 | licenses to the work the party's predecessor in interest had or could
459 | give under the previous paragraph, plus a right to possession of the
460 | Corresponding Source of the work from the predecessor in interest, if
461 | the predecessor has it or can get it with reasonable efforts.
462 |
463 | You may not impose any further restrictions on the exercise of the
464 | rights granted or affirmed under this License. For example, you may
465 | not impose a license fee, royalty, or other charge for exercise of
466 | rights granted under this License, and you may not initiate litigation
467 | (including a cross-claim or counterclaim in a lawsuit) alleging that
468 | any patent claim is infringed by making, using, selling, offering for
469 | sale, or importing the Program or any portion of it.
470 |
471 | 11. Patents.
472 |
473 | A "contributor" is a copyright holder who authorizes use under this
474 | License of the Program or a work on which the Program is based. The
475 | work thus licensed is called the contributor's "contributor version".
476 |
477 | A contributor's "essential patent claims" are all patent claims
478 | owned or controlled by the contributor, whether already acquired or
479 | hereafter acquired, that would be infringed by some manner, permitted
480 | by this License, of making, using, or selling its contributor version,
481 | but do not include claims that would be infringed only as a
482 | consequence of further modification of the contributor version. For
483 | purposes of this definition, "control" includes the right to grant
484 | patent sublicenses in a manner consistent with the requirements of
485 | this License.
486 |
487 | Each contributor grants you a non-exclusive, worldwide, royalty-free
488 | patent license under the contributor's essential patent claims, to
489 | make, use, sell, offer for sale, import and otherwise run, modify and
490 | propagate the contents of its contributor version.
491 |
492 | In the following three paragraphs, a "patent license" is any express
493 | agreement or commitment, however denominated, not to enforce a patent
494 | (such as an express permission to practice a patent or covenant not to
495 | sue for patent infringement). To "grant" such a patent license to a
496 | party means to make such an agreement or commitment not to enforce a
497 | patent against the party.
498 |
499 | If you convey a covered work, knowingly relying on a patent license,
500 | and the Corresponding Source of the work is not available for anyone
501 | to copy, free of charge and under the terms of this License, through a
502 | publicly available network server or other readily accessible means,
503 | then you must either (1) cause the Corresponding Source to be so
504 | available, or (2) arrange to deprive yourself of the benefit of the
505 | patent license for this particular work, or (3) arrange, in a manner
506 | consistent with the requirements of this License, to extend the patent
507 | license to downstream recipients. "Knowingly relying" means you have
508 | actual knowledge that, but for the patent license, your conveying the
509 | covered work in a country, or your recipient's use of the covered work
510 | in a country, would infringe one or more identifiable patents in that
511 | country that you have reason to believe are valid.
512 |
513 | If, pursuant to or in connection with a single transaction or
514 | arrangement, you convey, or propagate by procuring conveyance of, a
515 | covered work, and grant a patent license to some of the parties
516 | receiving the covered work authorizing them to use, propagate, modify
517 | or convey a specific copy of the covered work, then the patent license
518 | you grant is automatically extended to all recipients of the covered
519 | work and works based on it.
520 |
521 | A patent license is "discriminatory" if it does not include within
522 | the scope of its coverage, prohibits the exercise of, or is
523 | conditioned on the non-exercise of one or more of the rights that are
524 | specifically granted under this License. You may not convey a covered
525 | work if you are a party to an arrangement with a third party that is
526 | in the business of distributing software, under which you make payment
527 | to the third party based on the extent of your activity of conveying
528 | the work, and under which the third party grants, to any of the
529 | parties who would receive the covered work from you, a discriminatory
530 | patent license (a) in connection with copies of the covered work
531 | conveyed by you (or copies made from those copies), or (b) primarily
532 | for and in connection with specific products or compilations that
533 | contain the covered work, unless you entered into that arrangement,
534 | or that patent license was granted, prior to 28 March 2007.
535 |
536 | Nothing in this License shall be construed as excluding or limiting
537 | any implied license or other defenses to infringement that may
538 | otherwise be available to you under applicable patent law.
539 |
540 | 12. No Surrender of Others' Freedom.
541 |
542 | If conditions are imposed on you (whether by court order, agreement or
543 | otherwise) that contradict the conditions of this License, they do not
544 | excuse you from the conditions of this License. If you cannot convey a
545 | covered work so as to satisfy simultaneously your obligations under this
546 | License and any other pertinent obligations, then as a consequence you may
547 | not convey it at all. For example, if you agree to terms that obligate you
548 | to collect a royalty for further conveying from those to whom you convey
549 | the Program, the only way you could satisfy both those terms and this
550 | License would be to refrain entirely from conveying the Program.
551 |
552 | 13. Use with the GNU Affero General Public License.
553 |
554 | Notwithstanding any other provision of this License, you have
555 | permission to link or combine any covered work with a work licensed
556 | under version 3 of the GNU Affero General Public License into a single
557 | combined work, and to convey the resulting work. The terms of this
558 | License will continue to apply to the part which is the covered work,
559 | but the special requirements of the GNU Affero General Public License,
560 | section 13, concerning interaction through a network will apply to the
561 | combination as such.
562 |
563 | 14. Revised Versions of this License.
564 |
565 | The Free Software Foundation may publish revised and/or new versions of
566 | the GNU General Public License from time to time. Such new versions will
567 | be similar in spirit to the present version, but may differ in detail to
568 | address new problems or concerns.
569 |
570 | Each version is given a distinguishing version number. If the
571 | Program specifies that a certain numbered version of the GNU General
572 | Public License "or any later version" applies to it, you have the
573 | option of following the terms and conditions either of that numbered
574 | version or of any later version published by the Free Software
575 | Foundation. If the Program does not specify a version number of the
576 | GNU General Public License, you may choose any version ever published
577 | by the Free Software Foundation.
578 |
579 | If the Program specifies that a proxy can decide which future
580 | versions of the GNU General Public License can be used, that proxy's
581 | public statement of acceptance of a version permanently authorizes you
582 | to choose that version for the Program.
583 |
584 | Later license versions may give you additional or different
585 | permissions. However, no additional obligations are imposed on any
586 | author or copyright holder as a result of your choosing to follow a
587 | later version.
588 |
589 | 15. Disclaimer of Warranty.
590 |
591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
599 |
600 | 16. Limitation of Liability.
601 |
602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
610 | SUCH DAMAGES.
611 |
612 | 17. Interpretation of Sections 15 and 16.
613 |
614 | If the disclaimer of warranty and limitation of liability provided
615 | above cannot be given local legal effect according to their terms,
616 | reviewing courts shall apply local law that most closely approximates
617 | an absolute waiver of all civil liability in connection with the
618 | Program, unless a warranty or assumption of liability accompanies a
619 | copy of the Program in return for a fee.
620 |
621 | END OF TERMS AND CONDITIONS
622 |
623 | How to Apply These Terms to Your New Programs
624 |
625 | If you develop a new program, and you want it to be of the greatest
626 | possible use to the public, the best way to achieve this is to make it
627 | free software which everyone can redistribute and change under these terms.
628 |
629 | To do so, attach the following notices to the program. It is safest
630 | to attach them to the start of each source file to most effectively
631 | state the exclusion of warranty; and each file should have at least
632 | the "copyright" line and a pointer to where the full notice is found.
633 |
634 |
635 | Copyright (C)
636 |
637 | This program is free software: you can redistribute it and/or modify
638 | it under the terms of the GNU General Public License as published by
639 | the Free Software Foundation, either version 3 of the License, or
640 | (at your option) any later version.
641 |
642 | This program is distributed in the hope that it will be useful,
643 | but WITHOUT ANY WARRANTY; without even the implied warranty of
644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
645 | GNU General Public License for more details.
646 |
647 | You should have received a copy of the GNU General Public License
648 | along with this program. If not, see .
649 |
650 | Also add information on how to contact you by electronic and paper mail.
651 |
652 | If the program does terminal interaction, make it output a short
653 | notice like this when it starts in an interactive mode:
654 |
655 | Copyright (C)
656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
657 | This is free software, and you are welcome to redistribute it
658 | under certain conditions; type `show c' for details.
659 |
660 | The hypothetical commands `show w' and `show c' should show the appropriate
661 | parts of the General Public License. Of course, your program's commands
662 | might be different; for a GUI interface, you would use an "about box".
663 |
664 | You should also get your employer (if you work as a programmer) or school,
665 | if any, to sign a "copyright disclaimer" for the program, if necessary.
666 | For more information on this, and how to apply and follow the GNU GPL, see
667 | .
668 |
669 | The GNU General Public License does not permit incorporating your program
670 | into proprietary programs. If your program is a subroutine library, you
671 | may consider it more useful to permit linking proprietary applications with
672 | the library. If this is what you want to do, use the GNU Lesser General
673 | Public License instead of this License. But first, please read
674 | .
675 |
--------------------------------------------------------------------------------
/.config/GIMP/3.0/shortcutsrc:
--------------------------------------------------------------------------------
1 | # GIMP shortcutsrc
2 | #
3 | # If you delete this file, all shortcuts will be reset to defaults.
4 |
5 | (file-version 1)
6 |
7 | # (action "filters-tile-paper")
8 | # (action "context-foreground-red-minimum")
9 | # (action "tools-warp-effect-pixel-size-set")
10 | # (action "tools-airbrush-flow-decrease")
11 | # (action "plug-in-blinds")
12 | # (action "drawable-lock-position")
13 | # (action "paths-lower")
14 | # (action "plug-in-gfig")
15 | # (action "tools-spacing-decrease-skip")
16 | # (action "context-brush-hardness-decrease")
17 | # (action "select-all" "a")
18 | # (action "image-softproof-intent-perceptual")
19 | # (action "file-save-a-copy")
20 | # (action "help-help" "F1")
21 | # (action "context-brush-spikes-decrease-skip")
22 | # (action "script-fu-make-brush-elliptical")
23 | (action "view-new" "n")
24 | # (action "filters-value-propagate")
25 | # (action "paths-raise-to-top")
26 | # (action "context-brush-angle-increase-skip")
27 | # (action "python-fu-console")
28 | # (action "tools-force-decrease-percent")
29 | # (action "context-palette-select-first")
30 | # (action "plug-in-borderaverage")
31 | # (action "layers-lower-to-bottom")
32 | # (action "filters-gegl-shuffle-search")
33 | # (action "context-palette-background-set")
34 | # (action "view-zoom-minimum")
35 | # (action "context-opacity-decrease-skip")
36 | # (action "image-convert-float")
37 | # (action "view-scroll-left-border")
38 | # (action "view-show-all")
39 | # (action "dialogs-dynamics-editor")
40 | # (action "select-fill")
41 | # (action "filters-gegl-selective-hue-saturation")
42 | # (action "gimp-help-using-photography")
43 | (action "layers-select-next" "j")
44 | # (action "plug-in-qbist")
45 | # (action "layers-resize")
46 | # (action "plug-in-cml-explorer")
47 | # (action "view-show-canvas-boundary")
48 | # (action "context-background-hue-increase")
49 | # (action "context-colormap-background-previous-skip")
50 | # (action "channels-duplicate")
51 | # (action "context-font-select-last")
52 | # (action "layers-blend-space-rgb-perceptual")
53 | # (action "tools-transform-3d" "w")
54 | # (action "paths-color-tag-yellow")
55 | # (action "filters-pixelize")
56 | # (action "tools-airbrush-rate-maximum")
57 | # (action "filters-desaturate")
58 | # (action "paths-select-top")
59 | # (action "view-scroll-right-border")
60 | # (action "filters-long-shadow")
61 | # (action "script-fu-fuzzy-border")
62 | # (action "filters-lens-blur")
63 | # (action "filters-semi-flatten")
64 | # (action "view-padding-color-in-show-all")
65 | # (action "filters-gegl-brightness-contrast")
66 | # (action "image-color-profile-assign")
67 | # (action "context-foreground-green-decrease")
68 | # (action "filters-levels")
69 | # (action "view-show-grid")
70 | # (action "tools-aspect-increase-skip")
71 | # (action "context-brush-spacing-maximum")
72 | # (action "context-swatch-foreground-previous" "9")
73 | # (action "filters-color-exchange")
74 | # (action "layers-color-tag-green")
75 | # (action "context-brush-shape-square")
76 | # (action "layers-mask-apply")
77 | # (action "layers-edit-text")
78 | # (action "layers-flatten-image")
79 | # (action "filters-noise-cie-lch")
80 | # (action "layers-merge-layers")
81 | # (action "paths-selection-add")
82 | # (action "filters-mosaic")
83 | # (action "tools-airbrush-flow-set")
84 | # (action "paths-color-tag-blue")
85 | # (action "edit-named-copy-visible")
86 | # (action "layers-raise")
87 | # (action "layers-composite-space-rgb-perceptual")
88 | # (action "context-swatch-foreground-set")
89 | # (action "filters-engrave")
90 | # (action "filters-median-blur")
91 | # (action "windows-use-single-window-mode")
92 | # (action "tools-color-average-radius-set")
93 | # (action "filters-gegl-alpha-inpaint")
94 | # (action "plug-in-smooth-palette")
95 | # (action "paths-color-tag-violet")
96 | # (action "layers-mask-disable")
97 | # (action "context-brush-hardness-increase")
98 | # (action "tools-curves")
99 | # (action "tools-opacity-increase-skip" "greater")
100 | # (action "view-zoom-out-skip")
101 | # (action "tools-size-set")
102 | # (action "filters-unsharp-mask")
103 | # (action "context-foreground-red-decrease")
104 | # (action "context-paint-mode-last")
105 | # (action "context-background-green-decrease-skip")
106 | # (action "view-scroll-top-border")
107 | # (action "channels-delete")
108 | # (action "context-swatch-background-previous-skip")
109 | # (action "tools-force-maximum")
110 | # (action "context-background-hue-minimum")
111 | # (action "filters-wind")
112 | # (action "plug-in-goat-exercise-vala")
113 | # (action "channels-select-next")
114 | # (action "edit-paste" "v" "Paste")
115 | # (action "paths-color-tag-brown")
116 | # (action "tools-airbrush-rate-decrease-skip")
117 | # (action "plug-in-zealouscrop")
118 | # (action "context-background-green-maximum")
119 | # (action "view-snap-to-guides")
120 | # (action "edit-undo" "z")
121 | # (action "drawable-visible")
122 | # (action "layers-opacity-increase-skip")
123 | # (action "edit-strong-redo" "y")
124 | # (action "channels-selection-replace")
125 | # (action "plug-in-lighting")
126 | # (action "edit-named-paste")
127 | # (action "context-palette-foreground-next")
128 | # (action "context-colormap-background-next")
129 | # (action "context-background-saturation-maximum")
130 | # (action "filters-grid")
131 | # (action "filters-cartoon")
132 | # (action "context-palette-background-previous-skip")
133 | # (action "context-colormap-foreground-previous-skip")
134 | # (action "context-tool-select-last")
135 | # (action "context-brush-select-first")
136 | # (action "file-save" "s")
137 | # (action "context-background-red-increase-skip")
138 | # (action "tools-size-decrease" "bracketleft")
139 | # (action "edit-paste-into")
140 | (action "image-flip-horizontal" "h")
141 | (action "view-flip-horizontally" "h")
142 | # (action "context-background-value-increase")
143 | # (action "tools-size-decrease-percent")
144 | # (action "plug-in-colormap-remap")
145 | # (action "paths-paste")
146 | # (action "context-brush-aspect-increase-skip")
147 | # (action "context-brush-select-last")
148 | # (action "context-foreground-green-increase")
149 | # (action "select-save")
150 | # (action "plug-in-ifscompose")
151 | # (action "layers-blend-space-rgb-linear")
152 | # (action "image-convert-double")
153 | # (action "filters-fattal-2002")
154 | # (action "script-fu-difference-clouds")
155 | # (action "channels-color-tag-blue")
156 | # (action "context-brush-aspect-minimum")
157 | # (action "image-convert-half")
158 | # (action "context-font-select-first")
159 | # (action "paths-color-tag-orange")
160 | (action "view-scroll-page-down" "j")
161 | # (action "layers-composite-space-rgb-linear")
162 | # (action "view-display-intent-perceptual")
163 | # (action "dialogs-toolbox" "b")
164 | # (action "paths-selection-to-path-advanced")
165 | # (action "tools-angle-maximum")
166 | # (action "tools-rotate-arbitrary")
167 | # (action "layers-edit-attributes")
168 | # (action "dialogs-welcome")
169 | # (action "filters-invert-perceptual")
170 | # (action "context-palette-background-last")
171 | # (action "context-foreground-saturation-decrease-skip")
172 | # (action "filters-lens-distortion")
173 | # (action "view-scroll-horizontal")
174 | # (action "filters-gegl-boxblur")
175 | # (action "tools-hardness-decrease")
176 | # (action "drawable-flip-vertical")
177 | # (action "paths-select-bottom")
178 | # (action "edit-paste-float")
179 | # (action "filters-color-to-alpha")
180 | # (action "filters-sinus")
181 | # (action "paths-lower-to-bottom")
182 | # (action "layers-new-group")
183 | # (action "tools-angle-set-to-default")
184 | # (action "view-display-filters")
185 | # (action "context-brush-spacing-decrease")
186 | (action "view-zoom-selection" "z")
187 | # (action "tools-size-maximum")
188 | # (action "select-stroke")
189 | # (action "tools-spacing-set-to-default")
190 | # (action "tools-airbrush-rate-increase")
191 | # (action "view-close" "w")
192 | # (action "view-padding-color-prefs")
193 | # (action "tools-aspect-increase")
194 | # (action "tools-mypaint-brush-hardness-set")
195 | # (action "select-fill-last-values")
196 | # (action "windows-tabs-position-right")
197 | # (action "image-convert-perceptual")
198 | # (action "tools-opacity-set-to-default")
199 | # (action "context-swatch-foreground-previous-skip")
200 | # (action "tools-rotate-image-arbitrary")
201 | # (action "tools-hardness-maximum")
202 | # (action "filters-snn-mean")
203 | # (action "filters-noise-pick")
204 | # (action "tools-opacity-increase" "greater")
205 | # (action "dialogs-brushes" "b")
206 | # (action "context-font-select-next")
207 | # (action "image-convert-u16")
208 | # (action "filters-video-degradation")
209 | # (action "filters-sepia")
210 | # (action "context-brush-aspect-decrease")
211 | # (action "context-foreground-green-maximum")
212 | # (action "context-foreground-green-increase-skip")
213 | # (action "context-brush-spacing-set")
214 | # (action "edit-fill-fg" "comma")
215 | # (action "drawable-rotate-180")
216 | # (action "plug-in-gflare")
217 | # (action "gimp-palette-export-text")
218 | (action "tools-crop" "c")
219 | # (action "file-gbr-export-internal")
220 | # (action "tools-paintbrush-force-set")
221 | # (action "layers-blend-space-rgb-non-linear")
222 | # (action "tools-size-decrease-skip" "braceleft")
223 | # (action "plug-in-goat-exercise-python")
224 | # (action "tools-airbrush-flow-minimum")
225 | # (action "plug-in-unit-editor")
226 | # (action "view-open-display")
227 | # (action "paths-color-tag-green")
228 | # (action "context-background-saturation-decrease-skip")
229 | # (action "context-palette-foreground-previous-skip")
230 | # (action "context-opacity-decrease")
231 | # (action "view-zoom-2-1" "2" "KP_2")
232 | # (action "tools-hardness-decrease-skip")
233 | # (action "context-foreground-red-increase-skip")
234 | # (action "filters-stretch-contrast-hsv")
235 | # (action "context-background-value-increase-skip")
236 | # (action "view-flip-reset")
237 | # (action "plug-in-pagecurl")
238 | # (action "dialogs-patterns" "p")
239 | # (action "tools-aspect-maximum")
240 | # (action "layers-merge-layers-last-values")
241 | # (action "filters-gegl-gray-component-replacement")
242 | # (action "paths-lock-content")
243 | (action "dialogs-gradients")
244 | # (action "context-brush-spikes-maximum")
245 | # (action "filters-kaleidoscope")
246 | # (action "context-background-blue-minimum")
247 | # (action "edit-paste-merged")
248 | # (action "context-background-blue-decrease")
249 | (action "script-fu-guide-new-percent" "g")
250 | # (action "context-foreground-hue-decrease")
251 | # (action "view-display-black-point-compensation")
252 | # (action "view-padding-color-light-check")
253 | # (action "view-navigation-window")
254 | # (action "context-swatch-background-first")
255 | # (action "context-palette-background-next-skip")
256 | # (action "script-fu-circuit")
257 | # (action "paths-selection-from-paths" "v")
258 | # (action "filters-repeat" "f")
259 | # (action "view-rotate-15")
260 | # (action "context-colormap-background-next-skip")
261 | # (action "filters-gegl-gluas")
262 | # (action "view-zoom-fit-in" "j")
263 | # (action "paths-stroke-last-values")
264 | # (action "layers-composite-space-rgb-non-linear")
265 | # (action "view-zoom-1-16" "percent" "KP_5")
266 | # (action "context-brush-radius-set")
267 | # (action "paths-edit")
268 | # (action "filters-hue-chroma")
269 | # (action "tools-hardness-set-to-default")
270 | # (action "filters-illusion")
271 | # (action "context-paint-mode-next")
272 | # (action "view-rotate-180")
273 | # (action "filters-dither")
274 | # (action "filters-linear-sinusoid")
275 | # (action "context-brush-spacing-increase")
276 | # (action "select-flood")
277 | # (action "plug-in-gimpressionist")
278 | # (action "filters-difference-of-gaussians")
279 | # (action "plug-in-curve-bend")
280 | # (action "view-show-scrollbars")
281 | # (action "paths-color-tag-gray")
282 | # (action "python-fu-palette-to-gradient")
283 | # (action "script-fu-reverse-layers")
284 | # (action "layers-color-tag-red")
285 | # (action "filters-shift")
286 | # (action "filters-gegl-segment-kmeans")
287 | # (action "edit-undo-clear")
288 | # (action "tools-aspect-set")
289 | # (action "filters-offset" "o")
290 | # (action "filters-gegl-domain-transform")
291 | # (action "view-show-statusbar")
292 | # (action "layers-opacity-decrease")
293 | # (action "view-snap-to-equidistance")
294 | # (action "filters-component-extract")
295 | # (action "plug-in-lic")
296 | # (action "tools-by-color-select" "o")
297 | # (action "script-fu-add-bevel")
298 | # (action "script-fu-weave")
299 | # (action "context-brush-radius-increase")
300 | # (action "channels-color-tag-violet")
301 | # (action "windows-hide-docks")
302 | # (action "context-tool-select-next")
303 | # (action "channels-new-last-values")
304 | # (action "context-palette-background-first")
305 | # (action "tools-angle-increase")
306 | # (action "windows-show-tabs")
307 | # (action "filters-noise-simplex")
308 | (action "tools-gradient" "g")
309 | # (action "plug-in-warp")
310 | # (action "edit-named-copy")
311 | # (action "filters-gegl-aces-rrt")
312 | # (action "tools-offset")
313 | # (action "context-brush-select-next")
314 | # (action "context-opacity-increase")
315 | # (action "dialogs-mypaint-brushes")
316 | # (action "tools-shear" "h")
317 | # (action "tools-angle-set")
318 | # (action "context-brush-radius-maximum")
319 | # (action "layers-mask-add-last-values")
320 | # (action "filters-gegl-box-blur")
321 | # (action "script-fu-paste-as-pattern")
322 | # (action "view-rotate-reset")
323 | # (action "view-scroll-center" "j")
324 | # (action "dialogs-layers" "l")
325 | # (action "tools-force-decrease-skip")
326 | # (action "view-reset" "exclam")
327 | (action "layers-mode-previous" "quotedbl")
328 | # (action "layers-edit")
329 | # (action "plug-in-dbbrowser")
330 | # (action "paths-edit-attributes")
331 | # (action "script-fu-make-brush-rectangular-feathered")
332 | # (action "context-background-value-minimum")
333 | # (action "filters-noise-perlin")
334 | # (action "filters-posterize")
335 | # (action "context-brush-shape-circle")
336 | # (action "layers-lower")
337 | # (action "context-brush-radius-increase-less")
338 | # (action "layers-new" "n")
339 | # (action "image-softproof-intent-absolute-colorimetric")
340 | # (action "tools-text" "t")
341 | # (action "plug-in-nl-filter")
342 | # (action "image-color-profile-save")
343 | # (action "context-background-blue-increase")
344 | # (action "context-palette-background-next")
345 | # (action "context-brush-hardness-minimum")
346 | # (action "tools-airbrush-rate-set")
347 | # (action "gimp-help-concepts-usage")
348 | # (action "image-softproof-intent-saturation")
349 | # (action "context-background-hue-set")
350 | # (action "context-foreground-hue-increase")
351 | # (action "context-foreground-blue-decrease")
352 | # (action "tools-force-increase-skip")
353 | # (action "channels-selection-intersect")
354 | # (action "tools-scale" "s")
355 | # (action "file-save-as" "s")
356 | # (action "file-save-and-close")
357 | # (action "filters-vignette")
358 | # (action "view-rotate-345")
359 | # (action "context-pattern-select-last")
360 | # (action "context-paint-mode-first")
361 | # (action "plug-in-animationoptimize")
362 | # (action "dialogs-templates")
363 | # (action "channels-color-tag-gray")
364 | # (action "context-background-green-increase")
365 | # (action "image-resize")
366 | # (action "filters-gegl-ctx-script")
367 | # (action "script-fu-round-corners")
368 | # (action "context-swatch-foreground-first")
369 | # (action "tools-spacing-maximum")
370 | # (action "channels-selection-add")
371 | # (action "tools-hardness-set")
372 | # (action "plug-in-spyrogimp")
373 | # (action "view-rotate-other")
374 | # (action "dialogs-dynamics")
375 | (action "tools-free-select" "l")
376 | # (action "layers-duplicate" "d")
377 | # (action "select-copy-float")
378 | # (action "gimp-online-roadmap")
379 | # (action "tools-object-2-last")
380 | # (action "dialogs-gradient-editor")
381 | (action "tools-warp")
382 | # (action "filters-c2g")
383 | # (action "filters-displace")
384 | # (action "plug-in-screenshot")
385 | (action "tools-rect-select" "m")
386 | # (action "filters-motion-blur-zoom")
387 | # (action "windows-tabs-position-bottom")
388 | # (action "image-convert-non-linear")
389 | # (action "view-show-rulers" "r")
390 | # (action "view-zoom-1-1" "1" "KP_1")
391 | # (action "tools-angle-decrease-skip")
392 | # (action "context-background-blue-set")
393 | # (action "view-zoom-1-2" "at" "KP_2")
394 | # (action "plug-in-metadata-editor")
395 | # (action "channels-new")
396 | # (action "view-dot-for-dot")
397 | # (action "filters-shadows-highlights")
398 | # (action "plug-in-sparkle")
399 | (action "tools-fuzzy-select" "w")
400 | # (action "filters-edge-neon")
401 | # (action "gimp-help-using-selections")
402 | # (action "file-export" "e")
403 | # (action "filters-noise-rgb")
404 | # (action "filters-image-gradient")
405 | # (action "tools-airbrush-rate-minimum")
406 | # (action "tools-aspect-decrease-percent")
407 | # (action "plug-in-film")
408 | # (action "script-fu-guide-new")
409 | # (action "context-palette-foreground-first")
410 | # (action "view-zoom-1-4" "numbersign" "KP_3")
411 | # (action "view-snap-to-canvas")
412 | # (action "filters-bump-map")
413 | # (action "filters-slic")
414 | # (action "filters-color-temperature")
415 | # (action "script-fu-old-photo")
416 | # (action "context-brush-spikes-decrease")
417 | # (action "context-background-red-minimum")
418 | # (action "debug-dump-keyboard-shortcuts")
419 | # (action "select-invert" "i")
420 | # (action "context-brush-radius-decrease-percent")
421 | # (action "tools-hardness-decrease-percent")
422 | # (action "view-padding-color-custom")
423 | # (action "filters-recursive-transform")
424 | # (action "tools-opacity-set")
425 | # (action "context-foreground-value-minimum")
426 | # (action "layers-raise-to-top")
427 | # (action "filters-normal-map")
428 | # (action "tools-measure" "m")
429 | # (action "filters-gegl-alpha-clip")
430 | # (action "layers-mask-add")
431 | # (action "context-brush-spacing-minimum")
432 | # (action "tools-spacing-increase-skip")
433 | # (action "context-background-green-set")
434 | # (action "context-background-value-set")
435 | # (action "view-display-intent-relative-colorimetric")
436 | # (action "context-foreground-blue-increase")
437 | # (action "view-zoom-1-8" "dollar" "KP_4")
438 | # (action "script-fu-paste-as-brush")
439 | # (action "view-zoom-16-1" "5" "KP_5")
440 | # (action "gimp-palette-export-css")
441 | # (action "filters-emboss")
442 | # (action "image-rotate-270")
443 | # (action "tools-opacity-increase-percent")
444 | # (action "context-brush-spikes-increase-skip")
445 | # (action "image-scale")
446 | # (action "script-fu-set-cmap")
447 | # (action "channels-raise")
448 | # (action "filters-noise-hurl")
449 | # (action "context-brush-angle-maximum")
450 | # (action "context-colormap-foreground-set")
451 | # (action "image-convert-grayscale")
452 | (action "image-duplicate")
453 | # (action "dialogs-undo-history")
454 | # (action "select-feather")
455 | # (action "select-stroke-last-values")
456 | # (action "script-fu-waves-anim")
457 | # (action "image-crop-to-content")
458 | # (action "context-background-value-decrease")
459 | # (action "filters-oilify")
460 | # (action "paths-copy")
461 | # (action "select-grow")
462 | # (action "context-opacity-increase-skip")
463 | (action "view-scroll-page-left" "h")
464 | # (action "plug-in-gradmap")
465 | (action "context-colors-default" "c")
466 | # (action "context-palette-select-previous")
467 | # (action "filters-gegl-bilateral-filter")
468 | # (action "context-swatch-foreground-last")
469 | # (action "layers-mask-selection-subtract")
470 | # (action "context-background-red-set")
471 | # (action "layers-scale")
472 | # (action "script-fu-test-sphere-v3")
473 | # (action "tools-levels")
474 | # (action "tools-size-increase-percent")
475 | # (action "filters-edge-laplace")
476 | # (action "image-configure-grid")
477 | # (action "tools-spacing-decrease-percent")
478 | # (action "context-opacity-set")
479 | # (action "image-convert-indexed")
480 | # (action "context-foreground-red-maximum")
481 | # (action "context-background-green-minimum")
482 | # (action "plug-in-wavelet-decompose")
483 | # (action "script-fu-burn-in-anim")
484 | # (action "plug-in-jigsaw")
485 | # (action "dialogs-selection-editor")
486 | # (action "image-convert-rgb")
487 | # (action "gimp-help-concepts-paths")
488 | # (action "image-color-profile-discard")
489 | # (action "plug-in-flame")
490 | # (action "debug-mem-profile")
491 | # (action "context-brush-spikes-increase")
492 | # (action "image-color-profile-use-srgb")
493 | # (action "python-fu-foggify")
494 | # (action "tools-airbrush-rate-decrease")
495 | # (action "script-fu-guides-from-selection")
496 | # (action "view-zoom-maximum")
497 | # (action "dialogs-tool-presets")
498 | # (action "tools-aspect-decrease")
499 | # (action "view-zoom-in" "plus" "KP_Add" "ZoomIn")
500 | # (action "paths-selection-to-path")
501 | # (action "context-background-blue-decrease-skip")
502 | # (action "view-color-management-softproof")
503 | # (action "tools-warp-effect-hardness-set")
504 | # (action "tools-opacity-minimum")
505 | # (action "filters-softglow")
506 | # (action "filters-color-enhance")
507 | # (action "tools-opacity-decrease" "less")
508 | # (action "tools-force-set-to-default")
509 | # (action "context-brush-hardness-decrease-skip")
510 | # (action "edit-cut" "x" "Cut")
511 | # (action "context-pattern-select-next")
512 | # (action "layers-mask-selection-add")
513 | # (action "context-background-green-increase-skip")
514 | # (action "image-color-profile-convert")
515 | # (action "filters-waterpixels")
516 | # (action "context-palette-select-set")
517 | # (action "python-fu-palette-to-gradient-repeating")
518 | # (action "select-border")
519 | # (action "context-foreground-hue-set")
520 | # (action "dialogs-images")
521 | # (action "script-fu-xach-effect")
522 | # (action "dialogs-document-history")
523 | # (action "dialogs-keyboard-shortcuts")
524 | # (action "script-fu-clothify")
525 | # (action "plug-in-animationplay")
526 | (action "tools-dodge-burn" "d")
527 | # (action "tools-object-2-next")
528 | # (action "context-palette-foreground-next-skip")
529 | # (action "plug-in-reset-all")
530 | # (action "layers-select-bottom" "End")
531 | # (action "context-foreground-hue-minimum")
532 | # (action "view-zoom-8-1" "4" "KP_4")
533 | # (action "tools-airbrush-rate-increase-skip")
534 | # (action "context-colormap-foreground-next-skip")
535 | (action "layers-visible" "i")
536 | # (action "context-swatch-background-next-skip")
537 | # (action "plug-in-mail-image")
538 | # (action "context-palette-background-previous")
539 | # (action "layers-mode-first")
540 | # (action "context-palette-foreground-set")
541 | # (action "file-copy-location")
542 | # (action "dialogs-action-search" "slash" "KP_Divide")
543 | # (action "context-foreground-blue-minimum")
544 | # (action "tools-size-minimum")
545 | # (action "filters-convolution-matrix")
546 | # (action "layers-mask-show")
547 | # (action "layers-composite-mode-union")
548 | # (action "plug-in-retinex")
549 | # (action "edit-paste-merged-in-place")
550 | # (action "edit-paste-float-in-place")
551 | # (action "edit-copy" "c" "Copy")
552 | # (action "tools-object-2-previous")
553 | # (action "python-fu-palette-sort")
554 | # (action "context-brush-hardness-set")
555 | # (action "tools-ink-blob-angle-set")
556 | # (action "context-tool-select-first")
557 | # (action "filters-erode")
558 | # (action "edit-fill-bg" "period")
559 | # (action "image-print-size")
560 | # (action "context-foreground-green-minimum")
561 | # (action "filters-gegl-color-warp")
562 | # (action "script-fu-unsharp-mask")
563 | # (action "tools-handle-transform" "l")
564 | # (action "filters-gaussian-blur")
565 | # (action "context-colormap-background-previous")
566 | # (action "image-merge-layers" "m")
567 | # (action "filters-high-pass")
568 | (action "tools-move" "v")
569 | # (action "context-pattern-select-previous")
570 | # (action "context-background-hue-maximum")
571 | # (action "script-fu-guides-remove")
572 | # (action "context-foreground-saturation-increase-skip")
573 | # (action "image-softproof-black-point-compensation")
574 | # (action "channels-select-previous")
575 | # (action "tools-flip" "f")
576 | # (action "context-brush-angle-set")
577 | # (action "edit-fill-pattern" "semicolon")
578 | # (action "layers-composite-mode-clip-to-layer")
579 | # (action "edit-paste-in-place" "v" "Paste")
580 | (action "tools-vector")
581 | # (action "script-fu-make-brush-elliptical-feathered")
582 | # (action "tools-aspect-minimum")
583 | # (action "view-snap-to-bbox")
584 | # (action "quick-mask-configure")
585 | # (action "tools-object-1-first")
586 | # (action "gimp-palette-export-java")
587 | # (action "plug-in-grid")
588 | # (action "script-fu-lava")
589 | # (action "channels-color-tag-red")
590 | # (action "context-brush-radius-decrease-skip")
591 | # (action "context-brush-spikes-minimum")
592 | # (action "layers-opacity-opaque")
593 | # (action "context-foreground-blue-decrease-skip")
594 | # (action "context-foreground-blue-set")
595 | # (action "tools-angle-decrease")
596 | # (action "context-brush-radius-decrease")
597 | # (action "tools-object-1-previous")
598 | # (action "paths-export")
599 | # (action "plug-in-animationoptimize-diff")
600 | # (action "filters-dropshadow")
601 | # (action "context-font-select-previous")
602 | # (action "filters-maze")
603 | # (action "plug-in-tile")
604 | # (action "image-convert-u32")
605 | # (action "paths-delete")
606 | # (action "quick-mask-toggle" "q")
607 | (action "tools-paintbrush" "b")
608 | # (action "layers-select-flattened-previous")
609 | # (action "file-revert")
610 | # (action "context-swatch-foreground-next" "0")
611 | (action "layers-anchor")
612 | # (action "context-foreground-saturation-maximum")
613 | # (action "layers-opacity-set")
614 | # (action "context-brush-aspect-maximum")
615 | # (action "plug-in-goat-exercise-c")
616 | # (action "quick-mask-invert-on")
617 | # (action "layers-mask-selection-intersect")
618 | # (action "image-softproof-intent-relative-colorimetric")
619 | # (action "dialogs-dashboard")
620 | # (action "drawable-levels-stretch")
621 | # (action "layers-lock-content")
622 | # (action "context-gradient-select-first")
623 | # (action "tools-size-increase-skip" "braceright")
624 | # (action "layers-mask-selection-replace")
625 | # (action "script-fu-ripply-anim")
626 | # (action "filters-supernova")
627 | (action "view-scroll-page-up" "k")
628 | # (action "context-background-saturation-increase-skip")
629 | # (action "tools-hardness-increase-skip")
630 | # (action "filters-focus-blur")
631 | (action "tools-eraser" "e")
632 | # (action "dialogs-preferences")
633 | # (action "channels-color-tag-yellow")
634 | # (action "filters-brightness-contrast")
635 | # (action "tools-size-set-to-default" "backslash")
636 | # (action "drawable-lock-content")
637 | # (action "dialogs-vectors")
638 | # (action "view-scroll-down")
639 | # (action "plug-in-palettemap")
640 | # (action "tools-transform-preview-opacity-set")
641 | # (action "filters-color-rotate")
642 | # (action "view-padding-color-dark-check")
643 | # (action "tools-ink-blob-aspect-set")
644 | # (action "context-paint-mode-previous")
645 | # (action "context-swatch-background-last")
646 | # (action "channels-selection-subtract")
647 | # (action "context-background-green-decrease")
648 | # (action "context-colors-swap" "x")
649 | # (action "filters-colorize")
650 | # (action "image-resize-to-layers")
651 | # (action "filters-gaussian-blur-selective")
652 | # (action "view-rotate-set-absolute")
653 | # (action "context-background-hue-decrease-skip")
654 | # (action "file-gih-export-internal")
655 | # (action "filters-waves")
656 | # (action "tools-airbrush-flow-decrease-skip")
657 | # (action "dialogs-device-status")
658 | # (action "context-brush-radius-minimum")
659 | (action "view-scroll-page-right" "l")
660 | # (action "file-print-gtk")
661 | # (action "debug-gtk-inspector")
662 | # (action "filters-gegl-levels")
663 | # (action "channels-lower")
664 | # (action "dialogs-about")
665 | # (action "filters-noise-reduction")
666 | # (action "context-foreground-saturation-set")
667 | # (action "filters-reinhard-2005")
668 | # (action "plug-in-compose")
669 | # (action "filters-panorama-projection")
670 | # (action "layers-mask-delete")
671 | # (action "filters-gegl-graph")
672 | # (action "layers-composite-mode-auto")
673 | # (action "filters-recent-01")
674 | # (action "filters-noise-spread")
675 | # (action "script-fu-sota-chrome-it")
676 | # (action "windows-show-display-next" "Tab" "Forward")
677 | # (action "filters-recent-02")
678 | # (action "layers-color-tag-yellow")
679 | # (action "gimp-online-docs-web-site")
680 | # (action "context-foreground-green-set")
681 | # (action "context-foreground-value-set")
682 | # (action "context-background-saturation-increase")
683 | # (action "filters-recent-03")
684 | # (action "context-foreground-saturation-decrease")
685 | # (action "dialogs-module-dialog")
686 | # (action "filters-invert-value")
687 | # (action "view-color-management-enable")
688 | # (action "view-show-layer-boundary")
689 | # (action "context-gradient-select-last")
690 | (action "select-none" "d")
691 | # (action "filters-recent-04")
692 | # (action "channels-select-top")
693 | # (action "tools-brightness-contrast")
694 | # (action "view-show-selection" "t")
695 | # (action "tools-aspect-increase-percent")
696 | # (action "filters-recent-05")
697 | # (action "context-background-red-increase")
698 | # (action "context-background-blue-maximum")
699 | # (action "filters-recent-06")
700 | # (action "layers-alpha-remove")
701 | # (action "context-foreground-value-decrease-skip")
702 | # (action "plug-in-animationunoptimize")
703 | # (action "tools-rotate" "r")
704 | # (action "edit-strong-undo" "z")
705 | # (action "layers-merge-down")
706 | # (action "gimp-help-using-web")
707 | # (action "filters-gegl-voronoi-diagram")
708 | # (action "tools-airbrush" "a")
709 | # (action "filters-recent-07")
710 | # (action "image-convert-linear")
711 | # (action "plug-in-spheredesigner")
712 | # (action "script-fu-blend-anim")
713 | # (action "layers-new-from-visible")
714 | # (action "filters-recent-08")
715 | # (action "tools-paintbrush-angle-set")
716 | # (action "tools-force-increase-percent")
717 | # (action "context-brush-spikes-set")
718 | # (action "filters-variable-blur")
719 | # (action "file-create-template")
720 | # (action "filters-recent-09")
721 | # (action "tools-mypaint-brush-radius-set")
722 | # (action "dialogs-colors")
723 | # (action "layers-color-tag-violet")
724 | # (action "view-rotate-90")
725 | # (action "edit-redo" "y")
726 | # (action "tools-paintbrush-hardness-set")
727 | # (action "tools-angle-decrease-percent")
728 | # (action "context-brush-spacing-decrease-skip")
729 | # (action "file-open-recent-01" "1")
730 | # (action "context-brush-shape-diamond")
731 | # (action "tools-threshold")
732 | # (action "plug-in-despeckle")
733 | # (action "filters-gegl-connected-components")
734 | # (action "dialogs-palettes")
735 | # (action "filters-polar-coordinates")
736 | # (action "filters-mean-curvature-blur")
737 | # (action "tools-zoom" "z")
738 | # (action "windows-tabs-position-left")
739 | # (action "filters-motion-blur-circular")
740 | # (action "file-open-recent-02" "2")
741 | # (action "paths-import")
742 | # (action "dialogs-input-devices")
743 | # (action "filters-gegl-bevel")
744 | # (action "channels-color-tag-orange")
745 | # (action "view-scroll-bottom-border")
746 | # (action "context-foreground-hue-decrease-skip")
747 | # (action "context-palette-foreground-previous")
748 | # (action "file-open-recent-03" "3")
749 | # (action "tools-paintbrush-spacing-set")
750 | # (action "script-fu-coffee-stain")
751 | # (action "plug-in-depth-merge")
752 | # (action "tools-object-2-first")
753 | (action "layers-delete" "d")
754 | # (action "tools-object-1-last")
755 | # (action "paths-duplicate")
756 | # (action "filters-fractal-trace")
757 | # (action "file-open-recent-04" "4")
758 | (action "edit-clear" "BackSpace")
759 | # (action "file-quit" "q")
760 | # (action "filters-checkerboard")
761 | # (action "file-open-recent-05" "5")
762 | # (action "tools-ink-blob-pixel-size-set")
763 | # (action "layers-resize-to-image")
764 | # (action "tools-ink-blob-size-set")
765 | # (action "python-fu-histogram-export")
766 | # (action "file-open-recent-06" "6")
767 | # (action "layers-color-tag-none")
768 | # (action "filters-red-eye-removal")
769 | # (action "layers-mask-edit")
770 | # (action "context-foreground-saturation-increase")
771 | # (action "file-open-recent-07" "7")
772 | # (action "view-scroll-up")
773 | # (action "tools-spacing-increase-percent")
774 | # (action "context-colormap-foreground-previous")
775 | # (action "filters-little-planet")
776 | # (action "layers-alpha-selection-replace")
777 | # (action "plug-in-plug-in-details")
778 | # (action "context-brush-angle-minimum")
779 | # (action "file-open-recent-08" "8")
780 | # (action "context-background-value-maximum")
781 | # (action "layers-mask-add-button")
782 | # (action "context-swatch-background-set")
783 | # (action "filters-noise-slur")
784 | # (action "image-rotate-180")
785 | # (action "filters-edge-sobel")
786 | # (action "tools-angle-increase-skip")
787 | # (action "file-open-recent-09" "9")
788 | # (action "tools-heal" "h")
789 | # (action "gimp-help-using-simpleobjects")
790 | # (action "filters-photocopy")
791 | # (action "tools-spacing-decrease")
792 | # (action "filters-channel-mixer")
793 | # (action "dialogs-cursor")
794 | # (action "file-pat-export-internal")
795 | # (action "layers-lock-position")
796 | # (action "plug-in-fractalexplorer")
797 | # (action "layers-color-tag-orange")
798 | # (action "image-resize-to-selection")
799 | # (action "context-brush-hardness-maximum")
800 | # (action "context-swatch-foreground-next-skip")
801 | # (action "paths-visible")
802 | # (action "channels-visible")
803 | # (action "filters-gegl-bilateral-filter-fast")
804 | # (action "select-sharpen")
805 | # (action "context-gradient-select-set")
806 | # (action "debug-dump-attached-data")
807 | # (action "image-flip-vertical")
808 | # (action "layers-text-along-vectors")
809 | # (action "layers-text-to-vectors")
810 | # (action "script-fu-make-brush-rectangular")
811 | # (action "view-snap-to-grid")
812 | # (action "tools-mypaint-brush" "y")
813 | # (action "filters-newsprint")
814 | # (action "context-swatch-background-next")
815 | # (action "context-brush-angle-decrease-skip")
816 | # (action "file-show-in-file-manager" "f")
817 | # (action "dialogs-indexed-palette")
818 | # (action "gimp-help-using-fileformats")
819 | # (action "layers-composite-mode-intersection")
820 | # (action "layers-alpha-selection-add")
821 | # (action "dialogs-tool-options")
822 | # (action "edit-copy-visible" "c" "Copy")
823 | # (action "filters-distance-map")
824 | # (action "gimp-online-bugs-features")
825 | # (action "paths-lock-position")
826 | # (action "channels-select-bottom")
827 | # (action "dialogs-histogram")
828 | # (action "filters-mantiuk-2006")
829 | # (action "filters-gegl-gradient-map")
830 | # (action "filters-gegl-color-assimilation-grid")
831 | # (action "tools-force-minimum")
832 | # (action "filters-tile-glass")
833 | # (action "file-export-as" "e")
834 | # (action "image-new" "n")
835 | # (action "filters-dilate")
836 | # (action "filters-invert-linear")
837 | # (action "context-palette-select-last")
838 | # (action "plug-in-decompose")
839 | # (action "filters-plasma")
840 | # (action "tools-aspect-decrease-skip")
841 | # (action "context-gradient-select-next")
842 | (action "layers-select-previous" "k")
843 | # (action "windows-tab-position")
844 | # (action "script-fu-drop-shadow")
845 | # (action "paths-selection-replace")
846 | # (action "view-display-intent-saturation")
847 | # (action "context-background-red-maximum")
848 | # (action "filters-gegl-negative-darkroom")
849 | # (action "context-background-saturation-minimum")
850 | # (action "select-cut-float" "l")
851 | # (action "dialogs-buffers")
852 | # (action "tools-color-picker" "o")
853 | # (action "tools-warp-effect-size-set")
854 | # (action "filters-gegl-inner-glow")
855 | # (action "context-foreground-value-maximum")
856 | # (action "filters-bayer-matrix")
857 | # (action "context-background-saturation-set")
858 | # (action "tools-spacing-increase")
859 | # (action "filters-gegl-demosaic-bimedian")
860 | # (action "channels-color-tag-brown")
861 | # (action "view-show-sample-points")
862 | # (action "paths-stroke")
863 | # (action "filters-recent-10")
864 | # (action "view-zoom-out" "minus" "KP_Subtract" "ZoomOut")
865 | # (action "filters-gegl-fractal-explorer")
866 | # (action "tools-opacity-decrease-skip" "less")
867 | # (action "view-scroll-right")
868 | # (action "view-zoom-revert" "grave")
869 | # (action "filters-diffraction-patterns")
870 | # (action "tools-align" "q")
871 | # (action "windows-show-display-previous" "Tab" "Back")
872 | # (action "filters-tile-seamless")
873 | # (action "gimp-palette-export-php")
874 | # (action "tools-angle-minimum")
875 | (action "filters-curves" "f")
876 | # (action "layers-opacity-transparent")
877 | # (action "channels-raise-to-top")
878 | # (action "tools-airbrush-flow-increase")
879 | # (action "context-background-blue-increase-skip")
880 | # (action "filters-whirl-pinch")
881 | # (action "context-brush-select-set")
882 | # (action "help-context-help" "F1")
883 | (action "tools-pencil" "p")
884 | # (action "context-brush-hardness-increase-skip")
885 | # (action "filters-edge")
886 | # (action "tools-object-1-next")
887 | # (action "layers-opacity-decrease-skip")
888 | # (action "dialogs-channels")
889 | # (action "filters-apply-canvas")
890 | # (action "tools-opacity-decrease-percent")
891 | # (action "file-open" "o")
892 | # (action "script-fu-gradient-example")
893 | # (action "debug-benchmark-projection")
894 | # (action "script-fu-perspective-shadow")
895 | # (action "filters-lb-bevel")
896 | # (action "plug-in-script-fu-console")
897 | # (action "view-snap-to-vectors")
898 | # (action "context-background-red-decrease-skip")
899 | # (action "view-scroll-left")
900 | # (action "context-dynamics-toggle")
901 | # (action "file-pdf-export-multi")
902 | # (action "select-shrink")
903 | # (action "view-zoom-fill")
904 | # (action "plug-in-metadata-viewer")
905 | # (action "gimp-online-developer-web-site")
906 | # (action "plug-in-small-tiles")
907 | # (action "filters-threshold-alpha")
908 | # (action "layers-alpha-selection-intersect")
909 | # (action "context-tool-select-previous")
910 | # (action "context-brush-aspect-decrease-skip")
911 | # (action "view-display-intent-absolute-colorimetric")
912 | # (action "tools-hardness-minimum")
913 | # (action "plug-in-colormap-swap")
914 | # (action "script-fu-distress-selection")
915 | # (action "filters-antialias")
916 | # (action "tools-object-2-set")
917 | # (action "tools-spacing-set")
918 | # (action "layers-merge-down-button")
919 | # (action "file-open-recent-10" "0")
920 | # (action "channels-lower-to-bottom")
921 | # (action "layers-color-tag-blue")
922 | # (action "plug-in-align-layers")
923 | # (action "filters-hue-saturation")
924 | # (action "tools-ink" "k")
925 | # (action "view-show-guides" "t")
926 | # (action "script-fu-tile-blur")
927 | # (action "filters-exposure")
928 | # (action "windows-tabs-position-top")
929 | # (action "filters-mono-mixer")
930 | # (action "filters-threshold")
931 | # (action "tools-force-decrease")
932 | # (action "filters-gegl-color-overlay")
933 | # (action "tools-perspective-clone")
934 | # (action "filters-bloom")
935 | # (action "tools-opacity-maximum")
936 | # (action "dialogs-brush-editor")
937 | # (action "paths-selection-subtract")
938 | # (action "context-font-select-set")
939 | # (action "context-foreground-saturation-minimum")
940 | # (action "layers-new-last-values")
941 | # (action "context-colormap-foreground-last")
942 | # (action "paths-raise")
943 | # (action "paths-fill-last-values")
944 | # (action "drawable-flip-horizontal")
945 | # (action "layers-select-flattened-next")
946 | (action "tools-clone" "s")
947 | # (action "edit-named-cut")
948 | # (action "view-color-management-reset")
949 | # (action "layers-select-top" "Home")
950 | # (action "view-fullscreen" "F11")
951 | # (action "layers-blend-space-auto")
952 | # (action "filters-stretch-contrast")
953 | # (action "plug-in-imagemap")
954 | # (action "filters-deinterlace")
955 | # (action "filters-gegl-demosaic-simple")
956 | # (action "context-brush-angle-decrease")
957 | # (action "filters-noise-hsv")
958 | # (action "tools-mypaint-brush-pixel-size-set")
959 | # (action "channels-color-tag-green")
960 | (action "tools-cage")
961 | # (action "context-foreground-hue-maximum")
962 | # (action "gimp-help-using-docks")
963 | # (action "file-close-all" "w")
964 | # (action "context-background-saturation-decrease")
965 | # (action "tools-paintbrush-size-set")
966 | # (action "filters-gegl-absolute")
967 | # (action "file-overwrite")
968 | # (action "context-foreground-red-increase")
969 | # (action "filters-saturation")
970 | # (action "layers-alpha-add")
971 | # (action "context-foreground-blue-maximum")
972 | # (action "gimp-help-main")
973 | # (action "view-padding-color-theme")
974 | # (action "context-foreground-green-decrease-skip")
975 | # (action "image-flatten")
976 | # (action "tools-force-set")
977 | # (action "context-foreground-blue-increase-skip")
978 | (action "image-crop-to-selection" "c")
979 | (action "tools-smudge")
980 | # (action "view-show-menubar")
981 | # (action "tools-paintbrush-aspect-ratio-set")
982 | # (action "tools-paintbrush-pixel-size-set")
983 | # (action "layers-mode-last")
984 | # (action "view-zoom-in-skip")
985 | # (action "filters-motion-blur-linear")
986 | # (action "paths-select-previous")
987 | # (action "context-pattern-select-first")
988 | # (action "context-background-value-decrease-skip")
989 | # (action "dialogs-tips")
990 | # (action "plug-in-checkerboard")
991 | # (action "view-zoom")
992 | # (action "context-background-red-decrease")
993 | # (action "view-scroll-vertical")
994 | # (action "context-palette-select-next")
995 | # (action "paths-selection-intersect")
996 | # (action "context-tool-select-set")
997 | # (action "context-foreground-red-decrease-skip")
998 | # (action "layers-merge-group")
999 | # (action "file-open-location")
1000 | # (action "image-rotate-90")
1001 | (action "tools-gegl" "g")
1002 | # (action "file-open-as-layers" "o")
1003 | # (action "script-fu-line-nova")
1004 | # (action "context-brush-radius-increase-skip")
1005 | # (action "filters-gegl-local-threshold")
1006 | # (action "layers-alpha-selection-subtract")
1007 | # (action "tools-foreground-select-brush-size-set")
1008 | # (action "filters-noise-solid")
1009 | # (action "tools-size-increase" "bracketright")
1010 | # (action "dialogs-navigation")
1011 | # (action "filters-color-balance")
1012 | # (action "tools-unified-transform" "t")
1013 | # (action "filters-cubism")
1014 | # (action "tools-force-increase")
1015 | # (action "tools-by-color-select-short")
1016 | # (action "image-softproof-profile")
1017 | # (action "tools-angle-increase-percent")
1018 | # (action "dialogs-palette-editor")
1019 | # (action "edit-paste-into-in-place")
1020 | # (action "drawable-rotate-270")
1021 | # (action "view-zoom-other")
1022 | # (action "context-swatch-background-previous")
1023 | # (action "context-foreground-value-decrease")
1024 | # (action "filters-gegl-band-tune")
1025 | # (action "filters-gegl-styles")
1026 | # (action "context-foreground-red-set")
1027 | # (action "filters-alien-map")
1028 | # (action "drawable-equalize")
1029 | # (action "context-colormap-background-first")
1030 | # (action "tools-iscissors" "i")
1031 | # (action "debug-show-image-graph")
1032 | # (action "filters-gegl-denoise-dct")
1033 | # (action "context-background-hue-increase-skip")
1034 | # (action "dialogs-fonts")
1035 | # (action "context-brush-angle-increase")
1036 | # (action "tools-airbrush-flow-maximum")
1037 | # (action "tools-airbrush-flow-increase-skip")
1038 | # (action "paths-select-next")
1039 | # (action "tools-paint-select-pixel-size-set")
1040 | # (action "filters-lens-flare")
1041 | # (action "plug-in-sample-colorize")
1042 | # (action "tools-hardness-increase")
1043 | # (action "layers-crop-to-content")
1044 | # (action "context-gradient-select-previous")
1045 | # (action "view-flip-vertically")
1046 | # (action "channels-edit-attributes")
1047 | (action "tools-ellipse-select" "e")
1048 | # (action "script-fu-spinning-globe")
1049 | # (action "plug-in-hot")
1050 | (action "tools-bucket-fill" "g")
1051 | # (action "filters-apply-lens")
1052 | # (action "context-brush-aspect-set")
1053 | # (action "plug-in-destripe")
1054 | # (action "image-properties" "Return")
1055 | # (action "paths-merge-visible")
1056 | # (action "tools-spacing-minimum")
1057 | # (action "python-fu-palette-offset")
1058 | # (action "drawable-rotate-90")
1059 | # (action "filters-gegl-lens-correct")
1060 | # (action "context-brush-select-previous")
1061 | # (action "plug-in-map-object")
1062 | # (action "view-rotate-270")
1063 | # (action "script-fu-slide")
1064 | # (action "windows-display-0001")
1065 | # (action "tools-hardness-increase-percent")
1066 | # (action "context-brush-radius-increase-percent")
1067 | # (action "script-fu-addborder")
1068 | # (action "dialogs-sample-points")
1069 | # (action "context-brush-aspect-increase")
1070 | # (action "paths-color-tag-none")
1071 | # (action "channels-lock-position")
1072 | # (action "filters-noise-cell")
1073 | # (action "context-opacity-opaque")
1074 | # (action "filters-lb-glassovertext")
1075 | # (action "filters-gegl-unpremultiply")
1076 | # (action "script-fu-selection-rounded-rectangle")
1077 | # (action "plug-in-guillotine")
1078 | # (action "context-brush-radius-decrease-less")
1079 | # (action "context-opacity-transparent")
1080 | # (action "plug-in-script-fu-server")
1081 | # (action "channels-lock-content")
1082 | # (action "tools-perspective" "p")
1083 | # (action "context-foreground-value-increase-skip")
1084 | # (action "paths-new-last-values")
1085 | # (action "filters-spherize")
1086 | # (action "view-zoom-4-1" "3" "KP_3")
1087 | # (action "context-colormap-background-set")
1088 | # (action "context-colormap-foreground-next")
1089 | # (action "paths-color-tag-red")
1090 | # (action "quick-mask-invert-off")
1091 | # (action "context-foreground-value-increase")
1092 | # (action "filters-ripple")
1093 | # (action "layers-color-tag-gray")
1094 | # (action "context-brush-spacing-increase-skip")
1095 | # (action "filters-stress")
1096 | # (action "tools-foreground-select")
1097 | # (action "image-convert-u8")
1098 | # (action "paths-fill")
1099 | # (action "gimp-palette-export-python")
1100 | # (action "context-foreground-hue-increase-skip")
1101 | # (action "tools-aspect-set-to-default")
1102 | # (action "context-background-hue-decrease")
1103 | # (action "context-pattern-select-set")
1104 | # (action "filters-reshow" "f")
1105 | # (action "context-colormap-foreground-first")
1106 | (action "layers-mode-next" "colon")
1107 | # (action "plug-in-recompose")
1108 | # (action "gimp-online-main-web-site")
1109 | # (action "context-colormap-background-last")
1110 | # (action "layers-color-tag-brown")
1111 | # (action "context-palette-foreground-last")
1112 | # (action "python-fu-gradient-save-as-css")
1113 | # (action "tools-object-1-set")
1114 | # (action "view-shrink-wrap" "j")
1115 | # (action "paths-new")
1116 | # (action "filters-lb-innerglow")
1117 | # (action "layers-composite-mode-clip-to-backdrop")
1118 | # (action "dialogs-symmetry")
1119 | # (action "layers-crop-to-selection")
1120 | # (action "filters-rgb-clip")
1121 | # (action "channels-color-tag-none")
1122 | # (action "tools-convolve" "u")
1123 | # (action "view-softproof-gamut-check")
1124 | # (action "dialogs-error-console")
1125 | # (action "layers-composite-space-auto")
1126 | # (action "layers-opacity-increase")
1127 | # (action "filters-lb-layereffectscontinual")
1128 | # (action "script-fu-carve-it")
1129 | # (action "layers-text-discard")
1130 | # (action "filters-spiral")
1131 | # (action "layers-lock-alpha")
1132 | # (action "edit-paste-as-new-image" "v" "Paste")
1133 | # (action "view-move-to-screen--0.0")
1134 | # (action "script-fu-font-map")
1135 |
1136 | # end of shortcutsrc
1137 |
--------------------------------------------------------------------------------