Browse Source

Actualizaciones menores

master
Luis 2 months ago
parent
commit
66644fbff8
  1. 0
      .Xresources
  2. 28
      .aliases
  3. 8
      .config/QtProject.conf
  4. 415
      .config/dunst/dunstrc
  5. 11
      .config/gtk-2.0/gtkfilechooser.ini
  6. 16
      .config/gtk-3.0/settings.ini
  7. BIN
      .config/libreoffice/4/user/autocorr/acor_es-ES.dat
  8. BIN
      .config/libreoffice/4/user/autotext/mytexts.bau
  9. 24
      .config/libreoffice/4/user/basic/Standard/Module1.xba
  10. 3
      .config/libreoffice/4/user/basic/Standard/dialog.xlb
  11. 5
      .config/libreoffice/4/user/basic/Standard/script.xlb
  12. 5
      .config/libreoffice/4/user/basic/dialog.xlc
  13. 5
      .config/libreoffice/4/user/basic/script.xlc
  14. BIN
      .config/libreoffice/4/user/config/autotbl.fmt
  15. 2
      .config/libreoffice/4/user/config/fontnameboxmruentries
  16. 13204
      .config/libreoffice/4/user/config/soffice.cfg/modules/swriter/ui/notebookbar_groupedbar_compact.ui
  17. BIN
      .config/libreoffice/4/user/database/biblio.odb
  18. BIN
      .config/libreoffice/4/user/database/biblio/biblio.dbf
  19. BIN
      .config/libreoffice/4/user/database/biblio/biblio.dbt
  20. BIN
      .config/libreoffice/4/user/database/evolocal.odb
  21. 1
      .config/libreoffice/4/user/extensions/buildid
  22. 1
      .config/libreoffice/4/user/extensions/bundled/lastsynchronized
  23. 2
      .config/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml
  24. 2
      .config/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml
  25. 1
      .config/libreoffice/4/user/extensions/shared/lastsynchronized
  26. 2
      .config/libreoffice/4/user/extensions/shared/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml
  27. 2
      .config/libreoffice/4/user/extensions/shared/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml
  28. 2
      .config/libreoffice/4/user/extensions/tmp/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml
  29. 2
      .config/libreoffice/4/user/extensions/tmp/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml
  30. BIN
      .config/libreoffice/4/user/gallery/sg30.sdv
  31. BIN
      .config/libreoffice/4/user/gallery/sg30.thm
  32. BIN
      .config/libreoffice/4/user/pack/ExtensionInfo.pack
  33. BIN
      .config/libreoffice/4/user/pack/autocorr/acor_es-ES.pack
  34. BIN
      .config/libreoffice/4/user/pack/autotext/mytexts.pack
  35. BIN
      .config/libreoffice/4/user/pack/basic/Standard/Module1.pack
  36. BIN
      .config/libreoffice/4/user/pack/basic/Standard/dialog.pack
  37. BIN
      .config/libreoffice/4/user/pack/basic/Standard/script.pack
  38. BIN
      .config/libreoffice/4/user/pack/basic/dialog.pack
  39. BIN
      .config/libreoffice/4/user/pack/basic/script.pack
  40. BIN
      .config/libreoffice/4/user/pack/config/autotbl.pack
  41. BIN
      .config/libreoffice/4/user/pack/config/fontnameboxmruentries.pack
  42. BIN
      .config/libreoffice/4/user/pack/config/soffice.cfg/modules/swriter/ui/notebookbar_groupedbar_compact.pack
  43. BIN
      .config/libreoffice/4/user/pack/database/biblio.pack
  44. BIN
      .config/libreoffice/4/user/pack/database/biblio/biblio.pack
  45. BIN
      .config/libreoffice/4/user/pack/database/evolocal.pack
  46. BIN
      .config/libreoffice/4/user/pack/registrymodifications.pack
  47. BIN
      .config/libreoffice/4/user/pack/wordbook/standard.pack
  48. 955
      .config/libreoffice/4/user/registrymodifications.xcu
  49. BIN
      .config/libreoffice/4/user/store/.templdir.cache
  50. 2
      .config/libreoffice/4/user/uno_packages/cache/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml
  51. 2
      .config/libreoffice/4/user/uno_packages/cache/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml
  52. 7
      .config/libreoffice/4/user/wordbook/standard.dic
  53. 30
      .config/mimeapps.list
  54. 28
      .config/mpv/mpv.conf
  55. 1
      .config/mpv/watch_later/0E232AE1691E51004775B18C521D23D5
  56. 2
      .config/mpv/watch_later/205C3B4F65BE39994B85B4267FCFDF49
  57. 1
      .config/mpv/watch_later/2EF2E15BCB141BA4D57450474A0B0692
  58. 2
      .config/mpv/watch_later/39AC1E72111360B62748C689D90D5244
  59. 2
      .config/mpv/watch_later/41EB8BD6440A5057657BE533899A7EEF
  60. 1
      .config/mpv/watch_later/4261398EB6C3E74E717D6A21CA7E2153
  61. 1
      .config/mpv/watch_later/4C2B3A1297646428059AF5A55B707B0C
  62. 2
      .config/mpv/watch_later/753B84A45C18C95BDE55B5C0D5CA81CB
  63. 3
      .config/mpv/watch_later/86582421F9066113A3EFAD232DA55FA4
  64. 1
      .config/mpv/watch_later/8FD9214ED1C972F3760BDC3B89FAFA9F
  65. 0
      .config/mpv/watch_later/99E58C93688B59B4DB3B874D5778FD67
  66. 1
      .config/mpv/watch_later/CE39D2BFEA9F4E78170605F027832C65
  67. 2
      .config/mpv/watch_later/E11F55252E5945E39A8DED0AD5532CC6
  68. BIN
      .config/nnn/.selection
  69. BIN
      .config/nnn/plugins-202011151246.tar.gz
  70. BIN
      .config/nnn/plugins-202103182142.tar.gz
  71. BIN
      .config/nnn/plugins-202103182143.tar.gz
  72. 50
      .config/nnn/plugins/.cbcp
  73. 153
      .config/nnn/plugins/.nmv
  74. 38
      .config/nnn/plugins/.nnn-plugin-helper
  75. 22
      .config/nnn/plugins/.ntfy
  76. 42
      .config/nnn/plugins/autojump
  77. 60
      .config/nnn/plugins/bookmarks
  78. 47
      .config/nnn/plugins/boom
  79. 32
      .config/nnn/plugins/bulknew
  80. 66
      .config/nnn/plugins/chksum
  81. 56
      .config/nnn/plugins/diffs
  82. 75
      .config/nnn/plugins/dragdrop
  83. 70
      .config/nnn/plugins/dups
  84. 28
      .config/nnn/plugins/finder
  85. 35
      .config/nnn/plugins/fzcd
  86. 38
      .config/nnn/plugins/fzhist
  87. 38
      .config/nnn/plugins/fzopen
  88. 26
      .config/nnn/plugins/fzz
  89. 83
      .config/nnn/plugins/getplugs
  90. 21
      .config/nnn/plugins/gpgd
  91. 37
      .config/nnn/plugins/gpge
  92. 49
      .config/nnn/plugins/gutenread
  93. 15
      .config/nnn/plugins/hexview
  94. 30
      .config/nnn/plugins/imgresize
  95. 17
      .config/nnn/plugins/imgthumb
  96. 595
      .config/nnn/plugins/imgur
  97. 70
      .config/nnn/plugins/imgview
  98. 13
      .config/nnn/plugins/ipinfo
  99. 18
      .config/nnn/plugins/kdeconnect
  100. 42
      .config/nnn/plugins/launch

