From b1d6700c284f360bd32378f7739e6255026df596 Mon Sep 17 00:00:00 2001 From: Santiago Lo Coco Date: Wed, 19 Jan 2022 15:11:03 -0300 Subject: [PATCH] Add dotfiles folder --- dotfiles/.config/droidcam | 10 + dotfiles/.config/dunst/dunstrc | 475 +++++ dotfiles/.config/fontconfig/fonts.conf | 10 + dotfiles/.config/gtk-2.0/gtkfilechooser.ini | 11 + dotfiles/.config/gtk-3.0/bookmarks | 12 + dotfiles/.config/gtk-3.0/settings.ini | 18 + dotfiles/.config/mimeapps.list | 37 + dotfiles/.config/nvim/init.vim | 139 ++ dotfiles/.config/nvimpager/init.vim | 48 + dotfiles/.config/octave/octave-gui.ini | 1082 +++++++++++ dotfiles/.config/octave/octaverc | 15 + dotfiles/.config/picom/old_picom.conf | 425 +++++ dotfiles/.config/picom/picom.conf | 420 +++++ dotfiles/.config/picom/picom2.conf | 419 +++++ .../pipewire/media-session.d/default-nodes | 1 + .../pipewire/media-session.d/default-routes | 9 + .../pipewire/media-session.d/restore-stream | 14 + dotfiles/.config/user-dirs.dirs | 15 + dotfiles/.config/user-dirs.locale | 1 + dotfiles/.config/zathura/zathurarc | 14 + dotfiles/.gtk-bookmarks | 7 + dotfiles/.gtkrc-2.0 | 15 + dotfiles/.icons/default/index.theme | 5 + dotfiles/.ideavimrc | 30 + dotfiles/.imwheelrc | 11 + dotfiles/.local/bin/clion | 5 + dotfiles/.local/bin/datagrip | 5 + dotfiles/.local/bin/foxitLight | 1 + dotfiles/.local/bin/goctave | 3 + dotfiles/.local/bin/idea | 5 + dotfiles/.local/bin/isympy | 8 + dotfiles/.local/bin/launchPcmanfm | 7 + dotfiles/.local/bin/mailCheck | 1 + dotfiles/.local/bin/rider | 5 + dotfiles/.local/bin/screen | 5 + dotfiles/.local/bin/screenshot | 8 + dotfiles/.local/bin/sound | 13 + dotfiles/.local/bin/startdwm | 5 + dotfiles/.local/bin/studio | 5 + dotfiles/.local/bin/timeCalib | 12 + dotfiles/.local/bin/timeCalibration | 21 + dotfiles/.local/bin/timeSee | 13 + dotfiles/.local/bin/trim | 73 + dotfiles/.local/bin/waitForSSH | 14 + dotfiles/.local/bin/webstorm | 5 + dotfiles/.nvidia-settings-rc | 100 + dotfiles/.octave_packages | 316 ++++ dotfiles/.p10k.zsh | 1630 +++++++++++++++++ dotfiles/.ssh/config | 13 + dotfiles/.xinitrc | 61 + dotfiles/.zprofile | 14 + dotfiles/.zshrc | 117 ++ dotfiles/.zshrc_aliases | 309 ++++ dotfiles/.zshrc_exports | 22 + .../etc/X11/xorg.conf.d/00-keyboard.conf | 7 + .../other/etc/X11/xorg.conf.d/10-monitor.conf | 25 + .../other/etc/X11/xorg.conf.d/12-module.conf | 7 + .../other/etc/X11/xorg.conf.d/15-server.conf | 12 + .../other/etc/X11/xorg.conf.d/5-device.conf | 6 + sadedot | 2 +- 60 files changed, 6097 insertions(+), 1 deletion(-) create mode 100644 dotfiles/.config/droidcam create mode 100644 dotfiles/.config/dunst/dunstrc create mode 100644 dotfiles/.config/fontconfig/fonts.conf create mode 100644 dotfiles/.config/gtk-2.0/gtkfilechooser.ini create mode 100644 dotfiles/.config/gtk-3.0/bookmarks create mode 100644 dotfiles/.config/gtk-3.0/settings.ini create mode 100644 dotfiles/.config/mimeapps.list create mode 100644 dotfiles/.config/nvim/init.vim create mode 100644 dotfiles/.config/nvimpager/init.vim create mode 100644 dotfiles/.config/octave/octave-gui.ini create mode 100644 dotfiles/.config/octave/octaverc create mode 100644 dotfiles/.config/picom/old_picom.conf create mode 100644 dotfiles/.config/picom/picom.conf create mode 100644 dotfiles/.config/picom/picom2.conf create mode 100644 dotfiles/.config/pipewire/media-session.d/default-nodes create mode 100644 dotfiles/.config/pipewire/media-session.d/default-routes create mode 100644 dotfiles/.config/pipewire/media-session.d/restore-stream create mode 100644 dotfiles/.config/user-dirs.dirs create mode 100644 dotfiles/.config/user-dirs.locale create mode 100644 dotfiles/.config/zathura/zathurarc create mode 100644 dotfiles/.gtk-bookmarks create mode 100644 dotfiles/.gtkrc-2.0 create mode 100644 dotfiles/.icons/default/index.theme create mode 100644 dotfiles/.ideavimrc create mode 100644 dotfiles/.imwheelrc create mode 100755 dotfiles/.local/bin/clion create mode 100755 dotfiles/.local/bin/datagrip create mode 100755 dotfiles/.local/bin/foxitLight create mode 100755 dotfiles/.local/bin/goctave create mode 100755 dotfiles/.local/bin/idea create mode 100755 dotfiles/.local/bin/isympy create mode 100755 dotfiles/.local/bin/launchPcmanfm create mode 100755 dotfiles/.local/bin/mailCheck create mode 100755 dotfiles/.local/bin/rider create mode 100755 dotfiles/.local/bin/screen create mode 100755 dotfiles/.local/bin/screenshot create mode 100755 dotfiles/.local/bin/sound create mode 100755 dotfiles/.local/bin/startdwm create mode 100755 dotfiles/.local/bin/studio create mode 100755 dotfiles/.local/bin/timeCalib create mode 100755 dotfiles/.local/bin/timeCalibration create mode 100755 dotfiles/.local/bin/timeSee create mode 100755 dotfiles/.local/bin/trim create mode 100755 dotfiles/.local/bin/waitForSSH create mode 100755 dotfiles/.local/bin/webstorm create mode 100644 dotfiles/.nvidia-settings-rc create mode 100644 dotfiles/.octave_packages create mode 100644 dotfiles/.p10k.zsh create mode 100644 dotfiles/.ssh/config create mode 100644 dotfiles/.xinitrc create mode 100644 dotfiles/.zprofile create mode 100644 dotfiles/.zshrc create mode 100644 dotfiles/.zshrc_aliases create mode 100644 dotfiles/.zshrc_exports create mode 100644 dotfiles/other/etc/X11/xorg.conf.d/00-keyboard.conf create mode 100644 dotfiles/other/etc/X11/xorg.conf.d/10-monitor.conf create mode 100644 dotfiles/other/etc/X11/xorg.conf.d/12-module.conf create mode 100644 dotfiles/other/etc/X11/xorg.conf.d/15-server.conf create mode 100644 dotfiles/other/etc/X11/xorg.conf.d/5-device.conf diff --git a/dotfiles/.config/droidcam b/dotfiles/.config/droidcam new file mode 100644 index 0000000..92f3487 --- /dev/null +++ b/dotfiles/.config/droidcam @@ -0,0 +1,10 @@ +v4 +ip= +port=4747 +audio=0 +video=1 +size=0x0 +confirm_close=1 +vertical_flip=0 +horizontal_flip=0 +type=2 diff --git a/dotfiles/.config/dunst/dunstrc b/dotfiles/.config/dunst/dunstrc new file mode 100644 index 0000000..1ca8dde --- /dev/null +++ b/dotfiles/.config/dunst/dunstrc @@ -0,0 +1,475 @@ +[global] + ### Display ### + + # Which monitor should the notifications be displayed on. + monitor = 0 + + # Display notification on focused monitor. Possible modes are: + # mouse: follow mouse pointer + # keyboard: follow window with keyboard focus + # none: don't follow anything + # + # "keyboard" needs a window manager that exports the + # _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern window managers. + # + # If this option is set to mouse or keyboard, the monitor option + # will be ignored. + follow = mouse + + # The geometry of the window: + # [{width}]x{height}[+/-{x}+/-{y}] + # The geometry of the message window. + # The height is measured in number of notifications everything else + # in pixels. If the width is omitted but the height is given + # ("-geometry x2"), the message window expands over the whole screen + # (dmenu-like). If width is 0, the window expands to the longest + # message displayed. A positive x is measured from the left, a + # negative from the right side of the screen. Y is measured from + # the top and down respectively. + # The width can be negative. In this case the actual width is the + # screen width minus the width defined in within the geometry option. + #geometry = "300x5-30+20" + geometry = "300x5-30+20" + #geometry = "0x5-30+20" + # geometry = "0x0-30+20" + + # Turn on the progess bar + progress_bar = true + + # Set the progress bar height. This includes the frame, so make sure + # it's at least twice as big as the frame width. + progress_bar_height = 10 + + # Set the frame width of the progress bar + progress_bar_frame_width = 1 + + # Set the minimum width for the progress bar + progress_bar_min_width = 150 + + # Set the maximum width for the progress bar + progress_bar_max_width = 300 + + + # Show how many messages are currently hidden (because of geometry). + indicate_hidden = yes + + # Shrink window if it's smaller than the width. Will be ignored if + # width is 0. + #shrink = no + shrink = yes + + # The transparency of the window. Range: [0; 100]. + # This option will only work if a compositing window manager is + # present (e.g. xcompmgr, compiz, etc.). + #transparency = 0 + transparency = 10 + + # The height of the entire notification. If the height is smaller + # than the font height and padding combined, it will be raised + # to the font height and padding. + notification_height = 0 + + # Draw a line of "separator_height" pixel height between two + # notifications. + # Set to 0 to disable. + separator_height = 2 + + # Padding between text and separator. + padding = 8 + + # Horizontal padding. + horizontal_padding = 8 + + # Padding between text and icon. + text_icon_padding = 0 + + # Defines width in pixels of frame around the notification window. + # Set to 0 to disable. + frame_width = 3 + + # Defines color of the frame around the notification window. + frame_color = "#aaaaaa" + + # Define a color for the separator. + # possible values are: + # * auto: dunst tries to find a color fitting to the background; + # * foreground: use the same color as the foreground; + # * frame: use the same color as the frame; + # * anything else will be interpreted as a X color. + separator_color = frame + + # Sort messages by urgency. + sort = yes + + # Don't remove messages, if the user is idle (no mouse or keyboard input) + # for longer than idle_threshold seconds. + # Set to 0 to disable. + # A client can set the 'transient' hint to bypass this. See the rules + # section for how to disable this if necessary + idle_threshold = 120 + #idle_threshold = 0 + + ### Text ### + + font = Monospace 8 + + # The spacing between lines. If the height is smaller than the + # font height, it will get raised to the font height. + line_height = 0 + + # Possible values are: + # full: Allow a small subset of html markup in notifications: + # bold + # italic + # strikethrough + # underline + # + # For a complete reference see + # . + # + # strip: This setting is provided for compatibility with some broken + # clients that send markup even though it's not enabled on the + # server. Dunst will try to strip the markup but the parsing is + # simplistic so using this option outside of matching rules for + # specific applications *IS GREATLY DISCOURAGED*. + # + # no: Disable markup parsing, incoming notifications will be treated as + # plain text. Dunst will not advertise that it has the body-markup + # capability if this is set as a global setting. + # + # It's important to note that markup inside the format option will be parsed + # regardless of what this is set to. + markup = full + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + # %n progress value if set without any extra characters + # %% Literal % + # Markup is allowed + format = "%s\n%b" + + # Alignment of message text. + # Possible values are "left", "center" and "right". + alignment = left + + # Vertical alignment of message text and icon. + # Possible values are "top", "center" and "bottom". + vertical_alignment = center + + # Show age of message if message is older than show_age_threshold + # seconds. + # Set to -1 to disable. + show_age_threshold = 60 + + # Split notifications into multiple lines if they don't fit into + # geometry. + word_wrap = yes + + # When word_wrap is set to no, specify where to make an ellipsis in long lines. + # Possible values are "start", "middle" and "end". + ellipsize = middle + + # Ignore newlines '\n' in notifications. + ignore_newline = no + + # Stack together notifications with the same content + stack_duplicates = true + + # Hide the count of stacked notifications with the same content + hide_duplicate_count = false + + # Display indicators for URLs (U) and actions (A). + show_indicators = yes + + ### Icons ### + + # Align icons left/right/off + icon_position = left + + # Scale small icons up to this size, set to 0 to disable. Helpful + # for e.g. small files or high-dpi screens. In case of conflict, + # max_icon_size takes precedence over this. + min_icon_size = 0 + + # Scale larger icons down to this size, set to 0 to disable + max_icon_size = 32 + + # Paths to default icons. + icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ + + ### History ### + + # Should a notification popped up from history be sticky or timeout + # as if it would normally do. + sticky_history = yes + + # Maximum amount of notifications kept in history + history_length = 20 + + ### Misc/Advanced ### + + # dmenu path. + dmenu = /usr/bin/dmenu -p dunst: + + # Browser for opening urls in context menu. + browser = /usr/bin/firefox -new-tab + + # Always run rule-defined scripts, even if the notification is suppressed + always_run_script = true + + # Define the title of the windows spawned by dunst + title = Dunst + + # Define the class of the windows spawned by dunst + class = Dunst + + # Print a notification on startup. + # This is mainly for error detection, since dbus (re-)starts dunst + # automatically after a crash. + startup_notification = false + + # Manage dunst's desire for talking + # Can be one of the following values: + # crit: Critical features. Dunst aborts + # warn: Only non-fatal warnings + # mesg: Important Messages + # info: all unimportant stuff + # debug: all less than unimportant stuff + verbosity = mesg + + # Define the corner radius of the notification window + # in pixel size. If the radius is 0, you have no rounded + # corners. + # The radius will be automatically lowered if it exceeds half of the + # notification height to avoid clipping text and/or icons. + corner_radius = 0 + + # Ignore the dbus closeNotification message. + # Useful to enforce the timeout set by dunst configuration. Without this + # parameter, an application may close the notification sent before the + # user defined timeout. + ignore_dbusclose = false + + ### Wayland ### + # These settings are Wayland-specific. They have no effect when using X11 + + # Uncomment this if you want to let notications appear under fullscreen + # applications (default: overlay) + # layer = top + + # Set this to true to use X11 output on Wayland. + force_xwayland = false + + ### Legacy + + # Use the Xinerama extension instead of RandR for multi-monitor support. + # This setting is provided for compatibility with older nVidia drivers that + # do not support RandR and using it on systems that support RandR is highly + # discouraged. + # + # By enabling this setting dunst will not be able to detect when a monitor + # is connected or disconnected which might break follow mode if the screen + # layout changes. + force_xinerama = false + + ### mouse + + # Defines list of actions for each mouse event + # Possible values are: + # * none: Don't do anything. + # * do_action: If the notification has exactly one action, or one is marked as default, + # invoke it. If there are multiple and no default, open the context menu. + # * close_current: Close current notification. + # * close_all: Close all notifications. + # These values can be strung together for each mouse event, and + # will be executed in sequence. + mouse_left_click = do_action + mouse_middle_click = close_all + mouse_right_click = close_current + +# Experimental features that may or may not work correctly. Do not expect them +# to have a consistent behaviour across releases. +[experimental] + # Calculate the dpi to use on a per-monitor basis. + # If this setting is enabled the Xft.dpi value will be ignored and instead + # dunst will attempt to calculate an appropriate dpi value for each monitor + # using the resolution and physical size. This might be useful in setups + # where there are multiple screens with very different dpi values. + per_monitor_dpi = false + +# The internal keyboard shortcut support in dunst is now considered deprecated +# and should be replaced by dunstctl calls. You can use the configuration of your +# WM or DE to bind these to shortcuts of your choice. +# Check the dunstctl manual page for more info. +[shortcuts] + + # Shortcuts are specified as [modifier+][modifier+]...key + # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2", + # "mod3" and "mod4" (windows-key). + # Xev might be helpful to find names for keys. + + # Close notification. Equivalent dunstctl command: + # dunstctl close + # close = ctrl+space + + # Close all notifications. Equivalent dunstctl command: + # dunstctl close-all + # close_all = ctrl+shift+space + + # Redisplay last message(s). Equivalent dunstctl command: + # dunstctl history-pop + # history = ctrl+grave + + # Context menu. Equivalent dunstctl command: + # dunstctl context + # context = ctrl+shift+period + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "#222222" + foreground = "#888888" + # timeout = 10 + timeout = 15 + # Icon for notifications with low urgency, uncomment to enable + #icon = /path/to/icon + +[urgency_normal] + background = "#285577" + foreground = "#ffffff" + # timeout = 10 + timeout = 15 + # Icon for notifications with normal urgency, uncomment to enable + #icon = /path/to/icon + +[urgency_critical] + background = "#900000" + foreground = "#ffffff" + frame_color = "#ff0000" + #timeout = 0 + timeout = 15 + # Icon for notifications with critical urgency, uncomment to enable + #icon = /path/to/icon + +# Every section that isn't one of the above is interpreted as a rules to +# override settings for certain messages. +# +# Messages can be matched by +# appname (discouraged, see desktop_entry) +# body +# category +# desktop_entry +# icon +# match_transient +# msg_urgency +# stack_tag +# summary +# +# and you can override the +# background +# foreground +# format +# frame_color +# fullscreen +# new_icon +# set_stack_tag +# set_transient +# timeout +# urgency +# +# Shell-like globbing will get expanded. +# +# Instead of the appname filter, it's recommended to use the desktop_entry filter. +# GLib based applications export their desktop-entry name. In comparison to the appname, +# the desktop-entry won't get localized. +# +# SCRIPTING +# You can specify a script that gets run when the rule matches by +# setting the "script" option. +# The script will be called as follows: +# script appname summary body icon urgency +# where urgency can be "LOW", "NORMAL" or "CRITICAL". +# +# NOTE: if you don't want a notification to be displayed, set the format +# to "". +# NOTE: It might be helpful to run dunst -print in a terminal in order +# to find fitting options for rules. + +# Disable the transient hint so that idle_threshold cannot be bypassed from the +# client +#[transient_disable] +# match_transient = yes +# set_transient = no +# +# Make the handling of transient notifications more strict by making them not +# be placed in history. +#[transient_history_ignore] +# match_transient = yes +# history_ignore = yes + +# fullscreen values +# show: show the notifications, regardless if there is a fullscreen window opened +# delay: displays the new notification, if there is no fullscreen window active +# If the notification is already drawn, it won't get undrawn. +# pushback: same as delay, but when switching into fullscreen, the notification will get +# withdrawn from screen again and will get delayed like a new notification +#[fullscreen_delay_everything] +# fullscreen = delay +#[fullscreen_show_critical] +# msg_urgency = critical +# fullscreen = show + +#[espeak] +# summary = "*" +# script = dunst_espeak.sh + +#[script-test] +# summary = "*script*" +# script = dunst_test.sh + +#[ignore] +# # This notification will not be displayed +# summary = "foobar" +# format = "" + +#[history-ignore] +# # This notification will not be saved in history +# summary = "foobar" +# history_ignore = yes + +#[skip-display] +# # This notification will not be displayed, but will be included in the history +# summary = "foobar" +# skip_display = yes + +#[signed_on] +# appname = Pidgin +# summary = "*signed on*" +# urgency = low +# +#[signed_off] +# appname = Pidgin +# summary = *signed off* +# urgency = low +# +#[says] +# appname = Pidgin +# summary = *says* +# urgency = critical +# +#[twitter] +# appname = Pidgin +# summary = *twitter.com* +# urgency = normal +# +#[stack-volumes] +# appname = "some_volume_notifiers" +# set_stack_tag = "volume" +# +# vim: ft=cfg diff --git a/dotfiles/.config/fontconfig/fonts.conf b/dotfiles/.config/fontconfig/fonts.conf new file mode 100644 index 0000000..018ffe3 --- /dev/null +++ b/dotfiles/.config/fontconfig/fonts.conf @@ -0,0 +1,10 @@ + + + + + monospace + + Fira Code + + + diff --git a/dotfiles/.config/gtk-2.0/gtkfilechooser.ini b/dotfiles/.config/gtk-2.0/gtkfilechooser.ini new file mode 100644 index 0000000..3c6111e --- /dev/null +++ b/dotfiles/.config/gtk-2.0/gtkfilechooser.ini @@ -0,0 +1,11 @@ +[Filechooser Settings] +LocationMode=path-bar +ShowHidden=false +ShowSizeColumn=true +GeometryX=0 +GeometryY=0 +GeometryWidth=1068 +GeometryHeight=739 +SortColumn=name +SortOrder=ascending +StartupMode=recent diff --git a/dotfiles/.config/gtk-3.0/bookmarks b/dotfiles/.config/gtk-3.0/bookmarks new file mode 100644 index 0000000..6c4c53f --- /dev/null +++ b/dotfiles/.config/gtk-3.0/bookmarks @@ -0,0 +1,12 @@ +file:///home/slococo/ITBA ITBA +file:///home/slococo/ITBA/5C/IS IS +file:///home/slococo/ITBA/5C/BD BD +file:///home/slococo/ITBA/5C/MN MN +file:///home/slococo/ITBA/5C/HCI HCI +file:///home/slococo/ITBA/5C/SO SO +file:///home/slococo/Desktop Desktop +file:///home/slococo/Downloads Downloads +file:///home/slococo/Documents Documents +file:///home/slococo/Pictures Pictures +file:///home/slococo/Videos Videos +file:///run/media/slococo slococo diff --git a/dotfiles/.config/gtk-3.0/settings.ini b/dotfiles/.config/gtk-3.0/settings.ini new file mode 100644 index 0000000..b1603c6 --- /dev/null +++ b/dotfiles/.config/gtk-3.0/settings.ini @@ -0,0 +1,18 @@ +[Settings] +gtk-recent-files-max-age=0 +gtk-recent-files-limit=0 +gtk-application-prefer-dark-theme=true +gtk-icon-theme-name=Tela-dark +gtk-theme-name=Orchis-dark +gtk-font-name=Cantarell 11 +gtk-cursor-theme-name=Adwaita +gtk-cursor-theme-size=0 +gtk-toolbar-style=GTK_TOOLBAR_BOTH +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=1 +gtk-menu-images=1 +gtk-enable-event-sounds=0 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintfull diff --git a/dotfiles/.config/mimeapps.list b/dotfiles/.config/mimeapps.list new file mode 100644 index 0000000..12f6a59 --- /dev/null +++ b/dotfiles/.config/mimeapps.list @@ -0,0 +1,37 @@ +[Default Applications] +x-scheme-handler/jetbrains=jetbrains-toolbox.desktop +x-scheme-handler/http=brave-browser.desktop +x-scheme-handler/https=brave-browser.desktop +x-scheme-handler/chrome=firefox.desktop +text/html=brave-browser.desktop +application/x-extension-htm=firefox.desktop +application/x-extension-html=firefox.desktop +application/x-extension-shtml=firefox.desktop +application/xhtml+xml=firefox.desktop +application/x-extension-xhtml=firefox.desktop +application/x-extension-xht=firefox.desktop +x-scheme-handler/mailto=userapp-Thunderbird-2MAT80.desktop +x-scheme-handler/about=brave-browser.desktop +x-scheme-handler/unknown=brave-browser.desktop +application/pdf=org.pwmt.zathura.desktop +image/png=sxiv.desktop +application/ppdf=FoxitReader.desktop +x-scheme-handler/notion=notion-app.desktop +image/jpeg=sxiv.desktop +x-scheme-handler/ferdi=ferdi.desktop +message/rfc822=userapp-Thunderbird-2MAT80.desktop + +[Added Associations] +x-scheme-handler/http=firefox.desktop; +x-scheme-handler/https=firefox.desktop; +x-scheme-handler/chrome=firefox.desktop; +text/html=firefox.desktop; +application/x-extension-htm=firefox.desktop; +application/x-extension-html=firefox.desktop; +application/x-extension-shtml=firefox.desktop; +application/xhtml+xml=firefox.desktop; +application/x-extension-xhtml=firefox.desktop; +application/x-extension-xht=firefox.desktop; +image/png=sxiv.desktop; +x-scheme-handler/mailto=userapp-Thunderbird-2MAT80.desktop; +message/rfc822=userapp-Thunderbird-2MAT80.desktop; diff --git a/dotfiles/.config/nvim/init.vim b/dotfiles/.config/nvim/init.vim new file mode 100644 index 0000000..5280386 --- /dev/null +++ b/dotfiles/.config/nvim/init.vim @@ -0,0 +1,139 @@ +let mapleader ="\\" + +if ! filereadable(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim"')) + echo "Downloading junegunn/vim-plug to manage plugins..." + silent !mkdir -p ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/ + silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim + autocmd VimEnter * PlugInstall +endif + +call plug#begin(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/plugged"')) +Plug 'tpope/vim-surround' +Plug 'preservim/nerdtree' +Plug 'junegunn/goyo.vim' +Plug 'jreybert/vimagit' +Plug 'lukesmithxyz/vimling' +Plug 'vimwiki/vimwiki' +Plug 'bling/vim-airline' +Plug 'tpope/vim-commentary' +Plug 'ap/vim-css-color' +Plug 'farmergreg/vim-lastplace' +Plug 'jiangmiao/auto-pairs' +Plug 'xuhdev/vim-latex-live-preview', { 'for': 'tex' } +call plug#end() + +set bg=light +set go=a +set mouse=a +set nohlsearch +" set clipboard+=unnamedplus + +" Use this one if you want to use Middle click to paste copied text from vim +set clipboard=unnamed + +" Use this one if you want to use primary clipboard! +" set clipboard=unnamedplus + +" Though for this we need xsel (https://github.com/neovim/neovim/issues/7945) + +colorscheme delek + +" Some basics: + nnoremap c "_c + set nocompatible + filetype plugin on + syntax on + set encoding=utf-8 + set number relativenumber + set softtabstop=4 + set shiftwidth=4 +" Enable autocompletion: + set wildmode=longest,list,full +" Disables automatic commenting on newline: + autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o + +" Goyo plugin makes text more readable when writing prose: + map f :Goyo \| set bg=light \| set linebreak + +" Spell-check set to o, 'o' for 'orthography': + map o :setlocal spell! spelllang=en_us + +" Splits open at the bottom and right, which is non-retarded, unlike vim defaults. + set splitbelow splitright + +" Nerd tree + map n :NERDTreeToggle + autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif + if has('nvim') + let NERDTreeBookmarksFile = stdpath('data') . '/NERDTreeBookmarks' + else + let NERDTreeBookmarksFile = '~/.vim' . '/NERDTreeBookmarks' + endif + +" vimling: + nm d :call ToggleDeadKeys() + imap d :call ToggleDeadKeys()a + nm i :call ToggleIPA() + imap i :call ToggleIPA()a + nm q :call ToggleProse() + +" Shortcutting split navigation, saving a keypress: + map h + map j + map k + map l + +" Replace ex mode with gq + map Q gq + +" Check file in shellcheck: + map s :!clear && shellcheck % + +" Open my bibliography file in split +" map b :vsp$BIB +" map r :vsp$REFER + +" Replace all is aliased to S. + nnoremap S :%s//g + +" Compile document, be it groff/LaTeX/markdown/etc. + map c :w! \| !compiler "%" + +" Open corresponding .pdf/.html or preview + map p :!opout % + +" Runs a script that cleans out tex build files whenever I close out of a .tex file. + autocmd VimLeave *.tex !texclear % + +" Ensure files are read as what I want: +" let g:vimwiki_ext2syntax = {'.Rmd': 'markdown', '.rmd': 'markdown','.md': 'markdown', '.markdown': 'markdown', '.mdown': 'markdown'} +" map v :VimwikiIndex +" let g:vimwiki_list = [{'path': '~/vimwiki', 'syntax': 'markdown', 'ext': '.md'}] +" autocmd BufRead,BufNewFile /tmp/calcurse*,~/.calcurse/notes/* set filetype=markdown +" autocmd BufRead,BufNewFile *.ms,*.me,*.mom,*.man set filetype=groff +" autocmd BufRead,BufNewFile *.tex set filetype=tex + +" Save file as sudo on files that require root permission + cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' edit! + +" Enable Goyo by default for mutt writing +" autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=80 +" autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo | set bg=light +" autocmd BufRead,BufNewFile /tmp/neomutt* map ZZ :Goyo\|x! +" autocmd BufRead,BufNewFile /tmp/neomutt* map ZQ :Goyo\|q! + +" Automatically deletes all trailing whitespace and newlines at end of file on save. +" autocmd BufWritePre * %s/\s\+$//e +" autocmd BufWritepre * %s/\n\+\%$//e + +" When shortcut files are updated, renew bash and ranger configs with new material: +" autocmd BufWritePost bm-files,bm-dirs !shortcuts +" Run xrdb whenever Xdefaults or Xresources are updated. + autocmd BufWritePost *Xresources,*Xdefaults,*xresources,*xdefaults !xrdb % + +" Turns off highlighting on the bits of code that are changed, so the line that is changed is highlighted but the actual text that has changed stands out on the line and is readable. +if &diff + highlight! link DiffText MatchParen +endif + +let g:livepreview_previewer = 'zathura' diff --git a/dotfiles/.config/nvimpager/init.vim b/dotfiles/.config/nvimpager/init.vim new file mode 100644 index 0000000..c0a778d --- /dev/null +++ b/dotfiles/.config/nvimpager/init.vim @@ -0,0 +1,48 @@ +let mapleader ="," + +set bg=light +set go=a +set mouse=a +set nohlsearch +" set clipboard+=unnamedplus + +" Use this one if you want to use Middle click to paste copied text from vim +" set clipboard=unnamed + +" Use this one if you want to use primary clipboard! +set clipboard=unnamedplus + +" Though for this we need xsel (https://github.com/neovim/neovim/issues/7945) + +colorscheme delek + +" Some basics: + "nnoremap c "_c + set nocompatible + filetype plugin on + syntax on + set encoding=utf-8 + set number relativenumber + "set softtabstop=4 + "set shiftwidth=4 +" Enable autocompletion: + "set wildmode=longest,list,full +" Disables automatic commenting on newline: + "autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o + +" Splits open at the bottom and right, which is non-retarded, unlike vim defaults. + "set splitbelow splitright + +" Shortcutting split navigation, saving a keypress: + "map h + "map j + "map k + "map l + +" Replace ex mode with gq + "map Q gq + +" Turns off highlighting on the bits of code that are changed, so the line that is changed is highlighted but the actual text that has changed stands out on the line and is readable. +if &diff + highlight! link DiffText MatchParen +endif diff --git a/dotfiles/.config/octave/octave-gui.ini b/dotfiles/.config/octave/octave-gui.ini new file mode 100644 index 0000000..6b4c3cc --- /dev/null +++ b/dotfiles/.config/octave/octave-gui.ini @@ -0,0 +1,1082 @@ +[General] +cursor_blinking=true +customFileEditor=vim %f +language=SYSTEM +monospace_font=Fira Code +octave_startup_dir= +prompt_to_exit=false +proxyHostName= +proxyPassword= +proxyPort=80 +proxyType= +proxyUserName= +restore_octave_dir=true +show_status_bar=true +style=default +toolbar_icon_size=0 +useCustomFileEditor=false +useProxyServer=false +use_native_file_dialogs=true +use_system_icon_theme=true + +[DockWidgets] +DocumentationDockWidget=@Rect(-1534 -1098 1034 598) +DocumentationDockWidgetFloating=false +DocumentationDockWidgetVisible=true +DocumentationDockWidget_floating_geometry=@Rect(16 32 640 540) +DocumentationDockWidget_minimized=false +FileEditor=@Rect(-1534 -1098 1034 598) +FileEditorFloating=false +FileEditorVisible=true +FileEditor_floating_geometry=@Rect(16 32 640 540) +FileEditor_minimized=false +FilesDockWidget=@Rect(0 51 298 329) +FilesDockWidgetFloating=false +FilesDockWidgetVisible=false +FilesDockWidget_floating_geometry=@Rect(16 32 640 540) +FilesDockWidget_minimized=false +HistoryDockWidget=@Rect(0 702 298 310) +HistoryDockWidgetFloating=false +HistoryDockWidgetVisible=false +HistoryDockWidget_floating_geometry=@Rect(1061 32 842 511) +HistoryDockWidget_minimized=false +TerminalDockWidget=@Rect(1055 51 829 961) +TerminalDockWidgetFloating=true +TerminalDockWidgetVisible=false +TerminalDockWidget_floating_geometry=@Rect(1063 33 844 1034) +TerminalDockWidget_minimized=false +VariableEditor=@Rect(0 51 1894 598) +VariableEditorFloating=false +VariableEditorVisible=true +VariableEditor_floating_geometry=@Rect(16 32 640 540) +VariableEditor_minimized=false +WorkspaceView=@Rect(0 681 1894 331) +WorkspaceViewFloating=false +WorkspaceViewVisible=true +WorkspaceView_floating_geometry=@Rect(16 32 640 540) +WorkspaceView_minimized=false +title_bg_color=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\xff\xff\xff\xff\0\0) +title_bg_color_active=@Variant(\0\0\0\x43\x1\xff\xff\xc0\xc0\xc0\xc0\xc0\xc0\0\0) +title_fg_color=@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\0\0\0\0) +title_fg_color_active=@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\0\0\0\0) +widget_icon_set=NONE +widget_title_3d=50 +widget_title_custom_style=false + +[MainWindow] +current_directory_list=/home/slococo/ITBA/5C/MN, /home/slococo/ITBA/5C/SO/Examenes/2P, /home/slococo/ITBA, /home/slococo/ITBA/5C, /home/slococo/ITBA/5C/SO, /home/slococo/ITBA/5C/SO/TP3, /home/slococo/ITBA/5C/MN/TPs/TP7, /tmp/oct-NDwCvr, /tmp/oct-Pp6lY8, /tmp/oct-0xRMgd, /tmp/oct-HioseR, /home/slococo/ITBA/5C/MN/TPs/TP6, /home/slococo/ITBA/5C/MN/TPs, /home/slococo/ITBA/5C/MN/TPs/PROMEN, /home/slococo/ITBA/5C/MN/TPs/PROMEN/Ejercicio2, /home/slococo/ITBA/5C/MN/Examenes/1P20212Q +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\n\0\0\0\x1e\0\0\au\0\0\x4-\0\0\0\r\0\0\0!\0\0\ar\0\0\x4*\0\0\0\0\0\0\0\0\a\x80\0\0\0\r\0\0\0!\0\0\ar\0\0\x4*) +windowState=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\0\0\0\0z\0\0\x3\xc1\xfc\x2\0\0\0\x2\xfb\0\0\0\x1e\0\x46\0i\0l\0\x65\0s\0\x44\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\0\0\0\0\x33\0\0\x1[\0\0\0|\0\xff\xff\xff\xfb\0\0\0\"\0H\0i\0s\0t\0o\0r\0y\0\x44\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\0\0\0\0\x33\0\0\x3\xc1\0\0\0v\0\xff\xff\xff\0\0\0\x1\0\0\af\0\0\x3\xc1\xfc\x2\0\0\0\x1\xfc\0\0\0\x33\0\0\x3\xc1\0\0\x1Z\0\xff\xff\xff\xfc\x1\0\0\0\x2\xfc\0\0\0\0\0\0\af\0\0\x1I\0\xff\xff\xff\xfc\x2\0\0\0\x2\xfc\0\0\0\x33\0\0\x2p\0\0\0\xde\x1\0\0\x19\xfa\0\0\0\x1\x2\0\0\0\x3\xfb\0\0\0.\0\x44\0o\0\x63\0u\0m\0\x65\0n\0t\0\x61\0t\0i\0o\0n\0\x44\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xc4\0\xff\xff\xff\xfb\0\0\0\x1c\0V\0\x61\0r\0i\0\x61\0\x62\0l\0\x65\0\x45\0\x64\0i\0t\0o\0r\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\x33\0\xff\xff\xff\xfb\0\0\0\x14\0\x46\0i\0l\0\x65\0\x45\0\x64\0i\0t\0o\0r\x1\0\0\0\0\xff\xff\xff\xff\0\0\0J\0\xff\xff\xff\xfb\0\0\0\x1a\0W\0o\0r\0k\0s\0p\0\x61\0\x63\0\x65\0V\0i\0\x65\0w\x1\0\0\x2\xa9\0\0\x1K\0\0\0v\0\xff\xff\xff\xfb\0\0\0$\0T\0\x65\0r\0m\0i\0n\0\x61\0l\0\x44\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\x1\0\0\x2\x42\0\0\x1\xc8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x3\xc1\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\x2\0\0\0\x1\0\0\0\x16\0M\0\x61\0i\0n\0T\0o\0o\0l\0\x42\0\x61\0r\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0) + +[Scintilla] +Bash\autoindentstyle=-1 +Bash\defaultcolor=0 +Bash\defaultfont=Fira Code, 10, 0, 0, 0 +Bash\defaultfont2=Fira Code, 10, 0, 0, 0 +Bash\defaultpaper=16777215 +Bash\properties\foldcomments=false +Bash\properties\foldcompact=true +Bash\style0\color=8421504 +Bash\style0\eolfill=false +Bash\style0\font=Fira Code, 10, 0, 0, 0 +Bash\style0\font2=Fira Code, 10, 0, 0, 0 +Bash\style0\paper=16777215 +Bash\style1\color=16776960 +Bash\style1\eolfill=false +Bash\style1\font=Fira Code, 10, 0, 0, 0 +Bash\style1\font2=Fira Code, 10, 0, 0, 0 +Bash\style1\paper=16711680 +Bash\style10\color=0 +Bash\style10\eolfill=false +Bash\style10\font=Fira Code, 10, 0, 0, 0 +Bash\style10\font2=Fira Code, 10, 0, 0, 0 +Bash\style10\paper=16777184 +Bash\style11\color=16776960 +Bash\style11\eolfill=false +Bash\style11\font=Fira Code, 10, 0, 0, 0 +Bash\style11\font2=Fira Code, 10, 0, 0, 0 +Bash\style11\paper=10518656 +Bash\style12\color=0 +Bash\style12\eolfill=false +Bash\style12\font=Fira Code, 10, 0, 0, 0 +Bash\style12\font2=Fira Code, 10, 0, 0, 0 +Bash\style12\paper=14536925 +Bash\style13\color=8323199 +Bash\style13\eolfill=true +Bash\style13\font=Fira Code, 10, 0, 0, 0 +Bash\style13\font2=Fira Code, 10, 0, 0, 0 +Bash\style13\paper=14536925 +Bash\style2\color=32512 +Bash\style2\eolfill=false +Bash\style2\font=Fira Code, 10, 0, 0, 0 +Bash\style2\font2=Fira Code, 10, 0, 0, 0 +Bash\style2\paper=16777215 +Bash\style3\color=43647 +Bash\style3\eolfill=false +Bash\style3\font=Fira Code, 10, 0, 0, 0 +Bash\style3\font2=Fira Code, 10, 0, 0, 0 +Bash\style3\paper=16777215 +Bash\style4\color=127 +Bash\style4\eolfill=false +Bash\style4\font=Fira Code, 10, 1, 0, 0 +Bash\style4\font2=Fira Code, 10, 1, 0, 0 +Bash\style4\paper=16777215 +Bash\style5\color=16755200 +Bash\style5\eolfill=false +Bash\style5\font=Fira Code, 10, 0, 0, 0 +Bash\style5\font2=Fira Code, 10, 0, 0, 0 +Bash\style5\paper=16777215 +Bash\style6\color=16755200 +Bash\style6\eolfill=false +Bash\style6\font=Fira Code, 10, 0, 0, 0 +Bash\style6\font2=Fira Code, 10, 0, 0, 0 +Bash\style6\paper=16777215 +Bash\style7\color=16711680 +Bash\style7\eolfill=false +Bash\style7\font=Fira Code, 10, 0, 0, 0 +Bash\style7\font2=Fira Code, 10, 0, 0, 0 +Bash\style7\paper=16777215 +Bash\style8\color=0 +Bash\style8\eolfill=false +Bash\style8\font=Fira Code, 10, 0, 0, 0 +Bash\style8\font2=Fira Code, 10, 0, 0, 0 +Bash\style8\paper=16777215 +Bash\style9\color=0 +Bash\style9\eolfill=false +Bash\style9\font=Fira Code, 10, 0, 0, 0 +Bash\style9\font2=Fira Code, 10, 0, 0, 0 +Bash\style9\paper=16769248 +Batch\autoindentstyle=-1 +Batch\defaultcolor=0 +Batch\defaultfont=Fira Code, 10, 0, 0, 0 +Batch\defaultfont2=Fira Code, 10, 0, 0, 0 +Batch\defaultpaper=16777215 +Batch\style0\color=0 +Batch\style0\eolfill=false +Batch\style0\font=Fira Code, 10, 0, 0, 0 +Batch\style0\font2=Fira Code, 10, 0, 0, 0 +Batch\style0\paper=16777215 +Batch\style1\color=43520 +Batch\style1\eolfill=false +Batch\style1\font=Fira Code, 10, 0, 0, 0 +Batch\style1\font2=Fira Code, 10, 0, 0, 0 +Batch\style1\paper=16777215 +Batch\style2\color=255 +Batch\style2\eolfill=false +Batch\style2\font=Fira Code, 10, 1, 0, 0 +Batch\style2\font2=Fira Code, 10, 1, 0, 0 +Batch\style2\paper=16777215 +Batch\style3\color=8323199 +Batch\style3\eolfill=true +Batch\style3\font=Fira Code, 10, 0, 0, 0 +Batch\style3\font2=Fira Code, 10, 0, 0, 0 +Batch\style3\paper=6316128 +Batch\style4\color=8355584 +Batch\style4\eolfill=false +Batch\style4\font=Fira Code, 10, 0, 0, 0 +Batch\style4\font2=Fira Code, 10, 0, 0, 0 +Batch\style4\paper=16777215 +Batch\style5\color=127 +Batch\style5\eolfill=false +Batch\style5\font=Fira Code, 10, 1, 0, 0 +Batch\style5\font2=Fira Code, 10, 1, 0, 0 +Batch\style5\paper=16777215 +Batch\style6\color=8388736 +Batch\style6\eolfill=false +Batch\style6\font=Fira Code, 10, 0, 0, 0 +Batch\style6\font2=Fira Code, 10, 0, 0, 0 +Batch\style6\paper=16777215 +Batch\style7\color=0 +Batch\style7\eolfill=false +Batch\style7\font=Fira Code, 10, 0, 0, 0 +Batch\style7\font2=Fira Code, 10, 0, 0, 0 +Batch\style7\paper=16777215 +C%2B%2B\autoindentstyle=-1 +C%2B%2B\defaultcolor=0 +C%2B%2B\defaultfont=Fira Code, 10, 0, 0, 0 +C%2B%2B\defaultfont2=Fira Code, 10, 0, 0, 0 +C%2B%2B\defaultpaper=16777215 +C%2B%2B\properties\dollars=true +C%2B%2B\properties\foldatelse=false +C%2B%2B\properties\foldcomments=false +C%2B%2B\properties\foldcompact=true +C%2B%2B\properties\foldpreprocessor=true +C%2B%2B\properties\highlightback=false +C%2B%2B\properties\highlightescape=false +C%2B%2B\properties\highlighthash=false +C%2B%2B\properties\highlighttriple=false +C%2B%2B\properties\stylepreprocessor=false +C%2B%2B\properties\verbatimstringescape=false +C%2B%2B\style0\color=0 +C%2B%2B\style0\eolfill=false +C%2B%2B\style0\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style0\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style0\paper=16777215 +C%2B%2B\style1\color=43520 +C%2B%2B\style1\eolfill=false +C%2B%2B\style1\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style1\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style1\paper=16777215 +C%2B%2B\style10\color=16711680 +C%2B%2B\style10\eolfill=false +C%2B%2B\style10\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style10\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style10\paper=16777215 +C%2B%2B\style11\color=0 +C%2B%2B\style11\eolfill=false +C%2B%2B\style11\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style11\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style11\paper=16777215 +C%2B%2B\style12\color=0 +C%2B%2B\style12\eolfill=true +C%2B%2B\style12\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style12\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style12\paper=14729440 +C%2B%2B\style13\color=32512 +C%2B%2B\style13\eolfill=true +C%2B%2B\style13\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style13\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style13\paper=14745568 +C%2B%2B\style14\color=4161343 +C%2B%2B\style14\eolfill=true +C%2B%2B\style14\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style14\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style14\paper=14741728 +C%2B%2B\style15\color=4157503 +C%2B%2B\style15\eolfill=false +C%2B%2B\style15\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style15\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style15\paper=16777215 +C%2B%2B\style16\color=0 +C%2B%2B\style16\eolfill=false +C%2B%2B\style16\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style16\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style16\paper=16777215 +C%2B%2B\style17\color=3170464 +C%2B%2B\style17\eolfill=false +C%2B%2B\style17\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style17\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style17\paper=16777215 +C%2B%2B\style18\color=8405024 +C%2B%2B\style18\eolfill=false +C%2B%2B\style18\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style18\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style18\paper=16777215 +C%2B%2B\style19\color=0 +C%2B%2B\style19\eolfill=false +C%2B%2B\style19\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style19\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style19\paper=16777215 +C%2B%2B\style2\color=43520 +C%2B%2B\style2\eolfill=false +C%2B%2B\style2\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style2\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style2\paper=16777215 +C%2B%2B\style20\color=8323199 +C%2B%2B\style20\eolfill=false +C%2B%2B\style20\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style20\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style20\paper=16774143 +C%2B%2B\style21\color=32512 +C%2B%2B\style21\eolfill=true +C%2B%2B\style21\font=Fira Code, 9, 0, 0, 0 +C%2B%2B\style21\font2=Fira Code, 9, 0, 0, 0 +C%2B%2B\style21\paper=14745568 +C%2B%2B\style22\color=32512 +C%2B%2B\style22\eolfill=true +C%2B%2B\style22\font=Fira Code, 9, 0, 0, 0 +C%2B%2B\style22\font2=Fira Code, 9, 0, 0, 0 +C%2B%2B\style22\paper=15204311 +C%2B%2B\style23\color=6658304 +C%2B%2B\style23\eolfill=false +C%2B%2B\style23\font=Nimbus Sans [UKWN], 9, 0, 0, 0 +C%2B%2B\style23\font2=Nimbus Sans [UKWN], 9, 0, 0, 0 +C%2B%2B\style23\paper=16777215 +C%2B%2B\style24\color=4157503 +C%2B%2B\style24\eolfill=false +C%2B%2B\style24\font=Nimbus Sans [UKWN], 9, 0, 0, 0 +C%2B%2B\style24\font2=Nimbus Sans [UKWN], 9, 0, 0, 0 +C%2B%2B\style24\paper=16777215 +C%2B%2B\style25\color=12607488 +C%2B%2B\style25\eolfill=false +C%2B%2B\style25\font=Nimbus Sans [UKWN], 9, 0, 0, 0 +C%2B%2B\style25\font2=Nimbus Sans [UKWN], 9, 0, 0, 0 +C%2B%2B\style25\paper=16777215 +C%2B%2B\style26\color=12453887 +C%2B%2B\style26\eolfill=false +C%2B%2B\style26\font=Nimbus Roman, 9, 0, 0, 0 +C%2B%2B\style26\font2=Nimbus Roman, 9, 0, 0, 0 +C%2B%2B\style26\paper=16777215 +C%2B%2B\style27\color=0 +C%2B%2B\style27\eolfill=false +C%2B%2B\style27\font=Nimbus Sans [UKWN], 9, 0, 0, 0 +C%2B%2B\style27\font2=Nimbus Sans [UKWN], 9, 0, 0, 0 +C%2B%2B\style27\paper=16777215 +C%2B%2B\style3\color=4157503 +C%2B%2B\style3\eolfill=false +C%2B%2B\style3\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style3\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style3\paper=16777215 +C%2B%2B\style4\color=11184640 +C%2B%2B\style4\eolfill=false +C%2B%2B\style4\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style4\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style4\paper=16777215 +C%2B%2B\style40\color=11571376 +C%2B%2B\style40\eolfill=false +C%2B%2B\style40\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style40\paper=16774143 +C%2B%2B\style5\color=255 +C%2B%2B\style5\eolfill=false +C%2B%2B\style5\font=Fira Code, 10, 1, 0, 0 +C%2B%2B\style5\font2=Fira Code, 10, 1, 0, 0 +C%2B%2B\style5\paper=16777215 +C%2B%2B\style6\color=16733440 +C%2B%2B\style6\eolfill=false +C%2B%2B\style6\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style6\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style6\paper=16777215 +C%2B%2B\style64\color=12632256 +C%2B%2B\style64\eolfill=false +C%2B%2B\style64\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style64\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style64\paper=16777215 +C%2B%2B\style65\color=9482384 +C%2B%2B\style65\eolfill=false +C%2B%2B\style65\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style65\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style65\paper=16777215 +C%2B%2B\style66\color=9482384 +C%2B%2B\style66\eolfill=false +C%2B%2B\style66\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style66\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style66\paper=16777215 +C%2B%2B\style67\color=13684944 +C%2B%2B\style67\eolfill=false +C%2B%2B\style67\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style67\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style67\paper=16777215 +C%2B%2B\style68\color=9482384 +C%2B%2B\style68\eolfill=false +C%2B%2B\style68\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style68\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style68\paper=16777215 +C%2B%2B\style69\color=9474224 +C%2B%2B\style69\eolfill=false +C%2B%2B\style69\font=Fira Code, 10, 1, 0, 0 +C%2B%2B\style69\font2=Fira Code, 10, 1, 0, 0 +C%2B%2B\style69\paper=16777215 +C%2B%2B\style7\color=16733440 +C%2B%2B\style7\eolfill=false +C%2B%2B\style7\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style7\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style7\paper=16777215 +C%2B%2B\style70\color=11571376 +C%2B%2B\style70\eolfill=false +C%2B%2B\style70\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style70\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style70\paper=16777215 +C%2B%2B\style71\color=11571376 +C%2B%2B\style71\eolfill=false +C%2B%2B\style71\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style71\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style71\paper=16777215 +C%2B%2B\style72\color=12632256 +C%2B%2B\style72\eolfill=false +C%2B%2B\style72\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style72\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style72\paper=16777215 +C%2B%2B\style73\color=11579536 +C%2B%2B\style73\eolfill=false +C%2B%2B\style73\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style73\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style73\paper=16777215 +C%2B%2B\style74\color=11579568 +C%2B%2B\style74\eolfill=false +C%2B%2B\style74\font=Fira Code, 10, 1, 0, 0 +C%2B%2B\style74\font2=Fira Code, 10, 1, 0, 0 +C%2B%2B\style74\paper=16777215 +C%2B%2B\style75\color=11579568 +C%2B%2B\style75\eolfill=false +C%2B%2B\style75\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style75\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style75\paper=16777215 +C%2B%2B\style76\color=0 +C%2B%2B\style76\eolfill=true +C%2B%2B\style76\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style76\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style76\paper=14729440 +C%2B%2B\style77\color=9482384 +C%2B%2B\style77\eolfill=true +C%2B%2B\style77\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style77\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style77\paper=14745568 +C%2B%2B\style78\color=8367999 +C%2B%2B\style78\eolfill=true +C%2B%2B\style78\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style78\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style78\paper=14741728 +C%2B%2B\style79\color=12632256 +C%2B%2B\style79\eolfill=false +C%2B%2B\style79\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style79\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style79\paper=16777215 +C%2B%2B\style8\color=0 +C%2B%2B\style8\eolfill=false +C%2B%2B\style8\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style8\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style8\paper=16777215 +C%2B%2B\style80\color=12632256 +C%2B%2B\style80\eolfill=false +C%2B%2B\style80\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style80\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style80\paper=16777215 +C%2B%2B\style81\color=12632256 +C%2B%2B\style81\eolfill=false +C%2B%2B\style81\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style81\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style81\paper=16777215 +C%2B%2B\style82\color=12632256 +C%2B%2B\style82\eolfill=false +C%2B%2B\style82\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style82\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style82\paper=16777215 +C%2B%2B\style83\color=11579568 +C%2B%2B\style83\eolfill=false +C%2B%2B\style83\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style83\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style83\paper=16777215 +C%2B%2B\style84\color=11571376 +C%2B%2B\style84\eolfill=false +C%2B%2B\style84\font=Nimbus Sans [UKWN], 9, 0, 0, 0 +C%2B%2B\style84\font2=Nimbus Sans [UKWN], 9, 0, 0, 0 +C%2B%2B\style84\paper=16774143 +C%2B%2B\style85\color=9482384 +C%2B%2B\style85\eolfill=true +C%2B%2B\style85\font=Fira Code, 9, 0, 0, 0 +C%2B%2B\style85\font2=Fira Code, 9, 0, 0, 0 +C%2B%2B\style85\paper=14745568 +C%2B%2B\style86\color=9482384 +C%2B%2B\style86\eolfill=true +C%2B%2B\style86\font=Fira Code, 9, 0, 0, 0 +C%2B%2B\style86\font2=Fira Code, 9, 0, 0, 0 +C%2B%2B\style86\paper=15204311 +C%2B%2B\style87\color=10535056 +C%2B%2B\style87\eolfill=false +C%2B%2B\style87\font=Nimbus Sans [UKWN], 9, 0, 0, 0 +C%2B%2B\style87\font2=Nimbus Sans [UKWN], 9, 0, 0, 0 +C%2B%2B\style87\paper=16777215 +C%2B%2B\style88\color=12632256 +C%2B%2B\style88\eolfill=false +C%2B%2B\style88\font=Nimbus Sans [UKWN], 9, 0, 0, 0 +C%2B%2B\style88\font2=Nimbus Sans [UKWN], 9, 0, 0, 0 +C%2B%2B\style88\paper=16777215 +C%2B%2B\style89\color=14131344 +C%2B%2B\style89\eolfill=false +C%2B%2B\style89\font=Nimbus Sans [UKWN], 9, 0, 0, 0 +C%2B%2B\style89\font2=Nimbus Sans [UKWN], 9, 0, 0, 0 +C%2B%2B\style89\paper=16777215 +C%2B%2B\style9\color=8355584 +C%2B%2B\style9\eolfill=false +C%2B%2B\style9\font=Fira Code, 10, 0, 0, 0 +C%2B%2B\style9\font2=Fira Code, 10, 0, 0, 0 +C%2B%2B\style9\paper=16777215 +C%2B%2B\style90\color=12820943 +C%2B%2B\style90\eolfill=false +C%2B%2B\style90\font=Nimbus Roman, 9, 0, 0, 0 +C%2B%2B\style90\font2=Nimbus Roman, 9, 0, 0, 0 +C%2B%2B\style90\paper=16777215 +C%2B%2B\style91\color=0 +C%2B%2B\style91\eolfill=false +C%2B%2B\style91\font=Nimbus Sans [UKWN], 9, 0, 0, 0 +C%2B%2B\style91\font2=Nimbus Sans [UKWN], 9, 0, 0, 0 +C%2B%2B\style91\paper=16777215 +Diff\autoindentstyle=-1 +Diff\defaultcolor=0 +Diff\defaultfont=Fira Code, 10, 0, 0, 0 +Diff\defaultfont2=Fira Code, 10, 0, 0, 0 +Diff\defaultpaper=16777215 +Diff\style0\color=0 +Diff\style0\eolfill=false +Diff\style0\font=Fira Code, 10, 0, 0, 0 +Diff\style0\font2=Fira Code, 10, 0, 0, 0 +Diff\style0\paper=16777215 +Diff\style1\color=32512 +Diff\style1\eolfill=false +Diff\style1\font=Fira Code, 10, 0, 0, 0 +Diff\style1\font2=Fira Code, 10, 0, 0, 0 +Diff\style1\paper=16777215 +Diff\style10\color=32639 +Diff\style10\eolfill=false +Diff\style10\font=Nimbus Sans [UKWN], 9, 0, 0, 0 +Diff\style10\font2=Nimbus Sans [UKWN], 9, 0, 0, 0 +Diff\style10\paper=16777215 +Diff\style11\color=32639 +Diff\style11\eolfill=false +Diff\style11\font=Nimbus Sans [UKWN], 9, 0, 0, 0 +Diff\style11\font2=Nimbus Sans [UKWN], 9, 0, 0, 0 +Diff\style11\paper=16777215 +Diff\style2\color=8355584 +Diff\style2\eolfill=false +Diff\style2\font=Fira Code, 10, 0, 0, 0 +Diff\style2\font2=Fira Code, 10, 0, 0, 0 +Diff\style2\paper=16777215 +Diff\style3\color=8323072 +Diff\style3\eolfill=false +Diff\style3\font=Fira Code, 10, 0, 0, 0 +Diff\style3\font2=Fira Code, 10, 0, 0, 0 +Diff\style3\paper=16777215 +Diff\style4\color=8323199 +Diff\style4\eolfill=false +Diff\style4\font=Fira Code, 10, 0, 0, 0 +Diff\style4\font2=Fira Code, 10, 0, 0, 0 +Diff\style4\paper=16777215 +Diff\style5\color=32639 +Diff\style5\eolfill=false +Diff\style5\font=Fira Code, 10, 0, 0, 0 +Diff\style5\font2=Fira Code, 10, 0, 0, 0 +Diff\style5\paper=16777215 +Diff\style6\color=127 +Diff\style6\eolfill=false +Diff\style6\font=Fira Code, 10, 0, 0, 0 +Diff\style6\font2=Fira Code, 10, 0, 0, 0 +Diff\style6\paper=16777215 +Diff\style7\color=8355711 +Diff\style7\eolfill=false +Diff\style7\font=Fira Code, 10, 0, 0, 0 +Diff\style7\font2=Fira Code, 10, 0, 0, 0 +Diff\style7\paper=16777215 +Diff\style8\color=127 +Diff\style8\eolfill=false +Diff\style8\font=Nimbus Sans [UKWN], 9, 0, 0, 0 +Diff\style8\font2=Nimbus Sans [UKWN], 9, 0, 0, 0 +Diff\style8\paper=16777215 +Diff\style9\color=127 +Diff\style9\eolfill=false +Diff\style9\font=Nimbus Sans [UKWN], 9, 0, 0, 0 +Diff\style9\font2=Nimbus Sans [UKWN], 9, 0, 0, 0 +Diff\style9\paper=16777215 +Octave\autoindentstyle=-1 +Octave\defaultcolor=0 +Octave\defaultfont=Fira Code, 10, 0, 0, 0 +Octave\defaultfont2=Fira Code, 10, 0, 0, 0 +Octave\defaultpaper=16777215 +Octave\style0\color=0 +Octave\style0\eolfill=false +Octave\style0\font=Fira Code, 10, 0, 0, 0 +Octave\style0\font2=Fira Code, 10, 0, 0, 0 +Octave\style0\paper=16777215 +Octave\style1\color=43520 +Octave\style1\eolfill=false +Octave\style1\font=Fira Code, 10, 0, 0, 0 +Octave\style1\font2=Fira Code, 10, 0, 0, 0 +Octave\style1\paper=16777215 +Octave\style2\color=8355584 +Octave\style2\eolfill=false +Octave\style2\font=Fira Code, 10, 0, 0, 0 +Octave\style2\font2=Fira Code, 10, 0, 0, 0 +Octave\style2\paper=16777215 +Octave\style3\color=11184640 +Octave\style3\eolfill=false +Octave\style3\font=Fira Code, 10, 0, 0, 0 +Octave\style3\font2=Fira Code, 10, 0, 0, 0 +Octave\style3\paper=16777215 +Octave\style4\color=255 +Octave\style4\eolfill=false +Octave\style4\font=Fira Code, 10, 1, 0, 0 +Octave\style4\font2=Fira Code, 10, 1, 0, 0 +Octave\style4\paper=16777215 +Octave\style5\color=16755200 +Octave\style5\eolfill=false +Octave\style5\font=Fira Code, 10, 0, 0, 0 +Octave\style5\font2=Fira Code, 10, 0, 0, 0 +Octave\style5\paper=16777215 +Octave\style6\color=14483456 +Octave\style6\eolfill=false +Octave\style6\font=Fira Code, 10, 0, 0, 0 +Octave\style6\font2=Fira Code, 10, 0, 0, 0 +Octave\style6\paper=16777215 +Octave\style7\color=0 +Octave\style7\eolfill=false +Octave\style7\font=Fira Code, 10, 0, 0, 0 +Octave\style7\font2=Fira Code, 10, 0, 0, 0 +Octave\style7\paper=16777215 +Octave\style8\color=16755200 +Octave\style8\eolfill=false +Octave\style8\font=Fira Code, 10, 0, 0, 0 +Octave\style8\font2=Fira Code, 10, 0, 0, 0 +Octave\style8\paper=16777215 +Perl\autoindentstyle=-1 +Perl\defaultcolor=0 +Perl\defaultfont=Fira Code, 10, 0, 0, 0 +Perl\defaultfont2=Fira Code, 10, 0, 0, 0 +Perl\defaultpaper=16777215 +Perl\properties\foldatelse=false +Perl\properties\foldcomments=false +Perl\properties\foldcompact=true +Perl\properties\foldpackages=true +Perl\properties\foldpodblocks=true +Perl\style0\color=8421504 +Perl\style0\eolfill=false +Perl\style0\font=Fira Code, 10, 0, 0, 0 +Perl\style0\font2=Fira Code, 10, 0, 0, 0 +Perl\style0\paper=16777215 +Perl\style1\color=16776960 +Perl\style1\eolfill=false +Perl\style1\font=Fira Code, 10, 0, 0, 0 +Perl\style1\font2=Fira Code, 10, 0, 0, 0 +Perl\style1\paper=16711680 +Perl\style10\color=16711680 +Perl\style10\eolfill=false +Perl\style10\font=Fira Code, 10, 0, 0, 0 +Perl\style10\font2=Fira Code, 10, 0, 0, 0 +Perl\style10\paper=16777215 +Perl\style11\color=0 +Perl\style11\eolfill=false +Perl\style11\font=Fira Code, 10, 0, 0, 0 +Perl\style11\font2=Fira Code, 10, 0, 0, 0 +Perl\style11\paper=16777215 +Perl\style12\color=0 +Perl\style12\eolfill=false +Perl\style12\font=Fira Code, 10, 0, 0, 0 +Perl\style12\font2=Fira Code, 10, 0, 0, 0 +Perl\style12\paper=16769248 +Perl\style13\color=0 +Perl\style13\eolfill=false +Perl\style13\font=Fira Code, 10, 0, 0, 0 +Perl\style13\font2=Fira Code, 10, 0, 0, 0 +Perl\style13\paper=16777184 +Perl\style14\color=0 +Perl\style14\eolfill=false +Perl\style14\font=Fira Code, 10, 0, 0, 0 +Perl\style14\font2=Fira Code, 10, 0, 0, 0 +Perl\style14\paper=16769279 +Perl\style15\color=0 +Perl\style15\eolfill=false +Perl\style15\font=Fira Code, 10, 0, 0, 0 +Perl\style15\font2=Fira Code, 10, 0, 0, 0 +Perl\style15\paper=14737632 +Perl\style17\color=0 +Perl\style17\eolfill=false +Perl\style17\font=Fira Code, 10, 0, 0, 0 +Perl\style17\font2=Fira Code, 10, 0, 0, 0 +Perl\style17\paper=10551200 +Perl\style18\color=0 +Perl\style18\eolfill=false +Perl\style18\font=Fira Code, 10, 0, 0, 0 +Perl\style18\font2=Fira Code, 10, 0, 0, 0 +Perl\style18\paper=15786112 +Perl\style2\color=43520 +Perl\style2\eolfill=false +Perl\style2\font=Fira Code, 10, 0, 0, 0 +Perl\style2\font2=Fira Code, 10, 0, 0, 0 +Perl\style2\paper=16777215 +Perl\style20\color=16776960 +Perl\style20\eolfill=false +Perl\style20\font=Fira Code, 10, 0, 0, 0 +Perl\style20\font2=Fira Code, 10, 0, 0, 0 +Perl\style20\paper=10518656 +Perl\style21\color=6291456 +Perl\style21\eolfill=true +Perl\style21\font=Fira Code, 10, 0, 0, 0 +Perl\style21\font2=Fira Code, 10, 0, 0, 0 +Perl\style21\paper=16773336 +Perl\style22\color=0 +Perl\style22\eolfill=false +Perl\style22\font=Fira Code, 10, 0, 0, 0 +Perl\style22\font2=Fira Code, 10, 0, 0, 0 +Perl\style22\paper=14536925 +Perl\style23\color=8323199 +Perl\style23\eolfill=true +Perl\style23\font=Fira Code, 10, 0, 0, 0 +Perl\style23\font2=Fira Code, 10, 0, 0, 0 +Perl\style23\paper=14536925 +Perl\style24\color=8323199 +Perl\style24\eolfill=true +Perl\style24\font=Fira Code, 10, 1, 0, 0 +Perl\style24\font2=Fira Code, 10, 1, 0, 0 +Perl\style24\paper=14536925 +Perl\style25\color=8323199 +Perl\style25\eolfill=true +Perl\style25\font=Fira Code, 10, 0, 1, 0 +Perl\style25\font2=Fira Code, 10, 0, 1, 0 +Perl\style25\paper=14536925 +Perl\style26\color=8323199 +Perl\style26\eolfill=false +Perl\style26\font=Fira Code, 10, 0, 0, 0 +Perl\style26\font2=Fira Code, 10, 0, 0, 0 +Perl\style26\paper=16777215 +Perl\style27\color=8323199 +Perl\style27\eolfill=false +Perl\style27\font=Fira Code, 10, 0, 0, 0 +Perl\style27\font2=Fira Code, 10, 0, 0, 0 +Perl\style27\paper=16777215 +Perl\style28\color=16776960 +Perl\style28\eolfill=false +Perl\style28\font=Fira Code, 10, 0, 0, 0 +Perl\style28\font2=Fira Code, 10, 0, 0, 0 +Perl\style28\paper=16777215 +Perl\style29\color=0 +Perl\style29\eolfill=false +Perl\style29\font=Fira Code, 10, 0, 0, 0 +Perl\style29\font2=Fira Code, 10, 0, 0, 0 +Perl\style29\paper=16777215 +Perl\style3\color=16384 +Perl\style3\eolfill=true +Perl\style3\font=Fira Code, 10, 0, 0, 0 +Perl\style3\font2=Fira Code, 10, 0, 0, 0 +Perl\style3\paper=14745568 +Perl\style30\color=0 +Perl\style30\eolfill=false +Perl\style30\font=Fira Code, 10, 0, 0, 0 +Perl\style30\font2=Fira Code, 10, 0, 0, 0 +Perl\style30\paper=16777215 +Perl\style31\color=16384 +Perl\style31\eolfill=true +Perl\style31\font=Fira Code, 10, 0, 0, 0 +Perl\style31\font2=Fira Code, 10, 0, 0, 0 +Perl\style31\paper=12648384 +Perl\style4\color=11184640 +Perl\style4\eolfill=false +Perl\style4\font=Fira Code, 10, 0, 0, 0 +Perl\style4\font2=Fira Code, 10, 0, 0, 0 +Perl\style4\paper=16777215 +Perl\style40\color=0 +Perl\style40\eolfill=false +Perl\style40\font=Fira Code, 10, 0, 1, 0 +Perl\style40\font2=Fira Code, 10, 0, 1, 0 +Perl\style40\paper=16777215 +Perl\style41\color=12583104 +Perl\style41\eolfill=false +Perl\style41\font=Fira Code, 10, 1, 0, 0 +Perl\style41\font2=Fira Code, 10, 1, 0, 0 +Perl\style41\paper=16777215 +Perl\style42\color=12583104 +Perl\style42\eolfill=true +Perl\style42\font=Fira Code, 10, 0, 0, 0 +Perl\style42\font2=Fira Code, 10, 0, 0, 0 +Perl\style42\paper=16773375 +Perl\style43\color=13631488 +Perl\style43\eolfill=false +Perl\style43\font=Fira Code, 10, 1, 0, 0 +Perl\style43\font2=Fira Code, 10, 1, 0, 0 +Perl\style43\paper=16777215 +Perl\style44\color=0 +Perl\style44\eolfill=false +Perl\style44\font=Fira Code, 10, 0, 0, 0 +Perl\style44\font2=Fira Code, 10, 0, 0, 0 +Perl\style44\paper=15786112 +Perl\style5\color=127 +Perl\style5\eolfill=false +Perl\style5\font=Fira Code, 10, 1, 0, 0 +Perl\style5\font2=Fira Code, 10, 1, 0, 0 +Perl\style5\paper=16777215 +Perl\style54\color=13631488 +Perl\style54\eolfill=false +Perl\style54\font=Fira Code, 10, 1, 0, 0 +Perl\style54\font2=Fira Code, 10, 1, 0, 0 +Perl\style54\paper=16777215 +Perl\style55\color=0 +Perl\style55\eolfill=false +Perl\style55\font=Fira Code, 10, 0, 0, 0 +Perl\style55\font2=Fira Code, 10, 0, 0, 0 +Perl\style55\paper=15786112 +Perl\style57\color=13631488 +Perl\style57\eolfill=false +Perl\style57\font=Fira Code, 10, 1, 0, 0 +Perl\style57\font2=Fira Code, 10, 1, 0, 0 +Perl\style57\paper=10518656 +Perl\style6\color=16755200 +Perl\style6\eolfill=false +Perl\style6\font=Fira Code, 10, 0, 0, 0 +Perl\style6\font2=Fira Code, 10, 0, 0, 0 +Perl\style6\paper=16777215 +Perl\style61\color=13631488 +Perl\style61\eolfill=true +Perl\style61\font=Fira Code, 10, 1, 0, 0 +Perl\style61\font2=Fira Code, 10, 1, 0, 0 +Perl\style61\paper=14536925 +Perl\style62\color=13631488 +Perl\style62\eolfill=true +Perl\style62\font=Fira Code, 10, 1, 0, 0 +Perl\style62\font2=Fira Code, 10, 1, 0, 0 +Perl\style62\paper=14536925 +Perl\style64\color=13631488 +Perl\style64\eolfill=false +Perl\style64\font=Fira Code, 10, 1, 0, 0 +Perl\style64\font2=Fira Code, 10, 1, 0, 0 +Perl\style64\paper=16777215 +Perl\style65\color=13631488 +Perl\style65\eolfill=false +Perl\style65\font=Fira Code, 10, 1, 0, 0 +Perl\style65\font2=Fira Code, 10, 1, 0, 0 +Perl\style65\paper=10518656 +Perl\style66\color=13631488 +Perl\style66\eolfill=false +Perl\style66\font=Fira Code, 10, 1, 0, 0 +Perl\style66\font2=Fira Code, 10, 1, 0, 0 +Perl\style66\paper=16777215 +Perl\style7\color=16755200 +Perl\style7\eolfill=false +Perl\style7\font=Fira Code, 10, 0, 0, 0 +Perl\style7\font2=Fira Code, 10, 0, 0, 0 +Perl\style7\paper=16777215 +Text\autoindentstyle=-1 +Text\defaultcolor=0 +Text\defaultfont=Fira Code, 10, 0, 0, 0 +Text\defaultfont2=Fira Code, 10, 0, 0, 0 +Text\defaultpaper=16777215 +Text\style0\color=0 +Text\style0\eolfill=false +Text\style0\font=Fira Code, 10, 0, 0, 0 +Text\style0\font2=Fira Code, 10, 0, 0, 0 +Text\style0\paper=16777215 + +[editor] +always_reload_changed_files=false +auto_endif=1 +auto_indent=true +backspace_unindents_line=false +break_lines=false +break_lines_comments=false +codeCompletion=true +codeCompletion_case=true +codeCompletion_document=true +codeCompletion_keywords=true +codeCompletion_octave_builtins=true +codeCompletion_octave_functions=true +codeCompletion_replace=false +codeCompletion_threshold=2 +code_folding=true +create_new_file=false +default_encoding=SYSTEM (UTF-8) +default_eol_mode=2 +fdgl_opts=8 +fdgl_pos=@Point(767 445) +fdgl_replace=@Invalid() +fdgl_search=k +hiding_closes_files=false +highlightCurrentLine=true +highlight_all_occurrences=true +highlight_current_line_color=@Variant(\0\0\0\x43\x1\xff\xff\xf0\xf0\xf0\xf0\xf0\xf0\0\0) +indent_uses_tabs=false +indent_width=2 +line_numbers_size=0 +longWindowTitle=false +long_line_column=80 +long_line_marker=true +long_line_marker_background=false +long_line_marker_line=true +mru_file_encodings=, , , , , , , , , +mru_file_list=/home/slococo/ITBA/5C/MN/Examenes/1P20212Q/newtonCong.m, /home/slococo/ITBA/5C/MN/Examenes/1P20212Q/ej9.m, /home/slococo/ITBA/5C/MN/Examenes/1P20212Q/ej8.m, /home/slococo/ITBA/5C/MN/Examenes/1P20212Q/ej7.m, /home/slococo/ITBA/5C/MN/Examenes/1P20212Q/ej6.m, /home/slococo/ITBA/5C/MN/Examenes/1P20212Q/ej1.m, /home/slococo/ITBA/5C/MN/Codigos/heun.m, /home/slococo/ITBA/5C/MN/Codigos/polnewton.m, /home/slococo/ITBA/5C/MN/Codigos/taylor2.m, /home/slococo/ITBA/5C/MN/Codigos/euler.m +notebook_tab_width_max=300 +notebook_tab_width_min=160 +oct_comment_str=0 +oct_uncomment_str=15 +octave_comment_string=0 +restoreSession=false +savedSessionTabs=@Invalid() +saved_session_encodings=@Invalid() +saved_session_lines=@Invalid() +saved_session_tab_index=@Invalid() +showLineNumbers=true +show_dbg_file=true +show_edit_status_bar=true +show_eol_chars=false +show_hscroll_bar=true +show_indent_guides=false +show_toolbar=true +show_white_space=false +show_white_space_indent=false +tab_indents_line=false +tab_position=0 +tab_width=2 +wrap_lines=false + +[filesdockwidget] +column_state=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x4\xe\0\0\0\x3\0\0\0\x2\0\0\0i\0\0\0\x3\0\0\0i\0\0\0\x1\0\0\0i\0\0\x1&\0\0\0\x4\x1\x1\0\x1\0\0\0\0\0\0\0\0\0\0\0\0i\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x4\0\0\x1&\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\0\0\0i) +mru_dir_list=/home/slococo/ITBA/5C/MN, /home/slococo/ITBA/5C/SO/Examenes/2P, /home/slococo/ITBA, /home/slococo/ITBA/5C, /home/slococo/ITBA/5C/SO, /home/slococo/ITBA/5C/SO/TP3, /home/slococo/ITBA/5C/MN/TPs/TP7, /tmp/oct-NDwCvr, /tmp/oct-Pp6lY8, /tmp/oct-0xRMgd +restore_last_dir=false +sort_files_by_column=0 +sort_files_by_order=0 +startup_dir= +sync_octave_directory=true +txt_file_extensions="m;c;cc;cpp;h;txt" + +[history_dock_widget] +filter_active=false +filter_shown=true +mru_list=@Invalid() + +[news] +allow_web_connection=false + +[settings] +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x1\xc9\0\0\0\xed\0\0\x5\xb6\0\0\x3J\0\0\x1\xcc\0\0\0\xf0\0\0\x5\xb3\0\0\x3G\0\0\0\0\0\0\0\0\a\x80\0\0\x1\xcc\0\0\0\xf0\0\0\x5\xb3\0\0\x3G) +last_editor_styles_tab=0 +last_tab=1 + +[shortcuts] +doc_browser%3Ago_back=Alt+Shift+Left +doc_browser%3Ago_home=Alt+Shift+Home +doc_browser%3Ago_next=Alt+Shift+Right +dock_widget%3Aclose=Ctrl+Alt+C +dock_widget%3Adock=Ctrl+Alt+D +editor_debug%3Anext_breakpoint= +editor_debug%3Aprevious_breakpoint= +editor_debug%3Aremove_breakpoints= +editor_debug%3Atoggle_breakpoint= +editor_edit%3Acomment_selection=Ctrl+R +editor_edit%3Acomment_var_selection=Ctrl+Alt+R +editor_edit%3Acompletion_list=Ctrl+Space +editor_edit%3Aconv_eol_mac= +editor_edit%3Aconv_eol_unix= +editor_edit%3Aconv_eol_winows= +editor_edit%3Acopy_line=Ctrl+Shift+C +editor_edit%3Acut=Ctrl+X +editor_edit%3Acut_line=Ctrl+Shift+X +editor_edit%3Adelete_end_line=Ctrl+Shift+Del +editor_edit%3Adelete_end_word=Ctrl+Del +editor_edit%3Adelete_line=Ctrl+Shift+L +editor_edit%3Adelete_start_line=Ctrl+Shift+Backspace +editor_edit%3Adelete_start_word=Ctrl+Backspace +editor_edit%3Aduplicate_selection=Ctrl+D +editor_edit%3Afind_next=F3 +editor_edit%3Afind_previous=Shift+F3 +editor_edit%3Afind_replace=Ctrl+F +editor_edit%3Agoto_line=Ctrl+L +editor_edit%3Aindent_selection=Ctrl+Tab +editor_edit%3Alower_case=Ctrl+Alt+U +editor_edit%3Amove_to_brace=Ctrl+M +editor_edit%3Anext_bookmark=F2 +editor_edit%3Apreferences= +editor_edit%3Aprevious_bookmark=Shift+F2 +editor_edit%3Aredo=Ctrl+Shift+Z +editor_edit%3Aremove_bookmark= +editor_edit%3Aselect_to_brace=Ctrl+Shift+M +editor_edit%3Asmart_indent_line_or_selection= +editor_edit%3Astyles_preferences= +editor_edit%3Atoggle_bookmark=F7 +editor_edit%3Atranspose_line=Ctrl+T +editor_edit%3Auncomment_selection=Ctrl+Shift+R +editor_edit%3Aunindent_selection=Ctrl+Shift+Tab +editor_edit%3Aupper_case=Ctrl+U +editor_file%3Aclose=Ctrl+W +editor_file%3Aclose_all= +editor_file%3Aclose_other= +editor_file%3Aedit_function=Ctrl+E +editor_file%3Aprint=Ctrl+P +editor_file%3Asave=Ctrl+S +editor_file%3Asave_as= +editor_help%3Adoc_keyword=Shift+F1 +editor_help%3Ahelp_keyword=F1 +editor_run%3Arun_file=F5 +editor_run%3Arun_selection=F9 +editor_tabs%3Amove_tab_left=Alt+PgUp +editor_tabs%3Amove_tab_right=Alt+PgDown +editor_tabs%3Aswitch_left_tab=Ctrl+PgUp +editor_tabs%3Aswitch_right_tab=Ctrl+PgDown +editor_view%3Ashow_eol_chars= +editor_view%3Ashow_hscrollbar= +editor_view%3Ashow_ind_guides= +editor_view%3Ashow_line_numbers= +editor_view%3Ashow_long_line= +editor_view%3Ashow_statusbar= +editor_view%3Ashow_toolbar= +editor_view%3Ashow_white_spaces= +editor_view%3Asort_tabs= +editor_view%3Azoom_in=Ctrl++ +editor_view%3Azoom_normal=Ctrl+. +editor_view%3Azoom_out=Ctrl+- +main_ctrld=false +main_debug%3Acontinue=F5 +main_debug%3Aquit=Shift+F5 +main_debug%3Astep_into=F11 +main_debug%3Astep_out=Shift+F11 +main_debug%3Astep_over=F10 +main_edit%3Aclear_clipboard= +main_edit%3Aclear_command_window= +main_edit%3Aclear_history= +main_edit%3Aclear_workspace= +main_edit%3Acopy=Ctrl+C +main_edit%3Afind_in_files=Ctrl+Shift+F +main_edit%3Apaste=Ctrl+V +main_edit%3Apreferences= +main_edit%3Aselect_all=Ctrl+A +main_edit%3Aset_path= +main_edit%3Aundo=Ctrl+Z +main_file%3Aexit=Ctrl+Q +main_file%3Aload_workspace= +main_file%3Anew_figure= +main_file%3Anew_file=Ctrl+N +main_file%3Anew_function=Ctrl+Shift+N +main_file%3Aopen_file=Ctrl+O +main_file%3Asave_workspace= +main_help%3Aabout= +main_help%3Acontribute= +main_help%3Adeveloper= +main_help%3Aondisk_doc= +main_help%3Aonline_doc= +main_help%3Apackages= +main_help%3Areport_bug= +main_news%3Acommunity_news= +main_news%3Arelease_notes= +main_window%3Acommand=Ctrl+0 +main_window%3Adoc=Ctrl+5 +main_window%3Aeditor=Ctrl+4 +main_window%3Afile_browser=Ctrl+2 +main_window%3Ahistory=Ctrl+1 +main_window%3Aprevious_widget=Ctrl+Alt+P +main_window%3Areset= +main_window%3Ashow_command=Ctrl+Shift+0 +main_window%3Ashow_doc=Ctrl+Shift+5 +main_window%3Ashow_editor=Ctrl+Shift+4 +main_window%3Ashow_file_browser=Ctrl+Shift+2 +main_window%3Ashow_history=Ctrl+Shift+1 +main_window%3Ashow_variable_editor=Ctrl+Shift+6 +main_window%3Ashow_workspace=Ctrl+Shift+3 +main_window%3Avariable_editor=Ctrl+6 +main_window%3Aworkspace=Ctrl+3 +prevent_readline_conflicts=true + +[terminal] +color_a=@Variant(\0\0\0\x43\x1\xff\xff\xbe\xbe\xff\xff\xff\xff\0\0) +color_b=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\xff\xff\xff\xff\0\0) +color_c=@Variant(\0\0\0\x43\x1\xff\xff\x80\x80\x80\x80\x80\x80\0\0) +color_f=@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\0\0\0\0) +color_g=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\xff\xff\xbe\xbe\0\0) +color_p=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\xbe\xbe\xff\xff\0\0) +color_s=@Variant(\0\0\0\x43\x1\xff\xff\xc0\xc0\xc0\xc0\xc0\xc0\0\0) +cursorType=ibeam +cursorUseForegroundColor=true +focus_after_command=false +fontName=Monospace +fontSize=10 +history_buffer=1000 +print_debug_location=false + +[variable_editor] +alternate_rows=false +color_a=@Variant(\0\0\0\x43\x1\xff\xff\xf7\xf7\xf7\xf7\xf7\xf7\0\0) +color_b=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\xff\xff\xff\xff\0\0) +color_f=@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\0\0\0\0) +color_h=@Variant(\0\0\0\x43\x1\xff\xff\x30\x30\x8c\x8c\xc6\xc6\0\0) +color_s=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\xff\xff\xff\xff\0\0) +column_width=100 +font_name=Fira Code +font_size=10 +row_height=10 +use_terminal_font=true + +[workspaceview] +column_state=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\a`\0\0\0\x5\x1\x1\0\x1\0\0\0\0\0\0\0\0\0\0\0\0i\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x5\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\x5\xd0\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\xff\xff\xff\xff) +enable_colors=false +filter_active=false +filter_shown=true +global_collapsed=false +hide_tools_tips=false +local_collapsed=false +mru_list=@Invalid() +persistent_collapsed=false +sort_by_column=0 +sort_order=0 diff --git a/dotfiles/.config/octave/octaverc b/dotfiles/.config/octave/octaverc new file mode 100644 index 0000000..82df3e2 --- /dev/null +++ b/dotfiles/.config/octave/octaverc @@ -0,0 +1,15 @@ +suppress_verbose_help_message(1); +# page_output_immediately(1) +page_screen_output(0); +crash_dumps_octave_core(0); +sigterm_dumps_octave_core(0); +sighup_dumps_octave_core(0); +history_control ("ignoredups"); +pkg load symbolic; +pkg load statistics; + +EDITOR('nvim > /dev/tty 2>&1 < /dev/tty %s') + +addpath ("~/ITBA/5C/MN/Codigos") + +# https://wiki.octave.org/.octaverc diff --git a/dotfiles/.config/picom/old_picom.conf b/dotfiles/.config/picom/old_picom.conf new file mode 100644 index 0000000..671c714 --- /dev/null +++ b/dotfiles/.config/picom/old_picom.conf @@ -0,0 +1,425 @@ +################################# +# Shadows # +################################# + + +# Enabled client-side shadows on windows. Note desktop windows +# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, +# unless explicitly requested using the wintypes option. +# +# shadow = false +shadow = true; + +# The blur radius for shadows, in pixels. (defaults to 12) +# shadow-radius = 12 +shadow-radius = 7; + +# The opacity of shadows. (0.0 - 1.0, defaults to 0.75) +# shadow-opacity = .75 + +# The left offset for shadows, in pixels. (defaults to -15) +# shadow-offset-x = -15 +shadow-offset-x = -7; + +# The top offset for shadows, in pixels. (defaults to -15) +# shadow-offset-y = -15 +shadow-offset-y = -7; + +# Avoid drawing shadows on dock/panel windows. This option is deprecated, +# you should use the *wintypes* option in your config file instead. +# +# no-dock-shadow = false + +# Don't draw shadows on drag-and-drop windows. This option is deprecated, +# you should use the *wintypes* option in your config file instead. +# +# no-dnd-shadow = false + +# Red color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-red = 0 + +# Green color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-green = 0 + +# Blue color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-blue = 0 + +# Do not paint shadows on shaped windows. Note shaped windows +# here means windows setting its shape through X Shape extension. +# Those using ARGB background is beyond our control. +# Deprecated, use +# shadow-exclude = 'bounding_shaped' +# or +# shadow-exclude = 'bounding_shaped && !rounded_corners' +# instead. +# +# shadow-ignore-shaped = '' + +# Specify a list of conditions of windows that should have no shadow. +# +# examples: +# shadow-exclude = "n:e:Notification"; +# +# shadow-exclude = [] +shadow-exclude = [ + "name = 'Notification'", + "class_g = 'Conky'", + "class_g ?= 'Notify-osd'", + "class_g = 'Cairo-clock'", + "_GTK_FRAME_EXTENTS@:c" +]; + +# Specify a X geometry that describes the region in which shadow should not +# be painted in, such as a dock window region. Use +# shadow-exclude-reg = "x10+0+0" +# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. +# +# shadow-exclude-reg = "" + +# Crop shadow of a window fully on a particular Xinerama screen to the screen. +# xinerama-shadow-crop = false + + +################################# +# Fading # +################################# + + +# Fade windows in/out when opening/closing and when opacity changes, +# unless no-fading-openclose is used. +# fading = false +fading = true + +# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) +# fade-in-step = 0.028 +fade-in-step = 0.03; + +# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) +# fade-out-step = 0.03 +fade-out-step = 0.03; + +# The time between steps in fade step, in milliseconds. (> 0, defaults to 10) +fade-delta = 2 + +# Specify a list of conditions of windows that should not be faded. +# fade-exclude = [] + +# Do not fade on window open/close. +# no-fading-openclose = false + +# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc. +# no-fading-destroyed-argb = false + + +################################# +# Transparency / Opacity # +################################# + + +# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) +# inactive-opacity = 1 +inactive-opacity = 0.8; + +# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) +# frame-opacity = 1.0 +frame-opacity = 0.7; + +# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0) +# menu-opacity = 1.0 + +# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows. +# inactive-opacity-override = true +inactive-opacity-override = false; + +# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) +# active-opacity = 1.0 + +# Dim inactive windows. (0.0 - 1.0, defaults to 0.0) +# inactive-dim = 0.0 + +# Specify a list of conditions of windows that should always be considered focused. +# focus-exclude = [] +focus-exclude = [ "class_g = 'Cairo-clock'" ]; + +# Use fixed inactive dim value, instead of adjusting according to window opacity. +# inactive-dim-fixed = 1.0 + +# Specify a list of opacity rules, in the format `PERCENT:PATTERN`, +# like `50:name *= "Firefox"`. picom-trans is recommended over this. +# Note we don't make any guarantee about possible conflicts with other +# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows. +# example: +# opacity-rule = [ "80:class_g = 'URxvt'" ]; +# +# opacity-rule = [] + + +################################# +# Background-Blurring # +################################# + + +# Parameters for background blurring, see the *BLUR* section for more information. +# blur-method = +# blur-size = 12 +# +# blur-deviation = false + +# Blur background of semi-transparent / ARGB windows. +# Bad in performance, with driver-dependent behavior. +# The name of the switch may change without prior notifications. +# +# blur-background = false + +# Blur background of windows when the window frame is not opaque. +# Implies: +# blur-background +# Bad in performance, with driver-dependent behavior. The name may change. +# +# blur-background-frame = false + + +# Use fixed blur strength rather than adjusting according to window opacity. +# blur-background-fixed = false + + +# Specify the blur convolution kernel, with the following format: +# example: +# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"; +# +# blur-kern = '' +blur-kern = "3x3box"; + + +# Exclude conditions for background blur. +# blur-background-exclude = [] +blur-background-exclude = [ + "window_type = 'dock'", + "window_type = 'desktop'", + "_GTK_FRAME_EXTENTS@:c" +]; + +################################# +# General Settings # +################################# + +# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers. +# daemon = false + +# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`. +# `xrender` is the default one. +# +#backend = "xr_glx_hybrid"; +#backend = "glx"; +backend = "xrender"; + +# Enable/disable VSync. +#vsync = true; +vsync = false; + +# Enable remote control via D-Bus. See the *D-BUS API* section below for more details. +# dbus = false + +# Try to detect WM windows (a non-override-redirect window with no +# child that has 'WM_STATE') and mark them as active. +# +# mark-wmwin-focused = false +mark-wmwin-focused = true; + +# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused. +# mark-ovredir-focused = false +mark-ovredir-focused = true; + +# Try to detect windows with rounded corners and don't consider them +# shaped windows. The accuracy is not very high, unfortunately. +# +# detect-rounded-corners = false +detect-rounded-corners = true; + +# Detect '_NET_WM_OPACITY' on client windows, useful for window managers +# not passing '_NET_WM_OPACITY' of client windows to frame windows. +# +# detect-client-opacity = false +detect-client-opacity = true; + +# Specify refresh rate of the screen. If not specified or 0, picom will +# try detecting this with X RandR extension. +# +# refresh-rate = 60 +refresh-rate = 75 + +# Limit picom to repaint at most once every 1 / 'refresh_rate' second to +# boost performance. This should not be used with +# vsync drm/opengl/opengl-oml +# as they essentially does sw-opti's job already, +# unless you wish to specify a lower refresh rate than the actual value. +# +# sw-opti = + +# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window, +# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy, +# provided that the WM supports it. +# +# use-ewmh-active-win = false + +# Unredirect all windows if a full-screen opaque window is detected, +# to maximize performance for full-screen windows. Known to cause flickering +# when redirecting/unredirecting windows. +# +# unredir-if-possible = false + +# Delay before unredirecting the window, in milliseconds. Defaults to 0. +# unredir-if-possible-delay = 0 + +# Conditions of windows that shouldn't be considered full-screen for unredirecting screen. +# unredir-if-possible-exclude = [] + +# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows +# in the same group focused at the same time. +# +# detect-transient = false +detect-transient = true + +# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same +# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if +# detect-transient is enabled, too. +# +# detect-client-leader = false +detect-client-leader = true + +# Resize damaged region by a specific number of pixels. +# A positive value enlarges it while a negative one shrinks it. +# If the value is positive, those additional pixels will not be actually painted +# to screen, only used in blur calculation, and such. (Due to technical limitations, +# with use-damage, those pixels will still be incorrectly painted to screen.) +# Primarily used to fix the line corruption issues of blur, +# in which case you should use the blur radius value here +# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`, +# with a 5x5 one you use `--resize-damage 2`, and so on). +# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly. +# +# resize-damage = 1 + +# Specify a list of conditions of windows that should be painted with inverted color. +# Resource-hogging, and is not well tested. +# +# invert-color-include = [] + +# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. +# Might cause incorrect opacity when rendering transparent content (but never +# practically happened) and may not work with blur-background. +# My tests show a 15% performance boost. Recommended. +# +# glx-no-stencil = false + +# GLX backend: Avoid rebinding pixmap on window damage. +# Probably could improve performance on rapid window content changes, +# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). +# Recommended if it works. +# +# glx-no-rebind-pixmap = false + +# Disable the use of damage information. +# This cause the whole screen to be redrawn everytime, instead of the part of the screen +# has actually changed. Potentially degrades the performance, but might fix some artifacts. +# The opposing option is use-damage +# +# no-use-damage = false +use-damage = true + +# Use X Sync fence to sync clients' draw calls, to make sure all draw +# calls are finished before picom starts drawing. Needed on nvidia-drivers +# with GLX backend for some users. +# +#xrender-sync-fence = true +xrender-sync-fence = false + +# GLX backend: Use specified GLSL fragment shader for rendering window contents. +# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl` +# in the source tree for examples. +# +# glx-fshader-win = '' + +# Force all windows to be painted with blending. Useful if you +# have a glx-fshader-win that could turn opaque pixels transparent. +# +# force-win-blend = false + +# Do not use EWMH to detect fullscreen windows. +# Reverts to checking if a window is fullscreen based only on its size and coordinates. +# +# no-ewmh-fullscreen = false + +# Dimming bright windows so their brightness doesn't exceed this set value. +# Brightness of a window is estimated by averaging all pixels in the window, +# so this could comes with a performance hit. +# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0) +# +# max-brightness = 1.0 + +# Make transparent windows clip other windows like non-transparent windows do, +# instead of blending on top of them. +# +# transparent-clipping = false + +# Set the log level. Possible values are: +# "trace", "debug", "info", "warn", "error" +# in increasing level of importance. Case doesn't matter. +# If using the "TRACE" log level, it's better to log into a file +# using *--log-file*, since it can generate a huge stream of logs. +# +# log-level = "debug" +log-level = "warn"; + +# Set the log file. +# If *--log-file* is never specified, logs will be written to stderr. +# Otherwise, logs will to written to the given file, though some of the early +# logs might still be written to the stderr. +# When setting this option from the config file, it is recommended to use an absolute path. +# +# log-file = '/path/to/your/log/file' + +# Show all X errors (for debugging) +# show-all-xerrors = false + +# Write process ID to a file. +# write-pid-path = '/path/to/your/log/file' + +# Window type settings +# +# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: +# "unknown", "desktop", "dock", "toolbar", "menu", "utility", +# "splash", "dialog", "normal", "dropdown_menu", "popup_menu", +# "tooltip", "notification", "combo", and "dnd". +# +# Following per window-type options are available: :: +# +# fade, shadow::: +# Controls window-type-specific shadow and fade settings. +# +# opacity::: +# Controls default opacity of the window type. +# +# focus::: +# Controls whether the window of this type is to be always considered focused. +# (By default, all window types except "normal" and "dialog" has this on.) +# +# full-shadow::: +# Controls whether shadow is drawn under the parts of the window that you +# normally won't be able to see. Useful when the window has parts of it +# transparent, and you want shadows in those areas. +# +# redir-ignore::: +# Controls whether this type of windows should cause screen to become +# redirected again after been unredirected. If you have unredir-if-possible +# set, and doesn't want certain window to cause unnecessary screen redirection, +# you can set this to `true`. +# +wintypes: +{ + tooltip = { fade = true; shadow = true; opacity = 0.9; focus = true; full-shadow = false; }; + dock = { shadow = false; } + dnd = { shadow = false; } + popup_menu = { opacity = 0.95; } + dropdown_menu = { opacity = 0.95; } +}; diff --git a/dotfiles/.config/picom/picom.conf b/dotfiles/.config/picom/picom.conf new file mode 100644 index 0000000..decde06 --- /dev/null +++ b/dotfiles/.config/picom/picom.conf @@ -0,0 +1,420 @@ +################################# +# Shadows # +################################# + + +# Enabled client-side shadows on windows. Note desktop windows +# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, +# unless explicitly requested using the wintypes option. +# +# shadow = false +shadow = true; + +# The blur radius for shadows, in pixels. (defaults to 12) +# shadow-radius = 12 +shadow-radius = 7; + +# The opacity of shadows. (0.0 - 1.0, defaults to 0.75) +# shadow-opacity = .75 + +# The left offset for shadows, in pixels. (defaults to -15) +# shadow-offset-x = -15 +shadow-offset-x = -7; + +# The top offset for shadows, in pixels. (defaults to -15) +# shadow-offset-y = -15 +shadow-offset-y = -7; + +# Red color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-red = 0 + +# Green color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-green = 0 + +# Blue color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-blue = 0 + +# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue) +# shadow-color = "#000000" + +# Specify a list of conditions of windows that should have no shadow. +# +# examples: +# shadow-exclude = "n:e:Notification"; +# +# shadow-exclude = [] +shadow-exclude = [ + "name = 'Notification'", + "class_g = 'Conky'", + "class_g ?= 'Notify-osd'", + "class_g = 'Cairo-clock'", + "_GTK_FRAME_EXTENTS@:c" +]; + +# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window. +# clip-shadow-above = [] + +# Specify a X geometry that describes the region in which shadow should not +# be painted in, such as a dock window region. Use +# shadow-exclude-reg = "x10+0+0" +# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. +# +# shadow-exclude-reg = "" + +# Crop shadow of a window fully on a particular Xinerama screen to the screen. +# xinerama-shadow-crop = false + + +################################# +# Fading # +################################# + + +# Fade windows in/out when opening/closing and when opacity changes, +# unless no-fading-openclose is used. +# fading = false +fading = true; + +# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) +fade-in-step = 0.028 +#fade-in-step = 0.03; + +# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) +fade-out-step = 0.03 +#fade-out-step = 0.03; + +# The time between steps in fade step, in milliseconds. (> 0, defaults to 10) +fade-delta = 1.5 + +# Specify a list of conditions of windows that should not be faded. +# fade-exclude = [] + +# Do not fade on window open/close. +# no-fading-openclose = false + +# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc. +# no-fading-destroyed-argb = false + + +################################# +# Transparency / Opacity # +################################# + + +# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) +# inactive-opacity = 1 +inactive-opacity = 0.8; + +# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) +# frame-opacity = 1.0 +frame-opacity = 0.7; + +# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows. +# inactive-opacity-override = true +inactive-opacity-override = false; + +# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) +# active-opacity = 1.0 + +# Dim inactive windows. (0.0 - 1.0, defaults to 0.0) +# inactive-dim = 0.0 + +# Specify a list of conditions of windows that should never be considered focused. +# focus-exclude = [] +focus-exclude = [ "class_g = 'Cairo-clock'" ]; + +# Use fixed inactive dim value, instead of adjusting according to window opacity. +# inactive-dim-fixed = 1.0 + +# Specify a list of opacity rules, in the format `PERCENT:PATTERN`, +# like `50:name *= "Firefox"`. picom-trans is recommended over this. +# Note we don't make any guarantee about possible conflicts with other +# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows. +# example: +# opacity-rule = [ "80:class_g = 'URxvt'" ]; +# +# opacity-rule = [] + + +################################# +# Corners # +################################# + +# Sets the radius of rounded window corners. When > 0, the compositor will +# round the corners of windows. Does not interact well with +# `transparent-clipping`. +corner-radius = 0 + +# Exclude conditions for rounded corners. +rounded-corners-exclude = [ + "window_type = 'dock'", + "window_type = 'desktop'" +]; + + +################################# +# Background-Blurring # +################################# + + +# Parameters for background blurring, see the *BLUR* section for more information. +# blur-method = +# blur-size = 12 +# +# blur-deviation = false +# +# blur-strength = 5 + +# Blur background of semi-transparent / ARGB windows. +# Bad in performance, with driver-dependent behavior. +# The name of the switch may change without prior notifications. +# +# blur-background = false + +# Blur background of windows when the window frame is not opaque. +# Implies: +# blur-background +# Bad in performance, with driver-dependent behavior. The name may change. +# +# blur-background-frame = false + + +# Use fixed blur strength rather than adjusting according to window opacity. +# blur-background-fixed = false + + +# Specify the blur convolution kernel, with the following format: +# example: +# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"; +# +# blur-kern = "" +blur-kern = "3x3box"; + + +# Exclude conditions for background blur. +# blur-background-exclude = [] +blur-background-exclude = [ + "window_type = 'dock'", + "window_type = 'desktop'", + "_GTK_FRAME_EXTENTS@:c" +]; + +################################# +# General Settings # +################################# + +# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers. +# daemon = false + +# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`. +# `xrender` is the default one. +# +backend = "glx"; +#backend = "xrender"; + +# Enable/disable VSync. +vsync = false; +#vsync = true; + +# Enable remote control via D-Bus. See the *D-BUS API* section below for more details. +# dbus = false + +# Try to detect WM windows (a non-override-redirect window with no +# child that has 'WM_STATE') and mark them as active. +# +# mark-wmwin-focused = false +mark-wmwin-focused = true; + +# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused. +# mark-ovredir-focused = false +mark-ovredir-focused = true; + +# Try to detect windows with rounded corners and don't consider them +# shaped windows. The accuracy is not very high, unfortunately. +# +# detect-rounded-corners = false +detect-rounded-corners = true; + +# Detect '_NET_WM_OPACITY' on client windows, useful for window managers +# not passing '_NET_WM_OPACITY' of client windows to frame windows. +# +# detect-client-opacity = false +detect-client-opacity = true; + +# Specify refresh rate of the screen. If not specified or 0, picom will +# try detecting this with X RandR extension. +# +# refresh-rate = 60 +refresh-rate = 75; + +# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window, +# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy, +# provided that the WM supports it. +# +# use-ewmh-active-win = false + +# Unredirect all windows if a full-screen opaque window is detected, +# to maximize performance for full-screen windows. Known to cause flickering +# when redirecting/unredirecting windows. +# +# unredir-if-possible = false + +# Delay before unredirecting the window, in milliseconds. Defaults to 0. +# unredir-if-possible-delay = 0 + +# Conditions of windows that shouldn't be considered full-screen for unredirecting screen. +# unredir-if-possible-exclude = [] + +# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows +# in the same group focused at the same time. +# +# detect-transient = false +detect-transient = true; + +# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same +# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if +# detect-transient is enabled, too. +# +# detect-client-leader = false +detect-client-leader = true; + +# Resize damaged region by a specific number of pixels. +# A positive value enlarges it while a negative one shrinks it. +# If the value is positive, those additional pixels will not be actually painted +# to screen, only used in blur calculation, and such. (Due to technical limitations, +# with use-damage, those pixels will still be incorrectly painted to screen.) +# Primarily used to fix the line corruption issues of blur, +# in which case you should use the blur radius value here +# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`, +# with a 5x5 one you use `--resize-damage 2`, and so on). +# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly. +# +# resize-damage = 1 + +# Specify a list of conditions of windows that should be painted with inverted color. +# Resource-hogging, and is not well tested. +# +# invert-color-include = [] + +# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. +# Might cause incorrect opacity when rendering transparent content (but never +# practically happened) and may not work with blur-background. +# My tests show a 15% performance boost. Recommended. +# +# glx-no-stencil = false + +# GLX backend: Avoid rebinding pixmap on window damage. +# Probably could improve performance on rapid window content changes, +# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). +# Recommended if it works. +# +# glx-no-rebind-pixmap = false + +# Disable the use of damage information. +# This cause the whole screen to be redrawn everytime, instead of the part of the screen +# has actually changed. Potentially degrades the performance, but might fix some artifacts. +# The opposing option is use-damage +# +# no-use-damage = false +use-damage = true; + +# Use X Sync fence to sync clients' draw calls, to make sure all draw +# calls are finished before picom starts drawing. Needed on nvidia-drivers +# with GLX backend for some users. +# +# xrender-sync-fence = false +#xrender-sync-fence = true + +# GLX backend: Use specified GLSL fragment shader for rendering window contents. +# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl` +# in the source tree for examples. +# +# glx-fshader-win = "" + +# Force all windows to be painted with blending. Useful if you +# have a glx-fshader-win that could turn opaque pixels transparent. +# +# force-win-blend = false + +# Do not use EWMH to detect fullscreen windows. +# Reverts to checking if a window is fullscreen based only on its size and coordinates. +# +# no-ewmh-fullscreen = false + +# Dimming bright windows so their brightness doesn't exceed this set value. +# Brightness of a window is estimated by averaging all pixels in the window, +# so this could comes with a performance hit. +# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0) +# +# max-brightness = 1.0 + +# Make transparent windows clip other windows like non-transparent windows do, +# instead of blending on top of them. +# +# transparent-clipping = false + +# Set the log level. Possible values are: +# "trace", "debug", "info", "warn", "error" +# in increasing level of importance. Case doesn't matter. +# If using the "TRACE" log level, it's better to log into a file +# using *--log-file*, since it can generate a huge stream of logs. +# +# log-level = "debug" +log-level = "warn"; + +# Set the log file. +# If *--log-file* is never specified, logs will be written to stderr. +# Otherwise, logs will to written to the given file, though some of the early +# logs might still be written to the stderr. +# When setting this option from the config file, it is recommended to use an absolute path. +# +# log-file = "/path/to/your/log/file" + +# Show all X errors (for debugging) +# show-all-xerrors = false + +# Write process ID to a file. +# write-pid-path = "/path/to/your/log/file" + +# Window type settings +# +# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: +# "unknown", "desktop", "dock", "toolbar", "menu", "utility", +# "splash", "dialog", "normal", "dropdown_menu", "popup_menu", +# "tooltip", "notification", "combo", and "dnd". +# +# Following per window-type options are available: :: +# +# fade, shadow::: +# Controls window-type-specific shadow and fade settings. +# +# opacity::: +# Controls default opacity of the window type. +# +# focus::: +# Controls whether the window of this type is to be always considered focused. +# (By default, all window types except "normal" and "dialog" has this on.) +# +# full-shadow::: +# Controls whether shadow is drawn under the parts of the window that you +# normally won't be able to see. Useful when the window has parts of it +# transparent, and you want shadows in those areas. +# +# clip-shadow-above::: +# Controls wether shadows that would have been drawn above the window should +# be clipped. Useful for dock windows that should have no shadow painted on top. +# +# redir-ignore::: +# Controls whether this type of windows should cause screen to become +# redirected again after been unredirected. If you have unredir-if-possible +# set, and doesn't want certain window to cause unnecessary screen redirection, +# you can set this to `true`. +# +wintypes: +{ + tooltip = { fade = true; shadow = true; opacity = 0.9; focus = true; full-shadow = false; }; + dock = { shadow = false; clip-shadow-above = true; } + dnd = { shadow = false; } + popup_menu = { opacity = 0.95; } + dropdown_menu = { opacity = 0.95; } +}; diff --git a/dotfiles/.config/picom/picom2.conf b/dotfiles/.config/picom/picom2.conf new file mode 100644 index 0000000..76b23a2 --- /dev/null +++ b/dotfiles/.config/picom/picom2.conf @@ -0,0 +1,419 @@ +################################# +# Shadows # +################################# + + +# Enabled client-side shadows on windows. Note desktop windows +# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, +# unless explicitly requested using the wintypes option. +# +# shadow = false +shadow = true; + +# The blur radius for shadows, in pixels. (defaults to 12) +# shadow-radius = 12 +shadow-radius = 7; + +# The opacity of shadows. (0.0 - 1.0, defaults to 0.75) +# shadow-opacity = .75 + +# The left offset for shadows, in pixels. (defaults to -15) +# shadow-offset-x = -15 +shadow-offset-x = -7; + +# The top offset for shadows, in pixels. (defaults to -15) +# shadow-offset-y = -15 +shadow-offset-y = -7; + +# Red color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-red = 0 + +# Green color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-green = 0 + +# Blue color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-blue = 0 + +# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue) +# shadow-color = "#000000" + +# Specify a list of conditions of windows that should have no shadow. +# +# examples: +# shadow-exclude = "n:e:Notification"; +# +# shadow-exclude = [] +shadow-exclude = [ + "name = 'Notification'", + "class_g = 'Conky'", + "class_g ?= 'Notify-osd'", + "class_g = 'Cairo-clock'", + "_GTK_FRAME_EXTENTS@:c" +]; + +# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window. +# clip-shadow-above = [] + +# Specify a X geometry that describes the region in which shadow should not +# be painted in, such as a dock window region. Use +# shadow-exclude-reg = "x10+0+0" +# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. +# +# shadow-exclude-reg = "" + +# Crop shadow of a window fully on a particular Xinerama screen to the screen. +# xinerama-shadow-crop = false + + +################################# +# Fading # +################################# + + +# Fade windows in/out when opening/closing and when opacity changes, +# unless no-fading-openclose is used. +# fading = false +fading = true; + +# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) +# fade-in-step = 0.028 +fade-in-step = 0.03; + +# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) +# fade-out-step = 0.03 +fade-out-step = 0.03; + +# The time between steps in fade step, in milliseconds. (> 0, defaults to 10) +# fade-delta = 10 + +# Specify a list of conditions of windows that should not be faded. +# fade-exclude = [] + +# Do not fade on window open/close. +# no-fading-openclose = false + +# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc. +# no-fading-destroyed-argb = false + + +################################# +# Transparency / Opacity # +################################# + + +# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) +# inactive-opacity = 1 +inactive-opacity = 0.8; + +# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) +# frame-opacity = 1.0 +frame-opacity = 0.7; + +# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows. +# inactive-opacity-override = true +inactive-opacity-override = false; + +# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) +# active-opacity = 1.0 + +# Dim inactive windows. (0.0 - 1.0, defaults to 0.0) +# inactive-dim = 0.0 + +# Specify a list of conditions of windows that should never be considered focused. +# focus-exclude = [] +focus-exclude = [ "class_g = 'Cairo-clock'" ]; + +# Use fixed inactive dim value, instead of adjusting according to window opacity. +# inactive-dim-fixed = 1.0 + +# Specify a list of opacity rules, in the format `PERCENT:PATTERN`, +# like `50:name *= "Firefox"`. picom-trans is recommended over this. +# Note we don't make any guarantee about possible conflicts with other +# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows. +# example: +# opacity-rule = [ "80:class_g = 'URxvt'" ]; +# +# opacity-rule = [] + + +################################# +# Corners # +################################# + +# Sets the radius of rounded window corners. When > 0, the compositor will +# round the corners of windows. Does not interact well with +# `transparent-clipping`. +corner-radius = 0 + +# Exclude conditions for rounded corners. +rounded-corners-exclude = [ + "window_type = 'dock'", + "window_type = 'desktop'" +]; + + +################################# +# Background-Blurring # +################################# + + +# Parameters for background blurring, see the *BLUR* section for more information. +# blur-method = +# blur-size = 12 +# +# blur-deviation = false +# +# blur-strength = 5 + +# Blur background of semi-transparent / ARGB windows. +# Bad in performance, with driver-dependent behavior. +# The name of the switch may change without prior notifications. +# +# blur-background = false + +# Blur background of windows when the window frame is not opaque. +# Implies: +# blur-background +# Bad in performance, with driver-dependent behavior. The name may change. +# +# blur-background-frame = false + + +# Use fixed blur strength rather than adjusting according to window opacity. +# blur-background-fixed = false + + +# Specify the blur convolution kernel, with the following format: +# example: +# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"; +# +# blur-kern = "" +blur-kern = "3x3box"; + + +# Exclude conditions for background blur. +# blur-background-exclude = [] +blur-background-exclude = [ + "window_type = 'dock'", + "window_type = 'desktop'", + "_GTK_FRAME_EXTENTS@:c" +]; + +################################# +# General Settings # +################################# + +# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers. +# daemon = false + +# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`. +# `xrender` is the default one. +# + backend = "glx" +#backend = "xrender"; + +# Enable/disable VSync. +vsync = false +#vsync = true; + +# Enable remote control via D-Bus. See the *D-BUS API* section below for more details. +# dbus = false + +# Try to detect WM windows (a non-override-redirect window with no +# child that has 'WM_STATE') and mark them as active. +# +# mark-wmwin-focused = false +mark-wmwin-focused = true; + +# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused. +# mark-ovredir-focused = false +mark-ovredir-focused = true; + +# Try to detect windows with rounded corners and don't consider them +# shaped windows. The accuracy is not very high, unfortunately. +# +# detect-rounded-corners = false +detect-rounded-corners = true; + +# Detect '_NET_WM_OPACITY' on client windows, useful for window managers +# not passing '_NET_WM_OPACITY' of client windows to frame windows. +# +# detect-client-opacity = false +detect-client-opacity = true; + +# Specify refresh rate of the screen. If not specified or 0, picom will +# try detecting this with X RandR extension. +# +# refresh-rate = 60 +refresh-rate = 75; + +# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window, +# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy, +# provided that the WM supports it. +# +# use-ewmh-active-win = false + +# Unredirect all windows if a full-screen opaque window is detected, +# to maximize performance for full-screen windows. Known to cause flickering +# when redirecting/unredirecting windows. +# +# unredir-if-possible = false + +# Delay before unredirecting the window, in milliseconds. Defaults to 0. +# unredir-if-possible-delay = 0 + +# Conditions of windows that shouldn't be considered full-screen for unredirecting screen. +# unredir-if-possible-exclude = [] + +# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows +# in the same group focused at the same time. +# +# detect-transient = false +detect-transient = true; + +# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same +# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if +# detect-transient is enabled, too. +# +# detect-client-leader = false +detect-client-leader = true; + +# Resize damaged region by a specific number of pixels. +# A positive value enlarges it while a negative one shrinks it. +# If the value is positive, those additional pixels will not be actually painted +# to screen, only used in blur calculation, and such. (Due to technical limitations, +# with use-damage, those pixels will still be incorrectly painted to screen.) +# Primarily used to fix the line corruption issues of blur, +# in which case you should use the blur radius value here +# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`, +# with a 5x5 one you use `--resize-damage 2`, and so on). +# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly. +# +# resize-damage = 1 + +# Specify a list of conditions of windows that should be painted with inverted color. +# Resource-hogging, and is not well tested. +# +# invert-color-include = [] + +# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. +# Might cause incorrect opacity when rendering transparent content (but never +# practically happened) and may not work with blur-background. +# My tests show a 15% performance boost. Recommended. +# +# glx-no-stencil = false + +# GLX backend: Avoid rebinding pixmap on window damage. +# Probably could improve performance on rapid window content changes, +# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). +# Recommended if it works. +# +# glx-no-rebind-pixmap = false + +# Disable the use of damage information. +# This cause the whole screen to be redrawn everytime, instead of the part of the screen +# has actually changed. Potentially degrades the performance, but might fix some artifacts. +# The opposing option is use-damage +# +# no-use-damage = false +use-damage = true; + +# Use X Sync fence to sync clients' draw calls, to make sure all draw +# calls are finished before picom starts drawing. Needed on nvidia-drivers +# with GLX backend for some users. +# +# xrender-sync-fence = false + +# GLX backend: Use specified GLSL fragment shader for rendering window contents. +# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl` +# in the source tree for examples. +# +# glx-fshader-win = "" + +# Force all windows to be painted with blending. Useful if you +# have a glx-fshader-win that could turn opaque pixels transparent. +# +# force-win-blend = false + +# Do not use EWMH to detect fullscreen windows. +# Reverts to checking if a window is fullscreen based only on its size and coordinates. +# +# no-ewmh-fullscreen = false + +# Dimming bright windows so their brightness doesn't exceed this set value. +# Brightness of a window is estimated by averaging all pixels in the window, +# so this could comes with a performance hit. +# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0) +# +# max-brightness = 1.0 + +# Make transparent windows clip other windows like non-transparent windows do, +# instead of blending on top of them. +# +# transparent-clipping = false + +# Set the log level. Possible values are: +# "trace", "debug", "info", "warn", "error" +# in increasing level of importance. Case doesn't matter. +# If using the "TRACE" log level, it's better to log into a file +# using *--log-file*, since it can generate a huge stream of logs. +# +# log-level = "debug" +log-level = "warn"; + +# Set the log file. +# If *--log-file* is never specified, logs will be written to stderr. +# Otherwise, logs will to written to the given file, though some of the early +# logs might still be written to the stderr. +# When setting this option from the config file, it is recommended to use an absolute path. +# +# log-file = "/path/to/your/log/file" + +# Show all X errors (for debugging) +# show-all-xerrors = false + +# Write process ID to a file. +# write-pid-path = "/path/to/your/log/file" + +# Window type settings +# +# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: +# "unknown", "desktop", "dock", "toolbar", "menu", "utility", +# "splash", "dialog", "normal", "dropdown_menu", "popup_menu", +# "tooltip", "notification", "combo", and "dnd". +# +# Following per window-type options are available: :: +# +# fade, shadow::: +# Controls window-type-specific shadow and fade settings. +# +# opacity::: +# Controls default opacity of the window type. +# +# focus::: +# Controls whether the window of this type is to be always considered focused. +# (By default, all window types except "normal" and "dialog" has this on.) +# +# full-shadow::: +# Controls whether shadow is drawn under the parts of the window that you +# normally won't be able to see. Useful when the window has parts of it +# transparent, and you want shadows in those areas. +# +# clip-shadow-above::: +# Controls wether shadows that would have been drawn above the window should +# be clipped. Useful for dock windows that should have no shadow painted on top. +# +# redir-ignore::: +# Controls whether this type of windows should cause screen to become +# redirected again after been unredirected. If you have unredir-if-possible +# set, and doesn't want certain window to cause unnecessary screen redirection, +# you can set this to `true`. +# +wintypes: +{ + tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; }; + dock = { shadow = false; clip-shadow-above = true; } + dnd = { shadow = false; } + popup_menu = { opacity = 0.8; } + dropdown_menu = { opacity = 0.8; } +}; diff --git a/dotfiles/.config/pipewire/media-session.d/default-nodes b/dotfiles/.config/pipewire/media-session.d/default-nodes new file mode 100644 index 0000000..6f31cf5 --- /dev/null +++ b/dotfiles/.config/pipewire/media-session.d/default-nodes @@ -0,0 +1 @@ +{ } \ No newline at end of file diff --git a/dotfiles/.config/pipewire/media-session.d/default-routes b/dotfiles/.config/pipewire/media-session.d/default-routes new file mode 100644 index 0000000..46cdcfc --- /dev/null +++ b/dotfiles/.config/pipewire/media-session.d/default-routes @@ -0,0 +1,9 @@ +{ + "default.route.alsa_card.pci-0000_01_00.1:profile:off": [ ], + "default.route.alsa_card.pci-0000_00_1b.0:profile:off": [ ], + "default.route.alsa_card.pci-0000_01_00.1:profile:output:hdmi-stereo-extra1": [ "hdmi-output-1" ], + "default.route.alsa_card.pci-0000_00_1b.0:profile:output:analog-stereo+input:analog-stereo": [ "analog-output-lineout" ], + "default.route.alsa_card.pci-0000_01_00.1:output:hdmi-output-1": { "mute": false, "volumes": [ 0.010648, 0.010648 ], "channels": [ "FL", "FR" ] }, + "default.route.alsa_card.pci-0000_00_1b.0:input:analog-input-rear-mic": { "mute": false, "volumes": [ 0.306863, 0.306863 ], "channels": [ "FL", "FR" ] }, + "default.route.alsa_card.pci-0000_00_1b.0:output:analog-output-lineout": { "mute": false, "volumes": [ 0.117653, 0.117653 ], "channels": [ "FL", "FR" ] } +} \ No newline at end of file diff --git a/dotfiles/.config/pipewire/media-session.d/restore-stream b/dotfiles/.config/pipewire/media-session.d/restore-stream new file mode 100644 index 0000000..1d74505 --- /dev/null +++ b/dotfiles/.config/pipewire/media-session.d/restore-stream @@ -0,0 +1,14 @@ +{ + "restore.stream.Output/Audio.application.name:Chromium": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000, 1.000000 ], "channels": [ "FL", "FR" ] }, + "restore.stream.Input/Audio.application.name:WEBRTC VoiceEngine": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000, 1.000000 ], "channels": [ "FL", "FR" ] }, + "restore.stream.Output/Audio.application.name:WEBRTC VoiceEngine": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000, 1.000000 ], "channels": [ "FL", "FR" ] }, + "restore.stream.Output/Audio.application.name:mpv": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000, 1.000000 ], "channels": [ "FL", "FR" ] }, + "restore.stream.Output/Audio.media.role:Music": { "volume": 1.000000, "mute": false, "volumes": [ 0.999954, 0.999954 ], "channels": [ "FL", "FR" ] }, + "restore.stream.Input/Audio.media.role:Production": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000, 1.000000 ], "channels": [ "FL", "FR" ] }, + "restore.stream.Input/Audio.application.name:obs": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000, 1.000000 ], "channels": [ "FL", "FR" ] }, + "restore.stream.Input/Audio.application.name:Chromium input": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000, 1.000000 ], "channels": [ "FL", "FR" ] }, + "restore.stream.Output/Audio.application.name:Firefox": { "volume": 1.000000, "mute": false, "volumes": [ 0.000000, 0.000000 ], "channels": [ "FL", "FR" ] }, + "restore.stream.Output/Audio.application.name:Brave": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000 ], "channels": [ "MONO" ] }, + "restore.stream.Input/Audio.application.name:Brave input": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000, 1.000000 ], "channels": [ "FL", "FR" ] }, + "restore.stream.Output/Audio.media.role:Notification": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000, 1.000000 ], "channels": [ "FL", "FR" ] } +} \ No newline at end of file diff --git a/dotfiles/.config/user-dirs.dirs b/dotfiles/.config/user-dirs.dirs new file mode 100644 index 0000000..7f9a959 --- /dev/null +++ b/dotfiles/.config/user-dirs.dirs @@ -0,0 +1,15 @@ +# This file is written by xdg-user-dirs-update +# If you want to change or add directories, just edit the line you're +# interested in. All local changes will be retained on the next run. +# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped +# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an +# absolute path. No other format is supported. +# +XDG_DESKTOP_DIR="$HOME/Desktop" +XDG_DOWNLOAD_DIR="$HOME/Downloads" +XDG_TEMPLATES_DIR="$HOME/Templates" +XDG_PUBLICSHARE_DIR="$HOME/Public" +XDG_DOCUMENTS_DIR="$HOME/Documents" +XDG_MUSIC_DIR="$HOME/Music" +XDG_PICTURES_DIR="$HOME/Pictures" +XDG_VIDEOS_DIR="$HOME/Videos" diff --git a/dotfiles/.config/user-dirs.locale b/dotfiles/.config/user-dirs.locale new file mode 100644 index 0000000..3e0b419 --- /dev/null +++ b/dotfiles/.config/user-dirs.locale @@ -0,0 +1 @@ +en_US \ No newline at end of file diff --git a/dotfiles/.config/zathura/zathurarc b/dotfiles/.config/zathura/zathurarc new file mode 100644 index 0000000..956efb0 --- /dev/null +++ b/dotfiles/.config/zathura/zathurarc @@ -0,0 +1,14 @@ +set sandbox none +set statusbar-h-padding 0 +set statusbar-v-padding 0 +set page-padding 1 +set selection-clipboard clipboard +map u scroll half-up +map d scroll half-down +map D toggle_page_mode +map r reload +map R rotate +map K zoom in +map J zoom out +map i recolor +map g goto top diff --git a/dotfiles/.gtk-bookmarks b/dotfiles/.gtk-bookmarks new file mode 100644 index 0000000..e3e396a --- /dev/null +++ b/dotfiles/.gtk-bookmarks @@ -0,0 +1,7 @@ +file:///home/slococo/ITBA ITBA +file:///home/slococo/Desktop Desktop +file:///home/slococo/Downloads Downloads +file:///home/slococo/Documents Documents +file:///home/slococo/Pictures Pictures +file:///home/slococo/Videos Videos +file:///mnt mnt diff --git a/dotfiles/.gtkrc-2.0 b/dotfiles/.gtkrc-2.0 new file mode 100644 index 0000000..36c18e0 --- /dev/null +++ b/dotfiles/.gtkrc-2.0 @@ -0,0 +1,15 @@ +gtk-theme-name="Orchis-dark" +gtk-icon-theme-name="Tela-dark" +gtk-font-name="Cantarell 11" +gtk-cursor-theme-name="Adwaita" +gtk-cursor-theme-size=0 +gtk-toolbar-style=GTK_TOOLBAR_BOTH +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=1 +gtk-menu-images=1 +gtk-enable-event-sounds=0 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle="hintfull" +gtk-error-bell = 0 diff --git a/dotfiles/.icons/default/index.theme b/dotfiles/.icons/default/index.theme new file mode 100644 index 0000000..3a049ad --- /dev/null +++ b/dotfiles/.icons/default/index.theme @@ -0,0 +1,5 @@ +# This file is written by LXAppearance. Do not edit. +[Icon Theme] +Name=Default +Comment=Default Cursor Theme +Inherits=Adwaita diff --git a/dotfiles/.ideavimrc b/dotfiles/.ideavimrc new file mode 100644 index 0000000..7bac297 --- /dev/null +++ b/dotfiles/.ideavimrc @@ -0,0 +1,30 @@ +"" Source your .vimrc +"source ~/.vimrc + +"" -- Suggested options -- +" Show a few lines of context around the cursor. Note that this makes the +" text scroll if you mouse-click near the start or end of the window. +set scrolloff=5 + +" Do incremental searching. +set incsearch + +" Don't use Ex mode, use Q for formatting. +map Q gq + + +"" -- Map IDE actions to IdeaVim -- https://jb.gg/abva4t +"" Map \r to the Reformat Code action +"map \r (ReformatCode) + +"" Map d to start debug +"map d (Debug) + +"" Map \b to toggle the breakpoint on the current line +"map \b (ToggleLineBreakpoint) + + +" Find more examples here: https://jb.gg/share-ideavimrc + +set visualbell +set noerrorbells diff --git a/dotfiles/.imwheelrc b/dotfiles/.imwheelrc new file mode 100644 index 0000000..0e5b3d9 --- /dev/null +++ b/dotfiles/.imwheelrc @@ -0,0 +1,11 @@ +"^(chromium|org.pwmt.zathura|brave-browser|FoxitReader)$" + None, Up, Button4, 3 + None, Down, Button5, 3 + Shift_L, Up, Shift_L|Button4, 4 + Shift_L, Down, Shift_L|Button5, 4 + Control_L, Up, Control_L|Button4 + Control_L, Down, Control_L|Button5 + +"^(discord|ferdi|spotify)$" + None, Up, Button4, 3 + None, Down, Button5, 3 diff --git a/dotfiles/.local/bin/clion b/dotfiles/.local/bin/clion new file mode 100755 index 0000000..6bf39ff --- /dev/null +++ b/dotfiles/.local/bin/clion @@ -0,0 +1,5 @@ +#!/bin/bash +# Generated by JetBrains Toolbox 1.22.10774 at 2021-12-08T09:35:58.867971 + +"/home/slococo/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/212.5080.54/bin/clion.sh" "$@" + diff --git a/dotfiles/.local/bin/datagrip b/dotfiles/.local/bin/datagrip new file mode 100755 index 0000000..1ca1cef --- /dev/null +++ b/dotfiles/.local/bin/datagrip @@ -0,0 +1,5 @@ +#!/bin/bash +# Generated by JetBrains Toolbox 1.22.10774 at 2021-12-08T09:35:58.892754 + +"/home/slococo/.local/share/JetBrains/Toolbox/apps/datagrip/ch-0/212.5284.17/bin/datagrip.sh" "$@" + diff --git a/dotfiles/.local/bin/foxitLight b/dotfiles/.local/bin/foxitLight new file mode 100755 index 0000000..484901c --- /dev/null +++ b/dotfiles/.local/bin/foxitLight @@ -0,0 +1 @@ +GTK2_RC_FILES=/usr/share/themes/Orchis-light/gtk-2.0/gtkrc foxitreader diff --git a/dotfiles/.local/bin/goctave b/dotfiles/.local/bin/goctave new file mode 100755 index 0000000..465ffc4 --- /dev/null +++ b/dotfiles/.local/bin/goctave @@ -0,0 +1,3 @@ +#!/bin/sh + +octave --gui diff --git a/dotfiles/.local/bin/idea b/dotfiles/.local/bin/idea new file mode 100755 index 0000000..487c3fa --- /dev/null +++ b/dotfiles/.local/bin/idea @@ -0,0 +1,5 @@ +#!/bin/bash +# Generated by JetBrains Toolbox 1.22.10774 at 2021-12-08T09:35:58.915745 + +"/home/slococo/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/212.5080.55/bin/idea.sh" "$@" + diff --git a/dotfiles/.local/bin/isympy b/dotfiles/.local/bin/isympy new file mode 100755 index 0000000..46850ad --- /dev/null +++ b/dotfiles/.local/bin/isympy @@ -0,0 +1,8 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +import re +import sys +from isympy import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) diff --git a/dotfiles/.local/bin/launchPcmanfm b/dotfiles/.local/bin/launchPcmanfm new file mode 100755 index 0000000..6dad02c --- /dev/null +++ b/dotfiles/.local/bin/launchPcmanfm @@ -0,0 +1,7 @@ +#!/bin/sh + +if pgrep "pcmanfm" > /dev/null; then + pkill "pcmanfm" +else + "pcmanfm" +fi diff --git a/dotfiles/.local/bin/mailCheck b/dotfiles/.local/bin/mailCheck new file mode 100755 index 0000000..c29c437 --- /dev/null +++ b/dotfiles/.local/bin/mailCheck @@ -0,0 +1 @@ +mw -Y diff --git a/dotfiles/.local/bin/rider b/dotfiles/.local/bin/rider new file mode 100755 index 0000000..135fcf3 --- /dev/null +++ b/dotfiles/.local/bin/rider @@ -0,0 +1,5 @@ +#!/bin/bash +# Generated by JetBrains Toolbox 1.22.10774 at 2021-12-08T09:35:58.936191 + +"/home/slococo/.local/share/JetBrains/Toolbox/apps/Rider/ch-0/212.5080.71/bin/rider.sh" "$@" + diff --git a/dotfiles/.local/bin/screen b/dotfiles/.local/bin/screen new file mode 100755 index 0000000..2f2f99d --- /dev/null +++ b/dotfiles/.local/bin/screen @@ -0,0 +1,5 @@ +#!/bin/sh + +sleep 0.5s +xrandr --output DVI-D-0 --mode 1920x1080 --output HDMI-0 --mode 1920x1080 --right-of DVI-D-0 +nitrogen --restore & diff --git a/dotfiles/.local/bin/screenshot b/dotfiles/.local/bin/screenshot new file mode 100755 index 0000000..0bca235 --- /dev/null +++ b/dotfiles/.local/bin/screenshot @@ -0,0 +1,8 @@ +#!/bin/sh + +focusedwindow=$(xdotool getactivewindow) +flameshot gui -g >/dev/null +if [ "$focusedwindow" == "$(xdotool getactivewindow)" ] +then + xdotool windowfocus $focusedwindow +fi diff --git a/dotfiles/.local/bin/sound b/dotfiles/.local/bin/sound new file mode 100755 index 0000000..d4267ab --- /dev/null +++ b/dotfiles/.local/bin/sound @@ -0,0 +1,13 @@ +#!/bin/sh + +#pactl set-default-sink alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1 +#sleep 2 +#sleep 1 + +#sleep 2 +sleep 3 +#pactl info > $HOME/outputSound2.txt +pactl info > /dev/null +#pactl set-source-volume alsa_input.pci-0000_00_1b.0.analog-stereo 0.03 > /dev/null +pactl set-source-volume @DEFAULT_SOURCE@ 0.03 > /dev/null +sigdwmblocks 2 diff --git a/dotfiles/.local/bin/startdwm b/dotfiles/.local/bin/startdwm new file mode 100755 index 0000000..92fa5ce --- /dev/null +++ b/dotfiles/.local/bin/startdwm @@ -0,0 +1,5 @@ +#!/bin/sh + +while true; do + dwm +done diff --git a/dotfiles/.local/bin/studio b/dotfiles/.local/bin/studio new file mode 100755 index 0000000..5732907 --- /dev/null +++ b/dotfiles/.local/bin/studio @@ -0,0 +1,5 @@ +#!/bin/bash +# Generated by JetBrains Toolbox 1.22.10774 at 2021-12-08T09:35:58.784723 + +"/home/slococo/.local/share/JetBrains/Toolbox/apps/AndroidStudio/ch-0/203.7784292/bin/studio.sh" "$@" + diff --git a/dotfiles/.local/bin/timeCalib b/dotfiles/.local/bin/timeCalib new file mode 100755 index 0000000..a7b5fe8 --- /dev/null +++ b/dotfiles/.local/bin/timeCalib @@ -0,0 +1,12 @@ + +while true +do + if [ `date "+%S"` -ge 50 ]; then + if [ `date "+%S"` -lt 59 ]; then + echo "LLEGUE" + break + fi + fi + + sleep 1 +done diff --git a/dotfiles/.local/bin/timeCalibration b/dotfiles/.local/bin/timeCalibration new file mode 100755 index 0000000..a84cf35 --- /dev/null +++ b/dotfiles/.local/bin/timeCalibration @@ -0,0 +1,21 @@ +#!/bin/sh + +# exec will take ownership of this program! So, this process will now be dwmblocks. +# Therefore we must not kill it, because it is now dwmblocks! And its parent is obviously +# dwm (because in startx we use exec to launch it!) +restartDwmblocks() { + pkill dwmblocks + exec dwmblocks +} + +# Wait for dwm to start +sleep 5 +while true +do + if [ `date "+%S"` -eq 55 ]; then + restartDwmblocks + fi + + sleep 1 +done + diff --git a/dotfiles/.local/bin/timeSee b/dotfiles/.local/bin/timeSee new file mode 100755 index 0000000..76962a9 --- /dev/null +++ b/dotfiles/.local/bin/timeSee @@ -0,0 +1,13 @@ +#!/bin/sh + +while true +do + echo `date "+%S"` + if [ `date "+%S"` -eq 0 ]; then + echo "EN PUNTO" + break + fi + + sleep 1 +done + diff --git a/dotfiles/.local/bin/trim b/dotfiles/.local/bin/trim new file mode 100755 index 0000000..41617c4 --- /dev/null +++ b/dotfiles/.local/bin/trim @@ -0,0 +1,73 @@ +#!/bin/sh + +CACHEDIR=$HOME/.cache/trimTmp + +getAllOccurrences() { + :> $CACHEDIR + find . -print0 | while read -d $'\0' file + do + echo "$file" | grep " " > /dev/null + + if [ $? -eq 1 ]; then + continue + fi + + echo "$file -> ${file// /}" + + echo "$file" >> $CACHEDIR + done +} + +getNewOccurrences() { + getAllOccurrences > /dev/null + + for file in `cat $CACHEDIR` + do + echo "$file" | grep " " > /dev/null + + if [ $? -eq 1 ]; then + continue + fi + + echo "$file -> ${file// /}" + mv "$file" "${file// /}" + + getNewOccurrences + + exit + done +} + +# IFS: https://bash.cyberciti.biz/guide/$IFS +doTheTrimming() { + #touch $CACHEDIR + + getAllOccurrences + + echo -n "Do you want all the changes? [y/N] " + read answer + + IFS=$'\n' + + if [ $answer = "y" ]; then + for file in `cat $CACHEDIR` + do + echo "$file" | grep " " > /dev/null + + if [ $? -eq 1 ]; then + continue + fi + + echo "$file -> ${file// /}" + mv "$file" "${file// /}" + + getNewOccurrences + + exit + done + fi + + #rm $CACHEDIR +} + +doTheTrimming diff --git a/dotfiles/.local/bin/waitForSSH b/dotfiles/.local/bin/waitForSSH new file mode 100755 index 0000000..411d4e7 --- /dev/null +++ b/dotfiles/.local/bin/waitForSSH @@ -0,0 +1,14 @@ +#!/bin/sh + +while true +do + SSHOUTPUT=$(ssh-add -l | wc -l) + #if echo $SSHOUTPUT | grep -q "santilococo" ; then + if [ $SSHOUTPUT -eq 3 ]; then + pkill "mono" + exit + fi + + sleep 1 +done + diff --git a/dotfiles/.local/bin/webstorm b/dotfiles/.local/bin/webstorm new file mode 100755 index 0000000..4778a35 --- /dev/null +++ b/dotfiles/.local/bin/webstorm @@ -0,0 +1,5 @@ +#!/bin/bash +# Generated by JetBrains Toolbox 1.22.10774 at 2021-12-08T09:35:58.955427 + +"/home/slococo/.local/share/JetBrains/Toolbox/apps/WebStorm/ch-0/212.5080.54/bin/webstorm.sh" "$@" + diff --git a/dotfiles/.nvidia-settings-rc b/dotfiles/.nvidia-settings-rc new file mode 100644 index 0000000..6e9ed30 --- /dev/null +++ b/dotfiles/.nvidia-settings-rc @@ -0,0 +1,100 @@ +# +# /home/slococo/.nvidia-settings-rc +# +# Configuration file for nvidia-settings - the NVIDIA X Server Settings utility +# Generated on Sun Oct 3 09:35:26 2021 +# + +# ConfigProperties: + +RcFileLocale = C +DisplayStatusBar = No +SliderTextEntries = Yes +IncludeDisplayNameInConfigFile = No +ShowQuitDialog = No +UpdateRulesOnProfileNameChange = Yes +Timer = Memory_Used_(GPU_0),Yes,3000 +Timer = Thermal_Monitor_(GPU_0),Yes,1000 +Timer = PowerMizer_Monitor_(GPU_0),Yes,1000 + +# Attributes: + +0/SyncToVBlank=1 +0/LogAniso=0 +0/FSAA=0 +0/TextureClamping=1 +0/FXAA=0 +0/AllowFlipping=1 +0/FSAAAppControlled=1 +0/LogAnisoAppControlled=1 +0/OpenGLImageSettings=1 +0/FSAAAppEnhanced=0 +0/ShowGraphicsVisualIndicator=0 +[DPY:DVI-D-0]/RedBrightness=0.000000 +[DPY:DVI-D-0]/GreenBrightness=0.000000 +[DPY:DVI-D-0]/BlueBrightness=0.000000 +[DPY:DVI-D-0]/RedContrast=0.000000 +[DPY:DVI-D-0]/GreenContrast=0.000000 +[DPY:DVI-D-0]/BlueContrast=0.000000 +[DPY:DVI-D-0]/RedGamma=1.000000 +[DPY:DVI-D-0]/GreenGamma=1.000000 +[DPY:DVI-D-0]/BlueGamma=1.000000 +[DPY:DVI-D-0]/Dithering=0 +[DPY:DVI-D-0]/DitheringMode=0 +[DPY:DVI-D-0]/DitheringDepth=0 +[DPY:DVI-D-0]/DigitalVibrance=0 +[DPY:DVI-D-0]/ColorSpace=0 +[DPY:DVI-D-0]/ColorRange=0 +[DPY:DVI-D-0]/SynchronousPaletteUpdates=0 +[DPY:HDMI-0]/RedBrightness=0.000000 +[DPY:HDMI-0]/GreenBrightness=0.000000 +[DPY:HDMI-0]/BlueBrightness=0.000000 +[DPY:HDMI-0]/RedContrast=0.000000 +[DPY:HDMI-0]/GreenContrast=0.000000 +[DPY:HDMI-0]/BlueContrast=0.000000 +[DPY:HDMI-0]/RedGamma=1.000000 +[DPY:HDMI-0]/GreenGamma=1.000000 +[DPY:HDMI-0]/BlueGamma=1.000000 +[DPY:HDMI-0]/Dithering=0 +[DPY:HDMI-0]/DitheringMode=0 +[DPY:HDMI-0]/DitheringDepth=0 +[DPY:HDMI-0]/DigitalVibrance=0 +[DPY:HDMI-0]/ColorSpace=0 +[DPY:HDMI-0]/ColorRange=0 +[DPY:HDMI-0]/SynchronousPaletteUpdates=0 +[DPY:DP-0]/Dithering=0 +[DPY:DP-0]/DitheringMode=0 +[DPY:DP-0]/DitheringDepth=0 +[DPY:DP-0]/ColorSpace=0 +[DPY:DP-0]/ColorRange=0 +[DPY:DP-0]/SynchronousPaletteUpdates=0 +[DPY:DP-1]/Dithering=0 +[DPY:DP-1]/DitheringMode=0 +[DPY:DP-1]/DitheringDepth=0 +[DPY:DP-1]/ColorSpace=0 +[DPY:DP-1]/ColorRange=0 +[DPY:DP-1]/SynchronousPaletteUpdates=0 +[DPY:DP-2]/Dithering=0 +[DPY:DP-2]/DitheringMode=0 +[DPY:DP-2]/DitheringDepth=0 +[DPY:DP-2]/ColorSpace=0 +[DPY:DP-2]/ColorRange=0 +[DPY:DP-2]/SynchronousPaletteUpdates=0 +[DPY:DP-3]/Dithering=0 +[DPY:DP-3]/DitheringMode=0 +[DPY:DP-3]/DitheringDepth=0 +[DPY:DP-3]/ColorSpace=0 +[DPY:DP-3]/ColorRange=0 +[DPY:DP-3]/SynchronousPaletteUpdates=0 +[DPY:DP-4]/Dithering=0 +[DPY:DP-4]/DitheringMode=0 +[DPY:DP-4]/DitheringDepth=0 +[DPY:DP-4]/ColorSpace=0 +[DPY:DP-4]/ColorRange=0 +[DPY:DP-4]/SynchronousPaletteUpdates=0 +[DPY:DP-5]/Dithering=0 +[DPY:DP-5]/DitheringMode=0 +[DPY:DP-5]/DitheringDepth=0 +[DPY:DP-5]/ColorSpace=0 +[DPY:DP-5]/ColorRange=0 +[DPY:DP-5]/SynchronousPaletteUpdates=0 diff --git a/dotfiles/.octave_packages b/dotfiles/.octave_packages new file mode 100644 index 0000000..f299e6b --- /dev/null +++ b/dotfiles/.octave_packages @@ -0,0 +1,316 @@ +# Created by Octave 6.4.0, Sun Nov 07 09:39:07 2021 -03 +# name: local_packages +# type: cell +# rows: 1 +# columns: 2 +# name: +# type: scalar struct +# ndims: 2 + 1 1 +# length: 17 +# name: name +# type: sq_string +# elements: 1 +# length: 2 +io + + +# name: version +# type: sq_string +# elements: 1 +# length: 5 +2.6.3 + + +# name: date +# type: sq_string +# elements: 1 +# length: 10 +2020-11-02 + + +# name: author +# type: sq_string +# elements: 1 +# length: 15 +various authors + + +# name: maintainer +# type: sq_string +# elements: 1 +# length: 41 +Philip Nienhuis + + +# name: title +# type: sq_string +# elements: 1 +# length: 12 +Input/Output + + +# name: description +# type: sq_string +# elements: 1 +# length: 33 +Input/Output in external formats. + + +# name: categories +# type: sq_string +# elements: 1 +# length: 2 +IO + + +# name: problems +# type: sq_string +# elements: 1 +# length: 118 +Default initial Java memory probably too small, increase with java.opts (see documentation). UNO support experimental. + + +# name: depends +# type: cell +# rows: 1 +# columns: 1 +# name: +# type: scalar struct +# ndims: 2 + 1 1 +# length: 3 +# name: package +# type: sq_string +# elements: 1 +# length: 6 +octave + + +# name: operator +# type: sq_string +# elements: 1 +# length: 2 +>= + + +# name: version +# type: sq_string +# elements: 1 +# length: 5 +4.2.0 + + + + + + + +# name: suggested +# type: sq_string +# elements: 1 +# length: 36 +windows (>= 1.2.1); Java JRE (> 1.8) + + +# name: autoload +# type: sq_string +# elements: 1 +# length: 2 +no + + +# name: license +# type: sq_string +# elements: 1 +# length: 22 +GPLv3+, simplified BSD + + +# name: url +# type: sq_string +# elements: 1 +# length: 20 +http://octave.sf.net + + +# name: dir +# type: sq_string +# elements: 1 +# length: 29 +/home/slococo/octave/io-2.6.3 + + +# name: archprefix +# type: sq_string +# elements: 1 +# length: 29 +/home/slococo/octave/io-2.6.3 + + +# name: loaded +# type: bool +0 + + + + + +# name: +# type: scalar struct +# ndims: 2 + 1 1 +# length: 13 +# name: name +# type: sq_string +# elements: 1 +# length: 10 +statistics + + +# name: version +# type: sq_string +# elements: 1 +# length: 5 +1.4.2 + + +# name: date +# type: sq_string +# elements: 1 +# length: 10 +2020-03-23 + + +# name: author +# type: sq_string +# elements: 1 +# length: 15 +various authors + + +# name: maintainer +# type: sq_string +# elements: 1 +# length: 47 +Octave-Forge community + + +# name: title +# type: sq_string +# elements: 1 +# length: 10 +Statistics + + +# name: description +# type: sq_string +# elements: 1 +# length: 43 +Additional statistics functions for Octave. + + +# name: categories +# type: sq_string +# elements: 1 +# length: 10 +Statistics + + +# name: depends +# type: cell +# rows: 1 +# columns: 2 +# name: +# type: scalar struct +# ndims: 2 + 1 1 +# length: 3 +# name: package +# type: sq_string +# elements: 1 +# length: 6 +octave + + +# name: operator +# type: sq_string +# elements: 1 +# length: 2 +>= + + +# name: version +# type: sq_string +# elements: 1 +# length: 5 +4.0.0 + + + + + +# name: +# type: scalar struct +# ndims: 2 + 1 1 +# length: 3 +# name: package +# type: sq_string +# elements: 1 +# length: 2 +io + + +# name: operator +# type: sq_string +# elements: 1 +# length: 2 +>= + + +# name: version +# type: sq_string +# elements: 1 +# length: 6 +1.0.18 + + + + + + + +# name: license +# type: sq_string +# elements: 1 +# length: 21 +GPLv3+, public domain + + +# name: url +# type: sq_string +# elements: 1 +# length: 20 +http://octave.sf.net + + +# name: dir +# type: sq_string +# elements: 1 +# length: 37 +/home/slococo/octave/statistics-1.4.2 + + +# name: archprefix +# type: sq_string +# elements: 1 +# length: 37 +/home/slococo/octave/statistics-1.4.2 + + + + + + + diff --git a/dotfiles/.p10k.zsh b/dotfiles/.p10k.zsh new file mode 100644 index 0000000..3e3c0ba --- /dev/null +++ b/dotfiles/.p10k.zsh @@ -0,0 +1,1630 @@ +# Generated by Powerlevel10k configuration wizard on 2021-08-04 at 16:14 -03. +# Based on romkatv/powerlevel10k/config/p10k-classic.zsh, checksum 41849. +# Wizard options: nerdfont-complete + powerline, small icons, classic, unicode, light, +# angled separators, sharp heads, flat tails, 2 lines, disconnected, full frame, sparse, +# few icons, concise, transient_prompt, instant_prompt=verbose. +# Type `p10k configure` to generate another config. +# +# Config for Powerlevel10k with classic powerline prompt style. Type `p10k configure` to generate +# your own config based on it. +# +# Tip: Looking for a nice color? Here's a one-liner to print colormap. +# +# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done + +# Temporarily change options. +'builtin' 'local' '-a' 'p10k_config_opts' +[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases') +[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob') +[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand') +'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' + +() { + emulate -L zsh -o extended_glob + + # Unset all configuration options. This allows you to apply configuration changes without + # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`. + unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR' + + # Zsh >= 5.1 is required. + autoload -Uz is-at-least && is-at-least 5.1 || return + + # The list of segments shown on the left. Fill it with the most important segments. + typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( + # =========================[ Line #1 ]========================= + # os_icon # os identifier + dir # current directory + vcs # git status + # =========================[ Line #2 ]========================= + newline # \n + # prompt_char # prompt symbol + ) + + # The list of segments shown on the right. Fill it with less important segments. + # Right prompt on the last prompt line (where you are typing your commands) gets + # automatically hidden when the input line reaches it. Right prompt above the + # last prompt line gets hidden if it would overlap with left prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( + # =========================[ Line #1 ]========================= + status # exit code of the last command + command_execution_time # duration of the last command + background_jobs # presence of background jobs + direnv # direnv status (https://direnv.net/) + asdf # asdf version manager (https://github.com/asdf-vm/asdf) + virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html) + anaconda # conda environment (https://conda.io/) + pyenv # python environment (https://github.com/pyenv/pyenv) + goenv # go environment (https://github.com/syndbg/goenv) + nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) + nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) + nodeenv # node.js environment (https://github.com/ekalinin/nodeenv) + # node_version # node.js version + # go_version # go version (https://golang.org) + # rust_version # rustc version (https://www.rust-lang.org) + # dotnet_version # .NET version (https://dotnet.microsoft.com) + # php_version # php version (https://www.php.net/) + # laravel_version # laravel php framework version (https://laravel.com/) + # java_version # java version (https://www.java.com/) + # package # name@version from package.json (https://docs.npmjs.com/files/package.json) + rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv) + rvm # ruby version from rvm (https://rvm.io) + fvm # flutter version management (https://github.com/leoafarias/fvm) + luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv) + jenv # java version from jenv (https://github.com/jenv/jenv) + plenv # perl version from plenv (https://github.com/tokuhirom/plenv) + phpenv # php version from phpenv (https://github.com/phpenv/phpenv) + scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv) + haskell_stack # haskell version from stack (https://haskellstack.org/) + kubecontext # current kubernetes context (https://kubernetes.io/) + terraform # terraform workspace (https://www.terraform.io) + # terraform_version # terraform version (https://www.terraform.io) + aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) + aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) + azure # azure account name (https://docs.microsoft.com/en-us/cli/azure) + gcloud # google cloud cli account and project (https://cloud.google.com/) + google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production) + context # user@hostname + nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) + ranger # ranger shell (https://github.com/ranger/ranger) + nnn # nnn shell (https://github.com/jarun/nnn) + xplr # xplr shell (https://github.com/sayanarijit/xplr) + vim_shell # vim shell indicator (:sh) + midnight_commander # midnight commander shell (https://midnight-commander.org/) + nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) + vi_mode # vi mode (you don't need this if you've enabled prompt_char) + # vpn_ip # virtual private network indicator + # load # CPU load + # disk_usage # disk usage + # ram # free RAM + # swap # used swap + todo # todo items (https://github.com/todotxt/todo.txt-cli) + timewarrior # timewarrior tracking status (https://timewarrior.net/) + taskwarrior # taskwarrior task count (https://taskwarrior.org/) + # time # current time + # =========================[ Line #2 ]========================= + newline # \n + # ip # ip address and bandwidth usage for a specified network interface + # public_ip # public IP address + # proxy # system-wide http/https/ftp proxy + # battery # internal battery + # wifi # wifi speed + # example # example user-defined segment (see prompt_example function below) + ) + + # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. + typeset -g POWERLEVEL9K_MODE=nerdfont-complete + # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid + # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added. + typeset -g POWERLEVEL9K_ICON_PADDING=none + + # When set to true, icons appear before content on both sides of the prompt. When set + # to false, icons go after content. If empty or not set, icons go before content in the left + # prompt and after content in the right prompt. + # + # You can also override it for a specific segment: + # + # POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false + # + # Or for a specific segment in specific state: + # + # POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false + typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT= + + # Add an empty line before each prompt. + typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=true + + # Connect left prompt lines with these symbols. You'll probably want to use the same color + # as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='%242F╭─' + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX='%242F├─' + typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='%242F╰─' + # Connect right prompt lines with these symbols. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX='%242F─╮' + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX='%242F─┤' + typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX='%242F─╯' + + # Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or + # '─'. The last two make it easier to see the alignment between left and right prompt and to + # separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false + # for more compact prompt if using using this option. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' ' + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND= + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND= + if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then + # The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE + # ornaments defined above. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=242 + # Start filler from the edge of the screen if there are no left segments on the first line. + typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}' + # End filler on the edge of the screen if there are no right segments on the first line. + typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}' + fi + + # Default background color. + typeset -g POWERLEVEL9K_BACKGROUND=238 + + # Separator between same-color segments on the left. + typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='%246F\uE0B1' + # Separator between same-color segments on the right. + typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='%246F\uE0B3' + # Separator between different-color segments on the left. + typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0' + # Separator between different-color segments on the right. + typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2' + # The right end of left prompt. + typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0' + # The left end of right prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B2' + # The left end of left prompt. + typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL='' + # The right end of right prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL='' + # Left prompt terminator for lines without any segments. + typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= + + #################################[ os_icon: os identifier ]################################## + # OS identifier color. + typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=255 + # Custom icon. + # typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐' + + ################################[ prompt_char: prompt symbol ]################################ + # Transparent background. + typeset -g POWERLEVEL9K_PROMPT_CHAR_BACKGROUND= + # Green prompt symbol if the last command succeeded. + typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76 + # Red prompt symbol if the last command failed. + typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196 + # Default prompt symbol. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯' + # Prompt symbol in command vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮' + # Prompt symbol in visual vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V' + # Prompt symbol in overwrite vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶' + typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true + # No line terminator if prompt_char is the last segment. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= + # No line introducer if prompt_char is the first segment. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL= + # No surrounding whitespace. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE= + + ##################################[ dir: current directory ]################################## + # Default current directory color. + typeset -g POWERLEVEL9K_DIR_FOREGROUND=31 + # If directory is too long, shorten some of its segments to the shortest possible unique + # prefix. The shortened directory can be tab-completed to the original. + typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique + # Replace removed segment suffixes with this symbol. + typeset -g POWERLEVEL9K_SHORTEN_DELIMITER= + # Color of the shortened directory segments. + typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=103 + # Color of the anchor directory segments. Anchor segments are never shortened. The first + # segment is always an anchor. + typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=39 + # Display anchor directory segments in bold. + typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true + # Don't shorten directories that contain any of these files. They are anchors. + local anchor_files=( + .bzr + .citc + .git + .hg + .node-version + .python-version + .go-version + .ruby-version + .lua-version + .java-version + .perl-version + .php-version + .tool-version + .shorten_folder_marker + .svn + .terraform + CVS + Cargo.toml + composer.json + go.mod + package.json + stack.yaml + ) + typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})" + # If set to "first" ("last"), remove everything before the first (last) subdirectory that contains + # files matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is + # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first) + # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers + # and other directories don't. + # + # Optionally, "first" and "last" can be followed by ":" where is an integer. + # This moves the truncation point to the right (positive offset) or to the left (negative offset) + # relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0" + # respectively. + typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false + # Don't shorten this many last directory segments. They are anchors. + typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 + # Shorten directory if it's longer than this even if there is space for it. The value can + # be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty, + # directory will be shortened only when prompt doesn't fit or when other parameters demand it + # (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below). + # If set to `0`, directory will always be shortened to its minimum length. + typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80 + # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this + # many columns for typing commands. + typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40 + # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least + # COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands. + typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50 + # If set to true, embed a hyperlink into the directory. Useful for quickly + # opening a directory in the file manager simply by clicking the link. + # Can also be handy when the directory is shortened, as it allows you to see + # the full directory that was used in previous commands. + typeset -g POWERLEVEL9K_DIR_HYPERLINK=false + + # Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON + # and POWERLEVEL9K_DIR_CLASSES below. + typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3 + + # The default icon shown next to non-writable and non-existent directories when + # POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3. + # typeset -g POWERLEVEL9K_LOCK_ICON='⭐' + + # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different + # directories. It must be an array with 3 * N elements. Each triplet consists of: + # + # 1. A pattern against which the current directory ($PWD) is matched. Matching is done with + # extended_glob option enabled. + # 2. Directory class for the purpose of styling. + # 3. An empty string. + # + # Triplets are tried in order. The first triplet whose pattern matches $PWD wins. + # + # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3, non-writable and non-existent directories + # acquire class suffix _NOT_WRITABLE and NON_EXISTENT respectively. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_DIR_CLASSES=( + # '~/work(|/*)' WORK '' + # '~(|/*)' HOME '' + # '*' DEFAULT '') + # + # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with one + # of the following classes depending on its writability and existence: WORK, WORK_NOT_WRITABLE or + # WORK_NON_EXISTENT. + # + # Simply assigning classes to directories doesn't have any visible effects. It merely gives you an + # option to define custom colors and icons for different directory classes. + # + # # Styling for WORK. + # typeset -g POWERLEVEL9K_DIR_WORK_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=31 + # typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=103 + # typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=39 + # + # # Styling for WORK_NOT_WRITABLE. + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND=31 + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=103 + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=39 + # + # # Styling for WORK_NON_EXISTENT. + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_FOREGROUND=31 + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_SHORTENED_FOREGROUND=103 + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_ANCHOR_FOREGROUND=39 + # + # If a styling parameter isn't explicitly defined for some class, it falls back to the classless + # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls + # back to POWERLEVEL9K_DIR_FOREGROUND. + # + typeset -g POWERLEVEL9K_DIR_CLASSES=() + + # Custom prefix. + # typeset -g POWERLEVEL9K_DIR_PREFIX='%248Fin ' + + #####################################[ vcs: git status ]###################################### + # Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon. + typeset -g POWERLEVEL9K_VCS_BRANCH_ICON= + + # Untracked files icon. It's really a question mark, your font isn't broken. + # Change the value of this parameter to show a different icon. + typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?' + + # Formatter for Git status. + # + # Example output: master wip ⇣42⇡42 *42 merge ~42 +42 !42 ?42. + # + # You can edit the function to customize how Git status looks. + # + # VCS_STATUS_* parameters are set by gitstatus plugin. See reference: + # https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh. + function my_git_formatter() { + emulate -L zsh + + if [[ -n $P9K_CONTENT ]]; then + # If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from + # gitstatus plugin). VCS_STATUS_* parameters are not available in this case. + typeset -g my_git_format=$P9K_CONTENT + return + fi + + if (( $1 )); then + # Styling for up-to-date Git status. + local meta='%248F' # grey foreground + local clean='%76F' # green foreground + local modified='%178F' # yellow foreground + local untracked='%39F' # blue foreground + local conflicted='%196F' # red foreground + else + # Styling for incomplete and stale Git status. + local meta='%244F' # grey foreground + local clean='%244F' # grey foreground + local modified='%244F' # grey foreground + local untracked='%244F' # grey foreground + local conflicted='%244F' # grey foreground + fi + + local res + + if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then + local branch=${(V)VCS_STATUS_LOCAL_BRANCH} + # If local branch name is at most 32 characters long, show it in full. + # Otherwise show the first 12 … the last 12. + # Tip: To always show local branch name in full without truncation, delete the next line. + (( $#branch > 32 )) && branch[13,-13]="…" # <-- this line + res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}${branch//\%/%%}" + fi + + if [[ -n $VCS_STATUS_TAG + # Show tag only if not on a branch. + # Tip: To always show tag, delete the next line. + && -z $VCS_STATUS_LOCAL_BRANCH # <-- this line + ]]; then + local tag=${(V)VCS_STATUS_TAG} + # If tag name is at most 32 characters long, show it in full. + # Otherwise show the first 12 … the last 12. + # Tip: To always show tag name in full without truncation, delete the next line. + (( $#tag > 32 )) && tag[13,-13]="…" # <-- this line + res+="${meta}#${clean}${tag//\%/%%}" + fi + + # Display the current Git commit if there is no branch and no tag. + # Tip: To always display the current Git commit, delete the next line. + [[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line + res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" + + # Show tracking branch name if it differs from local branch. + if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then + res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" + fi + + # Display "wip" if the latest commit's summary contains "wip" or "WIP". + if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then + res+=" ${modified}wip" + fi + + # ⇣42 if behind the remote. + (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}" + # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42. + (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" " + (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}" + # ⇠42 if behind the push remote. + (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}" + (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" " + # ⇢42 if ahead of the push remote; no leading space if also behind: ⇠42⇢42. + (( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}⇢${VCS_STATUS_PUSH_COMMITS_AHEAD}" + # *42 if have stashes. + (( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}" + # 'merge' if the repo is in an unusual state. + [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}" + # ~42 if have merge conflicts. + (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}" + # +42 if have staged changes. + (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}" + # !42 if have unstaged changes. + (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}" + # ?42 if have untracked files. It's really a question mark, your font isn't broken. + # See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon. + # Remove the next line if you don't want to see untracked files at all. + (( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}" + # "─" if the number of unstaged files is unknown. This can happen due to + # POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower + # than the number of files in the Git index, or due to bash.showDirtyState being set to false + # in the repository config. The number of staged and untracked files may also be unknown + # in this case. + (( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}─" + + typeset -g my_git_format=$res + } + functions -M my_git_formatter 2>/dev/null + + # Don't count the number of unstaged, untracked and conflicted files in Git repositories with + # more than this many files in the index. Negative value means infinity. + # + # If you are working in Git repositories with tens of millions of files and seeing performance + # sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output + # of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's + # config: `git config bash.showDirtyState false`. + typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1 + + # Don't show Git status in prompt for repositories whose workdir matches this pattern. + # For example, if set to '~', the Git repository at $HOME/.git will be ignored. + # Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'. + typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~' + + # Disable the default Git status formatting. + typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true + # Install our own Git status formatter. + typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${$((my_git_formatter(1)))+${my_git_format}}' + typeset -g POWERLEVEL9K_VCS_LOADING_CONTENT_EXPANSION='${$((my_git_formatter(0)))+${my_git_format}}' + # Enable counters for staged, unstaged, etc. + typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1 + + # Icon color. + typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR=76 + typeset -g POWERLEVEL9K_VCS_LOADING_VISUAL_IDENTIFIER_COLOR=244 + # Custom icon. + typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION= + # Custom prefix. + # typeset -g POWERLEVEL9K_VCS_PREFIX='%248Fon ' + + # Show status of repositories of these types. You can add svn and/or hg if you are + # using them. If you do, your prompt may become slow even when your current directory + # isn't in an svn or hg reposotiry. + typeset -g POWERLEVEL9K_VCS_BACKENDS=(git) + + # These settings are used for repositories other than Git or when gitstatusd fails and + # Powerlevel10k has to fall back to using vcs_info. + typeset -g POWERLEVEL9K_VCS_CLEAN_FOREGROUND=76 + typeset -g POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=76 + typeset -g POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=178 + + ##########################[ status: exit code of the last command ]########################### + # Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and + # style them independently from the regular OK and ERROR state. + typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true + + # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as + # it will signify success by turning green. + typeset -g POWERLEVEL9K_STATUS_OK=true + typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70 + typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔' + + # Status when some part of a pipe command fails but the overall exit status is zero. It may look + # like this: 1|0. + typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true + typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=70 + typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='✔' + + # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as + # it will signify error by turning red. + typeset -g POWERLEVEL9K_STATUS_ERROR=true + typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160 + typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' + + # Status when the last command was terminated by a signal. + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=160 + # Use terse signal names: "INT" instead of "SIGINT(2)". + typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘' + + # Status when some part of a pipe command fails and the overall exit status is also non-zero. + # It may look like this: 1|0. + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=160 + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' + + ###################[ command_execution_time: duration of the last command ]################### + # Show duration of the last command if takes at least this many seconds. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 + # Show this many fractional digits. Zero means round to seconds. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 + # Execution time color. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=248 + # Duration format: 1d 2h 3m 4s. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' + # Custom icon. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION= + # Custom prefix. + # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%248Ftook ' + + #######################[ background_jobs: presence of background jobs ]####################### + # Don't show the number of background jobs. + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false + # Background jobs color. + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=37 + # Custom icon. + # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ direnv: direnv status (https://direnv.net/) ]######################## + # Direnv color. + typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=178 + # Custom icon. + # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]############### + # Default asdf color. Only used to display tools for which there is no color override (see below). + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_FOREGROUND. + typeset -g POWERLEVEL9K_ASDF_FOREGROUND=66 + + # There are four parameters that can be used to hide asdf tools. Each parameter describes + # conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at + # least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to + # hide a tool, it gets shown. + # + # Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and + # POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands: + # + # asdf local python 3.8.1 + # asdf global python 3.8.1 + # + # After running both commands the current python version is 3.8.1 and its source is "local" as + # it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false, + # it'll hide python version in this case because 3.8.1 is the same as the global version. + # POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't + # contain "local". + + # Hide tool versions that don't come from one of these sources. + # + # Available sources: + # + # - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable" + # - local `asdf current` says "set by /some/not/home/directory/file" + # - global `asdf current` says "set by /home/username/file" + # + # Note: If this parameter is set to (shell local global), it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES. + typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global) + + # If set to false, hide tool versions that are the same as global. + # + # Note: The name of this parameter doesn't reflect its meaning at all. + # Note: If this parameter is set to true, it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW. + typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false + + # If set to false, hide tool versions that are equal to "system". + # + # Note: If this parameter is set to true, it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM. + typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true + + # If set to non-empty value, hide tools unless there is a file matching the specified file pattern + # in the current directory, or its parent directory, or its grandparent directory, and so on. + # + # Note: If this parameter is set to empty value, it won't hide tools. + # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB. + # + # Example: Hide nodejs version when there is no package.json and no *.js files in the current + # directory, in `..`, in `../..` and so on. + # + # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json' + typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB= + + # Ruby version from asdf. + typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=168 + # typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Python version from asdf. + typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=37 + # typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Go version from asdf. + typeset -g POWERLEVEL9K_ASDF_GOLANG_FOREGROUND=37 + # typeset -g POWERLEVEL9K_ASDF_GOLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_GOLANG_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Node.js version from asdf. + typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=70 + # typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Rust version from asdf. + typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=37 + # typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar' + + # .NET Core version from asdf. + typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=134 + # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Flutter version from asdf. + typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=38 + # typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Lua version from asdf. + typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=32 + # typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Java version from asdf. + typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=32 + # typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Perl version from asdf. + typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=67 + # typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Erlang version from asdf. + typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=125 + # typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Elixir version from asdf. + typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=129 + # typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Postgres version from asdf. + typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=31 + # typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar' + + # PHP version from asdf. + typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=99 + # typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Haskell version from asdf. + typeset -g POWERLEVEL9K_ASDF_HASKELL_FOREGROUND=172 + # typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Julia version from asdf. + typeset -g POWERLEVEL9K_ASDF_JULIA_FOREGROUND=70 + # typeset -g POWERLEVEL9K_ASDF_JULIA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_JULIA_SHOW_ON_UPGLOB='*.foo|*.bar' + + ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]########### + # NordVPN connection indicator color. + typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=39 + # Hide NordVPN connection indicator when not connected. + typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION= + typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION= + # Custom icon. + # typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]################## + # Ranger shell color. + typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178 + # Custom icon. + # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### + # Nnn shell color. + typeset -g POWERLEVEL9K_NNN_FOREGROUND=72 + # Custom icon. + # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]################## + # xplr shell color. + typeset -g POWERLEVEL9K_XPLR_FOREGROUND=72 + # Custom icon. + # typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########################[ vim_shell: vim shell indicator (:sh) ]########################### + # Vim shell indicator color. + typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=34 + # Custom icon. + # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]###### + # Midnight Commander shell color. + typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=178 + # Custom icon. + # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]## + # Nix shell color. + typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74 + + # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line. + # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION= + + # Custom icon. + # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################################[ disk_usage: disk usage ]################################## + # Colors for different levels of disk usage. + typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35 + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=220 + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=160 + # Thresholds for different levels of disk usage (percentage points). + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90 + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95 + # If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent. + typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false + # Custom icon. + # typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ vi_mode: vi mode (you don't need this if you've enabled prompt_char) ]########### + # Text and color for normal (a.k.a. command) vi mode. + typeset -g POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL + typeset -g POWERLEVEL9K_VI_MODE_NORMAL_FOREGROUND=106 + # Text and color for visual vi mode. + typeset -g POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL + typeset -g POWERLEVEL9K_VI_MODE_VISUAL_FOREGROUND=68 + # Text and color for overtype (a.k.a. overwrite and replace) vi mode. + typeset -g POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE + typeset -g POWERLEVEL9K_VI_MODE_OVERWRITE_FOREGROUND=172 + # Text and color for insert vi mode. + typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING= + typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=66 + + # Custom icon. + # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################################[ ram: free RAM ]####################################### + # RAM color. + typeset -g POWERLEVEL9K_RAM_FOREGROUND=66 + # Custom icon. + # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################################[ swap: used swap ]###################################### + # Swap color. + typeset -g POWERLEVEL9K_SWAP_FOREGROUND=96 + # Custom icon. + # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################################[ load: CPU load ]###################################### + # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15. + typeset -g POWERLEVEL9K_LOAD_WHICH=5 + # Load color when load is under 50%. + typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=66 + # Load color when load is between 50% and 70%. + typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=178 + # Load color when load is over 70%. + typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=166 + # Custom icon. + # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################ + # Todo color. + typeset -g POWERLEVEL9K_TODO_FOREGROUND=110 + # Hide todo when the total number of tasks is zero. + typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true + # Hide todo when the number of tasks after filtering is zero. + typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false + + # Todo format. The following parameters are available within the expansion. + # + # - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks. + # - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering. + # + # These variables correspond to the last line of the output of `todo.sh -p ls`: + # + # TODO: 24 of 42 tasks shown + # + # Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT. + # + # typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT' + + # Custom icon. + # typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############ + # Timewarrior color. + typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=110 + # If the tracked task is longer than 24 characters, truncate and append "…". + # Tip: To always display tasks without truncation, delete the following parameter. + # Tip: To hide task names and display just the icon when time tracking is enabled, set the + # value of the following parameter to "". + typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+…}' + + # Custom icon. + # typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]############## + # Taskwarrior color. + typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=74 + + # Taskwarrior segment format. The following parameters are available within the expansion. + # + # - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`. + # - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`. + # + # Zero values are represented as empty parameters. + # + # The default format: + # + # '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT' + # + # typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT' + + # Custom icon. + # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################################[ context: user@hostname ]################################## + # Context color when running with privileges. + typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178 + # Context color in SSH without privileges. + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=180 + # Default context color (no privileges, no SSH). + typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=180 + + # Context format when running with privileges: bold user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%B%n@%m' + # Context format when in SSH without privileges: user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m' + # Default context format (no privileges, no SSH): user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m' + + # Don't show context unless running with privileges or in SSH. + # Tip: Remove the next line to always show context. + typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION= + + # Custom icon. + # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + # typeset -g POWERLEVEL9K_CONTEXT_PREFIX='%248Fwith ' + + ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]### + # Python virtual environment color. + typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=37 + # Don't show Python version next to the virtual environment name. + typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false + # If set to "false", won't show virtualenv if pyenv is already shown. + # If set to "if-different", won't show virtualenv if it's the same as pyenv. + typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false + # Separate environment name from Python version only with a space. + typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= + # Custom icon. + # typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################[ anaconda: conda environment (https://conda.io/) ]###################### + # Anaconda environment color. + typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=37 + + # Anaconda segment format. The following parameters are available within the expansion. + # + # - CONDA_PREFIX Absolute path to the active Anaconda/Miniconda environment. + # - CONDA_DEFAULT_ENV Name of the active Anaconda/Miniconda environment. + # - CONDA_PROMPT_MODIFIER Configurable prompt modifier (see below). + # - P9K_ANACONDA_PYTHON_VERSION Current python version (python --version). + # + # CONDA_PROMPT_MODIFIER can be configured with the following command: + # + # conda config --set env_prompt '({default_env}) ' + # + # The last argument is a Python format string that can use the following variables: + # + # - prefix The same as CONDA_PREFIX. + # - default_env The same as CONDA_DEFAULT_ENV. + # - name The last segment of CONDA_PREFIX. + # - stacked_env Comma-separated list of names in the environment stack. The first element is + # always the same as default_env. + # + # Note: '({default_env}) ' is the default value of env_prompt. + # + # The default value of POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION expands to $CONDA_PROMPT_MODIFIER + # without the surrounding parentheses, or to the last path component of CONDA_PREFIX if the former + # is empty. + typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}' + + # Custom icon. + # typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################ + # Pyenv color. + typeset -g POWERLEVEL9K_PYENV_FOREGROUND=37 + # Hide python version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global) + # If set to false, hide python version if it's the same as global: + # $(pyenv version-name) == $(pyenv global). + typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide python version if it's equal to "system". + typeset -g POWERLEVEL9K_PYENV_SHOW_SYSTEM=true + + # Pyenv segment format. The following parameters are available within the expansion. + # + # - P9K_CONTENT Current pyenv environment (pyenv version-name). + # - P9K_PYENV_PYTHON_VERSION Current python version (python --version). + # + # The default format has the following logic: + # + # 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or + # starts with "$P9K_PYENV_PYTHON_VERSION/". + # 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION". + typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}' + + # Custom icon. + # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################ + # Goenv color. + typeset -g POWERLEVEL9K_GOENV_FOREGROUND=37 + # Hide go version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global) + # If set to false, hide go version if it's the same as global: + # $(goenv version-name) == $(goenv global). + typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide go version if it's equal to "system". + typeset -g POWERLEVEL9K_GOENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]########## + # Nodenv color. + typeset -g POWERLEVEL9K_NODENV_FOREGROUND=70 + # Hide node version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global) + # If set to false, hide node version if it's the same as global: + # $(nodenv version-name) == $(nodenv global). + typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide node version if it's equal to "system". + typeset -g POWERLEVEL9K_NODENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]############### + # Nvm color. + typeset -g POWERLEVEL9K_NVM_FOREGROUND=70 + # Custom icon. + # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############ + # Nodeenv color. + typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=70 + # Don't show Node version next to the environment name. + typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false + # Separate environment name from Node version only with a space. + typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER= + # Custom icon. + # typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############################[ node_version: node.js version ]############################### + # Node version color. + typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=70 + # Show node version only when in a directory tree containing package.json. + typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ go_version: go version (https://golang.org) ]######################## + # Go version color. + typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=37 + # Show go version only when in a go project subdirectory. + typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #################[ rust_version: rustc version (https://www.rust-lang.org) ]################## + # Rust version color. + typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=37 + # Show rust version only when in a rust project subdirectory. + typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################ + # .NET version color. + typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=134 + # Show .NET version only when in a .NET project subdirectory. + typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################[ php_version: php version (https://www.php.net/) ]###################### + # PHP version color. + typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=99 + # Show PHP version only when in a PHP project subdirectory. + typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ laravel_version: laravel php framework version (https://laravel.com/) ]########### + # Laravel version color. + typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=161 + # Custom icon. + # typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ####################[ java_version: java version (https://www.java.com/) ]#################### + # Java version color. + typeset -g POWERLEVEL9K_JAVA_VERSION_FOREGROUND=32 + # Show java version only when in a java project subdirectory. + typeset -g POWERLEVEL9K_JAVA_VERSION_PROJECT_ONLY=true + # Show brief version. + typeset -g POWERLEVEL9K_JAVA_VERSION_FULL=false + # Custom icon. + # typeset -g POWERLEVEL9K_JAVA_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]#### + # Package color. + typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=117 + # Package format. The following parameters are available within the expansion. + # + # - P9K_PACKAGE_NAME The value of `name` field in package.json. + # - P9K_PACKAGE_VERSION The value of `version` field in package.json. + # + # typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}' + # Custom icon. + # typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]############## + # Rbenv color. + typeset -g POWERLEVEL9K_RBENV_FOREGROUND=168 + # Hide ruby version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global) + # If set to false, hide ruby version if it's the same as global: + # $(rbenv version-name) == $(rbenv global). + typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide ruby version if it's equal to "system". + typeset -g POWERLEVEL9K_RBENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ rvm: ruby version from rvm (https://rvm.io) ]######################## + # Rvm color. + typeset -g POWERLEVEL9K_RVM_FOREGROUND=168 + # Don't show @gemset at the end. + typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false + # Don't show ruby- at the front. + typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false + # Custom icon. + # typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############ + # Fvm color. + typeset -g POWERLEVEL9K_FVM_FOREGROUND=38 + # Custom icon. + # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]########### + # Lua color. + typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=32 + # Hide lua version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global) + # If set to false, hide lua version if it's the same as global: + # $(luaenv version-name) == $(luaenv global). + typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide lua version if it's equal to "system". + typeset -g POWERLEVEL9K_LUAENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################ + # Java color. + typeset -g POWERLEVEL9K_JENV_FOREGROUND=32 + # Hide java version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global) + # If set to false, hide java version if it's the same as global: + # $(jenv version-name) == $(jenv global). + typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide java version if it's equal to "system". + typeset -g POWERLEVEL9K_JENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############ + # Perl color. + typeset -g POWERLEVEL9K_PLENV_FOREGROUND=67 + # Hide perl version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global) + # If set to false, hide perl version if it's the same as global: + # $(plenv version-name) == $(plenv global). + typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide perl version if it's equal to "system". + typeset -g POWERLEVEL9K_PLENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############ + # PHP color. + typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99 + # Hide php version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global) + # If set to false, hide php version if it's the same as global: + # $(phpenv version-name) == $(phpenv global). + typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide php version if it's equal to "system". + typeset -g POWERLEVEL9K_PHPENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######[ scalaenv: scala version from scalaenv (https://github.com/scalaenv/scalaenv) ]####### + # Scala color. + typeset -g POWERLEVEL9K_SCALAENV_FOREGROUND=160 + # Hide scala version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_SCALAENV_SOURCES=(shell local global) + # If set to false, hide scala version if it's the same as global: + # $(scalaenv version-name) == $(scalaenv global). + typeset -g POWERLEVEL9K_SCALAENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide scala version if it's equal to "system". + typeset -g POWERLEVEL9K_SCALAENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_SCALAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]########### + # Haskell color. + typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=172 + # Hide haskell version if it doesn't come from one of these sources. + # + # shell: version is set by STACK_YAML + # local: version is set by stack.yaml up the directory tree + # global: version is set by the implicit global project (~/.stack/global-project/stack.yaml) + typeset -g POWERLEVEL9K_HASKELL_STACK_SOURCES=(shell local) + # If set to false, hide haskell version if it's the same as in the implicit global project. + typeset -g POWERLEVEL9K_HASKELL_STACK_ALWAYS_SHOW=true + # Custom icon. + # typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ terraform: terraform workspace (https://www.terraform.io) ]################# + # Don't show terraform workspace if it's literally "default". + typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false + # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current terraform workspace gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' OTHER) + # + # If your current terraform workspace is "project_test", its class is TEST because "project_test" + # doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' OTHER) + typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38 + # typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ terraform_version: terraform version (https://www.terraform.io) ]############## + # Terraform version color. + typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=38 + # Custom icon. + # typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# + # Show kubecontext only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show kubecontext. + typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern' + + # Kubernetes context classes for the purpose of using different colors, icons and expansions with + # different contexts. + # + # POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current kubernetes context gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_KUBECONTEXT_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' DEFAULT) + # + # If your current kubernetes context is "deathray-testing/default", its class is TEST + # because "deathray-testing/default" doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=134 + # typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext + # segment. Parameter expansions are very flexible and fast, too. See reference: + # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. + # + # Within the expansion the following parameters are always available: + # + # - P9K_CONTENT The content that would've been displayed if there was no content + # expansion defined. + # - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the + # output of `kubectl config get-contexts`. + # - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the + # output of `kubectl config get-contexts`. + # - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE + # in the output of `kubectl config get-contexts`. If there is no + # namespace, the parameter is set to "default". + # - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the + # output of `kubectl config get-contexts`. + # + # If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS), + # the following extra parameters are available: + # + # - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks". + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID. + # - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone. + # - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster. + # + # P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example, + # if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01": + # + # - P9K_KUBECONTEXT_CLOUD_NAME=gke + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account + # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a + # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 + # + # If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01": + # + # - P9K_KUBECONTEXT_CLOUD_NAME=eks + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012 + # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1 + # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION= + # Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME. + POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}' + # Append the current context's namespace if it's not "default". + POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}' + + # Custom prefix. + # typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%248Fat ' + + #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# + # Show aws only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show aws. + typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt' + + # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current AWS profile gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_AWS_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' DEFAULT) + # + # If your current AWS profile is "company_test", its class is TEST + # because "company_test" doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_AWS_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_AWS_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208 + # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # AWS segment format. The following parameters are available within the expansion. + # + # - P9K_AWS_PROFILE The name of the current AWS profile. + # - P9K_AWS_REGION The region associated with the current AWS profile. + typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}' + + #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]# + # AWS Elastic Beanstalk environment color. + typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70 + # Custom icon. + # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## + # Show azure only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show azure. + typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' + # Azure account name color. + typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32 + # Custom icon. + # typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### + # Show gcloud only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show gcloud. + typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs' + # Google cloud color. + typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32 + + # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or + # POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative + # enough. You can use the following parameters in the expansions. Each of them corresponds to the + # output of `gcloud` tool. + # + # Parameter | Source + # -------------------------|-------------------------------------------------------------------- + # P9K_GCLOUD_CONFIGURATION | gcloud config configurations list --format='value(name)' + # P9K_GCLOUD_ACCOUNT | gcloud config get-value account + # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project + # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)' + # + # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced with '%%'. + # + # Obtaining project name requires sending a request to Google servers. This can take a long time + # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud + # prompt segment is in state PARTIAL. When project name gets known, P9K_GCLOUD_PROJECT_NAME gets + # set and gcloud prompt segment transitions to state COMPLETE. + # + # You can customize the format, icon and colors of gcloud segment separately for states PARTIAL + # and COMPLETE. You can also hide gcloud in state PARTIAL by setting + # POWERLEVEL9K_GCLOUD_PARTIAL_VISUAL_IDENTIFIER_EXPANSION and + # POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION to empty. + typeset -g POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_ID//\%/%%}' + typeset -g POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_NAME//\%/%%}' + + # Send a request to Google (by means of `gcloud projects describe ...`) to obtain project name + # this often. Negative value disables periodic polling. In this mode project name is retrieved + # only when the current configuration, account or project id changes. + typeset -g POWERLEVEL9K_GCLOUD_REFRESH_PROJECT_NAME_SECONDS=60 + + # Custom icon. + # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# + # Show google_app_cred only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show google_app_cred. + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt' + + # Google application credentials classes for the purpose of using different colors, icons and + # expansions with different credentials. + # + # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first + # element in each pair defines a pattern against which the current kubernetes context gets + # matched. More specifically, it's P9K_CONTENT prior to the application of context expansion + # (see below) that gets matched. If you unset all POWERLEVEL9K_GOOGLE_APP_CRED_*CONTENT_EXPANSION + # parameters, you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order. + # The first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( + # '*:*prod*:*' PROD + # '*:*test*:*' TEST + # '*' DEFAULT) + # + # If your current Google application credentials is "service_account deathray-testing x@y.com", + # its class is TEST because it doesn't match the pattern '* *prod* *' but does match '* *test* *'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID' + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( + # '*:*prod*:*' PROD # These values are examples that are unlikely + # '*:*test*:*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=32 + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by + # google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference: + # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. + # + # You can use the following parameters in the expansion. Each of them corresponds to one of the + # fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS. + # + # Parameter | JSON key file field + # ---------------------------------+--------------- + # P9K_GOOGLE_APP_CRED_TYPE | type + # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id + # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email + # + # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'. + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}' + + ###############################[ public_ip: public IP address ]############################### + # Public IP color. + typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94 + # Custom icon. + # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ########################[ vpn_ip: virtual private network indicator ]######################### + # VPN IP color. + typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=81 + # When on VPN, show just an icon without the IP address. + # Tip: To display the private IP address when on VPN, remove the next line. + typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= + # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN + # to see the name of the interface. + typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*' + # If set to true, show one segment per matching network interface. If set to false, show only + # one segment corresponding to the first matching network interface. + # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. + typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false + # Custom icon. + # typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ ip: ip address and bandwidth usage for a specified network interface ]########### + # IP color. + typeset -g POWERLEVEL9K_IP_FOREGROUND=38 + # The following parameters are accessible within the expansion: + # + # Parameter | Meaning + # ----------------------+------------------------------------------- + # P9K_IP_IP | IP address + # P9K_IP_INTERFACE | network interface + # P9K_IP_RX_BYTES | total number of bytes received + # P9K_IP_TX_BYTES | total number of bytes sent + # P9K_IP_RX_BYTES_DELTA | number of bytes received since last prompt + # P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt + # P9K_IP_RX_RATE | receive rate (since last prompt) + # P9K_IP_TX_RATE | send rate (since last prompt) + typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+%70F⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+%215F⇡$P9K_IP_TX_RATE }%38F$P9K_IP_IP' + # Show information for the first network interface whose name matches this regular expression. + # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces. + typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*' + # Custom icon. + # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #########################[ proxy: system-wide http/https/ftp proxy ]########################## + # Proxy color. + typeset -g POWERLEVEL9K_PROXY_FOREGROUND=68 + # Custom icon. + # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################################[ battery: internal battery ]################################# + # Show battery in red when it's below this level and not connected to power supply. + typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20 + typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=160 + # Show battery in green when it's charging or fully charged. + typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=70 + # Show battery in yellow when it's discharging. + typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178 + # Battery pictograms going from low to high level of charge. + typeset -g POWERLEVEL9K_BATTERY_STAGES='\uf58d\uf579\uf57a\uf57b\uf57c\uf57d\uf57e\uf57f\uf580\uf581\uf578' + # Don't show the remaining time to charge/discharge. + typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false + + #####################################[ wifi: wifi speed ]##################################### + # WiFi color. + typeset -g POWERLEVEL9K_WIFI_FOREGROUND=68 + # Custom icon. + # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use different colors and icons depending on signal strength ($P9K_WIFI_BARS). + # + # # Wifi colors and icons for different signal strength levels (low to high). + # typeset -g my_wifi_fg=(68 68 68 68 68) # <-- change these values + # typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values + # + # typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps' + # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}' + # + # The following parameters are accessible within the expansions: + # + # Parameter | Meaning + # ----------------------+--------------- + # P9K_WIFI_SSID | service set identifier, a.k.a. network name + # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown + # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second + # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0 + # P9K_WIFI_NOISE | noise in dBm, from -120 to 0 + # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE) + + ####################################[ time: current time ]#################################### + # Current time color. + typeset -g POWERLEVEL9K_TIME_FOREGROUND=66 + # Format for the current time: 09:51:02. See `man 3 strftime`. + typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}' + # If set to true, time will update when you hit enter. This way prompts for the past + # commands will contain the start times of their commands as opposed to the default + # behavior where they contain the end times of their preceding commands. + typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false + # Custom icon. + typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION= + # Custom prefix. + # typeset -g POWERLEVEL9K_TIME_PREFIX='%248Fat ' + + # Example of a user-defined prompt segment. Function prompt_example will be called on every + # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or + # POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and orange text greeting the user. + # + # Type `p10k help segment` for documentation and a more sophisticated example. + function prompt_example() { + p10k segment -f 208 -i '⭐' -t 'hello, %n' + } + + # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job + # is to generate the prompt segment for display in instant prompt. See + # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # + # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function + # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k + # will replay these calls without actually calling instant_prompt_*. It is imperative that + # instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this + # rule is not observed, the content of instant prompt will be incorrect. + # + # Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If + # instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt. + function instant_prompt_example() { + # Since prompt_example always makes the same `p10k segment` calls, we can call it from + # instant_prompt_example. This will give us the same `example` prompt segment in the instant + # and regular prompts. + prompt_example + } + + # User-defined prompt segments can be customized the same way as built-in segments. + # typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=208 + # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt + # when accepting a command line. Supported values: + # + # - off: Don't change prompt when accepting a command line. + # - always: Trim down prompt when accepting a command line. + # - same-dir: Trim down prompt when accepting a command line unless this is the first command + # typed after changing current working directory. + typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always + + # Instant prompt mode. + # + # - off: Disable instant prompt. Choose this if you've tried instant prompt and found + # it incompatible with your zsh configuration files. + # - quiet: Enable instant prompt and don't print warnings when detecting console output + # during zsh initialization. Choose this if you've read and understood + # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # - verbose: Enable instant prompt and print a warning when detecting console output during + # zsh initialization. Choose this if you've never tried instant prompt, haven't + # seen the warning, or if you are unsure what this all means. + typeset -g POWERLEVEL9K_INSTANT_PROMPT=verbose + + # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized. + # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload + # can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you + # really need it. + typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true + + # If p10k is already loaded, reload configuration. + # This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true. + (( ! $+functions[p10k] )) || p10k reload +} + +# Tell `p10k configure` which file it should overwrite. +typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a} + +(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]} +'builtin' 'unset' 'p10k_config_opts' diff --git a/dotfiles/.ssh/config b/dotfiles/.ssh/config new file mode 100644 index 0000000..9ccd1c6 --- /dev/null +++ b/dotfiles/.ssh/config @@ -0,0 +1,13 @@ +Host github.com + HostName github.com + User git + IdentityFile ~/.ssh/id_ed25519_personal + IdentitiesOnly yes + IdentityAgent SSH_AUTH_SOCK + +Host itba.github.com + HostName github.com + User git + IdentityFile ~/.ssh/id_ed25519_itba + IdentitiesOnly yes + IdentityAgent SSH_AUTH_SOCK diff --git a/dotfiles/.xinitrc b/dotfiles/.xinitrc new file mode 100644 index 0000000..f120e46 --- /dev/null +++ b/dotfiles/.xinitrc @@ -0,0 +1,61 @@ +# Night light +redshift -P -O 2750 & + +# Disable mouse acceleration +xset m 0 0 + +# Restore wallpaper +nitrogen --restore & + +# Run dwmblocks +dwmblocks & + +# Launch dunst +dunst & + +# Launch time calibration +#~/.local/bin/timeCalibration & + +# Launch clipboard daemon +clipmenud & + +# Turn on numlock key: https://unix.stackexchange.com/a/607769 +#numlockx on + +# Hides mouse +unclutter & + +# Compositor +picom & +#picom --experimental-backends & +#xcompmgr -c & +#xcompmgr -c -C -t-5 -l-5 -r4.2 -o.55 & + +# For java starting as blank windows +#wmname LG3D + +# Sound configuration +~/.local/bin/sound & + +# For screenshots +flameshot & + +# Faster scrolling +imwheel -b 45 + +# Use AltGr as mod key for dwm +#xmodmap -e "remove mod5 = ISO_Level3_Shift" +#xmodmap -e "add mod1 = ISO_Level3_Shift" + +#~/.local/bin/screen & + +# Move mouse focus to middle of first screen +xdotool mousemove --sync --screen=$1 960 500 + +# Start GNOME keyring +dbus-update-activation-environment --systemd DISPLAY +eval $(gnome-keyring-daemon --start) +export SSH_AUTH_SOCK + +#exec dwm +exec $HOME/.local/bin/startdwm diff --git a/dotfiles/.zprofile b/dotfiles/.zprofile new file mode 100644 index 0000000..ef51413 --- /dev/null +++ b/dotfiles/.zprofile @@ -0,0 +1,14 @@ +# Runs only once https://unix.stackexchange.com/questions/71253/what-should-shouldnt-go-in-zshenv-zshrc-zlogin-zprofile-zlogout + +source ~/.zshrc_exports + +if ! echo $PATH | grep -q "$HOME/.local/bin"; then + export PATH=$PATH:$HOME/.local/bin +fi + +export PATH=$PATH:$HOME/.local/share/gem/ruby/3.0.0/bin + +if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then + exec startx + #ssh-agent startx +fi diff --git a/dotfiles/.zshrc b/dotfiles/.zshrc new file mode 100644 index 0000000..855a5e7 --- /dev/null +++ b/dotfiles/.zshrc @@ -0,0 +1,117 @@ +# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. +# Initialization code that may require console input (password prompts, [y/n] +# confirmations, etc.) must go above this block; everything else may go below. +if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" +fi + +# History in cache directory: +HISTSIZE=10000 +SAVEHIST=10000 +HISTFILE=~/.cache/zsh/.histfile + +# Path to your oh-my-zsh installation. +export ZSH="/usr/share/oh-my-zsh" + +#ZSH_THEME="pmcgee" +ZSH_CUSTOM="/usr/share" +ZSH_THEME="zsh-theme-powerlevel10k/powerlevel10k" + +# Uncomment the following line to use case-sensitive completion. +# CASE_SENSITIVE="true" + +# Uncomment the following line to use hyphen-insensitive completion. +# Case-sensitive completion must be off. _ and - will be interchangeable. +# HYPHEN_INSENSITIVE="true" + +# Uncomment the following line if pasting URLs and other text is messed up. +# DISABLE_MAGIC_FUNCTIONS="true" + +# Uncomment the following line to disable auto-setting terminal title. +# DISABLE_AUTO_TITLE="true" + +# Uncomment the following line to enable command auto-correction. +ENABLE_CORRECTION="true" + +# Uncomment the following line to display red dots whilst waiting for completion. +# COMPLETION_WAITING_DOTS="true" + +# Uncomment the following line if you want to disable marking untracked files +# under VCS as dirty. This makes repository status check for large repositories +# much, much faster. +# DISABLE_UNTRACKED_FILES_DIRTY="true" + +# Would you like to use another custom folder than $ZSH/custom? +# ZSH_CUSTOM=/path/to/new-custom-folder + +# Standard plugins can be found in $ZSH/plugins/ +# Custom plugins may be added to $ZSH_CUSTOM/plugins/ +#plugins=(git vi-mode zsh-autosuggestions) +plugins=(git vi-mode) + +source $ZSH/oh-my-zsh.sh + +# For vi mode +bindkey -v + +# Change cursor shape for different vi modes. +function zle-keymap-select { + if [[ ${KEYMAP} == vicmd ]] || + [[ $1 = 'block' ]]; then + echo -ne '\e[1 q' + elif [[ ${KEYMAP} == main ]] || + [[ ${KEYMAP} == viins ]] || + [[ ${KEYMAP} = '' ]] || + [[ $1 = 'beam' ]]; then + echo -ne '\e[5 q' + fi +} + +zle -N zle-keymap-select + +zle-line-init() { + zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere) + echo -ne "\e[5 q" + + # https://git.suckless.org/st/file/FAQ.html -> Why doesn't the Del key work in some programs? + echoti smkx +} + +zle -N zle-line-init + +echo -ne '\e[5 q' # Use beam shape cursor on startup. +preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt. + +# Edit in vim: https://unix.stackexchange.com/a/90529 +export VISUAL="nvim" +autoload edit-command-line; zle -N edit-command-line +bindkey '^E' edit-command-line + +# Search through history +autoload -U history-search-end +zle -N history-beginning-search-backward-end history-search-end +zle -N history-beginning-search-forward-end history-search-end +bindkey "^[[A" history-beginning-search-backward-end +bindkey "^[[B" history-beginning-search-forward-end + +# https://git.suckless.org/st/file/FAQ.html -> Why doesn't the Del key work in some programs? +#function zle-line-init () { echoti smkx } +function zle-line-finish () { echoti rmkx } +#zle -N zle-line-init +zle -N zle-line-finish + +# Loads aliases +source ~/.zshrc_aliases + +# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. +[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh + +#eval `keychain` + +#if [ -z ${SSH_AGENT_PID+x} ]; then +# eval `keychain --eval --noask --quiet --agents` +# eval `keychain --eval --noask --quiet --agents` +#fi + +bindkey -s '^f' 'cd "$(dirname "$(fzf)")"\n' +bindkey -s '^o' 'xdg-open "$(fzf)"\n' diff --git a/dotfiles/.zshrc_aliases b/dotfiles/.zshrc_aliases new file mode 100644 index 0000000..4c984d9 --- /dev/null +++ b/dotfiles/.zshrc_aliases @@ -0,0 +1,309 @@ +#!/bin/sh + +alias ll='ls -l' +alias la='ls -A' +alias l='ls -CF' +alias lh='ls -lh' + +alias vim='nvim' +alias svim='sudo nvim' + +alias ga='git add' +alias gaa='git add .' +alias gaaa='git add -A' +alias gc='git commit' +alias gcm='git commit -m' +alias gd='git diff' +alias gi='git init' +alias gl='git log' +alias gp='git pull' +alias gpsh='git push' +alias gss='git status -s' +# Undo commit (https://stackoverflow.com/questions/2845731/how-to-uncommit-my-last-commit-in-git) +alias gundo='git reset --soft HEAD~1' +alias gck='git checkout' + +gamp() { + git add . + local var="$@" + git commit -m "$var" + git push +} + +alias exiftcl='exiftool -all=' +alias exift='exiftool' + +alias upgraded='grep -i upgraded /var/log/pacman.log | tac | less' +alias installed='grep -i installed /var/log/pacman.log | tac | less' + +# https://archlinux.org/mirrorlist/ +alias mirrors='reflector --country Brazil,Chile,Colombia --protocol https --sort rate --save /etc/pacman.d/mirrorlist' + +# https://stackoverflow.com/questions/9449778/what-is-the-benefit-of-using-instead-of-backticks-in-shell-scripts# +alias open='xdg-open $(fzf)' +alias o='xdg-open' + +alias zat='zathura --fork' + +alias trash-dir='cd $HOME/.local/share/Trash' + +#alias fd='cd "$(dirname "$(fzf)")"' + +alias val='valgrind --leak-check=full ./listdir prueba/ > valgrind.output 2>&1' + +alias pampero='ssh slococo@pampero.it.itba.edu.ar' + +alias bd='systemctl start postgresql.service' + +function compile() { + sudo make clean && sudo make install +} + +function rcomp() { + local file="${1//.rmd/}" + R -e "rmarkdown::render('$file.rmd', 'pdf_document')" && op $file.pdf +} + +function cl() { + nasm -f elf $1 + local program="${1//.asm/}" + ld -melf_i386 $program.o -o $program + if [[ $# -ge 3 ]]; then + ./$program "${@:3}" + else + ./$program + fi +} + +function cld() { + nasm -f elf $1 && nasm -f elf $2 + local program="${1//.asm/}" + local library="${2//.asm/}" + ld -melf_i386 $program.o $library.o -o $program + if [[ $# -ge 3 ]]; then + ./$program "${@:3}" + else + ./$program + fi +} + +function asc() { + nasm -f elf32 $1 + gcc -c -m32 $2 + local assem="${1//.asm/}" + local cprog="${2//.c/}" + gcc -m32 -no-pie $assem.o $cprog.o -o $assem + if [[ $# -ge 3 ]]; then + ./$assem "${@:3}" + else + ./$assem + fi +} + +function ascn() { + nasm -f elf32 $1 + local assem="${1//.asm/}" + gcc -m32 -no-pie $assem.o -o $assem + if [[ $# -ge 2 ]]; then + ./$assem "${@:2}" + else + ./$assem + fi +} + +function ascld() { + nasm -f elf32 $1 + gcc -c -m32 $2 + local assem="${1//.asm/}" + local cprog="${2//.c/}" + ld -melf_i386 $assem.o $cprog.o -o $assem + if [[ $# -ge 3 ]]; then + ./$assem "${@:3}" + else + ./$assem + fi +} + +function gci() { + echo "Copy after 'git@github.com:'" + git clone git@itba.github.com:$1 +} + +function gcir() { + echo "Copy after 'git@github.com:'" + git remote add origin git@itba.github.com:$1 +} + +function gcn() { + echo "Copy after 'git@github.com:'" + git clone git@github.com:$1 +} + +function gcin() { + echo "Copy after 'git@github.com:'" + git remote add origin git@github.com:$1 +} + +# Start an ssh-agent and run KeePass in order to cache the ssh passwords +function gith() { + #eval $(ssh-agent) + keepass & + ~/.local/bin/waitForSSH & +} + +# https://vsupalov.com/docker-shared-permissions/ +# https://medium.com/redbubble/running-a-docker-container-as-a-non-root-user-7d2e00f8ee15 +#alias dcom='docker run -v ${PWD}:/root -ti -w /root agodio/itba-so:1.0 ${1}' +#alias dcom='docker run -v ${PWD}:/root --security-opt seccomp:unconfined -ti agodio/itba-so:1.0' +alias dcom='docker run -v ${PWD}:/root --security-opt seccomp:unconfined --user $(id -u):$(id -g) -w /root -ti agodio/itba-so:1.0' +#alias dcom='docker run -v ${PWD}:/root --security-opt seccomp:unconfined --user $(id -u):$(id -g) -w /root --name TPE-ARQUI -ti agodio/itba-so:1.0' + +alias dcr='checkIfStarted' + +function dcreate() { + echo "Do you want to create a container with root or user (as the owner)?" + chosen=$(echo "root\nuser" | dmenu) + echo "Enter a name for the container" + read name + if [ $chosen = "root" ]; then + docker run -v ${PWD}:/root --security-opt seccomp:unconfined -w /root --name $name -ti agodio/itba-so:1.0 + else + docker run -v ${PWD}:/root --security-opt seccomp:unconfined --user $(id -u):$(id -g) -w /root --name $name -ti agodio/itba-so:1.0 + fi +} + +function checkIfStarted() { + if systemctl status docker | grep -q "inactive"; then + systemctl start docker + fi +} + +# https://stackoverflow.com/a/61390489 +function docom() { + local dockerID=`docker ps -l -q` + docker start $dockerID > /dev/null + docker exec -it $dockerID $@ + docker stop $dockerID > /dev/null +} + +function dcrun() { + local dockerID=`docker ps -l -q` + docker start $dockerID > /dev/null + docker exec -it $dockerID bash -c 'make all 2>&1 1>/dev/null | grep --color -iP "\^|warning:|error:|"' + docker stop $dockerID > /dev/null + ./run.sh +} + +function dcmake() { + local dockerID=`docker ps -l -q` + docker start $dockerID > /dev/null + docker exec -it $dockerID bash -c 'make all 2>&1 1>/dev/null | grep --color -iP "\^|warning:|error:|"' + docker stop $dockerID > /dev/null +} + +function dcstacho() { + checkIfStarted + #echo `docker ps -a | awk '{ print $12 }'` + #read line + #if [ $line -eq 2 ]; then + # local dockerID=`docker ps -a | awk 'NR==2 { print $12 }'` + #else + # local dockerID=`docker ps -a | awk 'NR==3 { print $12 }'` + #fi + #local dockerID=$(docker ps -a | awk -F"\t" '{print $12}' | tail -n +2 | dmenu) + local dockerID=$(docker ps -a --format "{{.Names}}" | dmenu) + docker start $dockerID > /dev/null + #docker exec -it $dockerID bash -c 'make all 2>&1 1>/dev/null | grep --color -iP "\^|warning:|error:|"' + #docker stop $dockerID > /dev/null + #./run.sh + docker start $dockerID > /dev/null + docker exec -it $dockerID bash $@ +} + +function dcruntpe() { + checkIfStarted + local dockerID='TPE-ARQUI' + docker start $dockerID > /dev/null + docker exec -it $dockerID bash -c 'make all 2>&1 1>/dev/null | grep --color -iP "\^|warning:|error:|"' + docker stop $dockerID > /dev/null + ./run.sh +} + +function dcgdbtpe() { + checkIfStarted + local dockerID='TPE-ARQUI-GDB' + docker start $dockerID > /dev/null + docker exec -it $dockerID bash -c 'make all 2>&1 1>/dev/null | grep --color -iP "\^|warning:|error:|"' + docker stop $dockerID > /dev/null + ./run.sh gdb +} + +function dcstatpe() { + checkIfStarted + local dockerID='TPE-ARQUI-GDB' + docker start $dockerID > /dev/null + docker exec -it $dockerID bash $@ +} + +function dcstotpe() { + local dockerID='TPE-ARQUI-GDB' + docker stop $dockerID > /dev/null +} + +function dcstatpe2() { + checkIfStarted + local dockerID='TPE-ARQUI' + docker start $dockerID > /dev/null + docker exec -it $dockerID bash $@ +} + +function dcsta() { + checkIfStarted + #local dockerID=`docker ps -l -q` + local dockerID=`docker ps -l` + docker start $dockerID > /dev/null + docker exec -it $dockerID bash $@ +} + +function dcsto() { + local dockerID=`docker ps -l -q` + docker stop $dockerID > /dev/null +} + +function extract { + if [ -z "$1" ]; then + echo "Usage: extract ." + else + if [ -f $1 ] ; then + case $1 in + *.tar.bz2) tar xvjf ../$1 ;; + *.tar.gz) tar xvzf ../$1 ;; + *.tar.xz) tar xvJf ../$1 ;; + *.lzma) unlzma ../$1 ;; + *.bz2) bunzip2 ../$1 ;; + *.rar) unrar x -ad ../$1 ;; + *.gz) gunzip ../$1 ;; + *.tar) tar xvf ../$1 ;; + *.tbz2) tar xvjf ../$1 ;; + *.tgz) tar xvzf ../$1 ;; + *.zip) unzip ../$1 ;; + *.Z) uncompress ../$1 ;; + *.7z) 7z x ../$1 ;; + *.xz) unxz ../$1 ;; + *.exe) cabextract ../$1 ;; + *) echo "extract: '$1' - unknown archive method" ;; + esac + else + echo "$1 - file does not exist" + fi + fi +} + +function maketar() { + tar cvzf "${1%%/}.tar.gz" "${1%%/}/" +} + +function makezip() { + zip -r "${1%%/}.zip" "$1" +} + diff --git a/dotfiles/.zshrc_exports b/dotfiles/.zshrc_exports new file mode 100644 index 0000000..d7002e5 --- /dev/null +++ b/dotfiles/.zshrc_exports @@ -0,0 +1,22 @@ +export TERM=st-256color +export TERMINAL=st + +export GOPATH=$HOME/.config/go + +export CM_SELECTIONS="clipboard" +export CM_DEBUG=1 +export CM_OUTPUT_CLIP=0 +export CM_MAX_CLIPS=10 +# REGEX. For example, "Bitwarden|Chromium" +export CM_IGNORE_WINDOW="Bitwarden" + +export _JAVA_AWT_WM_NONREPARENTING=1 +export PAGER='nvimpager -p' +#export PAGER='vimpager' + +export R_HOME_USER=$HOME/.config/R +export R_PROFILE_USER=$HOME/.config/R/.Rprofile +export R_LIBS_USER=$HOME/.config/R/library +export R_HISTFILE=$HOME/.config/R/.Rhistory + +export QT_QPA_PLATFORMTHEME=gtk2 diff --git a/dotfiles/other/etc/X11/xorg.conf.d/00-keyboard.conf b/dotfiles/other/etc/X11/xorg.conf.d/00-keyboard.conf new file mode 100644 index 0000000..2407d78 --- /dev/null +++ b/dotfiles/other/etc/X11/xorg.conf.d/00-keyboard.conf @@ -0,0 +1,7 @@ +Section "InputClass" + Identifier "Keyboard0" + MatchIsKeyboard "on" + Option "XkbLayout" "us" + Option "XkbModel" "pc105" + Option "XkbVariant" "intl-unicode" +EndSection diff --git a/dotfiles/other/etc/X11/xorg.conf.d/10-monitor.conf b/dotfiles/other/etc/X11/xorg.conf.d/10-monitor.conf new file mode 100644 index 0000000..6db0858 --- /dev/null +++ b/dotfiles/other/etc/X11/xorg.conf.d/10-monitor.conf @@ -0,0 +1,25 @@ +Section "Monitor" + Identifier "DVI" + ModelName "LG Electronics MP59G" + HorizSync 30.0 - 85.0 + VertRefresh 40.0 - 75.0 + Option "DPMS" +EndSection + +Section "Screen" + Identifier "Screen0" + Device "Device0" + Monitor "DVI" + DefaultDepth 24 + Option "Stereo" "0" + Option "nvidiaXineramaInfoOrder" "DFP-0" + #Option "metamodes" "nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}" + Option "metamodes" "DVI-D-0: nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, HDMI-0: nvidia-auto-select +1920+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}" + #Option "metamodes" "HDMI-0: nvidia-auto-select +1920+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, DVI-D-0: nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}" + Option "SLI" "Off" + Option "MultiGPU" "Off" + Option "BaseMosaic" "off" + SubSection "Display" + Depth 24 + EndSubSection +EndSection diff --git a/dotfiles/other/etc/X11/xorg.conf.d/12-module.conf b/dotfiles/other/etc/X11/xorg.conf.d/12-module.conf new file mode 100644 index 0000000..894b297 --- /dev/null +++ b/dotfiles/other/etc/X11/xorg.conf.d/12-module.conf @@ -0,0 +1,7 @@ +Section "Module" + Load "dbe" + Load "extmod" + Load "type1" + Load "freetype" + Load "glx" +EndSection diff --git a/dotfiles/other/etc/X11/xorg.conf.d/15-server.conf b/dotfiles/other/etc/X11/xorg.conf.d/15-server.conf new file mode 100644 index 0000000..80e007e --- /dev/null +++ b/dotfiles/other/etc/X11/xorg.conf.d/15-server.conf @@ -0,0 +1,12 @@ +Section "ServerLayout" + Identifier "Layout0" + Screen 0 "Screen0" 0 0 + Option "Xinerama" "0" +EndSection + +Section "ServerFlags" + Option "StandbyTime" "0" + Option "SuspendTime" "0" + Option "OffTime" "0" + Option "BlankTime" "0" +EndSection diff --git a/dotfiles/other/etc/X11/xorg.conf.d/5-device.conf b/dotfiles/other/etc/X11/xorg.conf.d/5-device.conf new file mode 100644 index 0000000..b4a52be --- /dev/null +++ b/dotfiles/other/etc/X11/xorg.conf.d/5-device.conf @@ -0,0 +1,6 @@ +Section "Device" + Identifier "Device0" + Driver "nvidia" + VendorName "NVIDIA Corporation" + BoardName "NVIDIA GeForce GTX 1060 6GB" +EndSection diff --git a/sadedot b/sadedot index c93f4e9..8a98974 160000 --- a/sadedot +++ b/sadedot @@ -1 +1 @@ -Subproject commit c93f4e933e5c447ccc2b632c4dc54e47c3e1813a +Subproject commit 8a989748af68381c938235b2a5bd21d1e9e03b7e