0
.Xresources

28
.aliases

@ -1,24 +1,18 @@
# Generales
alias ls='ls --color=auto' # Salida de ls coloreada
alias grep='grep --color=auto' # Salida de grep coloreada
alias diff='diff --color=auto' # Salida de diff coloreada
alias livebox='doas mount -t cifs //192.168.1.1/usb1 /media/livebox -o username=admin,vers=1.0' # Puerto USB del router
alias alsamixer='alsamixer -g' # Color gris
alias neofetch='neofetch --ascii_colors 8 7 --colors 8 7 7 8 7 7' # Color gris
alias cp='cp -iv' # Pide confirmación antes de sobreescribir y da detalles sobre lo que se va haciendo
alias mv='mv -iv' # Pide confirmación antes de sobreescribir y da detalles sobre lo que se va haciendo
alias rm='rm -Iv' # Pregunta una vez antes de borrar más de tres ficherosy da detalles sobre lo que se va haciendo
alias mkdir='mkdir -pv' # no hay error si existen, crea los directorios padres en caso necesario, muestra un mensaje por cada directorio creado
alias grep='grep --color=auto' # Salida de grep coloreada
alias diff='diff --color=auto' # Salida de diff coloreada
alias livebox='doas mount -t cifs //192.168.1.1/usb1 /media/livebox -o username=admin,vers=1.0' # Puerto USB del router
alias alsamixer='alsamixer -g' # Color gris
# Gentoo
alias zru='doas /etc/init.d/zram-init start && doas emerge --sync && doas emerge -auND @world && doas /etc/init.d/zram-init stop'
alias zre='doas /etc/init.d/zram-init start && doas emerge -a'
alias zro='doas /etc/init.d/zram-init start && doas emerge -a1'
alias zri='doas /etc/init.d/zram-init start'
alias zrs='doas /etc/init.d/zram-init stop'
# Void
alias hold='doas xbps-pkgdb -m hold' # Congelar paquetes
alias unhold='doas xbps-pkgdb -m unhold' # Descongelar paquetes
alias build='xbps-query -R --property=build-options' # Revisar opciones de compilación del binario precompilado
# Zram
alias zru='doas rc-service zram-init start && doas emerge --sync && doas emerge -auND @world && doas rc-service zram-init stop && doas emerge -c && doas prelink -amRv'
alias zrup='doas rc-service zram-init start && doas emerge --sync && doas emerge -auND @world && doas rc-service zram-init stop && doas poweroff'
alias zre='doas rc-service zram-init start && doas emerge -a'
alias zro='doas rc-service zram-init start && doas emerge -a1'
alias zri='doas rc-service zram-init start'
alias zrs='doas rc-service zram-init stop'

8
.config/QtProject.conf

@ -0,0 +1,8 @@
[FileDialog]
history=file:///var/lib/portage, file:///etc/conf.d, file:///home/luis, file:///home/luis/.config/mpv, file:///home/luis/Im\xe1genes/Capturas
lastVisited=file:///home/luis
qtVersion=5.15.2
shortcuts=file:, file:///home/luis
sidebarWidth=91
treeViewHeader=@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\x4\x81\0\0\0\x4\x1\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x4\0\0\x3u\0\0\0\x1\0\0\0\0\0\0\0q\0\0\0\x1\0\0\0\0\0\0\0\x39\0\0\0\x1\0\0\0\0\0\0\0\x62\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\xff\xff\xff\xff)
viewMode=Detail

415
.config/dunst/dunstrc

@ -1,415 +0,0 @@
[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 = "0x5-10+20"
# 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
# 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 = 33
# 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
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 2
# Defines color of the frame around the notification window.
frame_color = "#aaaaaa" #"#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
### 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:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
#
# 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 = "<b>%s</b>\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
# 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 = right
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 32
# Paths to default icons.
icon_path = /home/luis/.icons/ #/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
### 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 action of 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.
mouse_left_click = close_current
mouse_middle_click = do_action
mouse_right_click = close_all
# 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
[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.
close = ctrl+space
# Close all notifications.
close_all = ctrl+shift+space
# Redisplay last message(s).
# On the US keyboard layout "grave" is normally above TAB and left
# of "1". Make sure this key actually exists on your keyboard layout,
# e.g. check output of 'ctrl+h'
history = ctrl+h
# Context menu.
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 = "#444444"
foreground = "#888888"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
#icon = /home/luis/.icons/
[urgency_normal]
# colores azul "285577" morado 4D4270 verde 365E48
background = "#222222"
foreground = "#ffffff"
timeout = 10
# Icon for notifications with normal urgency, uncomment to enable
#icon = /home/luis/.icons/
[urgency_critical]
background = "#900000"
foreground = "#ffffff"
frame_color = "#ff0000"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#icon = /home/luis/.icons/
# 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

11
.config/gtk-2.0/gtkfilechooser.ini

@ -0,0 +1,11 @@
[Filechooser Settings]
LocationMode=filename-entry
ShowHidden=false
ShowSizeColumn=true
GeometryX=54
GeometryY=288
GeometryWidth=948
GeometryHeight=642
SortColumn=name
SortOrder=ascending
StartupMode=recent

16
.config/gtk-3.0/settings.ini

@ -0,0 +1,16 @@
[Settings]
gtk-theme-name=Adwaita-dark
gtk-icon-theme-name=Adwaita
gtk-font-name=mononoki 10
gtk-cursor-theme-name=Qogir-white-cursors
gtk-cursor-theme-size=16
gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-menu-images=0
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=rgb

BIN
.config/libreoffice/4/user/autocorr/acor_es-ES.dat

BIN
.config/libreoffice/4/user/autotext/mytexts.bau

24
.config/libreoffice/4/user/basic/Standard/Module1.xba

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<!--
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Module1" script:language="StarBasic">REM ***** BASIC *****
Sub Main
End Sub</script:module>

3
.config/libreoffice/4/user/basic/Standard/dialog.xlb

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Standard" library:readonly="false" library:passwordprotected="false"/>

5
.config/libreoffice/4/user/basic/Standard/script.xlb

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
<library:library xmlns:library="http://openoffice.org/2000/library" library:name="Standard" library:readonly="false" library:passwordprotected="false">
<library:element library:name="Module1"/>
</library:library>

5
.config/libreoffice/4/user/basic/dialog.xlc

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE library:libraries PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "libraries.dtd">
<library:libraries xmlns:library="http://openoffice.org/2000/library" xmlns:xlink="http://www.w3.org/1999/xlink">
<library:library library:name="Standard" library:link="false"/>
</library:libraries>

5
.config/libreoffice/4/user/basic/script.xlc

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE library:libraries PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "libraries.dtd">
<library:libraries xmlns:library="http://openoffice.org/2000/library" xmlns:xlink="http://www.w3.org/1999/xlink">
<library:library library:name="Standard" library:link="false"/>
</library:libraries>

BIN
.config/libreoffice/4/user/config/autotbl.fmt

2
.config/libreoffice/4/user/config/fontnameboxmruentries

@ -0,0 +1,2 @@
Liberation Serif;Font Awesome 5 Free Regular

13204
.config/libreoffice/4/user/config/soffice.cfg/modules/swriter/ui/notebookbar_groupedbar_compact.ui
File diff suppressed because it is too large
View File

BIN
.config/libreoffice/4/user/database/biblio.odb

BIN
.config/libreoffice/4/user/database/biblio/biblio.dbf

BIN
.config/libreoffice/4/user/database/biblio/biblio.dbt

BIN
.config/libreoffice/4/user/database/evolocal.odb

1
.config/libreoffice/4/user/extensions/buildid

@ -0,0 +1 @@
10(Build:2)

1
.config/libreoffice/4/user/extensions/bundled/lastsynchronized

@ -0,0 +1 @@
1

2
.config/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml

@ -0,0 +1,2 @@
<?xml version="1.0"?>
<conf:configuration-backend-db xmlns:conf="http://openoffice.org/extensionmanager/configuration-registry/2010"/>

2
.config/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml

@ -0,0 +1,2 @@
<?xml version="1.0"?>
<help:help-backend-db xmlns:help="http://openoffice.org/extensionmanager/help-registry/2010"/>

1
.config/libreoffice/4/user/extensions/shared/lastsynchronized

@ -0,0 +1 @@
1

2
.config/libreoffice/4/user/extensions/shared/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml

@ -0,0 +1,2 @@
<?xml version="1.0"?>
<conf:configuration-backend-db xmlns:conf="http://openoffice.org/extensionmanager/configuration-registry/2010"/>

2
.config/libreoffice/4/user/extensions/shared/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml

@ -0,0 +1,2 @@
<?xml version="1.0"?>
<help:help-backend-db xmlns:help="http://openoffice.org/extensionmanager/help-registry/2010"/>

2
.config/libreoffice/4/user/extensions/tmp/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml

@ -0,0 +1,2 @@
<?xml version="1.0"?>
<conf:configuration-backend-db xmlns:conf="http://openoffice.org/extensionmanager/configuration-registry/2010"/>

2
.config/libreoffice/4/user/extensions/tmp/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml

@ -0,0 +1,2 @@
<?xml version="1.0"?>
<help:help-backend-db xmlns:help="http://openoffice.org/extensionmanager/help-registry/2010"/>

BIN
.config/libreoffice/4/user/gallery/sg30.sdv

BIN
.config/libreoffice/4/user/gallery/sg30.thm

BIN
.config/libreoffice/4/user/pack/ExtensionInfo.pack

BIN
.config/libreoffice/4/user/pack/autocorr/acor_es-ES.pack

BIN
.config/libreoffice/4/user/pack/autotext/mytexts.pack

BIN
.config/libreoffice/4/user/pack/basic/Standard/Module1.pack

BIN
.config/libreoffice/4/user/pack/basic/Standard/dialog.pack

BIN
.config/libreoffice/4/user/pack/basic/Standard/script.pack

BIN
.config/libreoffice/4/user/pack/basic/dialog.pack

BIN
.config/libreoffice/4/user/pack/basic/script.pack

BIN
.config/libreoffice/4/user/pack/config/autotbl.pack

BIN
.config/libreoffice/4/user/pack/config/fontnameboxmruentries.pack

BIN
.config/libreoffice/4/user/pack/config/soffice.cfg/modules/swriter/ui/notebookbar_groupedbar_compact.pack

BIN
.config/libreoffice/4/user/pack/database/biblio.pack

BIN
.config/libreoffice/4/user/pack/database/biblio/biblio.pack

BIN
.config/libreoffice/4/user/pack/database/evolocal.pack

BIN
.config/libreoffice/4/user/pack/registrymodifications.pack

BIN
.config/libreoffice/4/user/pack/wordbook/standard.pack

955
.config/libreoffice/4/user/registrymodifications.xcu
File diff suppressed because it is too large
View File

BIN
.config/libreoffice/4/user/store/.templdir.cache

2
.config/libreoffice/4/user/uno_packages/cache/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/backenddb.xml

@ -0,0 +1,2 @@
<?xml version="1.0"?>
<conf:configuration-backend-db xmlns:conf="http://openoffice.org/extensionmanager/configuration-registry/2010"/>

2
.config/libreoffice/4/user/uno_packages/cache/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend/backenddb.xml

@ -0,0 +1,2 @@
<?xml version="1.0"?>
<help:help-backend-db xmlns:help="http://openoffice.org/extensionmanager/help-registry/2010"/>

7
.config/libreoffice/4/user/wordbook/standard.dic

@ -0,0 +1,7 @@
OOoUserDict1
lang: <none>
type: positive
---
Andalucía
Informacional
Supletoriamente

30
.config/mimeapps.list

@ -1,14 +1,18 @@
[Default Applications]
inode/directory=spacefm.desktop;
image/png=feh.desktop;zzz-gimp.desktop;
x-scheme-handler/http=userapp-Firefox-7P68L0.desktop;
x-scheme-handler/https=userapp-Firefox-7P68L0.desktop;
x-scheme-handler/ftp=userapp-Firefox-7P68L0.desktop;
x-scheme-handler/chrome=userapp-Firefox-7P68L0.desktop;
text/html=userapp-Firefox-7P68L0.desktop;
application/x-extension-htm=userapp-Firefox-7P68L0.desktop;
application/x-extension-html=userapp-Firefox-7P68L0.desktop;
application/x-extension-shtml=userapp-Firefox-7P68L0.desktop;
application/xhtml+xml=userapp-Firefox-7P68L0.desktop;
application/x-extension-xhtml=userapp-Firefox-7P68L0.desktop;
application/x-extension-xht=userapp-Firefox-7P68L0.desktop;
inode/directory=spacefm.desktop
x-scheme-handler/tg=userapp-Telegram Desktop-XSAK00.desktop
x-scheme-handler/http=userapp-Firefox-KIIGU0.desktop
x-scheme-handler/https=userapp-Firefox-KIIGU0.desktop
x-scheme-handler/ftp=userapp-Firefox-KIIGU0.desktop
x-scheme-handler/chrome=userapp-Firefox-KIIGU0.desktop
text/html=userapp-Firefox-KIIGU0.desktop
application/x-extension-htm=userapp-Firefox-KIIGU0.desktop
application/x-extension-html=userapp-Firefox-KIIGU0.desktop
application/x-extension-shtml=userapp-Firefox-KIIGU0.desktop
application/xhtml+xml=userapp-Firefox-KIIGU0.desktop
application/x-extension-xhtml=userapp-Firefox-KIIGU0.desktop
application/x-extension-xht=userapp-Firefox-KIIGU0.desktop
application/pdf=org.pwmt.zathura.desktop
[Added Associations]
x-scheme-handler/tg=userapp-Telegram Desktop-WE5LY0.desktop;userapp-Telegram Desktop-1C3QY0.desktop;userapp-Telegram Desktop-ZLOOY0.desktop;userapp-Telegram Desktop-AP2LY0.desktop;userapp-Telegram Desktop-ZMJSY0.desktop;userapp-Telegram Desktop-XSAK00.desktop;

28
.config/mpv/mpv.conf

@ -0,0 +1,28 @@
# Subtítulos
sub-auto=fuzzy # Enable fuzzy searching
sub-bold=yes # Bold the subtitles to increase readability
# Always allow seeking, e.g. allow seeking within a local cache of HTTP stream
force-seekable=yes
# Always open a video window even with no video
force-window=yes
background="#1e1e1e"
# Don't exit when the end of playlist is reached
keep-open=yes
# Always save the current playback position on exit
save-position-on-quit=yes
# Perfil de alta calidad
#profile=gpu-hq
#scale=ewa_lanczossharp
#cscale=ewa_lanczossharp
#video-sync=display-resample
#interpolation
#tscale=oversample
# Decodificar por hardware
hwdec=auto-copy
hwdec-codecs=all
ytdl-format="bestvideo[height<=?1080][vcodec!=vp9]+bestaudio/best"

1
.config/mpv/watch_later/0E232AE1691E51004775B18C521D23D5

@ -0,0 +1 @@
start=456.789667

2
.config/mpv/watch_later/205C3B4F65BE39994B85B4267FCFDF49

@ -0,0 +1,2 @@
start=1062.280000
panscan=0.100000

1
.config/mpv/watch_later/2EF2E15BCB141BA4D57450474A0B0692

@ -0,0 +1 @@
start=309.240000

2
.config/mpv/watch_later/39AC1E72111360B62748C689D90D5244

@ -0,0 +1,2 @@
start=287.120000
contrast=-1

2
.config/mpv/watch_later/41EB8BD6440A5057657BE533899A7EEF

@ -0,0 +1,2 @@
start=331.348546
pause=yes

1
.config/mpv/watch_later/4261398EB6C3E74E717D6A21CA7E2153

@ -0,0 +1 @@
start=447.989208

1
.config/mpv/watch_later/4C2B3A1297646428059AF5A55B707B0C

@ -0,0 +1 @@
start=102.936167

2
.config/mpv/watch_later/753B84A45C18C95BDE55B5C0D5CA81CB

@ -0,0 +1,2 @@
start=798.766230
pause=yes

3
.config/mpv/watch_later/86582421F9066113A3EFAD232DA55FA4

@ -0,0 +1,3 @@
start=184.733333
sub-delay=-0.100000
ab-loop-a=21.466667

1
.config/mpv/watch_later/8FD9214ED1C972F3760BDC3B89FAFA9F

@ -0,0 +1 @@
start=190.920000

0
.config/mpv/watch_later/99E58C93688B59B4DB3B874D5778FD67

1
.config/mpv/watch_later/CE39D2BFEA9F4E78170605F027832C65

@ -0,0 +1 @@
start=214.480000

2
.config/mpv/watch_later/E11F55252E5945E39A8DED0AD5532CC6

@ -0,0 +1,2 @@
start=26.466667
video-aspect-override=1.777778

BIN
.config/nnn/.selection

BIN
.config/nnn/plugins-202011151246.tar.gz

BIN
.config/nnn/plugins-202103182142.tar.gz

BIN
.config/nnn/plugins-202103182143.tar.gz

50
.config/nnn/plugins/.cbcp

@ -0,0 +1,50 @@
#!/usr/bin/env sh
# Description: Copy selection to system clipboard as newline-separated entries
# Dependencies:
# - tr
# - xclip/xsel (Linux)
# - pbcopy (macOS)
# - termux-clipboard-set (Termux)
# - clip.exe (WSL)
# - clip (Cygwin)
# - wl-copy (Wayland)
# - clipboard (Haiku)
#
# Limitation: breaks if a filename has newline in it
#
# Note: For a space-separated list:
# xargs -0 < "$SELECTION"
#
# Shell: POSIX compliant
# Author: Arun Prakash Jana
IFS="$(printf '%b_' '\n')"; IFS="${IFS%_}" # protect trailing \n
selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}
if which xsel >/dev/null 2>&1; then
# Linux
tr '\0' '\n' < "$selection" | xsel -bi
elif which xclip >/dev/null 2>&1; then
# Linux
tr '\0' '\n' < "$selection" | xclip -sel clip
elif which pbcopy >/dev/null 2>&1; then
# macOS
tr '\0' '\n' < "$selection" | pbcopy
elif which termux-clipboard-set >/dev/null 2>&1; then
# Termux
tr '\0' '\n' < "$selection" | termux-clipboard-set
elif which clip.exe >/dev/null 2>&1; then
# WSL
tr '\0' '\n' < "$selection" | clip.exe
elif which clip >/dev/null 2>&1; then
# Cygwin
tr '\0' '\n' < "$selection" | clip
elif which wl-copy >/dev/null 2>&1; then
# Wayland
tr '\0' '\n' < "$selection" | wl-copy
elif which clipboard >/dev/null 2>&1; then
# Haiku
tr '\0' '\n' < "$selection" | clipboard --stdin
fi

153
.config/nnn/plugins/.nmv

@ -0,0 +1,153 @@
#!/usr/bin/env bash
# Description: An almost fully POSIX compliant batch file renamer
#
# Note: nnn auto-detects and invokes this plugin if available
# Whitespace is used as delimiter for read.
# The plugin doesn't support filenames with leading or trailing whitespace
#
# Capabilities:
# 1. Basic file rename
# 2. Detects order change
# 3. Can move files
# 4. Can remove files
# 5. Switch number pairs to swap filenames
#
# Shell: bash
# Author: KlzXS
EDITOR="${EDITOR:-vi}"
TMPDIR="${TMPDIR:-/tmp}"
INCLUDE_HIDDEN="${INCLUDE_HIDDEN:-0}"
VERBOSE="${VERBOSE:-0}"
selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}
exit_status=0
dst_file=$(mktemp "$TMPDIR/.nnnXXXXXX")
if [ -s "$selection" ]; then
printf "Rename 'c'urrent / 's'election? "
read -r resp
if ! [ "$resp" = "c" ] && ! [ "$resp" = "s" ]; then
exit 1
fi
fi
if [ "$resp" = "s" ]; then
arr=$(tr '\0' '\n' < "$selection")
else
if [ "$INCLUDE_HIDDEN" -eq 0 ]; then
arr=$(find . ! -name . -prune ! -name ".*" -print | sort)
else
arr=$(find . ! -name . -prune -print | sort)
fi
fi
lines=$(printf "%s\n" "$arr" | wc -l)
width=${#lines}
printf "%s" "$arr" | awk '{printf("%'"${width}"'d %s\n", NR, $0)}' > "$dst_file"
items=("~")
while IFS='' read -r line; do
items+=("$line");
done < <(printf "%s\n" "$arr")
$EDITOR "$dst_file"
while read -r num name; do
if [ -z "$name" ]; then
if [ -z "$num" ]; then
continue
fi
printf "%s: unable to parse line, aborting\n" "$0"
exit 1
fi
# check if $num is an integer
if [ ! "$num" -eq "$num" ] 2> /dev/null; then
printf "%s: unable to parse line, aborting\n" "$0"
exit 1
fi
src=${items[$num]}
if [ -z "$src" ]; then
printf "%s: unknown item number %s\n" "$0" "$num" > /dev/stderr
continue
elif [ "$name" != "$src" ]; then
if [ -z "$name" ]; then
continue
fi
if [ ! -e "$src" ] && [ ! -L "$src" ]; then
printf "%s: %s does not exit\n" "$0" "$src" > /dev/stderr
unset "items[$num]"
continue
fi
# handle swaps
if [ -e "$name" ] || [ -L "$name" ]; then
tmp="$name~"
c=0
while [ -e "$tmp" ] || [ -L "$tmp" ]; do
c=$((c+1))
tmp="$tmp~$c"
done
if mv "$name" "$tmp"; then
if [ "$VERBOSE" -ne 0 ]; then
printf "'%s' -> '%s'\n" "$name" "$tmp"
fi
else
printf "%s: failed to rename %s to %s: %s\n" "$0" "$name" "$tmp" "$!" > /dev/stderr
exit_status=1
fi
for key in "${!items[@]}"; do
if [ "${items[$key]}" = "$name" ]; then
items[$key]="$tmp"
fi
done
fi
dir=$(dirname "$name")
if [ ! -d "$dir" ] && ! mkdir -p "$dir"; then
printf "%s: failed to create directory tree %s\n" "$0" "$dir" > /dev/stderr
exit_status=1
elif ! mv "$src" "$name"; then
printf "%s: failed to rename %s to %s: %s\n" "$0" "$name" "$tmp" "$!" > /dev/stderr
exit_status=1
else
if [ -d "$name" ]; then
for key in "${!items[@]}"; do
items[$key]=$(printf "%s" "${items[$key]}" | sed "s|^$src\(\$\|\/\)|$name\1|")
done
if [ "$VERBOSE" -ne 0 ]; then
printf "'%s' => '%s'\n" "$src" "$name"
fi
else
true
if [ "$VERBOSE" -ne 0 ]; then
printf "'%s' -> '%s'\n" "$src" "$name"
fi
fi
fi
fi
unset "items[$num]"
done <"$dst_file"
unset "items[0]"
for item in "${items[@]}"; do
rm -ri "$item"
done
rm "$dst_file"
exit $exit_status

38
.config/nnn/plugins/.nnn-plugin-helper

@ -0,0 +1,38 @@
#!/usr/bin/env sh
# Description: Helper script for plugins
#
# Shell: POSIX compliant
# Author: Anna Arad
selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}
export selection
## Set CUR_CTX to 1 to open directory in current context
CUR_CTX=0
export CUR_CTX
## Ask nnn to switch to directory $1 in context $2.
## If $2 is not provided, the function asks explicitly.
nnn_cd () {
dir="$1"
if [ -z "$NNN_PIPE" ]; then
echo "No pipe file found" 1>&2
return
fi
if [ -n "$2" ]; then
context=$2
elif [ $CUR_CTX -ne 1 ]; then
printf "Choose context 1-4 (blank for current): "
read -r context
fi
printf "%s" "${context:-0}c$dir" > "$NNN_PIPE"
}
cmd_exists () {
which "$1" > /dev/null 2>&1
echo $?
}

22
.config/nnn/plugins/.ntfy

@ -0,0 +1,22 @@
#!/usr/bin/env sh
# Description: Show a notification
#
# Details: nnn invokes this plugin to show notification when a cp/mv/rm operation is complete.
#
# Dependencies: notify-send (Ubuntu)/ntfy (https://github.com/dschep/ntfy)/osascript (macOS)/notify (Haiku)
#
# Shell: POSIX compliant
# Author: Anna Arad
OS="$(uname)"
if which notify-send >/dev/null 2>&1; then
notify-send nnn "Done!"
elif [ "$OS" = "Darwin" ]; then
osascript -e 'display notification "Done!" with title "nnn"'
elif which ntfy >/dev/null 2>&1; then
ntfy -t nnn send "Done!"
elif [ "$OS" = "Haiku" ]; then
notify --title "nnn" "Done!"
fi

42
.config/nnn/plugins/autojump

@ -0,0 +1,42 @@
#!/usr/bin/env sh
# Description: Navigate to directory using jump/autojump/zoxide
#
# Dependencies: jump - https://github.com/gsamokovarov/jump
# OR autojump - https://github.com/wting/autojump
# OR zoxide - https://github.com/ajeetdsouza/zoxide
#
# Note: The dependencies STORE NAVIGATION PATTERNS
#
# Shell: POSIX compliant
# Authors: Marty Buchaus, Dave Snider, Tim Adler
if [ -z "$NNN_PIPE" ]; then
echo 'ERROR: NNN_PIPE is not set' | ${PAGER:-less}
exit 2
fi
if which jump >/dev/null 2>&1; then
printf "jump to : "
read -r dir
odir="$(jump cd "$dir")"
printf "%s" "0c$odir" > "$NNN_PIPE"
elif which autojump >/dev/null 2>&1; then
printf "jump to : "
read -r dir
odir="$(autojump "$dir")"
printf "%s" "0c$odir" > "$NNN_PIPE"
elif which zoxide >/dev/null 2>&1; then
if which fzf >/dev/null 2>&1; then
odir="$(zoxide query -i --)"
printf "%s" "0c$odir" > "$NNN_PIPE"
else
printf "jump to : "
read -r dir
odir="$(zoxide query -- "$dir")"
printf "%s" "0c$odir" > "$NNN_PIPE"
fi
else
printf "No supported autojump script found. (jump/autojump/zoxide are supported)"
read -r _
fi

60
.config/nnn/plugins/bookmarks

@ -0,0 +1,60 @@
#!/usr/bin/env sh
# Description: Use named bookmarks using symlinks
#
# Dependencies: fzf
#
# Usage:
# 1. Create a $BOOKMARKS_DIR directory
# By default, $BOOKMARKS_DIR is set to: ${XDG_CACHE_HOME:-$HOME/.cache}/nnn/bookmarks
#
# 2. Create symlinks to directories
# `cd $BOOKMARKS_DIR`
# `ln -s /path/to/useful/directory bookmark_name`
# `ln -s $XDG_CONFIG_HOME/nnn/plugins nnn_plugins"
# `ln -s /path/to/documents docs`
# `ln -s /path/to/media media`
# `ln -s /path/to/movies movies`
#
# Bonus tip: Add `$BOOKMARKS_DIR` to your `$CDPATH`
# https://linux.101hacks.com/cd-command/cdpath/
#
# TODO:
# 1. Remove `fzf` dependency
#
# Shell: POSIX compliant
# Author: Todd Yamakawa
if [ -z "$BOOKMARKS_DIR" ]; then
BOOKMARKS_DIR="${XDG_CACHE_HOME:-$HOME/.cache}/nnn/bookmarks"
fi
# Check if NNN_PIPE is set
if [ -z "$NNN_PIPE" ]; then
echo 'ERROR: NNN_PIPE is not set' | ${PAGER:-less}
exit 2
fi
# Get all directory symlinks
get_links() {
for entry in "$1"/*; do
# Skip unless directory symlink
[ -h "$entry" ] || continue
[ -d "$entry" ] || continue
printf "%20s -> %s\n" "$(basename "$entry")" "$(readlink -f "$entry")"
done | fzf |
awk 'END {
if (length($1) == 0) { print "'"$PWD"'" }
else { print "'"$BOOKMARKS_DIR"'/"$1 }
}'
}
# Choose symlink with fzf
cddir="$(get_links "$BOOKMARKS_DIR")"
# Writing result to NNN_PIPE will change nnn's active directory
# https://github.com/jarun/nnn/tree/master/plugins#send-data-to-nnn
context=0
printf "%s" "${context}c$(readlink -f "$cddir")" > "$NNN_PIPE"

47
.config/nnn/plugins/boom

@ -0,0 +1,47 @@
#!/usr/bin/env sh
# Description: Play random music from current directory. Identifies MP3, FLAC, M4A, WEBM, WMA.
# You may want to set GUIPLAYER.
#
# Shell: POSIX compliant
# Author: Arun Prakash Jana
GUIPLAYER="${GUIPLAYER}"
NUMTRACKS="${NUMTRACKS:-100}"
if [ -n "$GUIPLAYER" ]; then
find . -type f \( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.m4a" -o -iname "*.webm" -o -iname "*.wma" \) | shuf -n "$NUMTRACKS" | xargs -d "\n" "$GUIPLAYER" > /dev/null 2>&1 &
# detach the player
sleep 1
elif which mocp >/dev/null 2>&1; then
cmd=$(pgrep -x mocp 2>/dev/null)
ret=$cmd
if [ -z "$ret" ]; then
# start MOC server
mocp -S
mocp -o shuffle
else
# mocp running, check if it's playing
state=$(mocp -i | grep "State:" | cut -d' ' -f2)
if [ "$state" = 'PLAY' ]; then
# add up to 100 random audio files
find . -type f \( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.m4a" -o -iname "*.webm" -o -iname "*.wma" \) | head -n "$NUMTRACKS" | xargs -d "\n" mocp -a
exit
fi
fi
# clear MOC playlist
mocp -c
mocp -o shuffle
# add up to 100 random audio files
find . -type f \( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.m4a" -o -iname "*.webm" -o -iname "*.wma" \) | head -n "$NUMTRACKS" | xargs -d "\n" mocp -a
# start playing
mocp -p
else
printf "moc missing"
read -r _
fi

32
.config/nnn/plugins/bulknew

@ -0,0 +1,32 @@
#!/usr/bin/env sh
# Description: Allows for creation of multiple files/directories at the same time.
# Plugin opens a temp file where each entry is to be written on a separate line
#
# Note: Only relative paths are supported. Absolute paths are ignored
# Leading and trailing whitespace in path names is also ignored
#
# Shell: POSIX compliant
# Author: KlzXS
EDITOR="${EDITOR:-vi}"
TMPDIR="${TMPDIR:-/tmp}"
printf "'f'ile / 'd'ir? "
read -r resp
if [ "$resp" = "f" ]; then
#shellcheck disable=SC2016
cmd='mkdir -p "$(dirname "{}")" && touch "{}"'
elif [ "$resp" = "d" ]; then
cmd='mkdir -p {}'
else
exit 1
fi
tmpfile=$(mktemp "$TMPDIR/.nnnXXXXXX")
$EDITOR "$tmpfile"
sed "/^\//d" "$tmpfile" | xargs -n1 -I{} sh -c "$cmd"
rm "$tmpfile"

66
.config/nnn/plugins/chksum

@ -0,0 +1,66 @@
#!/usr/bin/env sh
# Description: Create and verify checksums
#
# For selection: it will generate one file containing the checksums with file names
# [and with paths if they are in another directory]
# the output checksum filename will be checksum_timestamp.checksum_type
# For file: if the file is a checksum, the plugin does the verification
# if the file is not a checksum, checksum will be generated for it
# the output checksum filename will be filename.checksum_type
# For directory: recursively calculates checksum for all the files in the directory
# the output checksum filename will be directory.checksum_type
#
# Shell: POSIX compliant
# Authors: ath3, Arun Prakash Jana
selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}
resp=f
chsum=md5
checksum_type()
{
echo "possible checksums: md5, sha1, sha224, sha256, sha384, sha512"
printf "create md5 (m), sha256 (s), sha512 (S) (or type one of the above checksums) [default=m]: "
read -r chsum_resp
for chks in md5 sha1 sha224 sha256 sha384 sha512
do
if [ "$chsum_resp" = "$chks" ]; then
chsum=$chsum_resp
return
fi
done
if [ "$chsum_resp" = "s" ]; then
chsum=sha256
elif [ "$chsum_resp" = "S" ]; then
chsum=sha512
fi
}
if [ -s "$selection" ]; then
printf "work with selection (s) or current file (f) [default=f]: "
read -r resp
fi
if [ "$resp" = "s" ]; then
checksum_type
sed 's|'"$PWD/"'||g' < "$selection" | xargs -0 -I{} ${chsum}sum {} > "checksum_$(date '+%Y%m%d%H%M').$chsum"
elif [ -n "$1" ]; then
if [ -f "$1" ]; then
for chks in md5 sha1 sha224 sha256 sha384 sha512
do
if echo "$1" | grep -q \.${chks}$; then
${chks}sum -c < "$1"
read -r _
return
fi
done
checksum_type
file=$(basename "$1").$chsum
${chsum}sum "$1" > "$file"
elif [ -d "$1" ]; then
checksum_type
file=$(basename "$1").$chsum
find "$1" -type f -exec ${chsum}sum "{}" + > "$file"
fi
fi

56
.config/nnn/plugins/diffs

@ -0,0 +1,56 @@
#!/usr/bin/env sh
# Description: Show diff of 2 directories or multiple files in vimdiff
#
# Note: 1. vim may show the warning: 'Vim: Warning: Input is not from a terminal'
# press 'Enter' to ignore and proceed.
# 2. if only one file is in selection, the hovered file is considered as the
# second file to diff with
#
# Shell: POSIX compliant
# Authors: Arun Prakash Jana, ath3
selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}
if which nvim >/dev/null 2>&1; then
diffcmd="nvim -d"
else
diffcmd="vimdiff +0"
fi
dirdiff() {
dir1=$(mktemp "${TMPDIR:-/tmp}"/nnn-"$(basename "$1")".XXXXXXXX)
dir2=$(mktemp "${TMPDIR:-/tmp}"/nnn-"$(basename "$2")".XXXXXXXX)
ls -A1 "$1" > "$dir1"
ls -A1 "$2" > "$dir2"
$diffcmd "$dir1" "$dir2"
rm "$dir1" "$dir2"
}
if [ -s "$selection" ]; then
arr=$(tr '\0' '\n' < "$selection")
if [ "$(echo "$arr" | wc -l)" -gt 1 ]; then
f1="$(echo "$arr" | sed -n '1p')"
f2="$(echo "$arr" | sed -n '2p')"
if [ -d "$f1" ] && [ -d "$f2" ]; then
dirdiff "$f1" "$f2"
else
# If xargs supports the -o option, use it to get rid of:
# Vim: Warning: Input is not from a terminal
# xargs -0 -o vimdiff < $selection
eval xargs -0 "$diffcmd" < "$selection"
fi
elif [ -n "$1" ]; then
f1="$(echo "$arr" | sed -n '1p')"
if [ -d "$f1" ] && [ -d "$1" ]; then
dirdiff "$f1" "$1"
elif [ -f "$f1" ] && [ -f "$1" ]; then
$diffcmd "$f1" "$1"
else
echo "cannot compare file with directory"
fi
else
echo "needs at least 2 files or directories selected for comparison"
fi
fi

75
.config/nnn/plugins/dragdrop

@ -0,0 +1,75 @@
#!/usr/bin/env sh
# Description: Open a Drag and drop window, to drop files onto other programs.
# Also provides drag and drop window for files.
#
# Dependencies: https://github.com/mwh/dragon
#
# Notes:
# - Files that are dropped will be added to nnn's selection
# Some webbased files will be downloaded to current directory with curl
# and it may overwrite some existing files
# - The user has to mm to clear nnn's selection first
#
# Shell: POSIX compliant
# Author: 0xACE
selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}
resp=f
all=
if which dragon-drag-and-drop >/dev/null 2>&1; then
dnd="dragon-drag-and-drop"
else
dnd="dragon"
fi
add_file ()
{
printf '%s\0' "$@" >> "$selection"
}
use_all ()
{
printf "mark --all (a) [default=none]: "
read -r resp
if [ "$resp" = "a" ]; then
all="--all"
else
all=""
fi
}
if [ -s "$selection" ]; then
printf "Drop file (r). Drag selection (s), Drag current directory (d) or drag current file (f) [default=f]: "
read -r resp
else
printf "Drop file (r). Drag current directory (d) or drag current file (f) [default=f]: "
read -r resp
if [ "$resp" = "s" ]; then
resp=f
fi
fi
if [ "$resp" = "s" ]; then
use_all
sed -z 's|'"$PWD/"'||g' < "$selection" | xargs -0 "$dnd" "$all" &
elif [ "$resp" = "d" ]; then
use_all
"$dnd" "$all" "$PWD/"* &
elif [ "$resp" = "r" ]; then
true > "$selection"
"$dnd" --print-path --target | while read -r f
do
if printf "%s" "$f" | grep '^\(https\?\|ftps\?\|s\?ftp\):\/\/' ; then
curl -LJO "$f"
add_file "$PWD/$(basename "$f")"
elif [ -e "$f" ]; then
add_file "$f"
fi
done &
else
if [ -n "$1" ] && [ -e "$1" ]; then
"$dnd" "$1" &
fi
fi

70
.config/nnn/plugins/dups

@ -0,0 +1,70 @@
#!/usr/bin/env sh
# Description: List non-empty duplicate files in the current directory (based on size followed by MD5)
#
# Source: https://www.commandlinefu.com/commands/view/3555/find-duplicate-files-based-on-size-first-then-md5-hash
#
# Dependencies: find md5sum sort uniq xargs gsed
#
# Note: bash compatible required for mktemp
#
# Shell: bash
# Authors: syssyphus, KlzXS
# If the size of a file has more that $size_digits digits the file will be misplaced
# 12 digits fit files up to 931GiB
EDITOR="${EDITOR:-vi}"
TMPDIR="${TMPDIR:-/tmp}"
size_digits=12
tmpfile=$(mktemp "$TMPDIR/.nnnXXXXXX")
printf "\
## This is an overview of all duplicate files found.
## Comment out the files you wish to remove. You will be given an option to cancel.
## Lines with double comments (##) are ignored.
## You will have the option to remove the files with force or interactively.\n
" > "$tmpfile"
# shellcheck disable=SC2016
find . -size +0 -type f -printf "%${size_digits}s %p\n" | sort -rn | uniq -w"${size_digits}" -D | sed -E '
s/^ {,12}([0-9]{,12}) (.*)$/printf "%s %s\\n" "$(md5sum "\2")" "d\1"/
' | tr '\n' '\0' | xargs -0 -n1 sh -c | sort | { uniq -w32 --all-repeated=separate; echo; } | sed -nE '
h
s/^(.{32}).* d([0-9]*)$/## md5sum: \1 size: \2 bytes/p
g
:loop
N
/.*\n$/!b loop
p' | sed -E 's/^.{32} (.*) d[0-9]*$/\1/' >> "$tmpfile"
"$EDITOR" "$tmpfile"
printf "Remove commented files? (yes/no) [default=n]: "
read -r commented
if [ "$commented" = "y" ]; then
sedcmd="/^(##|[^#]).*/d; /^$/d; s/^# *(.*)$/\1/"
else
printf "Press any key to exit"
read -r _
exit
fi
printf "Remove with force or interactive? (f/i) [default=i]: "
read -r force
if [ "$force" = "f" ]; then
#shellcheck disable=SC2016
sed -E "$sedcmd" "$tmpfile" | tr '\n' '\0' | xargs -0 -r sh -c 'rm -f "$0" "$@" </dev/tty'
else
#shellcheck disable=SC2016
sed -E "$sedcmd" "$tmpfile" | tr '\n' '\0' | xargs -0 -r sh -c 'rm -i "$0" "$@" </dev/tty'
fi
rm "$tmpfile"
printf "Press any key to exit"
read -r _

28
.config/nnn/plugins/finder

@ -0,0 +1,28 @@
#!/usr/bin/env sh
# Description: Run custom search and list results in smart context
#
# Note: To enable multi select in fzf, export the following:
# - export FZF_DEFAULT_OPTS='--bind ctrl-a:select-all,ctrl-d:deselect-all,ctrl-t:toggle'
#
# Shell: POSIX compliant
# Author: Arun Prakash Jana
. "$(dirname "$0")"/.nnn-plugin-helper
printf "Examples:\n"
printf " find . -name \"pattern*\" -print0\n"
printf " fd pattern -0\n"
printf " find -maxdepth 1 -size +100M -print0\n"
printf " fd -d 2 -S +100M -0\n"
printf " grep -rlZ pattern\n"
printf " rg -l0 pattern\n"
printf " fzf -m | tr %s %s\n\n" "'\n'" "'\0'"
printf "cmd: "
read -r cmd
if [ -n "$cmd" ]; then
printf "%s" "+l" > "$NNN_PIPE"
eval "$cmd" > "$NNN_PIPE"
fi

35
.config/nnn/plugins/fzcd

@ -0,0 +1,35 @@
#!/usr/bin/env sh
# Description: Run fzf and go to the directory of the file selected
#
# Shell: POSIX compliant
# Author: Anna Arad
. "$(dirname "$0")"/.nnn-plugin-helper
if [ "$(cmd_exists fzf)" -eq "0" ]; then
sel=$(fzf)
else
exit 1
fi
if [ -n "$sel" ]; then
if [ "$sel" = "." ] || { ! [ -d "$sel" ] && ! [ -f "$sel" ]; }; then
exit 0
fi
# Check if selected path returned
# by fzf command is absolute
case $sel in
/*) nnn_cd "$sel" ;;
*)
# Remove "./" prefix if it exists
sel="${sel#./}"
if [ "$PWD" = "/" ]; then
nnn_cd "/$sel"
else
nnn_cd "$PWD/$sel"
fi;;
esac
fi

38
.config/nnn/plugins/fzhist

@ -0,0 +1,38 @@
#!/usr/bin/env sh
# Description: Fuzzy find a command from history, edit in $EDITOR and run as a command
# Currently supports only bash and fish history
#
# Shell: POSIX compliant
# Author: Arun Prakash Jana
if which fzf >/dev/null 2>&1; then
fuzzy=fzf
else
exit 1
fi
shellname="$(basename "$SHELL")"
if [ "$shellname" = "bash" ]; then
hist_file="$HOME/.bash_history"
entry="$("$fuzzy" < "$hist_file")"
elif [ "$shellname" = "fish" ]; then
hist_file="$HOME/.config/fish/fish_history"
entry="$(grep "\- cmd: " "$hist_file" | cut -c 8- | "$fuzzy")"
fi
if [ -n "$entry" ]; then
tmpfile=$(mktemp)
echo "$entry" >> "$tmpfile"
$EDITOR "$tmpfile"
if [ -s "$tmpfile" ]; then
$SHELL -c "$(cat "$tmpfile")"
fi
rm "$tmpfile"
printf "Press any key to exit"
read -r _
fi

38
.config/nnn/plugins/fzopen

@ -0,0 +1,38 @@
#!/usr/bin/env sh
# Description: Fuzzy find a file in directory subtree
# Opens in $VISUAL or $EDITOR if text
# Opens other type of files with xdg-open
#
# Dependencies: fd/find, fzf/skim, xdg-open
#
# Shell: POSIX compliant
# Author: Arun Prakash Jana
if which fzf >/dev/null 2>&1; then
cmd="$FZF_DEFAULT_COMMAND"
if which fd >/dev/null 2>&1; then
[ -z "$cmd" ] && cmd="fd -t f 2>/dev/null"
else
[ -z "$cmd" ] && cmd="find . -type f 2>/dev/null"
fi
entry="$(eval "$cmd" | fzf --delimiter / --nth=-1 --tiebreak=begin --info=hidden)"
# To show only the file name
# entry=$(find . -type f 2>/dev/null | fzf --delimiter / --with-nth=-1 --tiebreak=begin --info=hidden)
elif which sk >/dev/null 2>&1; then
entry=$(find . -type f 2>/dev/null | sk)
else
exit 1
fi
case "$(file -biL "$entry")" in
*text*)
"${VISUAL:-$EDITOR}" "$entry" ;;
*)
if uname | grep -q "Darwin"; then
open "$entry" >/dev/null 2>&1
else
xdg-open "$entry" >/dev/null 2>&1
fi
;;
esac

26
.config/nnn/plugins/fzz

@ -0,0 +1,26 @@
#!/usr/bin/env sh
# Description: cd to any dir in the z database using an fzf pane
#
# Shell: POSIX compliant
# Author: Nick Waywood
. "$(dirname "$0")"/.nnn-plugin-helper
if which fzf >/dev/null 2>&1; then
fuzzy=fzf
else
exit 1
fi
datafile="${_Z_DATA:-$HOME/.z}"
if [ -f "$datafile" ]; then
# I read the data from z's file instead of calling the z command so that the data doesn't need to be processed twice
sel=$(awk -F "|" '{print $1}' "$datafile" | "$fuzzy" | awk '{$1=$1};1')
# NOTE: Uncomment this line and comment out the line above if you want to see the weightings of the dir's in the fzf pane
# sel=$(awk -F "|" '{printf "%s %s\n", $2, $1}' "$datafile" | "$fuzzy" | sed 's/^[0-9,.]* *//' | awk '{$1=$1};1')
else
exit 1
fi
printf "%s" "0c$sel" > "$NNN_PIPE"

83
.config/nnn/plugins/getplugs

@ -0,0 +1,83 @@
#!/usr/bin/env sh
# Description: Update nnn plugins to installed nnn version
#
# Shell: POSIX compliant
# Authors: Arun Prakash Jana, KlzXS
CONFIG_DIR=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/
PLUGIN_DIR=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/plugins
# is_cmd_exists () {
# which "$1" > /dev/null 2>&1
# echo $?
# }
merge () {
if which nvim >/dev/null 2>&1; then
nvim -d "$1" "$2"
else
vimdiff +0 "$1" "$2"
fi
}
prompt () {
printf "%s\n" "Plugin $1 already exists and is different."
printf "Keep (k), merge (m), overwrite (o) [default: k]? "
read -r operation
if [ "$operation" = "m" ]; then
op="merge"
elif [ "$operation" = "o" ]; then
op="cp -vRf"
else
op="true"
fi
}
# if [ "$(is_cmd_exists sudo)" -eq "0" ]; then
# sucmd=sudo
# elif [ "$(is_cmd_exists doas)" -eq "0" ]; then
# sucmd=doas
# else
# sucmd=: # noop
# fi
if [ "$1" = "master" ] ; then
VER="master"
ARCHIVE_URL=https://github.com/jarun/nnn/archive/master.tar.gz
elif which nnn >/dev/null 2>&1; then
VER=$(nnn -V)
ARCHIVE_URL=https://github.com/jarun/nnn/releases/download/v"$VER"/nnn-v"$VER".tar.gz
else
echo "nnn is not installed"
exit 1
fi
# backup any earlier plugins
if [ -d "$PLUGIN_DIR" ]; then
tar -C "$CONFIG_DIR" -czf "$CONFIG_DIR""plugins-$(date '+%Y%m%d%H%M').tar.gz" plugins/
fi
mkdir -p "$PLUGIN_DIR"
cd "$CONFIG_DIR" || exit 1
curl -Ls "$ARCHIVE_URL" -o nnn-"$VER".tar.gz
tar -zxf nnn-"$VER".tar.gz
cd nnn-"$VER"/plugins || exit 1
# shellcheck disable=SC2044
# We do not use obnoxious names for plugins
for f in $(find . -maxdepth 1 \( ! -iname "." ! -iname "*.md" \)); do
if [ -f ../../plugins/"$f" ]; then
if [ "$(diff --brief "$f" ../../plugins/"$f")" ]; then
prompt "$f"
$op "$f" ../../plugins/
fi
else
cp -vRf "$f" ../../plugins/
fi
done
cd ../.. || exit 1
rm -rf nnn-"$VER"/ nnn-"$VER".tar.gz

21