Compare commits
1 Commits
master
..
6ae58df8cb
| Author | SHA1 | Date | |
|---|---|---|---|
|
6ae58df8cb
|
@@ -1,78 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleAllowMixedLocalizations</key>
|
||||
<true/>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>applet</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>applet</string>
|
||||
<key>CFBundleIconName</key>
|
||||
<string>applet</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.apple.ScriptEditor.id.Copy-Firefox-Link--Jira</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Copy Firefox Link (Jira)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>aplt</string>
|
||||
<key>LSMinimumSystemVersionByArchitecture</key>
|
||||
<dict>
|
||||
<key>x86_64</key>
|
||||
<string>10.6</string>
|
||||
</dict>
|
||||
<key>LSRequiresCarbon</key>
|
||||
<true/>
|
||||
<key>NSAppleEventsUsageDescription</key>
|
||||
<string>This script needs to control other applications to run.</string>
|
||||
<key>NSAppleMusicUsageDescription</key>
|
||||
<string>This script needs access to your music to run.</string>
|
||||
<key>NSCalendarsUsageDescription</key>
|
||||
<string>This script needs access to your calendars to run.</string>
|
||||
<key>NSCameraUsageDescription</key>
|
||||
<string>This script needs access to your camera to run.</string>
|
||||
<key>NSContactsUsageDescription</key>
|
||||
<string>This script needs access to your contacts to run.</string>
|
||||
<key>NSHomeKitUsageDescription</key>
|
||||
<string>This script needs access to your HomeKit Home to run.</string>
|
||||
<key>NSMicrophoneUsageDescription</key>
|
||||
<string>This script needs access to your microphone to run.</string>
|
||||
<key>NSPhotoLibraryUsageDescription</key>
|
||||
<string>This script needs access to your photos to run.</string>
|
||||
<key>NSRemindersUsageDescription</key>
|
||||
<string>This script needs access to your reminders to run.</string>
|
||||
<key>NSSiriUsageDescription</key>
|
||||
<string>This script needs access to Siri to run.</string>
|
||||
<key>NSSystemAdministrationUsageDescription</key>
|
||||
<string>This script needs access to administer this system to run.</string>
|
||||
<key>OSAAppletShowStartupScreen</key>
|
||||
<false/>
|
||||
<key>WindowState</key>
|
||||
<dict>
|
||||
<key>bundleDividerCollapsed</key>
|
||||
<true/>
|
||||
<key>bundlePositionOfDivider</key>
|
||||
<real>0.0</real>
|
||||
<key>dividerCollapsed</key>
|
||||
<false/>
|
||||
<key>eventLogLevel</key>
|
||||
<integer>2</integer>
|
||||
<key>name</key>
|
||||
<string>ScriptWindowState</string>
|
||||
<key>positionOfDivider</key>
|
||||
<real>394</real>
|
||||
<key>savedFrame</key>
|
||||
<string>952 453 700 682 0 0 2560 1409 </string>
|
||||
<key>selectedTab</key>
|
||||
<string>result</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1 +0,0 @@
|
||||
APPLaplt
|
||||
|
Before Width: | Height: | Size: 362 B |
@@ -1,5 +0,0 @@
|
||||
{\rtf1\ansi\ansicpg1252\cocoartf2865
|
||||
\cocoatextscaling0\cocoaplatform0{\fonttbl}
|
||||
{\colortbl;\red255\green255\blue255;}
|
||||
{\*\expandedcolortbl;;}
|
||||
}
|
||||
@@ -1,192 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>files</key>
|
||||
<dict>
|
||||
<key>Resources/Assets.car</key>
|
||||
<data>
|
||||
OdbufcoyP2ZXC+wmwYcwMi/2x24=
|
||||
</data>
|
||||
<key>Resources/Scripts/main.scpt</key>
|
||||
<data>
|
||||
c++jyUmQRxdpGX36L8PJaNpf6uM=
|
||||
</data>
|
||||
<key>Resources/applet.icns</key>
|
||||
<data>
|
||||
sINd6lbiqHD5dL8c6u79cFvVXhw=
|
||||
</data>
|
||||
<key>Resources/applet.rsrc</key>
|
||||
<data>
|
||||
DlWDU4NYiJFhmwpseexPiRYHzFI=
|
||||
</data>
|
||||
<key>Resources/description.rtfd/TXT.rtf</key>
|
||||
<data>
|
||||
C1nXIy6FYUr4wNNlSEP/8NzzT/E=
|
||||
</data>
|
||||
</dict>
|
||||
<key>files2</key>
|
||||
<dict>
|
||||
<key>Resources/Assets.car</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
OdbufcoyP2ZXC+wmwYcwMi/2x24=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
cVUhSsEaVhMGFs9io544X4XEevDHVtRiVGUTdZ4ZHX4=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/Scripts/main.scpt</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
c++jyUmQRxdpGX36L8PJaNpf6uM=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
o+Lp+bYlQlPNZa8JmZ6wdvY55TCtjUxce100Dttj5vY=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/applet.icns</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
sINd6lbiqHD5dL8c6u79cFvVXhw=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
J7weZ6vlnv9r32tS5HFcyuPXl2StdDnfepLxAixlryk=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/applet.rsrc</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
DlWDU4NYiJFhmwpseexPiRYHzFI=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
/UdIZRcpe3tND6vnHQP/IG8Vvt3+ZFQS5SQ+h1kescY=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Resources/description.rtfd/TXT.rtf</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
C1nXIy6FYUr4wNNlSEP/8NzzT/E=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
Y3Q9y0mIEZh55w+oHoEyN1W1UzIxrILMub7rktKsd1I=
|
||||
</data>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>rules</key>
|
||||
<dict>
|
||||
<key>^Resources/</key>
|
||||
<true/>
|
||||
<key>^Resources/.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Resources/Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^version.plist$</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>rules2</key>
|
||||
<dict>
|
||||
<key>.*\.dSYM($|/)</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>11</real>
|
||||
</dict>
|
||||
<key>^(.*/)?\.DS_Store$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>2000</real>
|
||||
</dict>
|
||||
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
|
||||
<dict>
|
||||
<key>nested</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>10</real>
|
||||
</dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^Info\.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^PkgInfo$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^Resources/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Resources/Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^[^/]+$</key>
|
||||
<dict>
|
||||
<key>nested</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>10</real>
|
||||
</dict>
|
||||
<key>^embedded\.provisionprofile$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^version\.plist$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
DIR=$(dirname "$0")
|
||||
|
||||
for app in "$DIR"/*.app; do
|
||||
echo "Installing $(basename "$app")..."
|
||||
cp -rv "$app" "$HOME"/Applications/
|
||||
xattr -dr com.apple.quarantine "/Applications/$(basename "$app")"
|
||||
done
|
||||
|
||||
open "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility"
|
||||
@@ -1,29 +0,0 @@
|
||||
bash
|
||||
coreutils
|
||||
dockutil
|
||||
duti
|
||||
fastfetch
|
||||
ffmpeg
|
||||
git
|
||||
gnu-sed
|
||||
htop
|
||||
imagemagick
|
||||
ipcalc
|
||||
iperf3
|
||||
mtr
|
||||
neovim
|
||||
parallel
|
||||
pinentry-mac
|
||||
ranger
|
||||
ripgrep
|
||||
rsync
|
||||
taplo
|
||||
telnet
|
||||
texinfo
|
||||
tmux
|
||||
tree
|
||||
uv
|
||||
watch
|
||||
wget
|
||||
zoxide
|
||||
zsh
|
||||
@@ -1,35 +0,0 @@
|
||||
alacritty
|
||||
brave-browser
|
||||
chatterino
|
||||
dbeaver-community
|
||||
discord
|
||||
displaylink
|
||||
docker
|
||||
excalidrawz
|
||||
firefox
|
||||
font-hack-nerd-font
|
||||
karabiner-elements
|
||||
keepassxc
|
||||
megasync
|
||||
microsoft-teams
|
||||
mpv
|
||||
obs
|
||||
obsidian
|
||||
platypus
|
||||
podman-desktop
|
||||
postman
|
||||
qbittorrent
|
||||
rustdesk
|
||||
scroll-reverser
|
||||
signal
|
||||
slack
|
||||
spotify
|
||||
telegram
|
||||
the-unarchiver
|
||||
thunderbird
|
||||
transfer
|
||||
twingate
|
||||
visual-studio-code
|
||||
vlc
|
||||
winbox
|
||||
wireshark
|
||||
@@ -1,2 +0,0 @@
|
||||
example
|
||||
displaylink
|
||||
@@ -1,110 +0,0 @@
|
||||
# use_thin_strokes = true
|
||||
[env]
|
||||
TERM = "xterm-256color"
|
||||
|
||||
[general]
|
||||
import = ["~/.config/alacritty/dracula.toml"]
|
||||
|
||||
[keyboard]
|
||||
bindings = [
|
||||
{ key = "F", mods = "Control", action = "SearchForward" },
|
||||
{ key = "Left", mods = "Alt", chars = "\u001BB" },
|
||||
{ key = "Return", mods = "Control|Shift", action = "SpawnNewInstance" },
|
||||
{ key = "Right", mods = "Alt", chars = "\u001BF" },
|
||||
{ key = "Space", mods = "Control", chars = "\u0000" },
|
||||
{ key = "V", mods = "Control|Shift", action = "Paste" },
|
||||
]
|
||||
|
||||
[window]
|
||||
opacity = 0.95
|
||||
|
||||
[font]
|
||||
size = 20
|
||||
|
||||
# [font.normal]
|
||||
# family = "Terminess Nerd Font"
|
||||
# style = "Regular"
|
||||
|
||||
# # [font.bold]
|
||||
# # family = "Teminess Nerd Font"
|
||||
# # style = "Bold"
|
||||
|
||||
# [font.bold_italic]
|
||||
# family = "Terminess Nerd Font"
|
||||
# style = "Bold Italic"
|
||||
|
||||
# [font.italic]
|
||||
# family = "Terminess Nerd Font"
|
||||
# style = "Italic"
|
||||
|
||||
|
||||
# Comic code
|
||||
[font.normal]
|
||||
family = "Comic Code Ligatures"
|
||||
style = "Regular"
|
||||
|
||||
# [font.bold]
|
||||
# family = "Teminess Nerd Font"
|
||||
# style = "Bold"
|
||||
|
||||
[font.bold_italic]
|
||||
family = "Comic Code"
|
||||
style = "Bold Italic"
|
||||
|
||||
[font.italic]
|
||||
family = "Comic Code"
|
||||
style = "Italic"
|
||||
|
||||
[font.offset]
|
||||
x = 0
|
||||
y = -6
|
||||
|
||||
[font.glyph_offset]
|
||||
x = 0
|
||||
y = -2
|
||||
|
||||
# [mouse.hints]
|
||||
# modifiers = "Command"
|
||||
|
||||
# [mouse.hints.launcher]
|
||||
# program = "open"
|
||||
|
||||
[selection]
|
||||
save_to_clipboard = true
|
||||
|
||||
# Unused
|
||||
[colors.bright]
|
||||
black = "0x7f7f7f"
|
||||
blue = "0x5c5cff"
|
||||
cyan = "0x00ffff"
|
||||
green = "0x00ff00"
|
||||
magenta = "0xff00ff"
|
||||
red = "0xff0000"
|
||||
white = "0xffffff"
|
||||
yellow = "0xffff00"
|
||||
|
||||
[colors.normal]
|
||||
black = "0x000000"
|
||||
blue = "0x0000ee"
|
||||
cyan = "0x00cdcd"
|
||||
green = "0x00cd00"
|
||||
magenta = "0xcd00cd"
|
||||
red = "0xcd0000"
|
||||
white = "0xe5e5e5"
|
||||
yellow = "0xcdcd00"
|
||||
|
||||
[colors.primary]
|
||||
background = "0x000000"
|
||||
foreground = "0xffffff"
|
||||
|
||||
[colors.search.focused_match]
|
||||
background = "#ab4642"
|
||||
foreground = "#181818"
|
||||
|
||||
# [colors.search.footer_bar]
|
||||
# background = "#262626"
|
||||
# foreground = "#d0d0d0"
|
||||
|
||||
[colors.search.matches]
|
||||
background = "#f4bf75"
|
||||
foreground = "#181818"
|
||||
@@ -1,76 +0,0 @@
|
||||
# Dracula theme for Alacritty
|
||||
# https://draculatheme.com/alacritty
|
||||
#
|
||||
# Color palette
|
||||
# https://spec.draculatheme.com
|
||||
#
|
||||
# Instructions
|
||||
# https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd
|
||||
|
||||
[colors.primary]
|
||||
|
||||
background = "#282a36"
|
||||
foreground = "#f8f8f2"
|
||||
bright_foreground = "#ffffff"
|
||||
|
||||
[colors.cursor]
|
||||
|
||||
text = "#282a36"
|
||||
cursor = "#f8f8f2"
|
||||
|
||||
[colors.vi_mode_cursor]
|
||||
|
||||
text = "CellBackground"
|
||||
cursor = "CellForeground"
|
||||
|
||||
[colors.selection]
|
||||
|
||||
text = "CellForeground"
|
||||
background = "#44475a"
|
||||
|
||||
[colors.normal]
|
||||
|
||||
black = "#21222c"
|
||||
red = "#ff5555"
|
||||
green = "#50fa7b"
|
||||
yellow = "#f1fa8c"
|
||||
blue = "#bd93f9"
|
||||
magenta = "#ff79c6"
|
||||
cyan = "#8be9fd"
|
||||
white = "#f8f8f2"
|
||||
|
||||
[colors.bright]
|
||||
|
||||
black = "#6272a4"
|
||||
red = "#ff6e6e"
|
||||
green = "#69ff94"
|
||||
yellow = "#ffffa5"
|
||||
blue = "#d6acff"
|
||||
magenta = "#ff92df"
|
||||
cyan = "#a4ffff"
|
||||
white = "#ffffff"
|
||||
|
||||
[colors.search.matches]
|
||||
|
||||
foreground = "#44475a"
|
||||
background = "#50fa7b"
|
||||
|
||||
[colors.search.focused_match]
|
||||
|
||||
foreground = "#44475a"
|
||||
background = "#ffb86c"
|
||||
|
||||
[colors.footer_bar]
|
||||
|
||||
background = "#282a36"
|
||||
foreground = "#f8f8f2"
|
||||
|
||||
[colors.hints.start]
|
||||
|
||||
foreground = "#282a36"
|
||||
background = "#f1fa8c"
|
||||
|
||||
[colors.hints.end]
|
||||
|
||||
foreground = "#f1fa8c"
|
||||
background = "#282a36"
|
||||
@@ -1,248 +0,0 @@
|
||||
[global]
|
||||
font = Mono 16
|
||||
|
||||
# Allow a small subset of html markup:
|
||||
# <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>.
|
||||
# If markup is not allowed, those tags will be stripped out of the
|
||||
# message.
|
||||
allow_markup = yes
|
||||
|
||||
# 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
|
||||
# Markup is allowed
|
||||
format = "<b>%s</b>\n%b"
|
||||
|
||||
# Sort messages by urgency.
|
||||
sort = no #yes
|
||||
|
||||
# Show how many messages are currently hidden (because of geometry).
|
||||
indicate_hidden = no
|
||||
|
||||
# Alignment of message text.
|
||||
# Possible values are "left", "center" and "right".
|
||||
alignment = left
|
||||
|
||||
# The frequency with which text that is longer than the notification
|
||||
# window allows bounces back and forth.
|
||||
# This option conflicts with "word_wrap".
|
||||
# Set to 0 to disable.
|
||||
bounce_freq = 0
|
||||
|
||||
# Show age of message if message is older than show_age_threshold
|
||||
# seconds.
|
||||
# Set to -1 to disable.
|
||||
show_age_threshold = -1 #60
|
||||
|
||||
# Split notifications into multiple lines if they don't fit into
|
||||
# geometry.
|
||||
word_wrap = yes
|
||||
|
||||
# Ignore newlines '\n' in notifications.
|
||||
ignore_newline = no
|
||||
|
||||
|
||||
# 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 = "400x10-40+30"
|
||||
|
||||
# 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 = 0
|
||||
|
||||
# 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.
|
||||
idle_threshold = 120
|
||||
|
||||
# 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
|
||||
|
||||
# Should a notification popped up from history be sticky or timeout
|
||||
# as if it would normally do.
|
||||
sticky_history = no # yes
|
||||
|
||||
# Maximum amount of notifications kept in history
|
||||
history_length = 20
|
||||
|
||||
# Display indicators for URLs (U) and actions (A).
|
||||
show_indicators = no
|
||||
|
||||
# The height of a single line. If the height is smaller than the
|
||||
# font height, it will get raised to the font height.
|
||||
# This adds empty space above and under the text.
|
||||
line_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
|
||||
|
||||
# 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
|
||||
|
||||
# Print a notification on startup.
|
||||
# This is mainly for error detection, since dbus (re-)starts dunst
|
||||
# automatically after a crash.
|
||||
startup_notification = false
|
||||
|
||||
# dmenu path.
|
||||
dmenu = /usr/bin/dmenu -p dunst:
|
||||
|
||||
# Browser for opening urls in context menu.
|
||||
browser = /usr/bin/firefox -new-tab
|
||||
|
||||
# Align icons left/right/off
|
||||
icon_position = off
|
||||
|
||||
# Paths to default icons.
|
||||
icon_folders = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
||||
|
||||
[frame]
|
||||
width = 1
|
||||
color = "#424242"
|
||||
|
||||
[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".
|
||||
history = ctrl+grave
|
||||
|
||||
# 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 = "#222222"
|
||||
#foreground = ${xrdb:color6}
|
||||
foreground = "#dfdfdf"
|
||||
timeout = 5
|
||||
|
||||
[urgency_normal]
|
||||
background = "#222222"
|
||||
#foreground = "${xrdb:color6}
|
||||
foreground = "#dfdfdf"
|
||||
timeout = 5
|
||||
|
||||
[urgency_critical]
|
||||
background = "#222222"
|
||||
#foreground = ${xrdb:color6}
|
||||
foreground = "#dfdfdf"
|
||||
timeout = 5
|
||||
|
||||
# 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", "summary", "body", "icon", "category",
|
||||
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
|
||||
# "background", "new_icon" and "format".
|
||||
# Shell-like globbing will get expanded.
|
||||
#
|
||||
# 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.
|
||||
|
||||
#[espeak]
|
||||
# summary = "*"
|
||||
# script = dunst_espeak.sh
|
||||
|
||||
#[script-test]
|
||||
# summary = "*script*"
|
||||
# script = dunst_test.sh
|
||||
|
||||
#[ignore]
|
||||
# # This notification will not be displayed
|
||||
# summary = "foobar"
|
||||
# format = ""
|
||||
|
||||
#[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
|
||||
#
|
||||
# vim: ft=cfg
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
# CONFIGURATION:
|
||||
# Default configuration to DROP
|
||||
iptables -P INPUT DROP
|
||||
iptables -P FORWARD DROP
|
||||
iptables -P OUTPUT DROP
|
||||
|
||||
# Accept on localhost
|
||||
# iptables -A INPUT -i lo -j ACCEPT
|
||||
# iptables -A OUTPUT -o lo -j ACCEPT
|
||||
|
||||
# Accept outgoing network
|
||||
iptables -A OUTPUT -o eth0 -j ACCEPT
|
||||
|
||||
# Enable SSH (to that machine)
|
||||
iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --sport 22 -j ACCEPT
|
||||
iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 22 -j ACCEPT
|
||||
|
||||
# Enable INZ
|
||||
#iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 1285 -j ACCEPT
|
||||
#iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 3000 -j ACCEPT
|
||||
#iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 8080 -j ACCEPT
|
||||
|
||||
#Enable CSGO
|
||||
iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 27015 -j ACCEPT
|
||||
iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 27020 -j ACCEPT
|
||||
#iptables -A INPUT -p udp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 27015 -j ACCEPT
|
||||
#iptables -A INPUT -p udp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 27020 -j ACCEPT
|
||||
|
||||
# Allow established sessions to receive traffic
|
||||
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
|
||||
# iptables -A INPUT -m state --state NEW,ESTABLISHED -j ACCEPT
|
||||
|
||||
iptables -A INPUT -i eth0 -m state --state NEW,INVALID -j DROP
|
||||
iptables -A FORWARD -i eth0 -m state --state NEW,INVALID -j DROP
|
||||
# END OF CONFIG
|
||||
|
||||
# END CONFIGURATION:
|
||||
# END OF CONFIGURATION
|
||||
@@ -1 +0,0 @@
|
||||
{"title":"Mouse keys ambidextrous - yorune","rules":[{"description":"Mouse keys Ambidextrous","manipulators":[{"from":{"key_code":"k","modifiers":{"mandatory":["fn"],"optional":["any"]}},"to":[{"mouse_key":{"vertical_wheel":-64}}],"type":"basic"},{"from":{"key_code":"j","modifiers":{"mandatory":["fn"],"optional":["any"]}},"to":[{"mouse_key":{"vertical_wheel":64}}],"type":"basic"},{"from":{"key_code":"h","modifiers":{"mandatory":["fn"],"optional":["any"]}},"to":[{"mouse_key":{"horizontal_wheel":64}}],"type":"basic"},{"from":{"key_code":"l","modifiers":{"mandatory":["fn"],"optional":["any"]}},"to":[{"mouse_key":{"horizontal_wheel":-64}}],"type":"basic"},{"from":{"key_code":"u","modifiers":{"mandatory":["left_control","left_shift"],"optional":["any"]}},"to":[{"pointing_button":"button1"}],"type":"basic"},{"from":{"key_code":"o","modifiers":{"mandatory":["left_control","left_shift"],"optional":["any"]}},"to":[{"pointing_button":"button2"}],"type":"basic"},{"from":{"key_code":"h","modifiers":{"mandatory":["left_control","left_shift"],"optional":["any"]}},"to":[{"mouse_key":{"x":-1018}}],"type":"basic"},{"from":{"key_code":"j","modifiers":{"mandatory":["left_control","left_shift"],"optional":["any"]}},"to":[{"mouse_key":{"y":1018}}],"type":"basic"},{"from":{"key_code":"k","modifiers":{"mandatory":["left_control","left_shift"],"optional":["any"]}},"to":[{"mouse_key":{"y":-1018}}],"type":"basic"},{"from":{"key_code":"l","modifiers":{"mandatory":["left_control","left_shift"],"optional":["any"]}},"to":[{"mouse_key":{"x":1018}}],"type":"basic"},{"from":{"key_code":"q","modifiers":{"mandatory":["left_control","left_shift"],"optional":["any"]}},"to":[{"pointing_button":"button1"}],"type":"basic"},{"from":{"key_code":"e","modifiers":{"mandatory":["left_control","left_shift"],"optional":["any"]}},"to":[{"pointing_button":"button2"}],"type":"basic"}]}]}
|
||||
@@ -1,449 +0,0 @@
|
||||
{
|
||||
"global": { "show_in_menu_bar": false },
|
||||
"profiles": [
|
||||
{
|
||||
"complex_modifications": {
|
||||
"rules": [
|
||||
{
|
||||
"description": "Maps F5 to ⌘⇧M in MS Teams or ⌘⇧A to ZOOM. F5 has an MIC symbol on recent MacOS keyboards.",
|
||||
"manipulators": [
|
||||
{
|
||||
"from": { "key_code": "f5" },
|
||||
"to": [{ "shell_command": "if [ $(ps aux | grep -v grep | grep -ci \"Microsoft Teams.app/Contents/Frameworks/Microsoft Teams Helper.app\") -gt 0 ]; then osascript -e 'activate application id \"com.microsoft.teams\"' -e 'tell application \"System Events\" to keystroke \"m\" using {command down, shift down}'; fi & if [ $(ps aux | grep -v grep | grep -ci \"zoom.us.app/Contents/Frameworks/cpthost.app/Contents/MacOS/CptHost\") -gt 0 ]; then osascript -e 'activate application id \"us.zoom.xos\"' -e 'tell application \"System Events\" to keystroke \"a\" using {command down, shift down}'; fi" }],
|
||||
"type": "basic"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Change right_command+hjkl to arrow keys",
|
||||
"manipulators": [
|
||||
{
|
||||
"from": {
|
||||
"key_code": "h",
|
||||
"modifiers": {
|
||||
"mandatory": ["right_command"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [{ "key_code": "left_arrow" }],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "j",
|
||||
"modifiers": {
|
||||
"mandatory": ["right_command"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [{ "key_code": "down_arrow" }],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "k",
|
||||
"modifiers": {
|
||||
"mandatory": ["right_command"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [{ "key_code": "up_arrow" }],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "l",
|
||||
"modifiers": {
|
||||
"mandatory": ["right_command"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [{ "key_code": "right_arrow" }],
|
||||
"type": "basic"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"devices": [
|
||||
{
|
||||
"fn_function_keys": [
|
||||
{
|
||||
"from": { "key_code": "f1" },
|
||||
"to": [{ "consumer_key_code": "mute" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f2" },
|
||||
"to": [{ "consumer_key_code": "volume_decrement" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f3" },
|
||||
"to": [{ "consumer_key_code": "volume_increment" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f10" },
|
||||
"to": [{ "consumer_key_code": "play_or_pause" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f11" },
|
||||
"to": [{ "consumer_key_code": "display_brightness_decrement" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f12" },
|
||||
"to": [{ "consumer_key_code": "display_brightness_increment" }]
|
||||
}
|
||||
],
|
||||
"identifiers": {
|
||||
"is_keyboard": true,
|
||||
"product_id": 591,
|
||||
"vendor_id": 1452
|
||||
},
|
||||
"simple_modifications": [
|
||||
{
|
||||
"from": { "key_code": "caps_lock" },
|
||||
"to": [{ "key_code": "escape" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "down_arrow" },
|
||||
"to": [{ "pointing_button": "button32" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "escape" },
|
||||
"to": [{ "key_code": "grave_accent_and_tilde" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "left_arrow" },
|
||||
"to": [{ "pointing_button": "button32" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "left_command" },
|
||||
"to": [{ "key_code": "left_option" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "left_option" },
|
||||
"to": [{ "key_code": "right_command" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "right_arrow" },
|
||||
"to": [{ "pointing_button": "button32" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "right_command" },
|
||||
"to": [{ "key_code": "right_option" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "up_arrow" },
|
||||
"to": [{ "pointing_button": "button32" }]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifiers": {
|
||||
"is_keyboard": true,
|
||||
"product_id": 631,
|
||||
"vendor_id": 1452
|
||||
},
|
||||
"simple_modifications": [
|
||||
{
|
||||
"from": { "key_code": "non_us_backslash" },
|
||||
"to": [{ "key_code": "grave_accent_and_tilde" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "right_command" },
|
||||
"to": [{ "key_code": "right_option" }]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifiers": {
|
||||
"is_keyboard": true,
|
||||
"product_id": 6194,
|
||||
"vendor_id": 4152
|
||||
},
|
||||
"ignore": true,
|
||||
"manipulate_caps_lock_led": false
|
||||
},
|
||||
{
|
||||
"fn_function_keys": [
|
||||
{
|
||||
"from": { "key_code": "f1" },
|
||||
"to": [{ "key_code": "f1" }]
|
||||
}
|
||||
],
|
||||
"identifiers": {
|
||||
"is_keyboard": true,
|
||||
"product_id": 615,
|
||||
"vendor_id": 76
|
||||
},
|
||||
"simple_modifications": [
|
||||
{
|
||||
"from": { "key_code": "right_command" },
|
||||
"to": [{ "key_code": "right_option" }]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifiers": {
|
||||
"is_pointing_device": true,
|
||||
"product_id": 6194,
|
||||
"vendor_id": 4152
|
||||
},
|
||||
"simple_modifications": [
|
||||
{
|
||||
"from": { "pointing_button": "button5" },
|
||||
"to": [{ "apple_vendor_keyboard_key_code": "launchpad" }]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifiers": {
|
||||
"is_keyboard": true,
|
||||
"product_id": 30264,
|
||||
"vendor_id": 3141
|
||||
},
|
||||
"simple_modifications": [
|
||||
{
|
||||
"from": { "key_code": "escape" },
|
||||
"to": [{ "key_code": "grave_accent_and_tilde" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "left_command" },
|
||||
"to": [{ "key_code": "left_option" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "left_option" },
|
||||
"to": [{ "key_code": "right_command" }]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifiers": { "is_keyboard": true },
|
||||
"simple_modifications": [
|
||||
{
|
||||
"from": { "key_code": "right_command" },
|
||||
"to": [{ "key_code": "right_option" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "right_option" },
|
||||
"to": [{ "key_code": "right_command" }]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifiers": {
|
||||
"is_keyboard": true,
|
||||
"product_id": 34056,
|
||||
"vendor_id": 3141
|
||||
},
|
||||
"simple_modifications": [
|
||||
{
|
||||
"from": { "key_code": "left_command" },
|
||||
"to": [{ "key_code": "left_option" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "left_option" },
|
||||
"to": [{ "key_code": "right_command" }]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifiers": {
|
||||
"is_keyboard": true,
|
||||
"product_id": 615,
|
||||
"vendor_id": 1452
|
||||
},
|
||||
"simple_modifications": [
|
||||
{
|
||||
"from": { "consumer_key_code": "eject" },
|
||||
"to": [{ "consumer_key_code": "al_terminal_lock_or_screensaver" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "right_command" },
|
||||
"to": [{ "key_code": "right_option" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "right_option" },
|
||||
"to": [{ "key_code": "right_command" }]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifiers": {
|
||||
"is_keyboard": true,
|
||||
"product_id": 668,
|
||||
"vendor_id": 76
|
||||
},
|
||||
"simple_modifications": [
|
||||
{
|
||||
"from": { "key_code": "right_command" },
|
||||
"to": [{ "key_code": "right_option" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "right_option" },
|
||||
"to": [{ "key_code": "right_command" }]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"fn_function_keys": [
|
||||
{
|
||||
"from": { "key_code": "f1" },
|
||||
"to": [{ "key_code": "f1" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f2" },
|
||||
"to": [{ "key_code": "f2" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f3" },
|
||||
"to": [{ "key_code": "f3" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f4" },
|
||||
"to": [{ "key_code": "f4" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f5" },
|
||||
"to": [{ "key_code": "f5" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f6" },
|
||||
"to": [{ "key_code": "f13" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f7" },
|
||||
"to": [{ "key_code": "f7" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f8" },
|
||||
"to": [{ "key_code": "f8" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f9" },
|
||||
"to": [{ "key_code": "f9" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f10" },
|
||||
"to": [{ "consumer_key_code": "play_or_pause" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f11" },
|
||||
"to": [{ "consumer_key_code": "mute" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f12" },
|
||||
"to": [{ "consumer_key_code": "volume_increment" }]
|
||||
}
|
||||
],
|
||||
"identifiers": {
|
||||
"is_keyboard": true,
|
||||
"product_id": 45929,
|
||||
"vendor_id": 1133
|
||||
},
|
||||
"manipulate_caps_lock_led": false,
|
||||
"simple_modifications": [
|
||||
{
|
||||
"from": { "key_code": "right_command" },
|
||||
"to": [{ "key_code": "right_option" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "right_option" },
|
||||
"to": [{ "key_code": "right_command" }]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"fn_function_keys": [
|
||||
{
|
||||
"from": { "key_code": "f1" },
|
||||
"to": [{ "key_code": "f1" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f2" },
|
||||
"to": [{ "key_code": "f2" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f11" },
|
||||
"to": [{ "key_code": "f11" }]
|
||||
}
|
||||
],
|
||||
"identifiers": {
|
||||
"is_keyboard": true,
|
||||
"product_id": 785,
|
||||
"vendor_id": 13364
|
||||
},
|
||||
"simple_modifications": [
|
||||
{
|
||||
"from": { "key_code": "grave_accent_and_tilde" },
|
||||
"to": [{ "key_code": "non_us_backslash" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "right_control" },
|
||||
"to": [{ "key_code": "grave_accent_and_tilde" }]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifiers": {
|
||||
"is_keyboard": true,
|
||||
"product_id": 666,
|
||||
"vendor_id": 76
|
||||
},
|
||||
"simple_modifications": [
|
||||
{
|
||||
"from": { "key_code": "right_command" },
|
||||
"to": [{ "key_code": "right_option" }]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifiers": {
|
||||
"is_keyboard": true,
|
||||
"product_id": 666,
|
||||
"vendor_id": 1452
|
||||
},
|
||||
"simple_modifications": [
|
||||
{
|
||||
"from": { "key_code": "right_command" },
|
||||
"to": [{ "key_code": "right_option" }]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"identifiers": {
|
||||
"is_keyboard": true,
|
||||
"product_id": 34304,
|
||||
"vendor_id": 1452
|
||||
},
|
||||
"ignore": true
|
||||
}
|
||||
],
|
||||
"fn_function_keys": [
|
||||
{
|
||||
"from": { "key_code": "f4" },
|
||||
"to": [{ "apple_vendor_keyboard_key_code": "mission_control" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "f5" },
|
||||
"to": [{ "key_code": "f5" }]
|
||||
}
|
||||
],
|
||||
"name": "Default profile",
|
||||
"selected": true,
|
||||
"simple_modifications": [
|
||||
{
|
||||
"from": { "consumer_key_code": "eject" },
|
||||
"to": [{ "consumer_key_code": "al_terminal_lock_or_screensaver" }]
|
||||
},
|
||||
{
|
||||
"from": { "key_code": "caps_lock" },
|
||||
"to": [{ "key_code": "escape" }]
|
||||
}
|
||||
],
|
||||
"virtual_hid_keyboard": {
|
||||
"country_code": 0,
|
||||
"keyboard_type_v2": "iso"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,206 +0,0 @@
|
||||
{
|
||||
"title": "Mouse keys ambidextrous - yorune",
|
||||
"rules": [
|
||||
{
|
||||
"description": "Mouse keys Ambidextrous",
|
||||
"manipulators": [
|
||||
{
|
||||
"from": {
|
||||
"key_code": "k",
|
||||
"modifiers": {
|
||||
"mandatory": ["fn"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"mouse_key": {
|
||||
"vertical_wheel": -64
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "j",
|
||||
"modifiers": {
|
||||
"mandatory": ["fn"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"mouse_key": {
|
||||
"vertical_wheel": 64
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "h",
|
||||
"modifiers": {
|
||||
"mandatory": ["fn"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"mouse_key": {
|
||||
"horizontal_wheel": 64
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "l",
|
||||
"modifiers": {
|
||||
"mandatory": ["fn"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"mouse_key": {
|
||||
"horizontal_wheel": -64
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "u",
|
||||
"modifiers": {
|
||||
"mandatory": ["left_control", "left_shift"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"pointing_button": "button1"
|
||||
}
|
||||
],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "o",
|
||||
"modifiers": {
|
||||
"mandatory": ["left_control", "left_shift"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"pointing_button": "button2"
|
||||
}
|
||||
],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "h",
|
||||
"modifiers": {
|
||||
"mandatory": ["left_control", "left_shift"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"mouse_key": {
|
||||
"x": -1018
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "j",
|
||||
"modifiers": {
|
||||
"mandatory": ["left_control", "left_shift"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"mouse_key": {
|
||||
"y": 1018
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "k",
|
||||
"modifiers": {
|
||||
"mandatory": ["left_control", "left_shift"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"mouse_key": {
|
||||
"y": -1018
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "l",
|
||||
"modifiers": {
|
||||
"mandatory": ["left_control", "left_shift"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"mouse_key": {
|
||||
"x": 1018
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "q",
|
||||
"modifiers": {
|
||||
"mandatory": ["left_control", "left_shift"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"pointing_button": "button1"
|
||||
}
|
||||
],
|
||||
"type": "basic"
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "e",
|
||||
"modifiers": {
|
||||
"mandatory": ["left_control", "left_shift"],
|
||||
"optional": ["any"]
|
||||
}
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"pointing_button": "button2"
|
||||
}
|
||||
],
|
||||
"type": "basic"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,417 +0,0 @@
|
||||
{
|
||||
"name": "Keychron V1",
|
||||
"vendorProductId": 875823889,
|
||||
"macros": [
|
||||
"",
|
||||
"{KC_LGUI,KC_LCTL,KC_Q}",
|
||||
"{KC_RGUI,KC_L}",
|
||||
"Have a nice day",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"it-infra-stream@wundermanthompson.com",
|
||||
"marcin.wozniak@wundermanthompson.com",
|
||||
"Have a nice day!\n\n---\nMarcin\n"
|
||||
],
|
||||
"layers": [
|
||||
[
|
||||
"KC_GRV",
|
||||
"KC_F1",
|
||||
"KC_F2",
|
||||
"KC_F3",
|
||||
"KC_F4",
|
||||
"KC_F5",
|
||||
"KC_F6",
|
||||
"KC_F7",
|
||||
"KC_F8",
|
||||
"KC_F9",
|
||||
"KC_F10",
|
||||
"KC_F11",
|
||||
"KC_F12",
|
||||
"KC_DEL",
|
||||
"KC_NO",
|
||||
"KC_MUTE",
|
||||
"KC_GRV",
|
||||
"KC_1",
|
||||
"KC_2",
|
||||
"KC_3",
|
||||
"KC_4",
|
||||
"KC_5",
|
||||
"KC_6",
|
||||
"KC_7",
|
||||
"KC_8",
|
||||
"KC_9",
|
||||
"KC_0",
|
||||
"KC_MINS",
|
||||
"KC_EQL",
|
||||
"KC_BSPC",
|
||||
"KC_NO",
|
||||
"KC_PGUP",
|
||||
"KC_TAB",
|
||||
"KC_Q",
|
||||
"KC_W",
|
||||
"KC_E",
|
||||
"KC_R",
|
||||
"KC_T",
|
||||
"KC_Y",
|
||||
"KC_U",
|
||||
"KC_I",
|
||||
"KC_O",
|
||||
"KC_P",
|
||||
"KC_LBRC",
|
||||
"KC_RBRC",
|
||||
"KC_BSLS",
|
||||
"KC_NO",
|
||||
"KC_PGDN",
|
||||
"KC_ESC",
|
||||
"KC_A",
|
||||
"KC_S",
|
||||
"KC_D",
|
||||
"KC_F",
|
||||
"KC_G",
|
||||
"KC_H",
|
||||
"KC_J",
|
||||
"KC_K",
|
||||
"KC_L",
|
||||
"KC_SCLN",
|
||||
"KC_QUOT",
|
||||
"KC_NO",
|
||||
"KC_ENT",
|
||||
"KC_NO",
|
||||
"KC_HOME",
|
||||
"KC_LSFT",
|
||||
"KC_NO",
|
||||
"KC_Z",
|
||||
"KC_X",
|
||||
"KC_C",
|
||||
"KC_V",
|
||||
"KC_B",
|
||||
"KC_N",
|
||||
"KC_M",
|
||||
"KC_COMM",
|
||||
"KC_DOT",
|
||||
"KC_SLSH",
|
||||
"KC_NO",
|
||||
"KC_RSFT",
|
||||
"KC_UP",
|
||||
"KC_NO",
|
||||
"KC_LCTL",
|
||||
"USER02",
|
||||
"USER05",
|
||||
"KC_NO",
|
||||
"KC_NO",
|
||||
"KC_NO",
|
||||
"KC_SPC",
|
||||
"KC_VOLD",
|
||||
"KC_VOLU",
|
||||
"KC_NO",
|
||||
"USER03",
|
||||
"MO(1)",
|
||||
"USER05",
|
||||
"KC_LEFT",
|
||||
"KC_DOWN",
|
||||
"KC_RGHT"
|
||||
],
|
||||
[
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"BL_DEC",
|
||||
"BL_INC",
|
||||
"KC_MPRV",
|
||||
"KC_MPLY",
|
||||
"KC_MNXT",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_PSCR",
|
||||
"KC_NO",
|
||||
"RGB_TOG",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"MACRO01",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"MACRO13",
|
||||
"MACRO14",
|
||||
"MACRO15",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_NO",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_MS_BTN1",
|
||||
"KC_MS_UP",
|
||||
"KC_MS_BTN2",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_NO",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_MS_LEFT",
|
||||
"KC_MS_DOWN",
|
||||
"KC_MS_RIGHT",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_NO",
|
||||
"KC_TRNS",
|
||||
"KC_NO",
|
||||
"KC_END",
|
||||
"KC_TRNS",
|
||||
"KC_NO",
|
||||
"KC_MS_WH_UP",
|
||||
"KC_MS_WH_DOWN",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_NO",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_NO",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_NO",
|
||||
"KC_NO",
|
||||
"KC_NO",
|
||||
"KC_TRNS",
|
||||
"RGB_VAD",
|
||||
"RGB_VAI",
|
||||
"KC_NO",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS"
|
||||
],
|
||||
[
|
||||
"KC_GRV",
|
||||
"KC_F1",
|
||||
"KC_F2",
|
||||
"KC_F3",
|
||||
"KC_F4",
|
||||
"KC_F5",
|
||||
"KC_F6",
|
||||
"KC_F7",
|
||||
"KC_F8",
|
||||
"KC_F9",
|
||||
"KC_F10",
|
||||
"KC_F11",
|
||||
"KC_F12",
|
||||
"KC_DEL",
|
||||
"KC_NO",
|
||||
"KC_MUTE",
|
||||
"KC_GRV",
|
||||
"KC_1",
|
||||
"KC_2",
|
||||
"KC_3",
|
||||
"KC_4",
|
||||
"KC_5",
|
||||
"KC_6",
|
||||
"KC_7",
|
||||
"KC_8",
|
||||
"KC_9",
|
||||
"KC_0",
|
||||
"KC_MINS",
|
||||
"KC_EQL",
|
||||
"KC_BSPC",
|
||||
"KC_NO",
|
||||
"KC_PGUP",
|
||||
"KC_TAB",
|
||||
"KC_Q",
|
||||
"KC_W",
|
||||
"KC_E",
|
||||
"KC_R",
|
||||
"KC_T",
|
||||
"KC_Y",
|
||||
"KC_U",
|
||||
"KC_I",
|
||||
"KC_O",
|
||||
"KC_P",
|
||||
"KC_LBRC",
|
||||
"KC_RBRC",
|
||||
"KC_BSLS",
|
||||
"KC_NO",
|
||||
"KC_PGDN",
|
||||
"KC_ESC",
|
||||
"KC_A",
|
||||
"KC_S",
|
||||
"KC_D",
|
||||
"KC_F",
|
||||
"KC_G",
|
||||
"KC_H",
|
||||
"KC_J",
|
||||
"KC_K",
|
||||
"KC_L",
|
||||
"KC_SCLN",
|
||||
"KC_QUOT",
|
||||
"KC_NO",
|
||||
"KC_ENT",
|
||||
"KC_NO",
|
||||
"KC_HOME",
|
||||
"KC_LSFT",
|
||||
"KC_NO",
|
||||
"KC_Z",
|
||||
"KC_X",
|
||||
"KC_C",
|
||||
"KC_V",
|
||||
"KC_B",
|
||||
"KC_N",
|
||||
"KC_M",
|
||||
"KC_COMM",
|
||||
"KC_DOT",
|
||||
"KC_SLSH",
|
||||
"KC_NO",
|
||||
"KC_RSFT",
|
||||
"KC_UP",
|
||||
"KC_NO",
|
||||
"KC_LCTL",
|
||||
"KC_LGUI",
|
||||
"KC_LALT",
|
||||
"KC_NO",
|
||||
"KC_NO",
|
||||
"KC_NO",
|
||||
"KC_SPC",
|
||||
"KC_VOLD",
|
||||
"KC_VOLU",
|
||||
"KC_NO",
|
||||
"KC_RALT",
|
||||
"MO(3)",
|
||||
"KC_RCTL",
|
||||
"KC_LEFT",
|
||||
"KC_DOWN",
|
||||
"KC_RGHT"
|
||||
],
|
||||
[
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"BL_DEC",
|
||||
"BL_INC",
|
||||
"KC_MPRV",
|
||||
"KC_MPLY",
|
||||
"KC_MNXT",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_PSCR",
|
||||
"KC_NO",
|
||||
"RGB_TOG",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"MACRO02",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"MACRO13",
|
||||
"MACRO14",
|
||||
"MACRO15",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_NO",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_MS_BTN1",
|
||||
"KC_MS_UP",
|
||||
"KC_MS_BTN2",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_NO",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_MS_LEFT",
|
||||
"KC_MS_DOWN",
|
||||
"KC_MS_RIGHT",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_NO",
|
||||
"KC_TRNS",
|
||||
"KC_NO",
|
||||
"KC_END",
|
||||
"KC_TRNS",
|
||||
"KC_NO",
|
||||
"KC_MS_WH_UP",
|
||||
"KC_MS_WH_DOWN",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_NO",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_NO",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_NO",
|
||||
"KC_NO",
|
||||
"KC_NO",
|
||||
"KC_TRNS",
|
||||
"RGB_VAD",
|
||||
"RGB_VAI",
|
||||
"KC_NO",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS",
|
||||
"KC_TRNS"
|
||||
]
|
||||
],
|
||||
"encoders": []
|
||||
}
|
||||
@@ -1,248 +0,0 @@
|
||||
{
|
||||
"name": "Keychron V1",
|
||||
"vendorId": "0x3434",
|
||||
"productId": "0x0311",
|
||||
"lighting": {
|
||||
"extends": "qmk_rgblight",
|
||||
"underglowEffects": [
|
||||
["None", 0],
|
||||
["SOLID_COLOR", 1],
|
||||
["BREATHING", 1],
|
||||
["CYCLE_ALL", 1],
|
||||
["CYCLE_LEFT_RIGHT", 1],
|
||||
["CYCLE_UP_DOWN", 1],
|
||||
["RAINBOW_MOVING_CHEVRON", 1],
|
||||
["CYCLE_OUT_IN", 1],
|
||||
["CYCLE_OUT_IN_DUAL", 1],
|
||||
["CYCLE_PINWHEEL", 1],
|
||||
["CYCKE_SPIRAL", 1],
|
||||
["DUAL_BEACON", 1],
|
||||
["RAINBOW_BEACON", 1],
|
||||
["RAINDROPS", 1]
|
||||
]
|
||||
},
|
||||
"matrix": {"rows": 6, "cols": 16},
|
||||
"customKeycodes": [
|
||||
{"name": "Mission Control", "title": "Mission Control in macOS", "shortName": "Mission Control"},
|
||||
{"name": "Launch Pad", "title": "Launch Pad in macOS", "shortName": "Launch Pad"},
|
||||
{"name": "Left Option", "title": "Left Option in macOS", "shortName": "Left Option"},
|
||||
{"name": "Right Option", "title": "Right Option in macOS", "shortName": "Right Option"},
|
||||
{"name": "Left Cmd", "title": "Left Command in macOS", "shortName": "Left Command"},
|
||||
{"name": "Right Cmd", "title": "Right Command in macOS", "shortName": "Right Command"},
|
||||
{"name": "Task View", "title": "Task View in windows", "shortName": "Task View"},
|
||||
{"name": "File Explorer", "title": "File Explorer in windows", "shortName": "File Explorer"}
|
||||
],
|
||||
"layouts": {
|
||||
"keymap": [
|
||||
[
|
||||
{
|
||||
"c": "#777777"
|
||||
},
|
||||
"0,0\nESC",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"0,1",
|
||||
"0,2",
|
||||
"0,3",
|
||||
"0,4",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"0,5",
|
||||
"0,6",
|
||||
"0,7",
|
||||
"0,8",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"0,9",
|
||||
"0,10",
|
||||
"0,11",
|
||||
"0,12",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"0,13",
|
||||
{
|
||||
"x": 0.25,
|
||||
"w": 0.75
|
||||
},
|
||||
"0,15",
|
||||
{
|
||||
"h": 0.5
|
||||
},
|
||||
"5,7",
|
||||
{
|
||||
"x": -1,
|
||||
"y": 0.5,
|
||||
"h": 0.5
|
||||
},
|
||||
"5,8"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.25
|
||||
},
|
||||
"1,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"1,1",
|
||||
"1,2",
|
||||
"1,3",
|
||||
"1,4",
|
||||
"1,5",
|
||||
"1,6",
|
||||
"1,7",
|
||||
"1,8",
|
||||
"1,9",
|
||||
"1,10",
|
||||
"1,11",
|
||||
"1,12",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 2
|
||||
},
|
||||
"1,13",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"1,15"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"2,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"2,1",
|
||||
"2,2",
|
||||
"2,3",
|
||||
"2,4",
|
||||
"2,5",
|
||||
"2,6",
|
||||
"2,7",
|
||||
"2,8",
|
||||
"2,9",
|
||||
"2,10",
|
||||
"2,11",
|
||||
"2,12",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"2,13",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"2,15"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.75
|
||||
},
|
||||
"3,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"3,1",
|
||||
"3,2",
|
||||
"3,3",
|
||||
"3,4",
|
||||
"3,5",
|
||||
"3,6",
|
||||
"3,7",
|
||||
"3,8",
|
||||
"3,9",
|
||||
"3,10",
|
||||
"3,11",
|
||||
{
|
||||
"c": "#777777",
|
||||
"w": 2.25
|
||||
},
|
||||
"3,13",
|
||||
{
|
||||
"x": 0.25,
|
||||
"c": "#aaaaaa"
|
||||
},
|
||||
"3,15"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 2.25
|
||||
},
|
||||
"4,0",
|
||||
{
|
||||
"c": "#cccccc"
|
||||
},
|
||||
"4,2",
|
||||
"4,3",
|
||||
"4,4",
|
||||
"4,5",
|
||||
"4,6",
|
||||
"4,7",
|
||||
"4,8",
|
||||
"4,9",
|
||||
"4,10",
|
||||
"4,11",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.75
|
||||
},
|
||||
"4,13"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.75,
|
||||
"x": 14.25,
|
||||
"c": "#777777"
|
||||
},
|
||||
"4,14"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.25,
|
||||
"c": "#aaaaaa",
|
||||
"w": 1.25
|
||||
},
|
||||
"5,0",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"5,1",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"5,2",
|
||||
{
|
||||
"c": "#cccccc",
|
||||
"a": 7,
|
||||
"w": 6.25
|
||||
},
|
||||
"5,6",
|
||||
{
|
||||
"c": "#aaaaaa",
|
||||
"a": 4
|
||||
},
|
||||
"5,10",
|
||||
"5,11",
|
||||
"5,12"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": -0.75,
|
||||
"x": 13.25,
|
||||
"c": "#777777"
|
||||
},
|
||||
"5,13",
|
||||
"5,14",
|
||||
"5,15"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
refresher:
|
||||
refreshInterval: 60
|
||||
gui:
|
||||
useHunkModeInStagingView: false
|
||||
mainPanelSplitMode: "horizontal"
|
||||
theme:
|
||||
selectedLineBgColor:
|
||||
- "#413660"
|
||||
git:
|
||||
autoFetch: true
|
||||
paging:
|
||||
colorArg: always
|
||||
commit:
|
||||
signOff: true
|
||||
pull:
|
||||
mode: "rebase"
|
||||
@@ -1,8 +0,0 @@
|
||||
[lutris]
|
||||
library_ignores =
|
||||
migration_version = 10
|
||||
width = 1908
|
||||
height = 1001
|
||||
maximized = False
|
||||
selected_category = runner:linux
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
# Restrict readahead and backbuffer to 40MiB from default of 400MiB
|
||||
cache=yes
|
||||
demuxer-max-bytes=2147483647
|
||||
demuxer-max-back-bytes=2147483647
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
# ontop=yes
|
||||
|
||||
# Geometry settings
|
||||
geometry=50%:50%
|
||||
autofit=50%
|
||||
|
||||
# Create 'high-quality' profile
|
||||
[high-quality]
|
||||
# Describe this profile
|
||||
profile-desc="High quality rendering"
|
||||
# Include all settings from the default 'opengl-hq' profile
|
||||
profile=opengl-hq
|
||||
# Disable debanding for better performance
|
||||
deband=no
|
||||
@@ -1,505 +0,0 @@
|
||||
--redefine keybindings here if needed; multiple bindings are possible
|
||||
keybinds = {
|
||||
activate = {'\\', 'MOUSE_BTN2'},
|
||||
plsup = {'UP', 'MOUSE_BTN3'},
|
||||
plsdown = {'DOWN', 'MOUSE_BTN4'},
|
||||
plsenter = {'ENTER', 'MOUSE_BTN0'}
|
||||
}
|
||||
--hide playlist after specified number of seconds
|
||||
osd_time=10
|
||||
--show only specified number of playlist entries
|
||||
window=7
|
||||
--fade video when showing playlist
|
||||
fade=false
|
||||
--if fade=true; -100 — black, 0 — normal
|
||||
plsbrightness=-70
|
||||
--favorites get promotion to the top of the pls
|
||||
favorites = {}
|
||||
-- END OF CONFIGURABLE VARIABLES
|
||||
|
||||
-- put your settings in (SCRIPTS DIR)/_iptvconf.lua
|
||||
pcall(require, "_iptvconf")
|
||||
|
||||
local timer
|
||||
--local plscount
|
||||
local pattern=""
|
||||
local is_active
|
||||
local is_playlist_loaded
|
||||
|
||||
-- UTF-8 lower/upper conversion
|
||||
local utf8_lc_uc = {
|
||||
["a"] = "A",
|
||||
["b"] = "B",
|
||||
["c"] = "C",
|
||||
["d"] = "D",
|
||||
["e"] = "E",
|
||||
["f"] = "F",
|
||||
["g"] = "G",
|
||||
["h"] = "H",
|
||||
["i"] = "I",
|
||||
["j"] = "J",
|
||||
["k"] = "K",
|
||||
["l"] = "L",
|
||||
["m"] = "M",
|
||||
["n"] = "N",
|
||||
["o"] = "O",
|
||||
["p"] = "P",
|
||||
["q"] = "Q",
|
||||
["r"] = "R",
|
||||
["s"] = "S",
|
||||
["t"] = "T",
|
||||
["u"] = "U",
|
||||
["v"] = "V",
|
||||
["w"] = "W",
|
||||
["x"] = "X",
|
||||
["y"] = "Y",
|
||||
["z"] = "Z",
|
||||
["а"] = "А",
|
||||
["б"] = "Б",
|
||||
["в"] = "В",
|
||||
["г"] = "Г",
|
||||
["д"] = "Д",
|
||||
["е"] = "Е",
|
||||
["ж"] = "Ж",
|
||||
["з"] = "З",
|
||||
["и"] = "И",
|
||||
["й"] = "Й",
|
||||
["к"] = "К",
|
||||
["л"] = "Л",
|
||||
["м"] = "М",
|
||||
["н"] = "Н",
|
||||
["о"] = "О",
|
||||
["п"] = "П",
|
||||
["р"] = "Р",
|
||||
["с"] = "С",
|
||||
["т"] = "Т",
|
||||
["у"] = "У",
|
||||
["ф"] = "Ф",
|
||||
["х"] = "Х",
|
||||
["ц"] = "Ц",
|
||||
["ч"] = "Ч",
|
||||
["ш"] = "Ш",
|
||||
["щ"] = "Щ",
|
||||
["ъ"] = "Ъ",
|
||||
["ы"] = "Ы",
|
||||
["ь"] = "Ь",
|
||||
["э"] = "Э",
|
||||
["ю"] = "Ю",
|
||||
["я"] = "Я",
|
||||
["ё"] = "Ё"
|
||||
}
|
||||
|
||||
local utf8_uc_lc = {
|
||||
["A"] = "a",
|
||||
["B"] = "b",
|
||||
["C"] = "c",
|
||||
["D"] = "d",
|
||||
["E"] = "e",
|
||||
["F"] = "f",
|
||||
["G"] = "g",
|
||||
["H"] = "h",
|
||||
["I"] = "i",
|
||||
["J"] = "j",
|
||||
["K"] = "k",
|
||||
["L"] = "l",
|
||||
["M"] = "m",
|
||||
["N"] = "n",
|
||||
["O"] = "o",
|
||||
["P"] = "p",
|
||||
["Q"] = "q",
|
||||
["R"] = "r",
|
||||
["S"] = "s",
|
||||
["T"] = "t",
|
||||
["U"] = "u",
|
||||
["V"] = "v",
|
||||
["W"] = "w",
|
||||
["X"] = "x",
|
||||
["Y"] = "y",
|
||||
["Z"] = "z",
|
||||
["А"] = "а",
|
||||
["Б"] = "б",
|
||||
["В"] = "в",
|
||||
["Г"] = "г",
|
||||
["Д"] = "д",
|
||||
["Е"] = "е",
|
||||
["Ж"] = "ж",
|
||||
["З"] = "з",
|
||||
["И"] = "и",
|
||||
["Й"] = "й",
|
||||
["К"] = "к",
|
||||
["Л"] = "л",
|
||||
["М"] = "м",
|
||||
["Н"] = "н",
|
||||
["О"] = "о",
|
||||
["П"] = "п",
|
||||
["Р"] = "р",
|
||||
["С"] = "с",
|
||||
["Т"] = "т",
|
||||
["У"] = "у",
|
||||
["Ф"] = "ф",
|
||||
["Х"] = "х",
|
||||
["Ц"] = "ц",
|
||||
["Ч"] = "ч",
|
||||
["Ш"] = "ш",
|
||||
["Щ"] = "щ",
|
||||
["Ъ"] = "ъ",
|
||||
["Ы"] = "ы",
|
||||
["Ь"] = "ь",
|
||||
["Э"] = "э",
|
||||
["Ю"] = "ю",
|
||||
["Я"] = "я",
|
||||
["Ё"] = "ё"
|
||||
}
|
||||
|
||||
--utf8 char pattern
|
||||
local utf8_char="[\1-\127\192-\223][\128-\191]*"
|
||||
|
||||
local cyr_chars={'а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я'}
|
||||
|
||||
-- символы, которые возможно вводить для поиска
|
||||
local chars={}
|
||||
for i=string.byte('a'),string.byte('z') do
|
||||
table.insert(chars,i)
|
||||
end
|
||||
for i=string.byte('A'),string.byte('Z') do
|
||||
table.insert(chars,i)
|
||||
end
|
||||
for i=string.byte('0'),string.byte('9') do
|
||||
table.insert(chars,i)
|
||||
end
|
||||
for _,v in ipairs({',','^','$','(',')','%','.','[',']','*','+','-','?','`',"'",";"}) do
|
||||
table.insert(chars,string.byte(v))
|
||||
end
|
||||
|
||||
local keybinder = {
|
||||
remove = function(action)
|
||||
for i,_ in ipairs(keybinds[action]) do
|
||||
mp.remove_key_binding(action..tostring(i))
|
||||
end
|
||||
end,
|
||||
add = function(action, func, repeatable)
|
||||
for i,key in ipairs(keybinds[action]) do
|
||||
assert(type(func)=="function", "not a function")
|
||||
if repeatable then
|
||||
mp.add_forced_key_binding(key, action..tostring(i), func, "repeatable")
|
||||
else
|
||||
mp.add_forced_key_binding(key, action..tostring(i), func)
|
||||
end
|
||||
end
|
||||
end
|
||||
}
|
||||
|
||||
local fader = {
|
||||
saved_brtns,
|
||||
on = function(self)
|
||||
if fade and not self.saved_brtns then
|
||||
self.saved_brtns = mp.get_property("brightness")
|
||||
mp.set_property("brightness", plsbrightness)
|
||||
end
|
||||
end,
|
||||
off = function(self)
|
||||
if fade and self.saved_brtns then
|
||||
mp.set_property("brightness", self.saved_brtns)
|
||||
self.saved_brtns=nil
|
||||
end
|
||||
end
|
||||
}
|
||||
|
||||
local playlister = {
|
||||
-- pls — список элементов плейлиста
|
||||
pls,
|
||||
-- plsfiltered — список индексов выбранных фильтром элементов плейлиста
|
||||
plsfiltered,
|
||||
plspos,
|
||||
wndstart,
|
||||
wndend,
|
||||
cursor,
|
||||
|
||||
init = function(self)
|
||||
if not self.pls then
|
||||
self.pls = mp.get_property_native("playlist")
|
||||
end
|
||||
mp.commandv("stop")
|
||||
--need to mark first entry non-current (mpv bug?)
|
||||
if self.pls[1] then
|
||||
self.pls[1].current = false
|
||||
end
|
||||
if favorites and #favorites>0 then
|
||||
self:sortfavs()
|
||||
end
|
||||
pattern = ""
|
||||
self.plsfiltered = tablekeys(self.pls)
|
||||
end,
|
||||
|
||||
show = function(self)
|
||||
local i
|
||||
local newpos
|
||||
local msg
|
||||
--media-title
|
||||
--playlist t[2].title
|
||||
|
||||
if not self.plsfiltered then
|
||||
return
|
||||
end
|
||||
if not self.plspos then
|
||||
self.plspos=mp.get_property_native("playlist-pos-1")
|
||||
--plscount=mp.get_property_native("playlist-count")
|
||||
end
|
||||
if not self.wndstart or not self.cursor then
|
||||
self.wndstart=1
|
||||
self.cursor=0
|
||||
end
|
||||
|
||||
msg=""
|
||||
i = self.wndstart
|
||||
local prefix
|
||||
while self.plsfiltered[i] and i<=self.wndstart+window-1 do
|
||||
if self.pls[self.plsfiltered[i]].current then
|
||||
prefix="*"
|
||||
elseif i==self.wndstart+self.cursor then
|
||||
prefix=">"
|
||||
else
|
||||
prefix=" "
|
||||
end
|
||||
msg = msg..prefix..(self.pls[self.plsfiltered[i]].title or "").."\n"
|
||||
i=i+1
|
||||
end
|
||||
if self.wndstart>1 then
|
||||
msg = "...\n"..msg
|
||||
else
|
||||
msg = " \n"..msg
|
||||
end
|
||||
if self.wndstart+window-1<#self.plsfiltered then
|
||||
msg = msg.."..."
|
||||
end
|
||||
msg="/"..pattern.."\n"..msg
|
||||
mp.osd_message(msg, osd_time)
|
||||
end,
|
||||
|
||||
sortfavs = function(self)
|
||||
--favorites bubbles to the top
|
||||
local favs={}
|
||||
local nonfavs={}
|
||||
for _,v in ipairs(self.pls) do
|
||||
if in_array(favorites,v.title) then
|
||||
favs[#favs+1] = v
|
||||
else
|
||||
nonfavs[#nonfavs+1] = v
|
||||
end
|
||||
end
|
||||
for i=1,#nonfavs do
|
||||
favs[#favs+1] = nonfavs[i]
|
||||
end
|
||||
self.pls = favs
|
||||
end,
|
||||
|
||||
filter = function(self)
|
||||
self.plsfiltered={}
|
||||
for i,v in ipairs(self.pls) do
|
||||
if string.match(mylower(v.title),'.*'..prepat(pattern)..'.*') then
|
||||
table.insert(self.plsfiltered,i)
|
||||
end
|
||||
end
|
||||
self.wndstart=1
|
||||
self.cursor=0
|
||||
end,
|
||||
|
||||
down = function(self)
|
||||
if self.cursor >= #self.plsfiltered-1 then return end
|
||||
if self.cursor<window-1 then
|
||||
self.cursor=self.cursor+1
|
||||
else
|
||||
if self.wndstart<#self.plsfiltered-window+1 then
|
||||
self.wndstart=self.wndstart+1
|
||||
end
|
||||
end
|
||||
self.show(self)
|
||||
end,
|
||||
up = function(self)
|
||||
if self.cursor>0 then
|
||||
self.cursor=self.cursor-1
|
||||
self.show(self)
|
||||
else
|
||||
if self.wndstart>1 then
|
||||
self.wndstart=self.wndstart-1
|
||||
self.show(self)
|
||||
end
|
||||
end
|
||||
end,
|
||||
|
||||
play = function(self)
|
||||
mp.commandv("loadfile",self.pls[self.plsfiltered[self.wndstart+self.cursor]].filename)
|
||||
if self.plspos then
|
||||
self.pls[self.plspos].current=false
|
||||
end
|
||||
self.plspos=self.plsfiltered[self.wndstart+self.cursor]
|
||||
self.pls[self.plspos].current=true
|
||||
end
|
||||
}
|
||||
|
||||
function add_bindings()
|
||||
keybinder.add("plsup", up, true)
|
||||
keybinder.add("plsdown", down, true)
|
||||
for i,v in ipairs(chars) do
|
||||
c=string.char(v)
|
||||
mp.add_forced_key_binding(c, 'search'..v, typing(c),"repeatable")
|
||||
end
|
||||
mp.add_forced_key_binding('SPACE', 'search32', typing(' '),"repeatable")
|
||||
|
||||
--[[ mp.add_key_binding('а', 'search1000', typing('а'),"repeatable")
|
||||
mp.add_key_binding('с', 'search1001', typing('с'),"repeatable")]]
|
||||
|
||||
mp.add_forced_key_binding('BS', 'searchbs', backspace,"repeatable")
|
||||
keybinder.add("plsenter", play)
|
||||
for i,v in ipairs(cyr_chars) do
|
||||
mp.add_forced_key_binding(v, 'search'..i+1000, typing(v),"repeatable")
|
||||
end
|
||||
end
|
||||
|
||||
function remove_bindings()
|
||||
keybinder.remove('plsup')
|
||||
keybinder.remove('plsdown')
|
||||
keybinder.remove('plsenter')
|
||||
for i,v in ipairs(chars) do
|
||||
c=string.char(v)
|
||||
mp.remove_key_binding('search'..v)
|
||||
end
|
||||
mp.remove_key_binding('search32')
|
||||
mp.remove_key_binding('searchbs')
|
||||
for i,v in ipairs(cyr_chars) do
|
||||
mp.remove_key_binding('search'..i+1000)
|
||||
end
|
||||
end
|
||||
|
||||
function activate()
|
||||
if is_active then
|
||||
shutdown()
|
||||
return
|
||||
else
|
||||
is_active=true
|
||||
fader:on()
|
||||
playlister:show()
|
||||
add_bindings()
|
||||
if not timer then
|
||||
timer=mp.add_periodic_timer(osd_time, shutdown)
|
||||
timer.oneshot=true
|
||||
else
|
||||
resumetimer()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function tablekeys(t)
|
||||
local result={}
|
||||
for i,v in ipairs(t) do
|
||||
table.insert(result,i)
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
function in_array(array, value)
|
||||
for _,v in ipairs(array) do
|
||||
if v==value then
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function mylower(s)
|
||||
local res,n = string.gsub(s,utf8_char,function (c)
|
||||
return utf8_uc_lc[c]
|
||||
end)
|
||||
return res
|
||||
end
|
||||
|
||||
function myupper(s)
|
||||
local res,n = string.gsub(s,utf8_char,function (c)
|
||||
return utf8_lc_uc[c]
|
||||
end)
|
||||
return res
|
||||
end
|
||||
|
||||
function prepat(s)
|
||||
--prepare nocase and magic chars
|
||||
s = string.gsub(s, "[%^%$%(%)%%%.%[%]%*%+%-%?]",function (c)
|
||||
return '%'..c
|
||||
end)
|
||||
--[[ s = string.gsub(s, utf8_char, function (c)
|
||||
return string.format("[%s%s]", utf8_uc_lc[c] or c, utf8_lc_uc[c] or c)
|
||||
end)]]
|
||||
return s
|
||||
end
|
||||
|
||||
function resumetimer()
|
||||
timer:kill()
|
||||
timer:resume()
|
||||
end
|
||||
|
||||
function typing(char)
|
||||
return function()
|
||||
local c=string.lower(char)
|
||||
pattern = pattern..c
|
||||
playlister:filter()
|
||||
playlister:show()
|
||||
resumetimer()
|
||||
end
|
||||
end
|
||||
|
||||
function backspace()
|
||||
if string.len(pattern)>0 then
|
||||
-- pattern = string.sub(pattern,1,-2)
|
||||
-- for unicode
|
||||
pattern = string.match(pattern,"(.*)"..utf8_char.."$")
|
||||
playlister:filter()
|
||||
playlister:show()
|
||||
resumetimer()
|
||||
end
|
||||
end
|
||||
|
||||
function play()
|
||||
-- mp.commandv("playlist-move", wndstart+cursor, 1)
|
||||
-- mp.commandv("playlist-clear")
|
||||
-- mp.commandv("playlist-next")
|
||||
fader:off()
|
||||
playlister:play()
|
||||
playlister:show()
|
||||
resumetimer()
|
||||
end
|
||||
|
||||
function shutdown()
|
||||
fader:off()
|
||||
remove_bindings()
|
||||
is_active=false
|
||||
mp.osd_message("", 1)
|
||||
end
|
||||
|
||||
function down()
|
||||
fader:on()
|
||||
playlister:down()
|
||||
resumetimer()
|
||||
end
|
||||
|
||||
function up()
|
||||
fader:on()
|
||||
playlister:up()
|
||||
resumetimer()
|
||||
end
|
||||
|
||||
function on_start_file()
|
||||
if is_playlist_loaded then
|
||||
playlister:init()
|
||||
mp.unregister_event(on_start_file)
|
||||
activate()
|
||||
else
|
||||
is_playlist_loaded = true
|
||||
end
|
||||
end
|
||||
|
||||
if mp.get_opt("iptv") then
|
||||
mp.set_property_bool("idle", true)
|
||||
mp.set_property_bool("force-window", true)
|
||||
mp.register_event("start-file", on_start_file)
|
||||
keybinder.add("activate", activate)
|
||||
end
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
auto-reload yes
|
||||
refresh-on-startup yes
|
||||
reload-time 3600
|
||||
notify-program "/home/yorune/.local/bin/notify-program"
|
||||
notify-always yes
|
||||
|
||||
unbind-key o
|
||||
bind-key o open-in-browser
|
||||
|
||||
macro , open-in-browser
|
||||
macro p set browser "mpv --ytdl-format='bestvideo[ext=mp4][height<=?1080]+bestaudio[ext=m4a]' --no-resume-playback" ; open-in-browser ; set browser "/home/yorune/.local/bin/browser-x -new-tab %u"
|
||||
|
||||
unbind-key n
|
||||
unbind-key p
|
||||
bind-key n next
|
||||
bind-key p prev
|
||||
|
||||
# unbind keys
|
||||
unbind-key j
|
||||
unbind-key k
|
||||
unbind-key J
|
||||
unbind-key K
|
||||
|
||||
# bind keys - vim style
|
||||
bind-key j down
|
||||
bind-key k up
|
||||
bind-key l open
|
||||
bind-key h quit
|
||||
bind-key ESC quit
|
||||
|
||||
highlight all "====.*====" yellow
|
||||
color listnormal default default
|
||||
color listfocus black yellow standout bold
|
||||
color listnormal_unread cyan default
|
||||
color listfocus_unread yellow default bold
|
||||
color info red black bold
|
||||
color article white default bold
|
||||
|
||||
browser "$HOME/.local/bin/browser-x -new-tab %u"
|
||||
player mpv
|
||||
@@ -1,19 +0,0 @@
|
||||
=====================NEWS====================================
|
||||
https://nitter.net/MZ_GOV_PL/rss "~MZ_GOV_PL - Twitter"
|
||||
http://www.epoznan.pl/rss.php "~Epoznan - Website"
|
||||
https://sekurak.pl/feed/ "~Sekurak"
|
||||
https://feeds.feedburner.com/niebezpiecznik/ "~Niebezpiecznik"
|
||||
============================================================
|
||||
https://repology.org/maintainer/y0rune%40aol.com/feed-for-repo/gentoo_ovl_guru/atom "~GURU OUTDATE MAINTAINER"
|
||||
https://bugs.gentoo.org/buglist.cgi?bug_status=UNCONFIRMED&chfieldfrom=24h&ctype=atom&title=NEW&list_id=4468306&order=changeddate%20DESC%2Cbug_status%2Cpriority%2Cassigned_to%2Cbug_id&query_format=advanced Gentoo
|
||||
https://bugs.gentoo.org/buglist.cgi?email1=y0rune%40aol.com&emailassigned_to1=1&emailtype1=substring&list_id=5834010&query_format=advanced&resolution=---&title=Bug%20List&ctype=atom "~ASSIGNEE TO ME"
|
||||
https://bugs.gentoo.org/buglist.cgi?component=Package%20issues&product=GURU&query_format=advanced&resolution=---&title=Bug%20List&ctype=atom "~GURU-BUGS"
|
||||
https://www.reddit.com/r/gentoo/new.rss "~Gentoo - Reddit"
|
||||
=====================PODCASTY===============================
|
||||
https://www.internet-czas-dzialac.pl/rss/
|
||||
============================================================
|
||||
http://rss.uptimerobot.com/u674346-753d02ab763f3725330347d4419a7569 "~UpTimeRoboot"
|
||||
=====================YOUTUBE=================================
|
||||
=====================ANIME===================================
|
||||
https://mirror.animetosho.org/feed/rss2?only_tor=1&q=%5BHorribleSubs%5D%20Sword%20Art%20Online%20720p&filter%5B0%5D%5Bt%5D=nyaa_class&filter%5B0%5D%5Bv%5D=trusted "~Sword Art Online"
|
||||
=============================================================
|
||||
@@ -1,62 +0,0 @@
|
||||
{
|
||||
"yaml.schemaStore.enable": true,
|
||||
"yaml.format.enable": true,
|
||||
"yaml.validate": true,
|
||||
"yaml.schemas": {
|
||||
"https://json.schemastore.org/ansible-role-2.9.json": "*.yaml",
|
||||
"https://json.schemastore.org/ansible-playbook.json": "*.yaml",
|
||||
"https://json.schemastore.org/ansible-inventory.json": "*yaml",
|
||||
"https://raw.githubusercontent.com/ansible-community/schemas/main/f/ansible-galaxy.json": "*.yaml",
|
||||
"https://raw.githubusercontent.com/docker/cli/master/cli/compose/schema/data/config_schema_v3.9.json": "*docker-compose.yml",
|
||||
"https://json.schemastore.org/github-workflow.json": ".github/workflows/*",
|
||||
|
||||
"https://json.schemastore.org/docker-compose.json": "*.yaml"
|
||||
},
|
||||
"python.formatting.provider": "black",
|
||||
"python.formatting.blackArgs": ["--line-length", "80"],
|
||||
"python.pythonPath": "python3",
|
||||
"diagnostic.refreshOnInsertMode": "true",
|
||||
"coc.preferences.formatOnSaveFiletypes": [
|
||||
"sh",
|
||||
"yaml",
|
||||
"json",
|
||||
"python",
|
||||
"css",
|
||||
"markdown",
|
||||
"ruby",
|
||||
"go"
|
||||
],
|
||||
"diagnostic.virtualText": true,
|
||||
"diagnostic.virtualTextCurrentLineOnly": false,
|
||||
"diagnostic.checkCurrentLine": false,
|
||||
"diagnostic-languageserver.filetypes": {
|
||||
"markdown": ["write-good", "markdownlint"],
|
||||
"sh": "shellcheck"
|
||||
},
|
||||
"languageserver": {
|
||||
"bash": {
|
||||
"command": "bash-language-server",
|
||||
"args": ["start"],
|
||||
"filetypes": ["sh"],
|
||||
"ignoredRootPaths": ["~"]
|
||||
},
|
||||
"ccls": {
|
||||
"command": "ccls",
|
||||
"filetypes": ["c", "cpp", "objc", "objcpp"],
|
||||
"rootPatterns": [
|
||||
".ccls",
|
||||
"compile_commands.json",
|
||||
".vim/",
|
||||
".git/",
|
||||
".hg/"
|
||||
],
|
||||
"trace.server": "verbose",
|
||||
"initializationOptions": {
|
||||
"cache": {
|
||||
"directory": "/tmp/ccls"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"solargraph.formatting": true
|
||||
}
|
||||
@@ -1,721 +0,0 @@
|
||||
""""""""""""""""""""""""""""""""
|
||||
" Download vim-plug
|
||||
""""""""""""""""""""""""""""""""
|
||||
if has('nvim')
|
||||
if ! filereadable(system('echo -n "$HOME/.config/nvim/autoload/plug.vim"'))
|
||||
silent !mkdir -p $HOME/.config/nvim/autoload/
|
||||
silent !curl --silent "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > $HOME/.config/nvim/autoload/plug.vim
|
||||
autocmd VimEnter * PlugInstall
|
||||
endif
|
||||
endif
|
||||
|
||||
""""""""""""""""""""""""""""""""
|
||||
" Default settings nvim
|
||||
""""""""""""""""""""""""""""""""
|
||||
let g:python3_host_prog = expand('/opt/homebrew/bin/python3.13')
|
||||
let g:loaded_python_provider = 0
|
||||
let g:python_host_prog = ''
|
||||
set autoindent
|
||||
set expandtab
|
||||
set softtabstop=4
|
||||
set shiftwidth=4
|
||||
set tabstop=4
|
||||
set nocompatible
|
||||
set noshowmode
|
||||
set noerrorbells
|
||||
set wrap
|
||||
set hidden
|
||||
set cmdheight=1
|
||||
set encoding=utf-8
|
||||
set undofile
|
||||
set scrolloff=8
|
||||
set termguicolors
|
||||
set t_BE=
|
||||
au BufWritePre * let &bex = '@' . strftime("%F.%H:%M")
|
||||
filetype plugin indent on
|
||||
syntax on
|
||||
|
||||
" Disable by default indent line
|
||||
" let g:indentLine_enabled = 0
|
||||
|
||||
" ansible
|
||||
let g:ansible_extra_keywords_highlight = 1
|
||||
|
||||
" line numbers
|
||||
set number
|
||||
set ruler
|
||||
set title
|
||||
|
||||
" indent
|
||||
set backspace=indent,eol,start
|
||||
"set list listchars=nbsp:¬,tab:»·,trail:·,extends:>
|
||||
set list listchars=tab:\│\ ,trail:·
|
||||
let g:indentLine_char_list = ['│', '│', '│', '│']
|
||||
|
||||
" editing
|
||||
runtime! macros/matchit.vim
|
||||
|
||||
" visual feedback
|
||||
set showmode
|
||||
set showcmd
|
||||
|
||||
" off mouse
|
||||
set mouse-=a
|
||||
|
||||
" disable pcspkr beep
|
||||
set visualbell
|
||||
set t_vb=
|
||||
|
||||
" searching
|
||||
set smartcase
|
||||
set ic
|
||||
|
||||
" cursor
|
||||
set guicursor=
|
||||
set guicursor+=a:blinkon0
|
||||
let &t_SI = "\<esc>[6 q"
|
||||
let &t_SR = "\<esc>[6 q"
|
||||
let &t_EI = "\<esc>[6 q"
|
||||
|
||||
""""""""""""""""""""""""""""""""
|
||||
" Plugins
|
||||
""""""""""""""""""""""""""""""""
|
||||
call plug#begin('~/.config/nvim/plugged')
|
||||
" Markdown
|
||||
Plug 'tpope/vim-markdown'
|
||||
|
||||
" Live-preview
|
||||
Plug 'nmante/vim-latex-live-preview'
|
||||
|
||||
" Goyo plugin for writing mutt mail
|
||||
Plug 'junegunn/goyo.vim'
|
||||
|
||||
" Themes
|
||||
Plug 'gruvbox-community/gruvbox', { 'as': 'gruvbox'}
|
||||
Plug 'Mofiqul/dracula.nvim'
|
||||
|
||||
" Fzf plugin
|
||||
Plug 'junegunn/fzf.vim'
|
||||
Plug 'junegunn/fzf'
|
||||
|
||||
" CSS
|
||||
Plug 'ap/vim-css-color'
|
||||
|
||||
" Copilot
|
||||
Plug 'github/copilot.vim'
|
||||
|
||||
" PyRight
|
||||
Plug 'sakhnik/nvim-gdb', { 'do': ':!./install.sh' }
|
||||
|
||||
" Ansible yaml
|
||||
Plug 'pearofducks/ansible-vim', { 'do': './UltiSnips/generate.sh' }
|
||||
Plug 'Yggdroot/indentLine'
|
||||
|
||||
" Terraform
|
||||
Plug 'hashivim/vim-terraform'
|
||||
|
||||
" GoLang
|
||||
Plug 'fatih/vim-go'
|
||||
|
||||
" Multiple cursors
|
||||
Plug 'terryma/vim-multiple-cursors'
|
||||
|
||||
" Enable gentoo-syntax in vim
|
||||
Plug 'gentoo/gentoo-syntax'
|
||||
Plug 'tpope/vim-commentary'
|
||||
Plug 'tpope/vim-surround'
|
||||
Plug 'junegunn/vim-easy-align'
|
||||
|
||||
" Git tool
|
||||
Plug 'tpope/vim-fugitive'
|
||||
|
||||
" Prettier
|
||||
Plug 'prettier/vim-prettier', { 'do': 'yarn install --frozen-lockfile --production' }
|
||||
|
||||
" Debug
|
||||
Plug 'puremourning/vimspector'
|
||||
Plug 'mfussenegger/nvim-dap'
|
||||
|
||||
" LSP
|
||||
Plug 'neovim/nvim-lspconfig'
|
||||
Plug 'hrsh7th/nvim-cmp'
|
||||
Plug 'hrsh7th/cmp-buffer'
|
||||
Plug 'hrsh7th/cmp-path'
|
||||
Plug 'hrsh7th/cmp-cmdline'
|
||||
Plug 'hrsh7th/cmp-nvim-lsp'
|
||||
Plug 'saadparwaiz1/cmp_luasnip'
|
||||
Plug 'L3MON4D3/LuaSnip'
|
||||
Plug 'sbdchd/neoformat'
|
||||
|
||||
Plug 'hrsh7th/cmp-vsnip'
|
||||
Plug 'hrsh7th/vim-vsnip'
|
||||
Plug 'hrsh7th/vim-vsnip-integ'
|
||||
|
||||
" Telescope
|
||||
Plug 'nvim-lua/plenary.nvim'
|
||||
Plug 'nvim-telescope/telescope.nvim'
|
||||
|
||||
" Tree
|
||||
Plug 'nvim-tree/nvim-web-devicons'
|
||||
Plug 'nvim-tree/nvim-tree.lua'
|
||||
|
||||
" SHFMT
|
||||
Plug 'z0mbix/vim-shfmt', { 'for': 'sh' }
|
||||
|
||||
" Mikrotik
|
||||
Plug 'zainin/vim-mikrotik'
|
||||
|
||||
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
|
||||
Plug 'nvim-treesitter/nvim-treesitter-context'
|
||||
|
||||
" Autopair
|
||||
Plug 'windwp/nvim-autopairs'
|
||||
|
||||
" AI
|
||||
Plug 'folke/snacks.nvim'
|
||||
Plug 'coder/claudecode.nvim'
|
||||
|
||||
call plug#end()
|
||||
|
||||
" LUA
|
||||
lua<<EOF
|
||||
vim.filetype.add({
|
||||
-- Ansible
|
||||
pattern = {
|
||||
[".*playbooks/.*%.ya?ml"] = "yaml.ansible",
|
||||
[".*tasks/.*%.ya?ml"] = "yaml.ansible",
|
||||
[".*handlers/.*%.ya?ml"] = "yaml.ansible",
|
||||
[".*roles/.*/.*%.ya?ml"] = "yaml.ansible",
|
||||
},
|
||||
-- Docker Compose + GitLab CI (merged into one filename table)
|
||||
filename = {
|
||||
["docker-compose.yml"] = "yaml.docker-compose",
|
||||
["docker-compose.yaml"] = "yaml.docker-compose",
|
||||
[".gitlab-ci.yml"] = "yaml.gitlab",
|
||||
[".gitlab-ci.yaml"] = "yaml.gitlab",
|
||||
},
|
||||
})
|
||||
|
||||
-- capabilities for nvim-cmp
|
||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||
|
||||
-- Prefer LspAttach instead of per-server on_attach
|
||||
vim.api.nvim_create_autocmd('LspAttach', {
|
||||
callback = function(args)
|
||||
local bufnr = args.buf
|
||||
|
||||
vim.bo[bufnr].omnifunc = 'v:lua.vim.lsp.omnifunc'
|
||||
|
||||
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, { buffer = bufnr, silent = true })
|
||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { buffer = bufnr, silent = true })
|
||||
vim.keymap.set('n', '<space>K', vim.lsp.buf.hover, { buffer = bufnr, silent = true })
|
||||
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, { buffer = bufnr, silent = true })
|
||||
vim.keymap.set('n', 'ge', vim.diagnostic.setqflist, { buffer = bufnr, silent = true })
|
||||
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, { buffer = bufnr, silent = true })
|
||||
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, { buffer = bufnr, silent = true })
|
||||
vim.keymap.set('n', 'gr', vim.lsp.buf.references, { buffer = bufnr, silent = true })
|
||||
end,
|
||||
})
|
||||
|
||||
local border = 'rounded'
|
||||
|
||||
vim.lsp.config('*', {
|
||||
capabilities = capabilities,
|
||||
})
|
||||
|
||||
vim.diagnostic.config({
|
||||
float = { border = border },
|
||||
})
|
||||
|
||||
vim.lsp.handlers["textDocument/hover"] = function(err, result, ctx, config)
|
||||
config = config or {}
|
||||
config.border = border
|
||||
return vim.lsp.handlers.hover(err, result, ctx, config)
|
||||
end
|
||||
|
||||
vim.lsp.handlers["textDocument/signatureHelp"] = function(err, result, ctx, config)
|
||||
config = config or {}
|
||||
config.border = border
|
||||
return vim.lsp.handlers.signature_help(err, result, ctx, config)
|
||||
end
|
||||
|
||||
-- Server-specific overrides
|
||||
vim.lsp.config('yamlls', {
|
||||
settings = {
|
||||
json = {
|
||||
schemas = {
|
||||
["https://raw.githubusercontent.com/quantumblacklabs/kedro/develop/static/jsonschema/kedro-catalog-0.17.json"]= "conf/**/*catalog*",
|
||||
["https://json.schemastore.org/github-workflow.json"] = "/.github/workflows/*",
|
||||
["https://github.com/ansible/schemas/blob/main/f/ansible.json"] = "*.yaml,*.yml",
|
||||
}
|
||||
},
|
||||
yaml = { keyOrdering = false },
|
||||
},
|
||||
})
|
||||
|
||||
vim.lsp.config('gopls', {
|
||||
cmd = {"gopls", "serve"},
|
||||
filetypes = { "go", "gomod", "gowork", "gotmpl" },
|
||||
settings = {
|
||||
gopls = {
|
||||
analyses = { unusedparams = true },
|
||||
staticcheck = true,
|
||||
linksInHover = false,
|
||||
codelenses = {
|
||||
generate = true,
|
||||
gc_details = true,
|
||||
regenerate_cgo = true,
|
||||
tidy = true,
|
||||
upgrade_depdendency = true,
|
||||
vendor = true,
|
||||
},
|
||||
completeUnimported = true,
|
||||
usePlaceholders = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
vim.lsp.config('ruff', {})
|
||||
|
||||
-- Enable servers (remove 'solargraph' if not using Ruby)
|
||||
vim.lsp.enable({
|
||||
'clangd', 'bashls', 'yamlls', 'ansiblels', 'gopls', 'solargraph',
|
||||
'terraformls', 'tflint', 'marksman', 'rust_analyzer', 'ruff',
|
||||
})
|
||||
|
||||
-- nvim-cmp setup with Tab support
|
||||
local cmp = require('cmp')
|
||||
cmp.setup({
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
|
||||
-- Tab: indent on empty/whitespace-only lines, trigger completion elsewhere
|
||||
['<Tab>'] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif vim.fn["copilot#GetDisplayedSuggestion"]().text ~= "" then
|
||||
vim.fn.feedkeys(vim.fn["copilot#Accept"](""), "n")
|
||||
elseif vim.api.nvim_get_current_line():match("^%s*$") then
|
||||
fallback()
|
||||
else
|
||||
cmp.complete()
|
||||
end
|
||||
end, { 'i', 's' }),
|
||||
|
||||
-- Shift-Tab: go to previous completion item or fallback
|
||||
['<S-Tab>'] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { 'i', 's' }),
|
||||
|
||||
-- Enter to confirm selection
|
||||
['<CR>'] = cmp.mapping.confirm({ select = true }),
|
||||
}),
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'nvim_lsp' },
|
||||
{ name = 'luasnip' },
|
||||
{ name = 'buffer' },
|
||||
{ name = 'path' },
|
||||
}),
|
||||
})
|
||||
|
||||
vim.keymap.set("t", "<C-w>h", "<C-\\><C-n><C-w>h", { desc = "Move to left window" })
|
||||
vim.keymap.set("t", "<C-w>l", "<C-\\><C-n><C-w>l", { desc = "Move to right window" })
|
||||
vim.keymap.set("t", "<C-w>p", "<C-\\><C-n><C-w>p", { desc = "Focus previous window" })
|
||||
|
||||
require("claudecode").setup()
|
||||
EOF
|
||||
|
||||
" Added popout window to see diagnostic
|
||||
set updatetime=250
|
||||
autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false, scope="cursor"})
|
||||
|
||||
" Copilot
|
||||
let g:copilot_no_tab_map = v:true
|
||||
|
||||
" Neoformat
|
||||
let g:neoformat_try_formatprg = 1
|
||||
let g:neoformat_basic_format_trim = 1
|
||||
let g:neoformat_only_msg_on_error = 1
|
||||
" autocmd BufWritePre * silent! undojoin | Neoformat
|
||||
|
||||
let g:neoformat_python_ruff = {
|
||||
\ 'exe': 'ruff',
|
||||
\ 'stdin': 1,
|
||||
\ 'args': ['format', '--line-length=80', '-q', '-'],
|
||||
\ }
|
||||
let g:neoformat_enabled_python = ['ruff']
|
||||
|
||||
" Terraform
|
||||
let g:terraform_fmt_on_save=1
|
||||
let g:terraform_align=1
|
||||
|
||||
function! s:check_back_space() abort
|
||||
let col = col('.') - 1
|
||||
return !col || getline('.')[col - 1] =~# '\s'
|
||||
endfunction
|
||||
|
||||
" Enable show hidden in NerdTree
|
||||
let g:NERDTreeShowHidden=1
|
||||
|
||||
" latex
|
||||
let g:tex_flavor = "latex"
|
||||
|
||||
" Debug
|
||||
let g:vimspector_enable_mappings = 'VISUAL_STUDIO'
|
||||
let g:vimspector_install_gadgets = [ 'debugpy', 'vscode-go', 'CodeLLDB', 'vscode-node-debug2' ]
|
||||
|
||||
""""""""""""""""""""""""""""""""
|
||||
" Theme
|
||||
""""""""""""""""""""""""""""""""
|
||||
" colorscheme gruvbox
|
||||
" colorscheme default
|
||||
colorscheme dracula
|
||||
let g:gruvbox_invert_selection='0'
|
||||
let g:gruvbox_contrast_dark = 'hard'
|
||||
set background=dark
|
||||
" hi Normal ctermbg=NONE
|
||||
hi Pmenu ctermfg=NONE ctermbg=236 cterm=NONE guifg=NONE guibg=#64666d gui=NONE
|
||||
hi PmenuSel ctermfg=NONE ctermbg=246 cterm=NONE guifg=NONE guibg=#204a87 gui=NONE
|
||||
hi CursorLine cterm=NONE term=NONE ctermbg=NONE guibg=NONE
|
||||
hi CursorLine ctermbg=235
|
||||
hi DiffAdd cterm=BOLD ctermfg=NONE ctermbg=22
|
||||
hi DiffDelete cterm=BOLD ctermfg=NONE ctermbg=52
|
||||
hi DiffChange cterm=BOLD ctermfg=NONE ctermbg=23
|
||||
hi DiffText cterm=BOLD ctermfg=NONE ctermbg=23
|
||||
set t_ZH="\e[3m"
|
||||
set t_ZR="\e[23m"
|
||||
highlight Comment cterm=italic gui=italic
|
||||
highlight htmlArg gui=italic cterm=italic
|
||||
|
||||
" column
|
||||
set textwidth=80
|
||||
set colorcolumn=80
|
||||
highlight ColorColumn ctermbg=236
|
||||
|
||||
""""""""""""""""""""""""""""""""
|
||||
" Status Line
|
||||
""""""""""""""""""""""""""""""""
|
||||
function! GitBranch()
|
||||
return system("git rev-parse --abbrev-ref HEAD 2>/dev/null | tr -d '\n'")
|
||||
endfunction
|
||||
|
||||
function! StatuslineGit()
|
||||
let l:branchname = GitBranch()
|
||||
return strlen(l:branchname) > 0?' '.l:branchname.' ':''
|
||||
endfunction
|
||||
|
||||
set laststatus=3
|
||||
|
||||
lua <<EOF
|
||||
vim.o.statusline = table.concat({
|
||||
"%#IncSearch#",
|
||||
"%{&filetype!=#''?' ['.&filetype..'] ':' '}",
|
||||
"%{&modified?'[+] ':''}",
|
||||
"%#CursorLineNr#",
|
||||
" %F",
|
||||
"%=",
|
||||
"%#CursorLineNr#",
|
||||
"%{StatuslineGit()}",
|
||||
"%#Search#",
|
||||
" %l/%L",
|
||||
" [%c]",
|
||||
})
|
||||
EOF
|
||||
|
||||
" Disable godoc keys
|
||||
let g:go_doc_keywordprg_enabled = 0
|
||||
set completeopt-=preview
|
||||
|
||||
""""""""""""""""""""""""""""""""
|
||||
" Keyboard shortcuts
|
||||
""""""""""""""""""""""""""""""""
|
||||
let mapleader = "\<Space>"
|
||||
nmap <leader>2 :w!<cr>
|
||||
|
||||
" Adding print message
|
||||
autocmd FileType python nmap <leader>f i print("--------DEBUG--------")<CR>print()<CR>print("--------END DEBUG--------")<UP><LEFT>
|
||||
autocmd FileType sh nmap <leader>f i echo -e "--------DEBUG--------"<CR>echo -e ""<CR>echo -e "--------END DEBUG--------"<UP><LEFT>
|
||||
|
||||
" Adding commentary
|
||||
xmap <leader>c <Plug>Commentary
|
||||
nmap <leader>c <Plug>Commentary
|
||||
omap <leader>c <Plug>Commentary
|
||||
nmap <leader>c <Plug>CommentaryLine
|
||||
|
||||
xmap <C-_> <Plug>Commentary
|
||||
nmap <C-_> <Plug>Commentary
|
||||
omap <C-_> <Plug>Commentary
|
||||
nmap <C-_> <Plug>CommentaryLine
|
||||
|
||||
" Better tab (visual mode only - insert mode Tab is handled by nvim-cmp above)
|
||||
vnoremap <Tab> >
|
||||
vnoremap <S-Tab> <
|
||||
|
||||
" Better word
|
||||
nmap yw vey
|
||||
|
||||
" Select all text
|
||||
nmap <C-a> gg<S-v>G
|
||||
|
||||
" Telescope
|
||||
nmap <Leader>e <cmd>Telescope buffers<cr>
|
||||
nmap <Leader>w <cmd>Telescope find_files<cr>
|
||||
nmap <Leader>q <cmd>Telescope live_grep<cr>
|
||||
nmap <Leader>g <cmd>Telescope git_branches<cr>
|
||||
nmap <Leader>a <cmd>Telescope diagnostics<cr>
|
||||
|
||||
" Resize window
|
||||
nnoremap Ó :vertical resize -5<CR>
|
||||
nnoremap Ô :res -5<CR>
|
||||
nnoremap ū :res +5<CR>
|
||||
nnoremap Ł :vertical resize +5<CR>
|
||||
|
||||
" Split window
|
||||
nnoremap _ :vsp <CR>
|
||||
nnoremap - :split <CR>
|
||||
|
||||
" Reload file
|
||||
nnoremap <F5> :edit <CR>
|
||||
nnoremap <Leader><F5> :edit! <CR>
|
||||
|
||||
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
|
||||
|
||||
" Moving line up or down using alt
|
||||
nnoremap <A-Up> :m-2<CR>
|
||||
nnoremap <A-Down> :m+<CR>
|
||||
inoremap <A-Up> <Esc>:m-2<CR>
|
||||
inoremap <A-Down> <Esc>:m+<CR>
|
||||
vnoremap <A-Down> :m '>+1<CR>gv=gv
|
||||
vnoremap <A-Up> :m '<-2<CR>gv=gv
|
||||
|
||||
nnoremap Ż :m-2<CR>
|
||||
nnoremap ∆ :m+<CR>
|
||||
vnoremap ∆ :m '>+1<CR>gv=gv
|
||||
vnoremap Ż :m '<-2<CR>gv=gv
|
||||
|
||||
nnoremap <A-k> :m-2<CR>
|
||||
nnoremap <A-j> :m+<CR>
|
||||
inoremap <A-k> <Esc>:m-2<CR>
|
||||
inoremap <A-j> <Esc>:m+<CR>
|
||||
vnoremap <A-j> :m '>+1<CR>gv=gv
|
||||
vnoremap <A-k> :m '<-2<CR>gv=gv
|
||||
|
||||
" Better replace
|
||||
nnoremap <Leader>s :%s//g<Left><Left>
|
||||
vnoremap <Leader>s :s//g<Left><Left>
|
||||
|
||||
" Better adding into beginning and ending line
|
||||
vnoremap F <C-v>$A
|
||||
vnoremap f <C-v>0I
|
||||
|
||||
" Better management of tabs
|
||||
nnoremap <C-t> :tabnew<CR>
|
||||
|
||||
nnoremap <F7> :tabprevious<CR>
|
||||
nnoremap <F8> :tabnext<CR>
|
||||
inoremap <F7> <Esc>:tabprevious<CR>i
|
||||
inoremap <F8> <Esc>:tabnext<CR>i
|
||||
|
||||
nnoremap <Leader>k :tabprevious<CR>
|
||||
nnoremap <Leader>j :tabnext<CR>
|
||||
|
||||
inoremap <C-t> <Esc>:tabnew<CR>
|
||||
|
||||
" Better moving
|
||||
nnoremap J }
|
||||
nnoremap K {
|
||||
vnoremap J }
|
||||
vnoremap K {
|
||||
nnoremap <C-h> <C-w>h
|
||||
nnoremap <C-j> <C-w>j
|
||||
nnoremap <C-k> <C-w>k
|
||||
nnoremap <C-l> <C-w>l
|
||||
tnoremap <C-h> <C-\><C-n><C-w>h
|
||||
tnoremap <C-j> <C-\><C-n><C-w>j
|
||||
tnoremap <C-k> <C-\><C-n><C-w>k
|
||||
tnoremap <C-l> <C-\><C-n><C-w>l
|
||||
|
||||
" Copy into system
|
||||
noremap <Leader>y "*y
|
||||
noremap <Leader>p "*p
|
||||
|
||||
" Code
|
||||
map <Leader><Tab> Vgaip= <CR>
|
||||
|
||||
" Multiple cursors
|
||||
let g:multi_cursor_start_word_key = '<C-n>'
|
||||
let g:multi_cursor_select_all_word_key = '<A-n>'
|
||||
let g:multi_cursor_start_key = 'g<C-n>'
|
||||
let g:multi_cursor_select_all_key = 'g<A-n>'
|
||||
let g:multi_cursor_next_key = '<C-n>'
|
||||
let g:multi_cursor_prev_key = '<C-p>'
|
||||
let g:multi_cursor_skip_key = '<C-x>'
|
||||
let g:multi_cursor_quit_key = '<Esc>'
|
||||
|
||||
" Others
|
||||
nnoremap ee :!mupdf $(echo % \| sed 's/tex$/pdf/') & disown<CR><CR>
|
||||
map <C-d> :NvimTreeToggle<CR>
|
||||
nnoremap <leader>r :NvimTreeRefresh<CR>
|
||||
nnoremap <leader>n :NvimTreeFindFile<CR>
|
||||
nnoremap <F11> :Goyo <CR>
|
||||
cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!
|
||||
map <F3> :setlocal spell! spelllang=en<CR>
|
||||
map <F4> :setlocal spell! spelllang=pl<CR>
|
||||
|
||||
" Human Errors
|
||||
:command! W w
|
||||
:command! Q q
|
||||
:command! Wq wq
|
||||
:command! X x
|
||||
|
||||
""""""""""""""""""""""""""""""""
|
||||
" Custom functions
|
||||
""""""""""""""""""""""""""""""""
|
||||
lua <<EOF
|
||||
function go_org_imports(wait_ms)
|
||||
local params = vim.lsp.util.make_range_params()
|
||||
params.context = {only = {"source.organizeImports"}}
|
||||
local result = vim.lsp.buf_request_sync(0, "textDocument/codeAction", params, wait_ms)
|
||||
for cid, res in pairs(result or {}) do
|
||||
for _, r in pairs(res.result or {}) do
|
||||
if r.edit then
|
||||
local enc = (vim.lsp.get_client_by_id(cid) or {}).offset_encoding or "utf-16"
|
||||
vim.lsp.util.apply_workspace_edit(r.edit, enc)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
EOF
|
||||
|
||||
""""""""""""""""""""""""""""""""
|
||||
" Files
|
||||
""""""""""""""""""""""""""""""""
|
||||
|
||||
" Bash
|
||||
if executable('shfmt')
|
||||
let &l:formatprg='shfmt -i ' . &l:shiftwidth . ' -ln posix -sr -ci -s'
|
||||
endif
|
||||
|
||||
let g:shfmt_extra_args = '-i 4 -ci -sr -s'
|
||||
let g:shfmt_fmt_on_save = 1
|
||||
let g:shfmt_opt="-ci"
|
||||
|
||||
" Python
|
||||
autocmd BufRead,BufNewFile *.py set textwidth=0
|
||||
autocmd BufRead,BufNewFile *.py set fo-=t
|
||||
autocmd BufWritePre *.py silent! undojoin | Neoformat ruff
|
||||
noremap <Leader>f :silent! undojoin \| Neoformat ruff <CR> :w<CR>
|
||||
|
||||
" Newsboat
|
||||
autocmd BufRead,BufNewFile urls set textwidth=0
|
||||
|
||||
" Latex
|
||||
autocmd BufWritePost *.tex silent! execute "!pdflatex --shell-escape -synctex=1 -interaction=nonstopmode % > /dev/null " | redraw!
|
||||
autocmd BufWritePost *.tex silent! execute "!latexmk -pdf -silent % > /dev/null" | redraw!
|
||||
autocmd BufWritePost *.tex silent! execute "!rm -rf *.fls *.ilg *.nav *.snm *.toc *.idx *.lof *.lot *.synctex.gz *.aux *.fdb_latexmk *.fls *.log *.out > /dev/null" | redraw!
|
||||
autocmd BufWritePost *.tex silent! execute "!pkill -HUP mupdf > /dev/null" | redraw!
|
||||
|
||||
" Mutt
|
||||
autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=80
|
||||
autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo
|
||||
autocmd BufRead,BufNewFile /tmp/neomutt* map ZZ :Goyo\|x!<CR>
|
||||
autocmd BufRead,BufNewFile /tmp/neomutt* map ZQ :Goyo\|q!<CR>
|
||||
|
||||
" Yaml
|
||||
autocmd BufRead,BufNewFile *.yaml,*.yml let g:indentLine_enabled = 1
|
||||
autocmd BufRead,BufNewFile *.yaml,*.yml let g:indentLine_char = '⦙'
|
||||
autocmd BufWritePre *.yaml,*.yml silent! undojoin | Neoformat prettier
|
||||
|
||||
" JSON
|
||||
autocmd BufWritePre *.json silent! undojoin | Neoformat prettier
|
||||
|
||||
" GoLang
|
||||
autocmd BufRead *.go set noexpandtab
|
||||
autocmd BufWritePre *.go lua go_org_imports()
|
||||
let g:go_def_mapping_enabled = 0
|
||||
let g:go#fmt#autosave = v:true
|
||||
autocmd BufWritePre *.go silent! undojoin | Neoformat
|
||||
autocmd BufWritePre *.gomod silent! undojoin | Neoformat
|
||||
|
||||
" Conf
|
||||
au BufNewFile,BufRead *.conf setfiletype conf
|
||||
|
||||
" Mikrotik
|
||||
au BufNewFile,BufRead *.mikrotik setfiletype routeros
|
||||
|
||||
" Ebuild
|
||||
au BufNewFile,BufRead,BufWritePre *.ebuild let g:shfmt_extra_args = '-ci -sr -s'
|
||||
|
||||
" TOML
|
||||
autocmd BufWritePre *.toml silent! undojoin | Neoformat taplo
|
||||
|
||||
" Terraform
|
||||
autocmd BufWritePre *.tf lua vim.lsp.buf.format()
|
||||
autocmd BufWritePre *.tfvars lua vim.lsp.buf.format()
|
||||
|
||||
" Markdown
|
||||
autocmd BufRead,BufNewFile *.md setlocal spell spelllang=en_us
|
||||
autocmd BufWritePre *.md silent! undojoin | Neoformat mdformat
|
||||
|
||||
" Automatically deletes all trailing whitespace and newlines at end of file on save.
|
||||
autocmd BufWritePre * %s/\s\+$//e
|
||||
autocmd BufWritepre * %s/\n\+\%$//e
|
||||
|
||||
" highlight the visual selection after pressing enter.
|
||||
xnoremap <silent> <cr> "*y:silent! let searchTerm = '\V'.substitute(escape(@*, '\/'), "\n", '\\n', "g") <bar> let @/ = searchTerm <bar> echo '/'.@/ <bar> call histadd("search", searchTerm) <bar> set hls<cr>
|
||||
|
||||
""""""""""""""""""""""""""""""""
|
||||
" FZF
|
||||
""""""""""""""""""""""""""""""""
|
||||
let $FZF_DEFAULT_COMMAND = 'find . -type f -not -path "*/\.git/*" -not -path "*/\.local/share/nvim/*" -not -path "./Library/*" '
|
||||
command! -bang -nargs=* Find call fzf#vim#grep('rg --column --line-number --no-heading --fixed-strings --ignore-case --hidden --follow --color "always" '.shellescape(<q-args>), 1, <bang>0)
|
||||
command! -bang -nargs=* FindCurrentWord call fzf#vim#grep('rg --column --line-number --no-heading --fixed-strings --ignore-case --hidden --follow --color "always" '.shellescape(expand('<cword>')), 1, <bang>0)
|
||||
set grepprg=rg\ --vimgrep
|
||||
|
||||
" Custom functions "
|
||||
function! RemoveForti()
|
||||
:%g/set uuid .*/d
|
||||
:%g/set comment .*/d
|
||||
:%s/ \+//g
|
||||
:%s/edit \(\d\{1,}\)/edit 0/g
|
||||
:g/^$/d
|
||||
endfunction
|
||||
|
||||
function! RemoveFortiAddresses()
|
||||
:e!
|
||||
:%g/set uuid .*/d
|
||||
:%g/set comment .*/d
|
||||
:%s/ \+//g
|
||||
:%s/edit \(\d\{1,}\)/edit 0/g
|
||||
:%s/next\n/set allow-routing enable\rnext\r/g
|
||||
:g/^$/d
|
||||
:%!uniq
|
||||
:w!
|
||||
endfunction
|
||||
|
||||
function! BlurForti()
|
||||
:%g/set uuid .*/d
|
||||
:%g/set description .*/d
|
||||
:%g/set comment .*/d
|
||||
:%g/set comments .*/d
|
||||
:%s/username .*/username "XXXXXXXXXXXXXXXXXXXXXXX"/g
|
||||
:%s/dn .*/dn "XXXXXXXXXXXXXXXXXXXXXXX"/g
|
||||
:%s/psksecret ENC .*/psksecret XXXXXXXXXXXXXXXXXXXXXXX/g
|
||||
:%s/password ENC .*/password XXXXXXXXXXXXXXXXXXXXXXX/g
|
||||
:%s/passwd ENC .*/passwd XXXXXXXXXXXXXXXXXXXXXXX/g
|
||||
:%s/group-name .*/group-name "XXXXXXXXXXXXXXXXXXXXXXX"/g
|
||||
:%s/ssh-rsa .*/ssh-rsa XXXXXXXXXXXXXXXXXXXXXXX/g
|
||||
:%s/-----BEGIN OPENSSH PRIVATE KEY.*----/-----BEGIN OPENSSH PRIVATE KEY -----\rXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/g
|
||||
:%s/-----BEGIN CERTIFICATE.*----/-----BEGIN CERTIFICATE -----\rXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/g
|
||||
:%s/-----BEGIN ENCRYPTED PRIVATE KEY.*----/-----BEGIN ENCRYPTED PRIVATE KEY -----\rXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/g
|
||||
:%s/"VPN_.*"/"VPN_XXXXX"/g
|
||||
:%s/\v(\d{1,3}\.){3}\d{1,3}/X.X.X.X/g
|
||||
endfunction
|
||||
|
||||
function! ColoursFortiSSL()
|
||||
:%s/next\n/set color 23\rset allow-routing enable\rnext\r/g
|
||||
endfunction
|
||||
@@ -1,2 +0,0 @@
|
||||
[global]
|
||||
break-system-packages = true
|
||||
@@ -1,567 +0,0 @@
|
||||
#set viewmode miller
|
||||
set viewmode multipane
|
||||
set column_ratios 1,3,4
|
||||
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
|
||||
set show_hidden false
|
||||
|
||||
# Ask for a confirmation when running the "delete" command?
|
||||
# Valid values are "always", "never", "multiple" (default)
|
||||
# With "multiple", ranger will ask only if you delete multiple files at once.
|
||||
#set confirm_on_delete multiple
|
||||
set confirm_on_delete never
|
||||
set use_preview_script true
|
||||
set automatically_count_files true
|
||||
set open_all_images true
|
||||
set vcs_aware false
|
||||
set vcs_backend_git enabled
|
||||
set vcs_backend_hg disabled
|
||||
set vcs_backend_bzr disabled
|
||||
set vcs_backend_svn disabled
|
||||
set preview_images true
|
||||
set preview_images_method urxvt
|
||||
set w3m_delay 0.02
|
||||
set iterm2_font_width 8
|
||||
set iterm2_font_height 11
|
||||
set unicode_ellipsis false
|
||||
set bidi_support false
|
||||
set show_hidden_bookmarks true
|
||||
set colorscheme default
|
||||
set preview_files true
|
||||
set preview_directories true
|
||||
set collapse_preview true
|
||||
set save_console_history true
|
||||
set status_bar_on_top false
|
||||
set draw_progress_bar_in_status_bar true
|
||||
set draw_borders true
|
||||
set respect draw_borders
|
||||
set dirname_in_tabs false
|
||||
set mouse_enabled true
|
||||
set display_size_in_main_column true
|
||||
set display_size_in_status_bar true
|
||||
|
||||
# Display the free disk space in the status bar?
|
||||
set display_free_space_in_status_bar true
|
||||
|
||||
# Display files tags in all columns or only in main column?
|
||||
set display_tags_in_all_columns true
|
||||
|
||||
# Set a title for the window?
|
||||
set update_title false
|
||||
|
||||
# Set the title to "ranger" in the tmux program?
|
||||
set update_tmux_title true
|
||||
|
||||
# Shorten the title if it gets long? The number defines how many
|
||||
# directories are displayed at once, 0 turns off this feature.
|
||||
set shorten_title 3
|
||||
|
||||
# Show hostname in titlebar?
|
||||
set hostname_in_titlebar false
|
||||
|
||||
# Abbreviate $HOME with ~ in the titlebar (first line) of ranger?
|
||||
set tilde_in_titlebar true
|
||||
|
||||
# How many directory-changes or console-commands should be kept in history?
|
||||
set max_history_size 20
|
||||
set max_console_history_size 50
|
||||
|
||||
# Try to keep so much space between the top/bottom border when scrolling:
|
||||
set scroll_offset 10
|
||||
|
||||
# Flush the input after each key hit? (Noticeable when ranger lags)
|
||||
set flushinput true
|
||||
|
||||
# Padding on the right when there's no preview?
|
||||
# This allows you to click into the space to run the file.
|
||||
set padding_right true
|
||||
|
||||
# Save bookmarks (used with mX and `X) instantly?
|
||||
# This helps to synchronize bookmarks between multiple ranger
|
||||
# instances but leads to *slight* performance loss.
|
||||
# When false, bookmarks are saved when ranger is exited.
|
||||
set autosave_bookmarks true
|
||||
|
||||
# Save the "`" bookmark to disk. This can be used to switch to the last
|
||||
# directory by typing "``".
|
||||
set save_backtick_bookmark true
|
||||
|
||||
# You can display the "real" cumulative size of directories by using the
|
||||
# command :get_cumulative_size or typing "dc". The size is expensive to
|
||||
# calculate and will not be updated automatically. You can choose
|
||||
# to update it automatically though by turning on this option:
|
||||
set autoupdate_cumulative_size false
|
||||
|
||||
# Turning this on makes sense for screen readers:
|
||||
set show_cursor false
|
||||
|
||||
# One of: size, natural, basename, atime, ctime, mtime, type, random
|
||||
set sort natural
|
||||
|
||||
# Additional sorting options
|
||||
set sort_reverse false
|
||||
set sort_case_insensitive true
|
||||
set sort_directories_first true
|
||||
set sort_unicode false
|
||||
|
||||
# Enable this if key combinations with the Alt Key don't work for you.
|
||||
# (Especially on xterm)
|
||||
set xterm_alt_key false
|
||||
|
||||
# Whether to include bookmarks in cd command
|
||||
set cd_bookmarks true
|
||||
|
||||
# Changes case sensitivity for the cd command tab completion
|
||||
set cd_tab_case sensitive
|
||||
|
||||
# Use fuzzy tab completion with the "cd" command. For example,
|
||||
# ":cd /u/lo/b<tab>" expands to ":cd /usr/local/bin".
|
||||
set cd_tab_fuzzy false
|
||||
set preview_max_size 0
|
||||
set hint_collapse_threshold 10
|
||||
set show_selection_in_titlebar true
|
||||
set idle_delay 2000
|
||||
set metadata_deep_search false
|
||||
set clear_filters_on_dir_change false
|
||||
set line_numbers false
|
||||
set relative_current_zero false
|
||||
set one_indexed false
|
||||
set save_tabs_on_exit false
|
||||
set wrap_scroll false
|
||||
set global_inode_type_filter
|
||||
set freeze_files false
|
||||
|
||||
# ===================================================================
|
||||
# == My settings
|
||||
# ===================================================================
|
||||
|
||||
setlocal path=~/Screenshots sort mtime
|
||||
setlocal path=~/Screenshots sort_reverse False
|
||||
|
||||
|
||||
# ===================================================================
|
||||
# == Local Options
|
||||
# ===================================================================
|
||||
# You can set local options that only affect a single directory.
|
||||
|
||||
# Examples:
|
||||
# setlocal path=~/downloads sort mtime
|
||||
|
||||
# ===================================================================
|
||||
# == Command Aliases in the Console
|
||||
# ===================================================================
|
||||
|
||||
alias e edit
|
||||
alias q quit
|
||||
alias q! quit!
|
||||
alias qa quitall
|
||||
alias qa! quitall!
|
||||
alias qall quitall
|
||||
alias qall! quitall!
|
||||
alias setl setlocal
|
||||
|
||||
alias filter scout -prts
|
||||
alias find scout -aets
|
||||
alias mark scout -mr
|
||||
alias unmark scout -Mr
|
||||
alias search scout -rs
|
||||
alias search_inc scout -rts
|
||||
alias travel scout -aefklst
|
||||
|
||||
# ===================================================================
|
||||
# == Define keys for the browser
|
||||
# ===================================================================
|
||||
|
||||
# Basic
|
||||
map bg shell set-wallpaper %f
|
||||
map bc shell wall -i %f
|
||||
map bh cd ~
|
||||
|
||||
map Q quitall
|
||||
map q quit
|
||||
copymap q ZZ ZQ
|
||||
|
||||
map R reload_cwd
|
||||
map F set freeze_files!
|
||||
map <C-r> reset
|
||||
map <C-l> redraw_window
|
||||
map <C-c> abort
|
||||
map <esc> change_mode normal
|
||||
map ~ set viewmode!
|
||||
|
||||
map i display_file
|
||||
map ? help
|
||||
map W display_log
|
||||
map w taskview_open
|
||||
map S shell $SHELL
|
||||
|
||||
map : console
|
||||
map ; console
|
||||
map ! console shell%space
|
||||
map @ console -p6 shell %%s
|
||||
map # console shell -p%space
|
||||
map s console shell%space
|
||||
map r chain draw_possible_programs; console open_with%%space
|
||||
map f console find%space
|
||||
map cd console cd%space
|
||||
|
||||
map <C-p> chain console; eval fm.ui.console.history_move(-1)
|
||||
|
||||
# Change the line mode
|
||||
map Mf linemode filename
|
||||
map Mi linemode fileinfo
|
||||
map Mm linemode mtime
|
||||
map Mp linemode permissions
|
||||
map Ms linemode sizemtime
|
||||
map Mt linemode metatitle
|
||||
|
||||
# Tagging / Marking
|
||||
map t tag_toggle
|
||||
map ut tag_remove
|
||||
map <Space> mark_files toggle=True
|
||||
map v mark_files all=True toggle=True
|
||||
map uv mark_files all=True val=False
|
||||
map V toggle_visual_mode
|
||||
map uV toggle_visual_mode reverse=True
|
||||
|
||||
# For the nostalgics: Midnight Commander bindings
|
||||
map <F1> help
|
||||
map <F2> rename_append
|
||||
map <F3> display_file
|
||||
map <F4> edit
|
||||
map <F5> copy
|
||||
map <F6> cut
|
||||
map <F7> console mkdir%space
|
||||
map <F8> console delete
|
||||
map <F10> exit
|
||||
|
||||
# In case you work on a keyboard with dvorak layout
|
||||
map <UP> move up=1
|
||||
map <DOWN> move down=1
|
||||
map <LEFT> move left=1
|
||||
map <RIGHT> move right=1
|
||||
map <HOME> move to=0
|
||||
map <END> move to=-1
|
||||
map <PAGEDOWN> move down=1 pages=True
|
||||
map <PAGEUP> move up=1 pages=True
|
||||
map <CR> move right=1
|
||||
#map <DELETE> console delete
|
||||
map <INSERT> console touch%space
|
||||
|
||||
# VIM-like
|
||||
copymap <UP> k
|
||||
copymap <DOWN> j
|
||||
copymap <LEFT> h
|
||||
copymap <RIGHT> l
|
||||
copymap <HOME> gg
|
||||
copymap <END> G
|
||||
copymap <PAGEDOWN> <C-F>
|
||||
copymap <PAGEUP> <C-B>
|
||||
|
||||
map J move down=0.5 pages=True
|
||||
map K move up=0.5 pages=True
|
||||
copymap J <C-D>
|
||||
copymap K <C-U>
|
||||
|
||||
# Jumping around
|
||||
map H history_go -1
|
||||
map L history_go 1
|
||||
map ] move_parent 1
|
||||
map [ move_parent -1
|
||||
map } traverse
|
||||
map { traverse_backwards
|
||||
map ) jump_non
|
||||
|
||||
#DEFAULT MOVEMENT
|
||||
map ge cd /etc
|
||||
map gh cd ~
|
||||
map gu cd /usr
|
||||
#map gl cd -r .
|
||||
map gL cd -r %f
|
||||
#map gv cd /var
|
||||
map gM cd /mnt
|
||||
map gr cd /
|
||||
map gR eval fm.cd(ranger.RANGERDIR)
|
||||
map g? cd /usr/share/doc/ranger
|
||||
|
||||
# External Programs
|
||||
map E edit
|
||||
map du shell -p du --max-depth=1 -h --apparent-size
|
||||
map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh
|
||||
map yp yank path
|
||||
map yd yank dir
|
||||
map yn yank name
|
||||
map y. yank name_without_extension
|
||||
|
||||
# Filesystem Operations
|
||||
map = chmod
|
||||
|
||||
map cw console rename%space
|
||||
map a rename_append
|
||||
map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"))
|
||||
map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7)
|
||||
|
||||
map pp paste
|
||||
map po paste overwrite=True
|
||||
map pP paste append=True
|
||||
map pO paste overwrite=True append=True
|
||||
map pl paste_symlink relative=False
|
||||
map pL paste_symlink relative=True
|
||||
map phl paste_hardlink
|
||||
map pht paste_hardlinked_subtree
|
||||
|
||||
map dD console delete
|
||||
|
||||
map dd cut
|
||||
map ud uncut
|
||||
map da cut mode=add
|
||||
map dr cut mode=remove
|
||||
map dt cut mode=toggle
|
||||
|
||||
map yy copy
|
||||
map uy uncut
|
||||
map ya copy mode=add
|
||||
map yr copy mode=remove
|
||||
map yt copy mode=toggle
|
||||
|
||||
# Temporary workarounds
|
||||
map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
|
||||
map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
|
||||
map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier)
|
||||
map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier)
|
||||
map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
|
||||
map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
|
||||
map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
|
||||
map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
|
||||
|
||||
# Searching
|
||||
map / console search%space
|
||||
map n search_next
|
||||
map N search_next forward=False
|
||||
map ct search_next order=tag
|
||||
map cs search_next order=size
|
||||
map ci search_next order=mimetype
|
||||
map cc search_next order=ctime
|
||||
map cm search_next order=mtime
|
||||
map ca search_next order=atime
|
||||
|
||||
# Tabs
|
||||
map <C-n> tab_new
|
||||
map <C-w> tab_close
|
||||
map <TAB> tab_move 1
|
||||
map <S-TAB> tab_move -1
|
||||
map <A-Right> tab_move 1
|
||||
map <A-Left> tab_move -1
|
||||
map uq tab_restore
|
||||
map <a-1> tab_open 1
|
||||
map <a-2> tab_open 2
|
||||
map <a-3> tab_open 3
|
||||
map <a-4> tab_open 4
|
||||
map <a-5> tab_open 5
|
||||
map <a-6> tab_open 6
|
||||
map <a-7> tab_open 7
|
||||
map <a-8> tab_open 8
|
||||
map <a-9> tab_open 9
|
||||
map <a-r> tab_shift 1
|
||||
map <a-l> tab_shift -1
|
||||
|
||||
# Sorting
|
||||
map or set sort_reverse!
|
||||
map oz set sort=random
|
||||
map os chain set sort=size; set sort_reverse=False
|
||||
map ob chain set sort=basename; set sort_reverse=False
|
||||
map on chain set sort=natural; set sort_reverse=False
|
||||
map om chain set sort=mtime; set sort_reverse=False
|
||||
map oc chain set sort=ctime; set sort_reverse=False
|
||||
map oa chain set sort=atime; set sort_reverse=False
|
||||
map ot chain set sort=type; set sort_reverse=False
|
||||
map oe chain set sort=extension; set sort_reverse=False
|
||||
|
||||
map oS chain set sort=size; set sort_reverse=True
|
||||
map oB chain set sort=basename; set sort_reverse=True
|
||||
map oN chain set sort=natural; set sort_reverse=True
|
||||
map oM chain set sort=mtime; set sort_reverse=True
|
||||
map oC chain set sort=ctime; set sort_reverse=True
|
||||
map oA chain set sort=atime; set sort_reverse=True
|
||||
map oT chain set sort=type; set sort_reverse=True
|
||||
map oE chain set sort=extension; set sort_reverse=True
|
||||
|
||||
map dc get_cumulative_size
|
||||
|
||||
# Settings
|
||||
map zc set collapse_preview!
|
||||
map zd set sort_directories_first!
|
||||
map zh set show_hidden!
|
||||
map <C-h> set show_hidden!
|
||||
copymap <C-h> <backspace>
|
||||
copymap <backspace> <backspace2>
|
||||
map zI set flushinput!
|
||||
map zi set preview_images!
|
||||
map zm set mouse_enabled!
|
||||
map zp set preview_files!
|
||||
map zP set preview_directories!
|
||||
map zs set sort_case_insensitive!
|
||||
map zu set autoupdate_cumulative_size!
|
||||
map zv set use_preview_script!
|
||||
map zf console filter%space
|
||||
copymap zf zz
|
||||
|
||||
# Filter stack
|
||||
map .n console filter_stack add name%space
|
||||
map .m console filter_stack add mime%space
|
||||
map .d filter_stack add type d
|
||||
map .f filter_stack add type f
|
||||
map .l filter_stack add type l
|
||||
map .| filter_stack add or
|
||||
map .& filter_stack add and
|
||||
map .! filter_stack add not
|
||||
map .r console filter_stack rotate
|
||||
map .c filter_stack clear
|
||||
map .* filter_stack decompose
|
||||
map .p filter_stack pop
|
||||
map .. filter_stack show
|
||||
|
||||
# Bookmarks
|
||||
map `<any> enter_bookmark %any
|
||||
map '<any> enter_bookmark %any
|
||||
map m<any> set_bookmark %any
|
||||
map um<any> unset_bookmark %any
|
||||
|
||||
map m<bg> draw_bookmarks
|
||||
copymap m<bg> um<bg> `<bg> '<bg>
|
||||
|
||||
# Generate all the chmod bindings with some python help:
|
||||
eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +{0} shell -f chmod u+{0} %s".format(arg))
|
||||
|
||||
eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -{0} shell -f chmod u-{0} %s".format(arg))
|
||||
|
||||
# ===================================================================
|
||||
# == Define keys for the console
|
||||
# ===================================================================
|
||||
# Note: Unmapped keys are passed directly to the console.
|
||||
|
||||
# Basic
|
||||
cmap <tab> eval fm.ui.console.tab()
|
||||
cmap <s-tab> eval fm.ui.console.tab(-1)
|
||||
cmap <ESC> eval fm.ui.console.close()
|
||||
cmap <CR> eval fm.ui.console.execute()
|
||||
cmap <C-l> redraw_window
|
||||
|
||||
copycmap <ESC> <C-c>
|
||||
copycmap <CR> <C-j>
|
||||
|
||||
# Move around
|
||||
cmap <up> eval fm.ui.console.history_move(-1)
|
||||
cmap <down> eval fm.ui.console.history_move(1)
|
||||
cmap <left> eval fm.ui.console.move(left=1)
|
||||
cmap <right> eval fm.ui.console.move(right=1)
|
||||
cmap <home> eval fm.ui.console.move(right=0, absolute=True)
|
||||
cmap <end> eval fm.ui.console.move(right=-1, absolute=True)
|
||||
cmap <a-b> eval fm.ui.console.move_word(left=1)
|
||||
cmap <a-f> eval fm.ui.console.move_word(right=1)
|
||||
|
||||
copycmap <a-b> <a-left>
|
||||
copycmap <a-f> <a-right>
|
||||
|
||||
# Line Editing
|
||||
cmap <backspace> eval fm.ui.console.delete(-1)
|
||||
cmap <delete> eval fm.ui.console.delete(0)
|
||||
cmap <C-w> eval fm.ui.console.delete_word()
|
||||
cmap <A-d> eval fm.ui.console.delete_word(backward=False)
|
||||
cmap <C-k> eval fm.ui.console.delete_rest(1)
|
||||
cmap <C-u> eval fm.ui.console.delete_rest(-1)
|
||||
cmap <C-y> eval fm.ui.console.paste()
|
||||
|
||||
# And of course the emacs way
|
||||
copycmap <ESC> <C-g>
|
||||
copycmap <up> <C-p>
|
||||
copycmap <down> <C-n>
|
||||
copycmap <left> <C-b>
|
||||
copycmap <right> <C-f>
|
||||
copycmap <home> <C-a>
|
||||
copycmap <end> <C-e>
|
||||
copycmap <delete> <C-d>
|
||||
copycmap <backspace> <C-h>
|
||||
|
||||
# Note: There are multiple ways to express backspaces. <backspace> (code 263)
|
||||
# and <backspace2> (code 127). To be sure, use both.
|
||||
copycmap <backspace> <backspace2>
|
||||
|
||||
# This special expression allows typing in numerals:
|
||||
cmap <allow_quantifiers> false
|
||||
|
||||
# ===================================================================
|
||||
# == Pager Keybindings
|
||||
# ===================================================================
|
||||
|
||||
# Movement
|
||||
pmap <down> pager_move down=1
|
||||
pmap <up> pager_move up=1
|
||||
pmap <left> pager_move left=4
|
||||
pmap <right> pager_move right=4
|
||||
pmap <home> pager_move to=0
|
||||
pmap <end> pager_move to=-1
|
||||
pmap <pagedown> pager_move down=1.0 pages=True
|
||||
pmap <pageup> pager_move up=1.0 pages=True
|
||||
pmap <C-d> pager_move down=0.5 pages=True
|
||||
pmap <C-u> pager_move up=0.5 pages=True
|
||||
|
||||
copypmap <UP> k <C-p>
|
||||
copypmap <DOWN> j <C-n> <CR>
|
||||
copypmap <LEFT> h
|
||||
copypmap <RIGHT> l
|
||||
copypmap <HOME> g
|
||||
copypmap <END> G
|
||||
copypmap <C-d> d
|
||||
copypmap <C-u> u
|
||||
copypmap <PAGEDOWN> n f <C-F> <Space>
|
||||
copypmap <PAGEUP> p b <C-B>
|
||||
|
||||
# Basic
|
||||
pmap <C-l> redraw_window
|
||||
pmap <ESC> pager_close
|
||||
copypmap <ESC> q Q i <F3>
|
||||
pmap E edit_file
|
||||
|
||||
# ===================================================================
|
||||
# == Taskview Keybindings
|
||||
# ===================================================================
|
||||
|
||||
# Movement
|
||||
tmap <up> taskview_move up=1
|
||||
tmap <down> taskview_move down=1
|
||||
tmap <home> taskview_move to=0
|
||||
tmap <end> taskview_move to=-1
|
||||
tmap <pagedown> taskview_move down=1.0 pages=True
|
||||
tmap <pageup> taskview_move up=1.0 pages=True
|
||||
tmap <C-d> taskview_move down=0.5 pages=True
|
||||
tmap <C-u> taskview_move up=0.5 pages=True
|
||||
|
||||
copytmap <UP> k <C-p>
|
||||
copytmap <DOWN> j <C-n> <CR>
|
||||
copytmap <HOME> g
|
||||
copytmap <END> G
|
||||
copytmap <C-u> u
|
||||
copytmap <PAGEDOWN> n f <C-F> <Space>
|
||||
copytmap <PAGEUP> p b <C-B>
|
||||
|
||||
# Changing priority and deleting tasks
|
||||
tmap J eval -q fm.ui.taskview.task_move(-1)
|
||||
tmap K eval -q fm.ui.taskview.task_move(0)
|
||||
tmap dd eval -q fm.ui.taskview.task_remove()
|
||||
tmap <pagedown> eval -q fm.ui.taskview.task_move(-1)
|
||||
tmap <pageup> eval -q fm.ui.taskview.task_move(0)
|
||||
tmap <delete> eval -q fm.ui.taskview.task_remove()
|
||||
|
||||
# Basic
|
||||
tmap <C-l> redraw_window
|
||||
tmap <ESC> taskview_close
|
||||
copytmap <ESC> q Q w <C-c>
|
||||
|
||||
@@ -1,210 +0,0 @@
|
||||
ext jpg = open -a Preview "$@"
|
||||
#ext doc = openoffice4 "$@"
|
||||
#ext odt = openoffice4 "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Websites
|
||||
#-------------------------------------------
|
||||
# Rarely installed browsers get higher priority; It is assumed that if you
|
||||
# install a rare browser, you probably use it. Firefox/konqueror/w3m on the
|
||||
# other hand are often only installed as fallback browsers.
|
||||
ext x?html?, has surf, X, flag f = surf -- file://"$1"
|
||||
ext x?html?, has vimprobable, X, flag f = vimprobable -- "$@"
|
||||
ext x?html?, has vimprobable2, X, flag f = vimprobable2 -- "$@"
|
||||
ext x?html?, has qutebrowser, X, flag f = qutebrowser -- "$@"
|
||||
ext x?html?, has dwb, X, flag f = dwb -- "$@"
|
||||
ext x?html?, has jumanji, X, flag f = jumanji -- "$@"
|
||||
ext x?html?, has luakit, X, flag f = luakit -- "$@"
|
||||
ext x?html?, has uzbl, X, flag f = uzbl -- "$@"
|
||||
ext x?html?, has uzbl-tabbed, X, flag f = uzbl-tabbed -- "$@"
|
||||
ext x?html?, has uzbl-browser, X, flag f = uzbl-browser -- "$@"
|
||||
ext x?html?, has uzbl-core, X, flag f = uzbl-core -- "$@"
|
||||
ext x?html?, has midori, X, flag f = midori -- "$@"
|
||||
ext x?html?, has chromium-browser, X, flag f = chromium-browser -- "$@"
|
||||
ext x?html?, has chromium, X, flag f = chromium -- "$@"
|
||||
ext x?html?, has google-chrome, X, flag f = google-chrome -- "$@"
|
||||
ext x?html?, has opera, X, flag f = opera -- "$@"
|
||||
ext x?html?, has firefox, X, flag f = firefox -- "$@"
|
||||
ext x?html?, has seamonkey, X, flag f = seamonkey -- "$@"
|
||||
ext x?html?, has iceweasel, X, flag f = iceweasel -- "$@"
|
||||
ext x?html?, has epiphany, X, flag f = epiphany -- "$@"
|
||||
ext x?html?, has konqueror, X, flag f = konqueror -- "$@"
|
||||
ext x?html?, has elinks, terminal = elinks "$@"
|
||||
ext x?html?, has links2, terminal = links2 "$@"
|
||||
ext x?html?, has links, terminal = links "$@"
|
||||
ext x?html?, has lynx, terminal = lynx -- "$@"
|
||||
ext x?html?, has w3m, terminal = w3m "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Misc
|
||||
#-------------------------------------------
|
||||
# Define the "editor" for text files as first action
|
||||
mime ^text, label editor = ${VISUAL:-$EDITOR} -- "$@"
|
||||
mime ^text, label pager = "$PAGER" -- "$@"
|
||||
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@"
|
||||
!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
|
||||
|
||||
ext 1 = man "$1"
|
||||
ext s[wmf]c, has zsnes, X = zsnes "$1"
|
||||
ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1"
|
||||
ext nes, has fceux, X = fceux "$1"
|
||||
ext exe = wine "$1"
|
||||
name ^[mM]akefile$ = make
|
||||
|
||||
#--------------------------------------------
|
||||
# Code
|
||||
#-------------------------------------------
|
||||
ext py = python -- "$1"
|
||||
ext pl = perl -- "$1"
|
||||
ext rb = ruby -- "$1"
|
||||
ext js = node -- "$1"
|
||||
ext sh = sh -- "$1"
|
||||
ext php = php -- "$1"
|
||||
|
||||
#--------------------------------------------
|
||||
# Audio without X
|
||||
#-------------------------------------------
|
||||
mime ^audio|ogg$, terminal, has mpv = mpv -- "$@"
|
||||
mime ^audio|ogg$, terminal, has mplayer2 = mplayer2 -- "$@"
|
||||
mime ^audio|ogg$, terminal, has mplayer = mplayer -- "$@"
|
||||
ext midi?, terminal, has wildmidi = wildmidi -- "$@"
|
||||
|
||||
#--------------------------------------------
|
||||
# Video/Audio with a GUI
|
||||
#-------------------------------------------
|
||||
mime ^video|audio, has gmplayer, X, flag f = gmplayer -- "$@"
|
||||
mime ^video|audio, has smplayer, X, flag f = smplayer "$@"
|
||||
mime ^video, has mpv, X, flag f = mpv -- "$@"
|
||||
mime ^video, has mpv, X, flag f = mpv --fs -- "$@"
|
||||
mime ^video, has mplayer2, X, flag f = mplayer2 -- "$@"
|
||||
mime ^video, has mplayer2, X, flag f = mplayer2 -fs -- "$@"
|
||||
mime ^video, has mplayer, X, flag f = mplayer -- "$@"
|
||||
mime ^video, has mplayer, X, flag f = mplayer -fs -- "$@"
|
||||
mime ^video|audio, has vlc, X, flag f = vlc -- "$@"
|
||||
mime ^video|audio, has totem, X, flag f = totem -- "$@"
|
||||
mime ^video|audio, has totem, X, flag f = totem --fullscreen -- "$@"
|
||||
|
||||
#--------------------------------------------
|
||||
# Video without X:
|
||||
#-------------------------------------------
|
||||
mime ^video, terminal, !X, has mpv = mpv -- "$@"
|
||||
mime ^video, terminal, !X, has mplayer2 = mplayer2 -- "$@"
|
||||
mime ^video, terminal, !X, has mplayer = mplayer -- "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Documents
|
||||
#-------------------------------------------
|
||||
ext pdf, has llpp, X, flag f = llpp "$@"
|
||||
ext pdf, has zathura, X, flag f = zathura -- "$@"
|
||||
ext pdf, has mupdf, X, flag f = mupdf "$@"
|
||||
ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@"
|
||||
ext pdf, has apvlv, X, flag f = apvlv -- "$@"
|
||||
ext pdf, has xpdf, X, flag f = xpdf -- "$@"
|
||||
ext pdf, has evince, X, flag f = evince -- "$@"
|
||||
ext pdf, has atril, X, flag f = atril -- "$@"
|
||||
ext pdf, has okular, X, flag f = okular -- "$@"
|
||||
ext pdf, has epdfview, X, flag f = epdfview -- "$@"
|
||||
ext pdf, has qpdfview, X, flag f = qpdfview "$@"
|
||||
ext pdf, has open, X, flag f = open "$@"
|
||||
|
||||
ext docx?, has catdoc, terminal = catdoc -- "$@" | "$PAGER"
|
||||
|
||||
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f = gnumeric -- "$@"
|
||||
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has kspread, X, flag f = kspread -- "$@"
|
||||
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@"
|
||||
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f = soffice "$@"
|
||||
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@"
|
||||
|
||||
ext djvu, has zathura,X, flag f = zathura -- "$@"
|
||||
ext djvu, has evince, X, flag f = evince -- "$@"
|
||||
ext djvu, has atril, X, flag f = atril -- "$@"
|
||||
ext djvu, has djview, X, flag f = djview -- "$@"
|
||||
|
||||
ext epub, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
|
||||
ext mobi, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Image Viewing:
|
||||
#-------------------------------------------
|
||||
mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
|
||||
mime ^image/svg, has display, X, flag f = display -- "$@"
|
||||
|
||||
mime ^image, has pqiv, X, flag f = pqiv -- "$@"
|
||||
mime ^image, has sxiv, X, flag f = sxiv -- "$@"
|
||||
mime ^image, has feh, X, flag f = feh -- "$@"
|
||||
mime ^image, has mirage, X, flag f = mirage -- "$@"
|
||||
mime ^image, has ristretto, X, flag f = ristretto "$@"
|
||||
mime ^image, has eog, X, flag f = eog -- "$@"
|
||||
mime ^image, has eom, X, flag f = eom -- "$@"
|
||||
mime ^image, has nomacs, X, flag f = nomacs -- "$@"
|
||||
mime ^image, has geeqie, X, flag f = geeqie -- "$@"
|
||||
mime ^image, has gwenview, X, flag f = gwenview -- "$@"
|
||||
mime ^image, has gimp, X, flag f = gimp -- "$@"
|
||||
ext xcf, X, flag f = gimp -- "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Archives
|
||||
#-------------------------------------------
|
||||
|
||||
# avoid password prompt by providing empty password
|
||||
ext 7z, has 7z = 7z -p l "$@" | "$PAGER"
|
||||
# This requires atool
|
||||
ext ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --list --each -- "$@" | "$PAGER"
|
||||
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --list --each -- "$@" | "$PAGER"
|
||||
ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --extract --each -- "$@"
|
||||
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --extract --each -- "$@"
|
||||
|
||||
# Listing and extracting archives without atool:
|
||||
ext tar|gz|bz2|xz, has tar = tar vvtf "$1" | "$PAGER"
|
||||
ext tar|gz|bz2|xz, has tar = for file in "$@"; do tar vvxf "$file"; done
|
||||
ext bz2, has bzip2 = for file in "$@"; do bzip2 -dk "$file"; done
|
||||
ext zip, has unzip = unzip -l "$1" | less
|
||||
ext zip, has unzip = for file in "$@"; do unzip -d "${file%.*}" "$file"; done
|
||||
ext ace, has unace = unace l "$1" | less
|
||||
ext ace, has unace = for file in "$@"; do unace e "$file"; done
|
||||
ext rar, has unrar = unrar l "$1" | less
|
||||
ext rar, has unrar = for file in "$@"; do unrar x "$file"; done
|
||||
|
||||
#-------------------------------------------
|
||||
# Flag t fallback terminals
|
||||
#-------------------------------------------
|
||||
# Rarely installed terminal emulators get higher priority; It is assumed that
|
||||
# if you install a rare terminal emulator, you probably use it.
|
||||
# gnome-terminal/konsole/xterm on the other hand are often installed as part of
|
||||
# a desktop environment or as fallback terminal emulators.
|
||||
mime ^ranger/x-terminal-emulator, has terminology = terminology -e "$@"
|
||||
mime ^ranger/x-terminal-emulator, has kitty = kitty -- "$@"
|
||||
mime ^ranger/x-terminal-emulator, has alacritty = alacritty -e "$@"
|
||||
mime ^ranger/x-terminal-emulator, has sakura = sakura -e "$@"
|
||||
mime ^ranger/x-terminal-emulator, has lilyterm = lilyterm -e "$@"
|
||||
#mime ^ranger/x-terminal-emulator, has cool-retro-term = cool-retro-term -e "$@"
|
||||
mime ^ranger/x-terminal-emulator, has termite = termite -x '"$@"'
|
||||
#mime ^ranger/x-terminal-emulator, has yakuake = yakuake -e "$@"
|
||||
mime ^ranger/x-terminal-emulator, has guake = guake -ne "$@"
|
||||
mime ^ranger/x-terminal-emulator, has tilda = tilda -c "$@"
|
||||
mime ^ranger/x-terminal-emulator, has st = st -e "$@"
|
||||
mime ^ranger/x-terminal-emulator, has terminator = terminator -x "$@"
|
||||
mime ^ranger/x-terminal-emulator, has urxvt = urxvt -e "$@"
|
||||
mime ^ranger/x-terminal-emulator, has pantheon-terminal = pantheon-terminal -e "$@"
|
||||
mime ^ranger/x-terminal-emulator, has lxterminal = lxterminal -e "$@"
|
||||
mime ^ranger/x-terminal-emulator, has mate-terminal = mate-terminal -x "$@"
|
||||
mime ^ranger/x-terminal-emulator, has xfce4-terminal = xfce4-terminal -x "$@"
|
||||
mime ^ranger/x-terminal-emulator, has konsole = konsole -e "$@"
|
||||
mime ^ranger/x-terminal-emulator, has gnome-terminal = gnome-terminal -- "$@"
|
||||
mime ^ranger/x-terminal-emulator, has xterm = xterm -e "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Misc
|
||||
#-------------------------------------------
|
||||
label wallpaper, number 11, mime ^image, has feh, X = feh --bg-scale "$1"
|
||||
label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1"
|
||||
label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1"
|
||||
label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1"
|
||||
|
||||
# Define the editor for non-text files + pager as last action
|
||||
!mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ask
|
||||
label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@"
|
||||
label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
|
||||
|
||||
# The very last action, so that it's never triggered accidentally, is to execute a program:
|
||||
mime application/x-executable = "$1"
|
||||
@@ -1,12 +0,0 @@
|
||||
default-stream "1080p60,1080p,720p60,720p"
|
||||
default-stream best
|
||||
hls-live-edge 2
|
||||
hls-segment-stream-data
|
||||
player-no-close
|
||||
player=mpv
|
||||
retry-max 100
|
||||
retry-open 10
|
||||
retry-streams 10
|
||||
stream-segment-threads=4
|
||||
twitch-disable-ads
|
||||
twitch-low-latency
|
||||
@@ -1,628 +0,0 @@
|
||||
;Packages
|
||||
|
||||
;; package archives
|
||||
(require 'package)
|
||||
(setq package-enable-at-startup nil)
|
||||
(setq package-archives
|
||||
'(
|
||||
("melpa" . "https://melpa.org/packages/")
|
||||
("ELPA" . "http://tromey.com/elpa/")
|
||||
("gnu" . "http://elpa.gnu.org/packages/")
|
||||
("ORG" . "https://orgmode.org/elpa/")
|
||||
)
|
||||
)
|
||||
(package-initialize)
|
||||
(setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3")
|
||||
|
||||
;; UTF-8
|
||||
(set-language-environment "UTF-8")
|
||||
|
||||
;; Remove welcome screen
|
||||
(setq inhibit-startup-screen t)
|
||||
|
||||
;; Disable menu
|
||||
(menu-bar-mode 0)
|
||||
|
||||
;; Remove working cl
|
||||
(require 'cl-lib)
|
||||
(setq byte-compile-warnings '(cl-functions))
|
||||
(advice-add 'sh-set-shell :around
|
||||
(lambda (orig-fun &rest args)
|
||||
(cl-letf (((symbol-function 'message) #'ignore))
|
||||
(apply orig-fun args))))
|
||||
|
||||
;; install use-package
|
||||
(unless (package-installed-p 'use-package)
|
||||
(package-refresh-contents)
|
||||
(package-install 'use-package)
|
||||
)
|
||||
|
||||
;; Packages list refresh
|
||||
(when (not package-archive-contents)
|
||||
(package-refresh-contents))
|
||||
|
||||
;; Auto Package Update
|
||||
(use-package auto-package-update
|
||||
:ensure t
|
||||
:config
|
||||
(progn
|
||||
(setq
|
||||
auto-package-update-delete-old-verions t
|
||||
auto-package-update-interval 5
|
||||
)
|
||||
(auto-package-update-maybe)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
;; Set path to store "custom-set"
|
||||
(setq custom-file "~/.emacs.d/emacs-custom.el")
|
||||
|
||||
;; Enable awesome-tab-mode
|
||||
(add-to-list 'load-path (expand-file-name "~/.emacs.d/plugins"))
|
||||
(require 'awesome-tab)
|
||||
(awesome-tab-mode t)
|
||||
|
||||
(use-package awesome-tab
|
||||
:load-path "~/.emacs.d/plugins"
|
||||
:config
|
||||
(awesome-tab-mode t))
|
||||
(awesome-tab-mode t)
|
||||
|
||||
(global-set-key (kbd "C-x j") 'awesome-tab-backward-tab)
|
||||
(global-set-key (kbd "C-x k") 'awesome-tab-forward-tab)
|
||||
|
||||
;; 80-charaters mode
|
||||
(add-hook 'text-mode-hook 'auto-fill-mode)
|
||||
(setq-default fill-column 80)
|
||||
|
||||
(add-hook 'prog-mode-hook #'display-fill-column-indicator-mode)
|
||||
|
||||
; Global turn on flycheck
|
||||
(add-hook 'after-init-hook #'global-flycheck-mode)
|
||||
|
||||
; Org Files
|
||||
(add-hook 'org-mode-hook '(lambda () (setq fill-column 80)))
|
||||
(add-hook 'org-mode-hook 'auto-fill-mode)
|
||||
(add-hook 'org-mode-hook 'turn-on-flyspell)
|
||||
|
||||
;; Latex files
|
||||
(add-hook 'latex-mode-hook 'turn-on-flyspell)
|
||||
(setq ispell-dictionary "pl")
|
||||
|
||||
;; Broswer
|
||||
(setq browse-url-browser-function 'browse-url-generic
|
||||
browse-url-generic-program "browser-x")
|
||||
|
||||
;; Amx
|
||||
(use-package amx
|
||||
:ensure t
|
||||
:after ivy
|
||||
:custom
|
||||
(
|
||||
(amx-backend 'ivy)
|
||||
(amx-show-key-bindings t)
|
||||
)
|
||||
:config
|
||||
(amx-mode t)
|
||||
)
|
||||
|
||||
;; Counsel
|
||||
(use-package counsel
|
||||
:ensure t
|
||||
)
|
||||
|
||||
|
||||
|
||||
;; Custom theme
|
||||
(add-to-list 'custom-theme-load-path
|
||||
"~/.emacs.d/plugins/")
|
||||
|
||||
;; Switch-window
|
||||
(use-package switch-window
|
||||
:ensure t
|
||||
:config
|
||||
(setq
|
||||
switch-window-increase 4
|
||||
switch-window-input-style 'minibuffer
|
||||
switch-window-shortcut-style 'qwerty
|
||||
switch-window-threshold 2
|
||||
)
|
||||
(setq
|
||||
switch-window-qwerty-shortcuts
|
||||
'( "a" "s" "d" "f" "g" "h" "j" "k" "l")
|
||||
)
|
||||
:bind
|
||||
([remap other-window] . switch-window)
|
||||
)
|
||||
|
||||
;; Enable japanese
|
||||
(if (condition-case nil (require 'mozc)(error nil))
|
||||
(setq ecb-be-more-like-better-yes-p t)
|
||||
(message "Monz not available; not configuring") )
|
||||
(setq default-input-method "japanese-mozc")
|
||||
|
||||
;; reveal dependency
|
||||
(use-package htmlize
|
||||
:ensure t
|
||||
)
|
||||
(use-package ox-reveal
|
||||
:ensure t
|
||||
:config
|
||||
;; maybe add auto-installer in the future
|
||||
(setq org-reveal-root "https://cdn.jsdelivr.net/npm/reveal.js")
|
||||
)
|
||||
|
||||
;; moveline
|
||||
(use-package move-text
|
||||
:ensure t
|
||||
:config)
|
||||
|
||||
(global-set-key (kbd "M-<up>") 'move-text-up)
|
||||
(global-set-key (kbd "M-<down>") 'move-text-down)
|
||||
|
||||
;; company
|
||||
(use-package company
|
||||
:ensure t
|
||||
)
|
||||
(global-company-mode)
|
||||
|
||||
(setq company-dabbrev-downcase 0)
|
||||
(setq company-idle-delay 0)
|
||||
|
||||
;; Shell - bash
|
||||
(use-package flymake-shellcheck
|
||||
:ensure t
|
||||
)
|
||||
|
||||
(use-package flycheck-bashate
|
||||
:ensure t
|
||||
)
|
||||
|
||||
(require 'bash-completion)
|
||||
(bash-completion-setup)
|
||||
|
||||
(use-package flymake-shell
|
||||
:ensure t
|
||||
)
|
||||
|
||||
(require 'flymake-shell)
|
||||
(add-hook 'sh-set-shell-hook 'flymake-shell-load)
|
||||
|
||||
;; Default font
|
||||
(defun rc/get-default-font ()
|
||||
(cond
|
||||
((eq system-type 'windows-nt) "Consolas-13")
|
||||
((eq system-type 'gnu/linux) "xos4 Terminus (TTF) Medium 16")))
|
||||
|
||||
(add-to-list 'default-frame-alist `(font . ,(rc/get-default-font)))
|
||||
|
||||
;; Theme
|
||||
;;(use-package gruvbox-theme
|
||||
;; :ensure t
|
||||
;; :config
|
||||
;; (load-theme 'gruvbox-dark-hard t))
|
||||
|
||||
(use-package dracula-theme
|
||||
:ensure t
|
||||
:config
|
||||
(load-theme 'dracula t))
|
||||
|
||||
;; Sitebar dirred
|
||||
(use-package dired-sidebar
|
||||
:ensure t
|
||||
:commands (dired-sidebar-toggle-sidebar))
|
||||
|
||||
(require 'dired-sidebar)
|
||||
(global-set-key (kbd "C-x d") 'dired-sidebar-toggle-sidebar)
|
||||
|
||||
;; Smex
|
||||
(require 'smex)
|
||||
(smex-initialize)
|
||||
(global-set-key (kbd "M-x") 'counsel-M-x)
|
||||
|
||||
;;buffer-move
|
||||
(require 'buffer-move)
|
||||
(global-set-key (kbd "C-x b") 'counsel-buffer-or-recentf)
|
||||
(global-set-key (kbd "<C-S-up>") 'buf-move-up)
|
||||
(global-set-key (kbd "<C-S-down>") 'buf-move-down)
|
||||
(global-set-key (kbd "<C-S-left>") 'buf-move-left)
|
||||
(global-set-key (kbd "<C-S-right>") 'buf-move-right)
|
||||
|
||||
;; Files
|
||||
(global-set-key (kbd "C-x C-f") 'counsel-find-file)
|
||||
|
||||
;; Multiple-cursors
|
||||
(use-package multiple-cursors
|
||||
:ensure t
|
||||
:config
|
||||
)
|
||||
|
||||
(global-set-key (kbd "C-S-c C-S-c") 'mc/edit-lines)
|
||||
(global-set-key (kbd "C->") 'mc/mark-next-like-this)
|
||||
(global-set-key (kbd "C-<") 'mc/mark-previous-like-this)
|
||||
(global-set-key (kbd "C-c C-<") 'mc/mark-all-like-this)
|
||||
|
||||
;; Magit
|
||||
(use-package magit
|
||||
:ensure t
|
||||
:config
|
||||
)
|
||||
(global-set-key (kbd "C-x g") 'magit-status)
|
||||
|
||||
;; Helpers for easily building Emacs flymake checkers.
|
||||
(use-package flymake-easy
|
||||
:ensure t
|
||||
:config
|
||||
)
|
||||
|
||||
;; Error list
|
||||
(define-key flymake-mode-map (kbd "M-n") 'flymake-goto-next-error)
|
||||
(define-key flymake-mode-map (kbd "M-p") 'flymake-goto-prev-error)
|
||||
|
||||
;; Ruby
|
||||
(use-package flymake-ruby
|
||||
:ensure t
|
||||
:config
|
||||
)
|
||||
|
||||
;;robe
|
||||
(use-package robe
|
||||
:ensure t
|
||||
:config
|
||||
)
|
||||
|
||||
(require 'robe)
|
||||
(add-hook 'ruby-mode-hook 'robe-mode)
|
||||
(add-hook 'robe-mode-hook 'ac-robe-setup)
|
||||
(eval-after-load 'company
|
||||
'(push 'company-robe company-backends))
|
||||
|
||||
(require 'flymake-ruby)
|
||||
(add-hook 'ruby-mode-hook 'flymake-ruby-load)
|
||||
|
||||
;; Docker
|
||||
(use-package dockerfile-mode
|
||||
:ensure t
|
||||
:defer t)
|
||||
|
||||
;; YAML
|
||||
(require 'flymake-yaml)
|
||||
|
||||
(use-package yaml-mode
|
||||
:ensure t
|
||||
:config
|
||||
)
|
||||
|
||||
;; pip install --user yamllint
|
||||
(require 'flycheck-yamllint)
|
||||
(eval-after-load 'flycheck
|
||||
'(add-hook 'flycheck-mode-hook 'flycheck-yamllint-setup))
|
||||
|
||||
;; Ansible
|
||||
(use-package ansible
|
||||
:ensure t
|
||||
:config
|
||||
)
|
||||
|
||||
(use-package ansible-doc
|
||||
:ensure t
|
||||
:config
|
||||
)
|
||||
|
||||
(use-package company-ansible
|
||||
:ensure t
|
||||
:config
|
||||
)
|
||||
|
||||
(add-to-list 'company-backends 'company-ansible)
|
||||
(add-hook 'yaml-mode-hook '(lambda () (ansible 1)))
|
||||
(add-hook 'yaml-mode-hook #'ansible-doc-mode)
|
||||
|
||||
;; Markdown-mode
|
||||
(custom-set-variables
|
||||
'(markdown-command "/usr/bin/pandoc"))
|
||||
(use-package markdown-mode
|
||||
:ensure t
|
||||
:config
|
||||
)
|
||||
|
||||
;; C++ C
|
||||
(use-package auto-complete-clang
|
||||
:ensure t
|
||||
:config
|
||||
)
|
||||
|
||||
;; Apache
|
||||
(use-package apache-mode
|
||||
:ensure t
|
||||
:config
|
||||
)
|
||||
|
||||
;; Haskell
|
||||
(use-package haskell-mode
|
||||
:ensure t
|
||||
:config
|
||||
)
|
||||
|
||||
(use-package flycheck-haskell
|
||||
:ensure t
|
||||
:config
|
||||
)
|
||||
(add-hook 'flycheck-mode-hook #'flycheck-haskell-setup)
|
||||
|
||||
|
||||
;; Java
|
||||
;; lsp-install-server
|
||||
;; jdtls
|
||||
(use-package lsp-java
|
||||
:ensure t
|
||||
:config
|
||||
(global-set-key (kbd "C-.") 'lsp-execute-code-action)
|
||||
)
|
||||
|
||||
(global-set-key (kbd "<f9>") 'dap-breakpoint-toggle)
|
||||
(global-set-key (kbd "<f10>") 'dap-next)
|
||||
(global-set-key (kbd "<f11>") 'dap-step-in)
|
||||
(global-set-key (kbd "<f12>") 'lsp-jt-browser)
|
||||
(global-set-key (kbd "<C-f12>") 'dap-stop-thread)
|
||||
(global-set-key (kbd "<C-?>") 'comment-or-uncomment-region)
|
||||
|
||||
(add-hook 'dap-stopped-hook
|
||||
(lambda (arg) (call-interactively #'dap-hydra)))
|
||||
|
||||
(setq dap-auto-configure-features '(sessions locals controls tooltip))
|
||||
|
||||
|
||||
(require 'lsp-java)
|
||||
(add-hook 'java-mode-hook #'lsp)
|
||||
|
||||
(require 'dap-java)
|
||||
|
||||
;; Treemacs
|
||||
(use-package treemacs
|
||||
:ensure t
|
||||
:defer t
|
||||
:init
|
||||
(with-eval-after-load 'winum
|
||||
(define-key winum-keymap (kbd "M-0") #'treemacs-select-window))
|
||||
:config
|
||||
(progn
|
||||
(setq treemacs-collapse-dirs (if treemacs-python-executable 3 0)
|
||||
treemacs-deferred-git-apply-delay 0.5
|
||||
treemacs-directory-name-transformer #'identity
|
||||
treemacs-display-in-side-window t
|
||||
treemacs-eldoc-display t
|
||||
treemacs-file-event-delay 5000
|
||||
treemacs-file-extension-regex treemacs-last-period-regex-value
|
||||
treemacs-file-follow-delay 0.2
|
||||
treemacs-file-name-transformer #'identity
|
||||
treemacs-follow-after-init t
|
||||
treemacs-git-command-pipe ""
|
||||
treemacs-goto-tag-strategy 'refetch-index
|
||||
treemacs-indentation 2
|
||||
treemacs-indentation-string " "
|
||||
treemacs-is-never-other-window nil
|
||||
treemacs-max-git-entries 5000
|
||||
treemacs-missing-project-action 'ask
|
||||
treemacs-move-forward-on-expand nil
|
||||
treemacs-no-png-images nil
|
||||
treemacs-no-delete-other-windows t
|
||||
treemacs-project-follow-cleanup nil
|
||||
treemacs-persist-file (expand-file-name ".cache/treemacs-persist" user-emacs-directory)
|
||||
treemacs-position 'left
|
||||
treemacs-read-string-input 'from-child-frame
|
||||
treemacs-recenter-distance 0.1
|
||||
treemacs-recenter-after-file-follow nil
|
||||
treemacs-recenter-after-tag-follow nil
|
||||
treemacs-recenter-after-project-jump 'always
|
||||
treemacs-recenter-after-project-expand 'on-distance
|
||||
treemacs-show-cursor nil
|
||||
treemacs-show-hidden-files t
|
||||
treemacs-silent-filewatch nil
|
||||
treemacs-silent-refresh nil
|
||||
treemacs-sorting 'alphabetic-asc
|
||||
treemacs-space-between-root-nodes t
|
||||
treemacs-tag-follow-cleanup t
|
||||
treemacs-tag-follow-delay 1.5
|
||||
treemacs-user-mode-line-format nil
|
||||
treemacs-user-header-line-format nil
|
||||
treemacs-width 35
|
||||
treemacs-workspace-switch-cleanup nil)
|
||||
|
||||
;; The default width and height of the icons is 22 pixels. If you are
|
||||
;; using a Hi-DPI display, uncomment this to double the icon size.
|
||||
;;(treemacs-resize-icons 44)
|
||||
|
||||
(treemacs-follow-mode t)
|
||||
(treemacs-filewatch-mode t)
|
||||
(treemacs-fringe-indicator-mode 'always)
|
||||
(pcase (cons (not (null (executable-find "git")))
|
||||
(not (null treemacs-python-executable)))
|
||||
(`(t . t)
|
||||
(treemacs-git-mode 'deferred))
|
||||
(`(t . _)
|
||||
(treemacs-git-mode 'simple))))
|
||||
:bind
|
||||
(:map global-map
|
||||
("M-0" . treemacs-select-window)
|
||||
("C-x t 1" . treemacs-delete-other-windows)
|
||||
("C-x t t" . treemacs)
|
||||
("C-x t B" . treemacs-bookmark)
|
||||
("C-x t C-t" . treemacs-find-file)
|
||||
("C-x t M-t" . treemacs-find-tag)))
|
||||
|
||||
(use-package treemacs-evil
|
||||
:after treemacs evil
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-projectile
|
||||
:after treemacs projectile
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-icons-dired
|
||||
:after treemacs dired
|
||||
:ensure t
|
||||
:config (treemacs-icons-dired-mode))
|
||||
|
||||
(use-package treemacs-magit
|
||||
:after treemacs magit
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-persp ;;treemacs-perspective if you use perspective.el vs. persp-mode
|
||||
:after treemacs persp-mode ;;or perspective vs. persp-mode
|
||||
:ensure t
|
||||
:config (treemacs-set-scope-type 'Perspectives))
|
||||
|
||||
;; Python
|
||||
(setq python-shell-interpreter "python3")
|
||||
(setq py-python-command "/usr/bin/python3")
|
||||
(use-package company-jedi
|
||||
:ensure t
|
||||
:config
|
||||
)
|
||||
|
||||
(defun my/python-mode-hook ()
|
||||
(add-to-list 'company-backends 'company-jedi))
|
||||
|
||||
(add-hook 'python-mode-hook 'my/python-mode-hook)
|
||||
|
||||
(setq-default ebuild-mode-update-copyright nil)
|
||||
|
||||
(setq jedi:environment-root "jedi") ; or any other name you like
|
||||
(setq jedi:environment-virtualenv
|
||||
(append python-environment-virtualenv
|
||||
'("--python" "/usr/local/bin/python3")))
|
||||
|
||||
(defun infer-indentation-style () (interactive)
|
||||
(let ((space-count (how-many "^ " (point-min) (point-max)))
|
||||
(tab-count (how-many "^\t" (point-min) (point-max))))
|
||||
(if (> space-count tab-count) (setq indent-tabs-mode nil))
|
||||
(if (> tab-count space-count) (setq indent-tabs-mode t))))
|
||||
|
||||
(add-hook 'python-mode-hook
|
||||
(lambda ()
|
||||
(if indent-tabs-mode
|
||||
(setq tab-width 4
|
||||
python-indent-offset 4))))
|
||||
(add-hook 'python-mode-hook 'infer-indentation-style)
|
||||
|
||||
;; python-black
|
||||
(use-package python-black
|
||||
:demand t
|
||||
:after python)
|
||||
|
||||
|
||||
;;; --- Look & Feel ---
|
||||
|
||||
;; Org-bullets
|
||||
|
||||
(use-package org-bullets
|
||||
:ensure t
|
||||
:config
|
||||
:after org
|
||||
:hook (org-mode . org-bullets-mode)
|
||||
:custom
|
||||
(org-bullets-bullet-list '("◉" "○" "●" "○" "●" "○" "●")))
|
||||
|
||||
;; Helm
|
||||
(use-package helm
|
||||
:ensure t
|
||||
:config
|
||||
)
|
||||
|
||||
(add-hook 'helm-minibuffer-set-up-hook
|
||||
'helm-hide-minibuffer-maybe)
|
||||
|
||||
(setq helm-autoresize-max-height 0)
|
||||
(setq helm-autoresize-min-height 20)
|
||||
|
||||
(helm-autoresize-mode 1)
|
||||
(helm-mode 1)
|
||||
|
||||
;; Disable scroll bar
|
||||
;; no toolbar:
|
||||
(if (display-graphic-p)
|
||||
(progn
|
||||
(tool-bar-mode -1)
|
||||
(scroll-bar-mode -1)))
|
||||
|
||||
;; Copy
|
||||
(setq select-active-regions nil)
|
||||
(setq mouse-drag-copy-region t)
|
||||
(global-set-key [mouse-2] 'mouse-yank-at-click)
|
||||
|
||||
;; Zoom in/out.
|
||||
(global-set-key (kbd "M-+") 'text-scale-increase)
|
||||
(global-set-key (kbd "M--") 'text-scale-decrease)
|
||||
|
||||
;; line numbers:
|
||||
(global-display-line-numbers-mode 1)
|
||||
|
||||
;; scrolling:
|
||||
(setq scroll-conservatively 100)
|
||||
|
||||
;; Whitespaces
|
||||
(global-whitespace-mode 1)
|
||||
(setq whitespace-display-mappings '((space-mark 32 [?·])))
|
||||
(set-face-attribute 'whitespace-space nil :background nil :foreground "gray30")
|
||||
(setq whitespace-style (quote (face tabs spaces trailing space-before-tab newline indentation empty space-after-tab space-mark tab-mark)))
|
||||
(add-hook 'before-save-hook (lambda () (delete-trailing-whitespace)))
|
||||
|
||||
;; no "bell" (audible notification):
|
||||
(setq ring-bell-function 'ignore)
|
||||
|
||||
;; auto reloading (reverting) buffers
|
||||
(global-auto-revert-mode 1)
|
||||
|
||||
;; disable lock files:
|
||||
(setq create-lockfiles nil)
|
||||
|
||||
;; disable autosave:
|
||||
(setq auto-save-default nil)
|
||||
|
||||
;; disable backups:
|
||||
(setq make-backup-files nil)
|
||||
|
||||
;; Pass "y or n" instead of "yes or no"
|
||||
(defalias 'yes-or-no-p 'y-or-n-p)
|
||||
|
||||
;; Highlight parens
|
||||
(show-paren-mode 1)
|
||||
|
||||
;; Candy
|
||||
(global-prettify-symbols-mode 1)
|
||||
|
||||
;; Modeline
|
||||
(column-number-mode 1)
|
||||
(size-indication-mode 1)
|
||||
|
||||
;; Horizontal splitting
|
||||
(defun split-and-follow-horizontally ()
|
||||
(interactive)
|
||||
(split-window-below)
|
||||
(balance-windows)
|
||||
(other-window 1)
|
||||
)
|
||||
(global-set-key (kbd "C-x 2") 'split-and-follow-horizontally)
|
||||
|
||||
;; Vertical splitting
|
||||
(defun split-and-follow-vertically ()
|
||||
(interactive)
|
||||
(split-window-right)
|
||||
(balance-windows)
|
||||
(other-window 1)
|
||||
)
|
||||
(global-set-key (kbd "C-x 3") 'split-and-follow-vertically)
|
||||
|
||||
;; Kill & remove split
|
||||
(defun kill-and-remove-split ()
|
||||
"Kill and remove split."
|
||||
(interactive)
|
||||
(kill-buffer)
|
||||
(delete-window)
|
||||
(balance-windows)
|
||||
(other-window 1)
|
||||
)
|
||||
(global-set-key (kbd "C-x x") 'kill-and-remove-split)
|
||||
(global-set-key (kbd "<escape>") 'keyboard-escape-quit)
|
||||
@@ -1,138 +0,0 @@
|
||||
;;; buffer-move.el ---
|
||||
|
||||
;; Copyright (C) 2004-2014 Lucas Bonnet <lucas@rincevent.net.fr>
|
||||
|
||||
;; Author: Lucas Bonnet <lucas@rincevent.net>
|
||||
;; Keywords: lisp,convenience
|
||||
;; Version: 0.5
|
||||
;; URL : https://github.com/lukhas/buffer-move
|
||||
|
||||
;; This program is free software; you can redistribute it and/or
|
||||
;; modify it under the terms of the GNU General Public License
|
||||
;; as published by the Free Software Foundation; either version 2
|
||||
;; of the License, or (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program; if not, write to the Free Software
|
||||
;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
;; 02111-1307, USA.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This file is for lazy people wanting to swap buffers without
|
||||
;; typing C-x b on each window. This is useful when you have :
|
||||
|
||||
;; +--------------+-------------+
|
||||
;; | | |
|
||||
;; | #emacs | #gnus |
|
||||
;; | | |
|
||||
;; +--------------+-------------+
|
||||
;; | |
|
||||
;; | .emacs |
|
||||
;; | |
|
||||
;; +----------------------------+
|
||||
|
||||
;; and you want to have :
|
||||
|
||||
;; +--------------+-------------+
|
||||
;; | | |
|
||||
;; | #gnus | .emacs |
|
||||
;; | | |
|
||||
;; +--------------+-------------+
|
||||
;; | |
|
||||
;; | #emacs |
|
||||
;; | |
|
||||
;; +----------------------------+
|
||||
|
||||
;; With buffer-move, just go in #gnus, do buf-move-left, go to #emacs
|
||||
;; (which now should be on top right) and do buf-move-down.
|
||||
|
||||
;; To use it, simply put a (require 'buffer-move) in your ~/.emacs and
|
||||
;; define some keybindings. For example, i use :
|
||||
|
||||
;; (global-set-key (kbd "<C-S-up>") 'buf-move-up)
|
||||
;; (global-set-key (kbd "<C-S-down>") 'buf-move-down)
|
||||
;; (global-set-key (kbd "<C-S-left>") 'buf-move-left)
|
||||
;; (global-set-key (kbd "<C-S-right>") 'buf-move-right)
|
||||
|
||||
|
||||
;;; Code:
|
||||
|
||||
|
||||
(require 'windmove)
|
||||
|
||||
;;;###autoload
|
||||
(defun buf-move-up ()
|
||||
"Swap the current buffer and the buffer above the split.
|
||||
If there is no split, ie now window above the current one, an
|
||||
error is signaled."
|
||||
;; "Switches between the current buffer, and the buffer above the
|
||||
;; split, if possible."
|
||||
(interactive)
|
||||
(let* ((other-win (windmove-find-other-window 'up))
|
||||
(buf-this-buf (window-buffer (selected-window))))
|
||||
(if (null other-win)
|
||||
(error "No window above this one")
|
||||
;; swap top with this one
|
||||
(set-window-buffer (selected-window) (window-buffer other-win))
|
||||
;; move this one to top
|
||||
(set-window-buffer other-win buf-this-buf)
|
||||
(select-window other-win))))
|
||||
|
||||
;;;###autoload
|
||||
(defun buf-move-down ()
|
||||
"Swap the current buffer and the buffer under the split.
|
||||
If there is no split, ie now window under the current one, an
|
||||
error is signaled."
|
||||
(interactive)
|
||||
(let* ((other-win (windmove-find-other-window 'down))
|
||||
(buf-this-buf (window-buffer (selected-window))))
|
||||
(if (or (null other-win)
|
||||
(string-match "^ \\*Minibuf" (buffer-name (window-buffer other-win))))
|
||||
(error "No window under this one")
|
||||
;; swap top with this one
|
||||
(set-window-buffer (selected-window) (window-buffer other-win))
|
||||
;; move this one to top
|
||||
(set-window-buffer other-win buf-this-buf)
|
||||
(select-window other-win))))
|
||||
|
||||
;;;###autoload
|
||||
(defun buf-move-left ()
|
||||
"Swap the current buffer and the buffer on the left of the split.
|
||||
If there is no split, ie now window on the left of the current
|
||||
one, an error is signaled."
|
||||
(interactive)
|
||||
(let* ((other-win (windmove-find-other-window 'left))
|
||||
(buf-this-buf (window-buffer (selected-window))))
|
||||
(if (null other-win)
|
||||
(error "No left split")
|
||||
;; swap top with this one
|
||||
(set-window-buffer (selected-window) (window-buffer other-win))
|
||||
;; move this one to top
|
||||
(set-window-buffer other-win buf-this-buf)
|
||||
(select-window other-win))))
|
||||
|
||||
;;;###autoload
|
||||
(defun buf-move-right ()
|
||||
"Swap the current buffer and the buffer on the right of the split.
|
||||
If there is no split, ie now window on the right of the current
|
||||
one, an error is signaled."
|
||||
(interactive)
|
||||
(let* ((other-win (windmove-find-other-window 'right))
|
||||
(buf-this-buf (window-buffer (selected-window))))
|
||||
(if (null other-win)
|
||||
(error "No right split")
|
||||
;; swap top with this one
|
||||
(set-window-buffer (selected-window) (window-buffer other-win))
|
||||
;; move this one to top
|
||||
(set-window-buffer other-win buf-this-buf)
|
||||
(select-window other-win))))
|
||||
|
||||
|
||||
(provide 'buffer-move)
|
||||
;;; buffer-move.el ends here
|
||||
@@ -1,58 +0,0 @@
|
||||
;;; flycheck-yamllint.el --- Flycheck integration for YAMLLint
|
||||
|
||||
;; Copyright (c) 2017 Krzysztof Magosa
|
||||
|
||||
;; Author: Krzysztof Magosa <krzysztof@magosa.pl>
|
||||
;; URL: https://github.com/krzysztof-magosa/flycheck-yamllint
|
||||
;; Package-Requires: ((flycheck "30"))
|
||||
;; Created: 25 March 2017
|
||||
;; Version: 0.1.0
|
||||
;; Keywords: convenience, languages, tools
|
||||
|
||||
;; Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
;; of this software and associated documentation files (the "Software"), to deal
|
||||
;; in the Software without restriction, including without limitation the rights
|
||||
;; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
;; copies of the Software, and to permit persons to whom the Software is
|
||||
;; furnished to do so, subject to the following conditions:
|
||||
|
||||
;; The above copyright notice and this permission notice shall be included in all
|
||||
;; copies or substantial portions of the Software.
|
||||
|
||||
;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
;; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
;; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
;; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
;; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
;; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
;; SOFTWARE.
|
||||
|
||||
;;; Commentary:
|
||||
;;
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'flycheck)
|
||||
|
||||
(flycheck-def-config-file-var flycheck-yamllintrc yaml-yamllint ".yamllint"
|
||||
:safe #'stringp)
|
||||
|
||||
(flycheck-define-checker yaml-yamllint
|
||||
"A YAML syntax checker using YAMLLint.
|
||||
|
||||
See URL `https://github.com/adrienverge/yamllint'."
|
||||
:command ("yamllint" "-f" "parsable" source (config-file "-c" flycheck-yamllintrc))
|
||||
:error-patterns
|
||||
((error line-start (file-name) ":" line ":" column ": [error] " (message) line-end)
|
||||
(warning line-start (file-name) ":" line ":" column ": [warning] " (message) line-end))
|
||||
:modes yaml-mode)
|
||||
|
||||
;;;###autoload
|
||||
(defun flycheck-yamllint-setup ()
|
||||
"Setup Flycheck YAMLLint integration."
|
||||
(interactive)
|
||||
(add-to-list 'flycheck-checkers 'yaml-yamllint))
|
||||
|
||||
|
||||
(provide 'flycheck-yamllint)
|
||||
;;; flycheck-yamllint.el ends here
|
||||
@@ -1,68 +0,0 @@
|
||||
;;; flymake-yaml.el --- A flymake handler for YAML
|
||||
|
||||
;; Copyright (C) 2013 Yasuyuki Oka
|
||||
|
||||
;; Author: Yasuyuki Oka <yasuyk@gmail.com>
|
||||
;; Version: 0.0.2
|
||||
;; URL: https://github.com/yasuyk/flymake-yaml
|
||||
;; Package-Requires: ((flymake-easy "0.1"))
|
||||
;; Keywords: yaml
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; Based in part on http://d.hatena.ne.jp/kitokitoki/20120306/p1
|
||||
;;
|
||||
;; Usage:
|
||||
;;
|
||||
;; (require 'flymake-yaml) ;; Not necessary if using ELPA package
|
||||
;; (add-hook 'yaml-mode-hook 'flymake-yaml-load)
|
||||
;;
|
||||
;; Uses flymake-easy, from https://github.com/purcell/flymake-easy
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'flymake-easy)
|
||||
|
||||
(defconst flymake-yaml-err-line-patterns
|
||||
;; Syck error message
|
||||
'(("syntax error on line \\([0-9]+\\), col \\([0-9]+\\): `\\(.*\\)'" nil 1 2 3)
|
||||
;; Psych error message
|
||||
(".*: \\(.*\\) at line \\([0-9]+\\) column \\([0-9]+\\)" nil 2 3 1)))
|
||||
|
||||
(defun flymake-yaml-command (filename)
|
||||
"Construct a command that flymake can use to check yaml source.
|
||||
Argument FILENAME
|
||||
YAML file name."
|
||||
(list "ruby" "-ryaml" "-e" "YAML.load(ARGF) rescue warn $!" filename))
|
||||
|
||||
;;;###autoload
|
||||
(defun flymake-yaml-load ()
|
||||
"Configure flymake mode to check the current buffer's YAML syntax."
|
||||
(interactive)
|
||||
(when (eq major-mode 'yaml-mode)
|
||||
(flymake-easy-load 'flymake-yaml-command
|
||||
flymake-yaml-err-line-patterns
|
||||
'tempdir
|
||||
"yml")))
|
||||
|
||||
(provide 'flymake-yaml)
|
||||
|
||||
;; Local Variables:
|
||||
;; coding: utf-8
|
||||
;; eval: (checkdoc-minor-mode 1)
|
||||
;; End:
|
||||
|
||||
;;; flymake-yaml.el ends here
|
||||
@@ -1,27 +0,0 @@
|
||||
;;; latexmk-mode.el --- LatexMK minor mode
|
||||
;;; Commentary:
|
||||
;;; none
|
||||
;;; Code:
|
||||
|
||||
(define-minor-mode latexmk-mode
|
||||
"Toggle LatexMK mode."
|
||||
:init-value nil
|
||||
:lighter " LatexMK "
|
||||
)
|
||||
|
||||
(defun my/run-latexmk ()
|
||||
(interactive)
|
||||
(start-process "latexmk" "latexmk out" "latexmk" "--silent" "--pdf" (buffer-file-name (current-buffer)))
|
||||
)
|
||||
|
||||
(defun my/try-run-latexmk ()
|
||||
"Try to run latexmk."
|
||||
|
||||
(if (bound-and-true-p latexmk-mode)
|
||||
(my/run-latexmk)
|
||||
)
|
||||
)
|
||||
|
||||
(add-hook 'after-save-hook 'my/try-run-latexmk)
|
||||
(add-hook 'latex-mode-hook 'latexmk-mode)
|
||||
;;; latexmk-mode.el ends here
|
||||
@@ -1,75 +0,0 @@
|
||||
;;; livedown.el --- Realtime Markdown previews for Emacs.
|
||||
|
||||
;; Copyright (C) 2014-2016 Hrvoje Simic
|
||||
|
||||
;; Author: Hrvoje Simic <hrvoje@twobucks.co>
|
||||
;; Version: 1.0.0
|
||||
;; Keywords: markdown, preview, live
|
||||
;; URL: https://github.com/shime/emacs-livedown
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Realtime Markdown previews for Emacs.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(defgroup livedown nil
|
||||
"Realtime Markdown previews"
|
||||
:group 'livedown
|
||||
:prefix "livedown-")
|
||||
|
||||
(defcustom livedown-port 1337
|
||||
"Port on which livedown server will run."
|
||||
:type 'integer
|
||||
:group 'livedown)
|
||||
|
||||
(defcustom livedown-open t
|
||||
"Open browser automatically."
|
||||
:type 'boolean
|
||||
:group 'livedown)
|
||||
|
||||
(defcustom livedown-browser nil
|
||||
"Open alternative browser."
|
||||
:type 'string
|
||||
:group 'livedown)
|
||||
|
||||
(defcustom livedown-autostart nil
|
||||
"Auto-open previews when opening markdown files."
|
||||
:type 'boolean
|
||||
:group 'livedown)
|
||||
|
||||
;;;###autoload
|
||||
(defun livedown-preview ()
|
||||
"Preview the current file in livedown."
|
||||
(interactive)
|
||||
|
||||
(call-process-shell-command
|
||||
(format "livedown stop --port %s &"
|
||||
livedown-port))
|
||||
|
||||
(start-process-shell-command
|
||||
(format "emacs-livedown")
|
||||
(format "emacs-livedown-buffer")
|
||||
(format "livedown start %s --port %s %s %s "
|
||||
buffer-file-name
|
||||
livedown-port
|
||||
(if livedown-browser (concat "--browser " livedown-browser) "")
|
||||
(if livedown-open "--open" "")))
|
||||
(print (format "%s rendered @ %s" buffer-file-name livedown-port) (get-buffer "emacs-livedown-buffer")))
|
||||
|
||||
;;;###autoload
|
||||
(defun livedown-kill (&optional async)
|
||||
"Stops the livedown process."
|
||||
(interactive)
|
||||
(let ((stop-livedown (if async 'async-shell-command 'call-process-shell-command)))
|
||||
(funcall stop-livedown
|
||||
(format "livedown stop --port %s &"
|
||||
livedown-port))))
|
||||
|
||||
(if livedown-autostart
|
||||
(eval-after-load 'markdown-mode '(livedown-preview)))
|
||||
|
||||
(add-hook 'kill-emacs-query-functions (lambda () (livedown-kill t)))
|
||||
|
||||
(provide 'livedown)
|
||||
;;; livedown.el ends here
|
||||
@@ -1,261 +0,0 @@
|
||||
;;; org-ac.el --- Some auto-complete sources for org-mode
|
||||
|
||||
;; Copyright (C) 2014 Hiroaki Otsu
|
||||
|
||||
;; Author: Hiroaki Otsu <ootsuhiroaki@gmail.com>
|
||||
;; Keywords: org, completion
|
||||
;; URL: https://github.com/aki2o/org-ac
|
||||
;; Version: 0.0.2
|
||||
;; Package-Requires: ((auto-complete-pcmp "0.0.1") (log4e "0.2.0") (yaxception "0.1"))
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This file is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
;;
|
||||
;; This extension provides auto-complete sources for org-mode.
|
||||
|
||||
;;; Dependency:
|
||||
;;
|
||||
;; - auto-complete-pcmp.el ( see <https://github.com/aki2o/auto-complete-pcmp> )
|
||||
;; - yaxception.el ( see <https://github.com/aki2o/yaxception> )
|
||||
;; - log4e.el ( see <https://github.com/aki2o/log4e> )
|
||||
|
||||
;;; Installation:
|
||||
;;
|
||||
;; Put this to your load-path.
|
||||
;; And put the following lines in your .emacs or site-start.el file.
|
||||
;;
|
||||
;; (require 'org-ac)
|
||||
|
||||
;;; Configuration:
|
||||
;;
|
||||
;; ;; Make config suit for you. About the config item, see Customization or eval the following sexp.
|
||||
;; ;; (customize-group "org-ac")
|
||||
;;
|
||||
;; (org-ac/config-default)
|
||||
|
||||
;;; Customization:
|
||||
;;
|
||||
;; [EVAL] (autodoc-document-lisp-buffer :type 'user-variable :prefix "org-ac/" :docstring t)
|
||||
;; `org-ac/ac-trigger-command-keys'
|
||||
;; Keystrokes for doing `ac-start' with self insert.
|
||||
;;
|
||||
;; *** END auto-documentation
|
||||
|
||||
;;; API:
|
||||
;;
|
||||
;; [EVAL] (autodoc-document-lisp-buffer :type 'command :prefix "org-ac/" :docstring t)
|
||||
;; `org-ac/setup-current-buffer'
|
||||
;; Do setup for using org-ac in current buffer.
|
||||
;;
|
||||
;; *** END auto-documentation
|
||||
;; [Note] Functions and variables other than listed above, Those specifications may be changed without notice.
|
||||
|
||||
;;; Tested On:
|
||||
;;
|
||||
;; - Emacs ... GNU Emacs 24.3.1 (i686-pc-linux-gnu, GTK+ Version 3.4.2) of 2013-08-22 on chindi02, modified by Debian
|
||||
;; - auto-complete-pcmp.el ... Version 0.0.1
|
||||
;; - yaxception.el ... Version 0.1
|
||||
;; - log4e.el ... Version 0.2.0
|
||||
|
||||
|
||||
;; Enjoy!!!
|
||||
|
||||
|
||||
(eval-when-compile (require 'cl))
|
||||
(require 'org)
|
||||
(require 'auto-complete-pcmp)
|
||||
(require 'rx)
|
||||
(require 'log4e)
|
||||
(require 'yaxception)
|
||||
|
||||
(defgroup org-ac nil
|
||||
"Auto completion for org-mode."
|
||||
:group 'org
|
||||
:prefix "org-ac/")
|
||||
|
||||
(defcustom org-ac/ac-trigger-command-keys '("\\" "*" "SPC" ":" "[" "+")
|
||||
"Keystrokes for doing `ac-start' with self insert."
|
||||
:type '(repeat string)
|
||||
:group 'org-ac)
|
||||
|
||||
|
||||
(log4e:deflogger "org-ac" "%t [%l] %m" "%H:%M:%S" '((fatal . "fatal")
|
||||
(error . "error")
|
||||
(warn . "warn")
|
||||
(info . "info")
|
||||
(debug . "debug")
|
||||
(trace . "trace")))
|
||||
(org-ac--log-set-level 'trace)
|
||||
|
||||
|
||||
(defun* org-ac--show-message (msg &rest args)
|
||||
(apply 'message (concat "[ORG-AC] " msg) args)
|
||||
nil)
|
||||
|
||||
(defun org-ac--complete-close-option-at-current-point ()
|
||||
(let ((pt (point)))
|
||||
(yaxception:$
|
||||
(yaxception:try
|
||||
(org-ac--trace "start complete close option at current point")
|
||||
(when (save-excursion
|
||||
(re-search-backward "#\\+\\(begin\\|BEGIN\\)_\\([a-zA-Z0-9]+\\) *\\=" nil t))
|
||||
(let* ((opennm (match-string-no-properties 1))
|
||||
(typenm (match-string-no-properties 2))
|
||||
(closenm (cond ((string= opennm "begin") "end")
|
||||
((string= opennm "BEGIN") "END")))
|
||||
(case-fold-search t))
|
||||
(if (or (not (re-search-forward "^[ \t]*#\\+" nil t))
|
||||
(not (re-search-forward (concat "\\=" closenm "_") nil t)))
|
||||
(progn (goto-char pt)
|
||||
(insert "\n#+" closenm "_" typenm)
|
||||
(org-cycle))
|
||||
(let ((currtypenm (if (re-search-forward "\\=\\([a-zA-Z0-9]+\\)" nil t)
|
||||
(match-string-no-properties 1)
|
||||
"")))
|
||||
(backward-delete-char (+ (length closenm)
|
||||
1
|
||||
(length currtypenm)))
|
||||
(insert closenm "_" typenm)))
|
||||
(goto-char pt))))
|
||||
(yaxception:catch 'error e
|
||||
(org-ac--show-message "Failed complete close option : %s" (yaxception:get-text e))
|
||||
(org-ac--error "failed complete close option at current point : %s\n%s"
|
||||
(yaxception:get-text e)
|
||||
(yaxception:get-stack-trace-string e))
|
||||
(goto-char pt)))))
|
||||
|
||||
(defun org-ac--get-link-head-candidates ()
|
||||
(append (ac-pcmp/get-ac-candidates)
|
||||
(mapcar (lambda (x) (concat x ":")) org-link-types)))
|
||||
|
||||
(defvar ac-source-org-ac-tex
|
||||
'((candidates . ac-pcmp/get-ac-candidates)
|
||||
(prefix . "\\\\\\([a-zA-Z0-9_-]*\\)")
|
||||
(symbol . "t")
|
||||
(requires . 0)
|
||||
(cache)
|
||||
(action . ac-pcmp/do-ac-action)))
|
||||
|
||||
(defvar ac-source-org-ac-head
|
||||
'((candidates . ac-pcmp/get-ac-candidates)
|
||||
(prefix . "[^\r\n*]\\*\\([^\t\r\n]*\\)")
|
||||
(symbol . "h")
|
||||
(requires . 0)
|
||||
(cache)
|
||||
(action . ac-pcmp/do-ac-action)))
|
||||
|
||||
(defvar ac-source-org-ac-todo
|
||||
'((candidates . ac-pcmp/get-ac-candidates)
|
||||
(prefix . "^\\*+ \\([a-zA-Z0-9_-]*\\)")
|
||||
(symbol . "d")
|
||||
(requires . 0)
|
||||
(cache)
|
||||
(action . ac-pcmp/do-ac-action)))
|
||||
|
||||
(defvar ac-source-org-ac-tag
|
||||
'((candidates . ac-pcmp/get-ac-candidates)
|
||||
(prefix . "[ \t]:\\([a-zA-Z0-9_-]*\\)")
|
||||
(symbol . "t")
|
||||
(requires . 0)
|
||||
(cache)
|
||||
(action . ac-pcmp/do-ac-action)))
|
||||
|
||||
(defvar org-ac--regexp-link-head (rx-to-string `(and "["
|
||||
(* (any " \t"))
|
||||
"["
|
||||
(group (* (not (any ":*]")))))))
|
||||
(defvar ac-source-org-ac-link-head
|
||||
`((candidates . org-ac--get-link-head-candidates)
|
||||
(prefix . ,org-ac--regexp-link-head)
|
||||
(symbol . "l")
|
||||
(requires . 0)
|
||||
(cache)
|
||||
(action . (lambda ()
|
||||
(ac-pcmp/do-ac-action)
|
||||
(ac-start)))))
|
||||
|
||||
(defvar ac-source-org-ac-option
|
||||
'((candidates . ac-pcmp/get-ac-candidates)
|
||||
(prefix . "^[ \t]*#\\+\\([a-zA-Z0-9_:=-]*\\)")
|
||||
(symbol . "o")
|
||||
(requires . 0)
|
||||
(cache)
|
||||
(action . (lambda ()
|
||||
(ac-pcmp/do-ac-action)
|
||||
(org-ac--complete-close-option-at-current-point)
|
||||
(auto-complete '(ac-source-org-ac-option-key))))))
|
||||
|
||||
(defvar ac-source-org-ac-option-key
|
||||
'((candidates . ac-pcmp/get-ac-candidates)
|
||||
(prefix . "^[ \t]*#\\+[a-zA-Z0-9_:=-]+ +\\([a-zA-Z0-9_-]*\\)")
|
||||
(symbol . "k")
|
||||
(requires . 0)
|
||||
(cache)
|
||||
(action . ac-pcmp/do-ac-action)))
|
||||
|
||||
(defvar ac-source-org-ac-option-options
|
||||
'((candidates . ac-pcmp/get-ac-candidates)
|
||||
(prefix . "^[ \t]*#\\+\\(?:options\\|OPTIONS\\):.* +\\([a-zA-Z0-9_-]*\\)")
|
||||
(symbol . "x")
|
||||
(requires . 0)
|
||||
(cache)
|
||||
(action . ac-pcmp/do-ac-action)))
|
||||
|
||||
(defvar ac-source-org-ac-file
|
||||
'((init . (setq ac-filename-cache nil))
|
||||
(candidates . org-ac/file-candidate)
|
||||
(prefix . "\\[file:\\(.*\\)")
|
||||
(symbol . "f")
|
||||
(requires . 0)
|
||||
(action . ac-start)
|
||||
(limit . nil)))
|
||||
|
||||
|
||||
;;;###autoload
|
||||
(defun org-ac/setup-current-buffer ()
|
||||
"Do setup for using org-ac in current buffer."
|
||||
(interactive)
|
||||
(when (eq major-mode 'org-mode)
|
||||
(loop for stroke in org-ac/ac-trigger-command-keys
|
||||
do (local-set-key (read-kbd-macro stroke) 'ac-pcmp/self-insert-command-with-ac-start))
|
||||
(add-to-list 'ac-sources 'ac-source-org-ac-tex)
|
||||
(add-to-list 'ac-sources 'ac-source-org-ac-head)
|
||||
(add-to-list 'ac-sources 'ac-source-org-ac-todo)
|
||||
(add-to-list 'ac-sources 'ac-source-org-ac-tag)
|
||||
(add-to-list 'ac-sources 'ac-source-org-ac-link-head)
|
||||
(add-to-list 'ac-sources 'ac-source-org-ac-option)
|
||||
(add-to-list 'ac-sources 'ac-source-org-ac-option-key)
|
||||
(add-to-list 'ac-sources 'ac-source-org-ac-option-options)
|
||||
(add-to-list 'ac-sources 'ac-source-org-ac-file)
|
||||
(auto-complete-mode t)))
|
||||
|
||||
;;;###autoload
|
||||
(defun org-ac/config-default ()
|
||||
"Do setting recommemded configuration."
|
||||
(add-to-list 'ac-modes 'org-mode)
|
||||
(add-hook 'org-mode-hook 'org-ac/setup-current-buffer t))
|
||||
|
||||
|
||||
(defun org-ac/file-candidate ()
|
||||
"Adds [file: to the normal file completition, plus allows relative paths"
|
||||
(if (string-match "^[~./]+" ac-prefix)
|
||||
(ac-filename-candidate)
|
||||
(let ((ac-prefix (concat "./" ac-prefix)))
|
||||
(mapcar (lambda (path) (substring path 2))
|
||||
(ac-filename-candidate)))))
|
||||
|
||||
|
||||
(provide 'org-ac)
|
||||
;;; org-ac.el ends here
|
||||
@@ -1,483 +0,0 @@
|
||||
;;; smex.el --- M-x interface with Ido-style fuzzy matching. -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2009-2014 Cornelius Mika and contributors
|
||||
;;
|
||||
;; Author: Cornelius Mika <cornelius.mika@gmail.com> and contributors
|
||||
;; URL: http://github.com/nonsequitur/smex/
|
||||
;; Package-Requires: ((emacs "24"))
|
||||
;; Version: 3.0
|
||||
;; Keywords: convenience, usability
|
||||
|
||||
;; This file is not part of GNU Emacs.
|
||||
|
||||
;;; License:
|
||||
|
||||
;; Licensed under the same terms as Emacs.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Quick start:
|
||||
;; run (smex-initialize)
|
||||
;;
|
||||
;; Bind the following commands:
|
||||
;; smex, smex-major-mode-commands
|
||||
;;
|
||||
;; For a detailed introduction see:
|
||||
;; http://github.com/nonsequitur/smex/blob/master/README.markdown
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'ido)
|
||||
|
||||
(defgroup smex nil
|
||||
"M-x interface with Ido-style fuzzy matching and ranking heuristics."
|
||||
:group 'extensions
|
||||
:group 'convenience
|
||||
:link '(emacs-library-link :tag "Lisp File" "smex.el"))
|
||||
|
||||
(defcustom smex-auto-update t
|
||||
"If non-nil, `Smex' checks for new commands each time it is run.
|
||||
Turn it off for minor speed improvements on older systems."
|
||||
:type 'boolean
|
||||
:group 'smex)
|
||||
|
||||
(defcustom smex-save-file (locate-user-emacs-file "smex-items" ".smex-items")
|
||||
"File in which the smex state is saved between Emacs sessions.
|
||||
Variables stored are: `smex-data', `smex-history'.
|
||||
Must be set before initializing Smex."
|
||||
:type 'string
|
||||
:group 'smex)
|
||||
|
||||
(defcustom smex-history-length 7
|
||||
"Determines on how many recently executed commands
|
||||
Smex should keep a record.
|
||||
Must be set before initializing Smex."
|
||||
:type 'integer
|
||||
:group 'smex)
|
||||
|
||||
(defcustom smex-prompt-string "M-x "
|
||||
"String to display in the Smex prompt."
|
||||
:type 'string
|
||||
:group 'smex)
|
||||
|
||||
(defcustom smex-flex-matching t
|
||||
"Enables Ido flex matching. On by default.
|
||||
Set this to nil to disable fuzzy matching."
|
||||
:type 'boolean
|
||||
:group 'smex)
|
||||
|
||||
(defvar smex-initialized-p nil)
|
||||
(defvar smex-cache)
|
||||
(defvar smex-ido-cache)
|
||||
(defvar smex-data)
|
||||
(defvar smex-history)
|
||||
(defvar smex-command-count 0)
|
||||
(defvar smex-custom-action nil)
|
||||
|
||||
;; Check if Smex is supported
|
||||
(when (equal (cons 1 1)
|
||||
(ignore-errors
|
||||
(subr-arity (symbol-function 'execute-extended-command))))
|
||||
(error "Your Emacs has a non-elisp version of `execute-extended-command', which is incompatible with Smex"))
|
||||
|
||||
;;--------------------------------------------------------------------------------
|
||||
;; Smex Interface
|
||||
|
||||
;;;###autoload
|
||||
(defun smex ()
|
||||
(interactive)
|
||||
(unless smex-initialized-p
|
||||
(smex-initialize))
|
||||
(if (smex-already-running)
|
||||
(smex-update-and-rerun)
|
||||
(and smex-auto-update
|
||||
(smex-detect-new-commands)
|
||||
(smex-update))
|
||||
(smex-read-and-run smex-ido-cache)))
|
||||
|
||||
(defun smex-already-running ()
|
||||
(and (boundp 'ido-choice-list)
|
||||
(eql ido-choice-list smex-ido-cache)
|
||||
(minibuffer-window-active-p (selected-window))))
|
||||
|
||||
(defun smex-update-and-rerun ()
|
||||
(smex-do-with-selected-item
|
||||
(lambda (_) (smex-update) (smex-read-and-run smex-ido-cache ido-text))))
|
||||
|
||||
(defun smex-read-and-run (commands &optional initial-input)
|
||||
(let* ((chosen-item-name (smex-completing-read commands initial-input))
|
||||
(chosen-item (intern chosen-item-name)))
|
||||
(if smex-custom-action
|
||||
(let ((action smex-custom-action))
|
||||
(setq smex-custom-action nil)
|
||||
(funcall action chosen-item))
|
||||
(unwind-protect
|
||||
(with-no-warnings ; Don't warn about interactive use of `execute-extended-command'
|
||||
(execute-extended-command current-prefix-arg chosen-item-name))
|
||||
(smex-rank chosen-item)))))
|
||||
|
||||
;;;###autoload
|
||||
(defun smex-major-mode-commands ()
|
||||
"Like `smex', but limited to commands that are relevant to the active major mode."
|
||||
(interactive)
|
||||
(unless smex-initialized-p
|
||||
(smex-initialize))
|
||||
(let ((commands (delete-dups (append (smex-extract-commands-from-keymap (current-local-map))
|
||||
(smex-extract-commands-from-features major-mode)))))
|
||||
(setq commands (smex-sort-according-to-cache commands))
|
||||
(setq commands (mapcar #'symbol-name commands))
|
||||
(smex-read-and-run commands)))
|
||||
|
||||
(defun smex-completing-read (choices initial-input)
|
||||
(let ((ido-completion-map ido-completion-map)
|
||||
(ido-setup-hook (cons 'smex-prepare-ido-bindings ido-setup-hook))
|
||||
(ido-enable-prefix nil)
|
||||
(ido-enable-flex-matching smex-flex-matching)
|
||||
(ido-max-prospects 10)
|
||||
(minibuffer-completion-table choices))
|
||||
(ido-completing-read (smex-prompt-with-prefix-arg) choices nil nil
|
||||
initial-input 'extended-command-history (car choices))))
|
||||
|
||||
(defun smex-prompt-with-prefix-arg ()
|
||||
(if (not current-prefix-arg)
|
||||
smex-prompt-string
|
||||
(concat
|
||||
(if (eq current-prefix-arg '-)
|
||||
"- "
|
||||
(if (integerp current-prefix-arg)
|
||||
(format "%d " current-prefix-arg)
|
||||
(if (= (car current-prefix-arg) 4)
|
||||
"C-u "
|
||||
(format "%d " (car current-prefix-arg)))))
|
||||
smex-prompt-string)))
|
||||
|
||||
(defun smex-prepare-ido-bindings ()
|
||||
(define-key ido-completion-map (kbd "TAB") 'minibuffer-complete)
|
||||
(define-key ido-completion-map (kbd "C-h f") 'smex-describe-function)
|
||||
(define-key ido-completion-map (kbd "C-h w") 'smex-where-is)
|
||||
(define-key ido-completion-map (kbd "M-.") 'smex-find-function)
|
||||
(define-key ido-completion-map (kbd "C-a") 'move-beginning-of-line))
|
||||
|
||||
;;--------------------------------------------------------------------------------
|
||||
;; Cache and Maintenance
|
||||
|
||||
(defun smex-rebuild-cache ()
|
||||
(interactive)
|
||||
(setq smex-cache nil)
|
||||
|
||||
;; Build up list 'new-commands' and later put it at the end of 'smex-cache'.
|
||||
;; This speeds up sorting.
|
||||
(let (new-commands)
|
||||
(mapatoms (lambda (symbol)
|
||||
(when (commandp symbol)
|
||||
(let ((known-command (assq symbol smex-data)))
|
||||
(if known-command
|
||||
(setq smex-cache (cons known-command smex-cache))
|
||||
(setq new-commands (cons (list symbol) new-commands)))))))
|
||||
(if (eq (length smex-cache) 0)
|
||||
(setq smex-cache new-commands)
|
||||
(setcdr (last smex-cache) new-commands)))
|
||||
|
||||
(setq smex-cache (sort smex-cache 'smex-sorting-rules))
|
||||
(smex-restore-history)
|
||||
(setq smex-ido-cache (smex-convert-for-ido smex-cache)))
|
||||
|
||||
(defun smex-convert-for-ido (command-items)
|
||||
(mapcar (lambda (command-item) (symbol-name (car command-item))) command-items))
|
||||
|
||||
(defun smex-restore-history ()
|
||||
"Rearranges `smex-cache' according to `smex-history'"
|
||||
(if (> (length smex-history) smex-history-length)
|
||||
(setcdr (nthcdr (- smex-history-length 1) smex-history) nil))
|
||||
(mapc (lambda (command)
|
||||
(unless (eq command (caar smex-cache))
|
||||
(let ((command-cell-position (smex-detect-position
|
||||
smex-cache
|
||||
(lambda (cell)
|
||||
(eq command (caar cell))))))
|
||||
(when command-cell-position
|
||||
(let ((command-cell (smex-remove-nth-cell
|
||||
command-cell-position smex-cache)))
|
||||
(setcdr command-cell smex-cache)
|
||||
(setq smex-cache command-cell))))))
|
||||
(reverse smex-history)))
|
||||
|
||||
(defun smex-sort-according-to-cache (list)
|
||||
"Sorts a list of commands by their order in `smex-cache'"
|
||||
(let (sorted)
|
||||
(dolist (command-item smex-cache)
|
||||
(let ((command (car command-item)))
|
||||
(when (memq command list)
|
||||
(setq sorted (cons command sorted))
|
||||
(setq list (delq command list)))))
|
||||
(nreverse (append list sorted))))
|
||||
|
||||
(defun smex-update ()
|
||||
(interactive)
|
||||
(smex-save-history)
|
||||
(smex-rebuild-cache))
|
||||
|
||||
(defun smex-detect-new-commands ()
|
||||
(let ((i 0))
|
||||
(mapatoms (lambda (symbol) (if (commandp symbol) (setq i (1+ i)))))
|
||||
(unless (= i smex-command-count)
|
||||
(setq smex-command-count i))))
|
||||
|
||||
(defun smex-auto-update (&optional idle-time)
|
||||
"Update Smex when Emacs has been idle for IDLE-TIME."
|
||||
(unless idle-time (setq idle-time 60))
|
||||
(run-with-idle-timer idle-time t
|
||||
'(lambda () (if (smex-detect-new-commands) (smex-update)))))
|
||||
|
||||
;;;###autoload
|
||||
(defun smex-initialize ()
|
||||
(interactive)
|
||||
(unless ido-mode (smex-initialize-ido))
|
||||
(smex-load-save-file)
|
||||
(smex-detect-new-commands)
|
||||
(smex-rebuild-cache)
|
||||
(add-hook 'kill-emacs-hook 'smex-save-to-file)
|
||||
(setq smex-initialized-p t))
|
||||
|
||||
(defun smex-initialize-ido ()
|
||||
"Sets up a minimal Ido environment for `ido-completing-read'."
|
||||
(with-no-warnings ; `ido-init-completion-maps' is deprecated in Emacs 25
|
||||
(ido-init-completion-maps))
|
||||
(add-hook 'minibuffer-setup-hook 'ido-minibuffer-setup))
|
||||
|
||||
(defsubst smex-save-file-not-empty-p ()
|
||||
(string-match-p "\[^[:space:]\]" (buffer-string)))
|
||||
|
||||
(defun smex-load-save-file ()
|
||||
"Loads `smex-history' and `smex-data' from `smex-save-file'"
|
||||
(let ((save-file (expand-file-name smex-save-file)))
|
||||
(if (file-readable-p save-file)
|
||||
(with-temp-buffer
|
||||
(insert-file-contents save-file)
|
||||
(condition-case nil
|
||||
(setq smex-history (read (current-buffer))
|
||||
smex-data (read (current-buffer)))
|
||||
(error (if (smex-save-file-not-empty-p)
|
||||
(error "Invalid data in smex-save-file (%s). Can't restore history."
|
||||
smex-save-file)
|
||||
(unless (boundp 'smex-history) (setq smex-history nil))
|
||||
(unless (boundp 'smex-data) (setq smex-data nil))))))
|
||||
(setq smex-history nil smex-data nil))))
|
||||
|
||||
(defun smex-save-history ()
|
||||
"Updates `smex-history'"
|
||||
(setq smex-history nil)
|
||||
(let ((cell smex-cache))
|
||||
(dotimes (_ smex-history-length)
|
||||
(setq smex-history (cons (caar cell) smex-history))
|
||||
(setq cell (cdr cell))))
|
||||
(setq smex-history (nreverse smex-history)))
|
||||
|
||||
(defmacro smex-pp (list-var)
|
||||
`(smex-pp* ,list-var ,(symbol-name list-var)))
|
||||
|
||||
(defun smex-save-to-file ()
|
||||
(interactive)
|
||||
(smex-save-history)
|
||||
(with-temp-file (expand-file-name smex-save-file)
|
||||
(smex-pp smex-history)
|
||||
(smex-pp smex-data)))
|
||||
|
||||
;;--------------------------------------------------------------------------------
|
||||
;; Ranking
|
||||
|
||||
(defun smex-sorting-rules (command-item other-command-item)
|
||||
"Returns true if COMMAND-ITEM should sort before OTHER-COMMAND-ITEM."
|
||||
(let* ((count (or (cdr command-item ) 0))
|
||||
(other-count (or (cdr other-command-item) 0))
|
||||
(name (car command-item))
|
||||
(other-name (car other-command-item))
|
||||
(length (length (symbol-name name)))
|
||||
(other-length (length (symbol-name other-name))))
|
||||
(or (> count other-count) ; 1. Frequency of use
|
||||
(and (= count other-count)
|
||||
(or (< length other-length) ; 2. Command length
|
||||
(and (= length other-length)
|
||||
(string< name other-name))))))) ; 3. Alphabetical order
|
||||
|
||||
(defun smex-rank (command)
|
||||
(let ((command-item (or (assq command smex-cache)
|
||||
;; Update caches and try again if not found.
|
||||
(progn (smex-update)
|
||||
(assq command smex-cache)))))
|
||||
(when command-item
|
||||
(smex-update-counter command-item)
|
||||
|
||||
;; Don't touch the cache order if the chosen command
|
||||
;; has just been execucted previously.
|
||||
(unless (eq command-item (car smex-cache))
|
||||
(let (command-cell
|
||||
(pos (smex-detect-position smex-cache (lambda (cell)
|
||||
(eq command-item (car cell))))))
|
||||
;; Remove the just executed command.
|
||||
(setq command-cell (smex-remove-nth-cell pos smex-cache))
|
||||
;; And put it on top of the cache.
|
||||
(setcdr command-cell smex-cache)
|
||||
(setq smex-cache command-cell)
|
||||
|
||||
;; Repeat the same for the ido cache. Should this be DRYed?
|
||||
(setq command-cell (smex-remove-nth-cell pos smex-ido-cache))
|
||||
(setcdr command-cell smex-ido-cache)
|
||||
(setq smex-ido-cache command-cell)
|
||||
|
||||
;; Now put the last history item back to its normal place.
|
||||
(smex-sort-item-at smex-history-length))))))
|
||||
|
||||
(defun smex-update-counter (command-item)
|
||||
(let ((count (cdr command-item)))
|
||||
(setcdr command-item
|
||||
(if count
|
||||
(1+ count)
|
||||
;; Else: Command has just been executed for the first time.
|
||||
;; Add it to `smex-data'.
|
||||
(if smex-data
|
||||
(setcdr (last smex-data) (list command-item))
|
||||
(setq smex-data (list command-item)))
|
||||
1))))
|
||||
|
||||
(defun smex-sort-item-at (n)
|
||||
"Sorts item at position N in `smex-cache'."
|
||||
(let* ((command-cell (nthcdr n smex-cache))
|
||||
(command-item (car command-cell)))
|
||||
(let ((insert-at (smex-detect-position
|
||||
command-cell
|
||||
(lambda (cell)
|
||||
(smex-sorting-rules command-item (car cell))))))
|
||||
;; TODO: Should we handle the case of 'insert-at' being nil?
|
||||
;; This will never happen in practice.
|
||||
(when (> insert-at 1)
|
||||
(setq command-cell (smex-remove-nth-cell n smex-cache))
|
||||
;; smex-cache just got shorter by one element, so subtract '1' from insert-at.
|
||||
(setq insert-at (+ n (- insert-at 1)))
|
||||
(smex-insert-cell command-cell insert-at smex-cache)
|
||||
|
||||
;; Repeat the same for the ido cache. DRY?
|
||||
(setq command-cell (smex-remove-nth-cell n smex-ido-cache))
|
||||
(smex-insert-cell command-cell insert-at smex-ido-cache)))))
|
||||
|
||||
(defun smex-detect-position (cell function)
|
||||
"Detects, relatively to CELL, the position of the cell
|
||||
on which FUNCTION returns true.
|
||||
Only checks cells after CELL, starting with the cell right after CELL.
|
||||
Returns nil when reaching the end of the list."
|
||||
(let ((pos 1))
|
||||
(catch 'break
|
||||
(while t
|
||||
(setq cell (cdr cell))
|
||||
(if (not cell)
|
||||
(throw 'break nil)
|
||||
(if (funcall function cell) (throw 'break pos))
|
||||
(setq pos (1+ pos)))))))
|
||||
|
||||
(defun smex-remove-nth-cell (n list)
|
||||
"Removes and returns the Nth cell in LIST."
|
||||
(let* ((previous-cell (nthcdr (- n 1) list))
|
||||
(result (cdr previous-cell)))
|
||||
(setcdr previous-cell (cdr result))
|
||||
result))
|
||||
|
||||
(defun smex-insert-cell (new-cell n list)
|
||||
"Inserts cell at position N in LIST."
|
||||
(let* ((cell (nthcdr (- n 1) list))
|
||||
(next-cell (cdr cell)))
|
||||
(setcdr (setcdr cell new-cell) next-cell)))
|
||||
|
||||
;;--------------------------------------------------------------------------------
|
||||
;; Help and Reference
|
||||
|
||||
(defun smex-do-with-selected-item (fn)
|
||||
(setq smex-custom-action fn)
|
||||
(ido-exit-minibuffer))
|
||||
|
||||
(defun smex-describe-function ()
|
||||
(interactive)
|
||||
(smex-do-with-selected-item (lambda (chosen)
|
||||
(describe-function chosen)
|
||||
(pop-to-buffer "*Help*"))))
|
||||
|
||||
(defun smex-where-is ()
|
||||
(interactive)
|
||||
(smex-do-with-selected-item 'where-is))
|
||||
|
||||
(defun smex-find-function ()
|
||||
(interactive)
|
||||
(smex-do-with-selected-item 'find-function))
|
||||
|
||||
(defun smex-extract-commands-from-keymap (map)
|
||||
(let (commands)
|
||||
(smex-parse-keymap map commands)
|
||||
commands))
|
||||
|
||||
(defun smex-parse-keymap (map commands)
|
||||
(map-keymap (lambda (_binding element)
|
||||
(if (and (listp element) (eq 'keymap (car element)))
|
||||
(smex-parse-keymap element commands)
|
||||
;; Strings are commands, too. Reject them.
|
||||
(if (and (symbolp element) (commandp element))
|
||||
(push element commands))))
|
||||
map))
|
||||
|
||||
(defun smex-extract-commands-from-features (mode)
|
||||
(let ((library-path (symbol-file mode))
|
||||
(mode-name (symbol-name mode))
|
||||
commands)
|
||||
|
||||
(string-match "\\(.+?\\)\\(-mode\\)?$" mode-name)
|
||||
;; 'lisp-mode' -> 'lisp'
|
||||
(setq mode-name (match-string 1 mode-name))
|
||||
(if (string= mode-name "c") (setq mode-name "cc"))
|
||||
(setq mode-name (regexp-quote mode-name))
|
||||
|
||||
(dolist (feature load-history)
|
||||
(let ((feature-path (car feature)))
|
||||
(when (and feature-path (or (equal feature-path library-path)
|
||||
(string-match mode-name (file-name-nondirectory
|
||||
feature-path))))
|
||||
(dolist (item (cdr feature))
|
||||
(if (and (listp item) (eq 'defun (car item)))
|
||||
(let ((function (cdr item)))
|
||||
(when (commandp function)
|
||||
(setq commands (append commands (list function))))))))))
|
||||
commands))
|
||||
|
||||
(defun smex-show-unbound-commands ()
|
||||
"Shows unbound commands in a new buffer,
|
||||
sorted by frequency of use."
|
||||
(interactive)
|
||||
(setq smex-data (sort smex-data 'smex-sorting-rules))
|
||||
(let ((unbound-commands (delq nil
|
||||
(mapcar (lambda (command-item)
|
||||
(unless (where-is-internal (car command-item))
|
||||
command-item))
|
||||
smex-data))))
|
||||
(view-buffer-other-window "*Smex: Unbound Commands*")
|
||||
(setq buffer-read-only t)
|
||||
(let ((inhibit-read-only t))
|
||||
(erase-buffer)
|
||||
(smex-pp unbound-commands))
|
||||
(set-buffer-modified-p nil)
|
||||
(goto-char (point-min))))
|
||||
|
||||
;; A copy of `ido-pp' that's compatible with lexical bindings
|
||||
(defun smex-pp* (list list-name)
|
||||
(let ((print-level nil) (eval-expression-print-level nil)
|
||||
(print-length nil) (eval-expression-print-length nil))
|
||||
(insert "\n;; ----- " list-name " -----\n(\n ")
|
||||
(while list
|
||||
(let* ((elt (car list))
|
||||
(s (if (consp elt) (car elt) elt)))
|
||||
(if (and (stringp s) (= (length s) 0))
|
||||
(setq s nil))
|
||||
(if s
|
||||
(prin1 elt (current-buffer)))
|
||||
(if (and (setq list (cdr list)) s)
|
||||
(insert "\n "))))
|
||||
(insert "\n)\n")))
|
||||
|
||||
(provide 'smex)
|
||||
;;; smex.el ends here
|
||||
@@ -1,6 +0,0 @@
|
||||
;; -*- emacs-lisp -*- <21/03/22 00:03:53 /home/yorune/.emacs.d/tramp>
|
||||
;; Tramp connection history. Don't change this file.
|
||||
;; Run `M-x tramp-cleanup-all-connections' instead.
|
||||
|
||||
(((tramp-file-name "sudo" "root" nil "Gentoo" nil nil nil)
|
||||
nil))
|
||||
@@ -1,3 +0,0 @@
|
||||
((magit-commit nil)
|
||||
(magit-dispatch nil)
|
||||
(magit-push nil))
|
||||
@@ -1,8 +0,0 @@
|
||||
[user]
|
||||
name = Marcin Woźniak
|
||||
email = y0rune@aol.com
|
||||
signingkey = D34FB8A44F324B8A
|
||||
|
||||
[include]
|
||||
path = ~/.gituser.config
|
||||
path = ~/.gitconfig.local
|
||||
@@ -1,52 +0,0 @@
|
||||
[gpg]
|
||||
program = gpg
|
||||
|
||||
[commit]
|
||||
gpgsign = true
|
||||
verbose = true
|
||||
|
||||
[pull]
|
||||
rebase = false
|
||||
|
||||
[push]
|
||||
autoSetupRemote = true
|
||||
|
||||
[init]
|
||||
defaultBranch = main
|
||||
|
||||
[alias]
|
||||
ci = commit --verbose
|
||||
co = checkout
|
||||
cp = cherry-pick
|
||||
df = !git --no-pager diff
|
||||
br = !git branch | cat
|
||||
dfh = !git --no-pager diff
|
||||
diffh = !git --no-pager diff
|
||||
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an - %ae>%Creset' --abbrev-commit --branches
|
||||
prune-tags = !git tag -l | xargs git tag -d && git fetch -t
|
||||
show = --no-pager show --color --pretty=format:%b
|
||||
squash-all = "!f(){ git reset $(git commit-tree HEAD^{tree} \"$@\");};f"
|
||||
st = status --ignore-submodules=dirty -s
|
||||
untrack-file = !git update-index --assume-unchanged
|
||||
exclude-file = !git update-index --assume-unchanged
|
||||
c = commit --author='Marcin Woźniak <y0rune@aol.com> -s'
|
||||
cw = commit --author='Marcin Woźniak <marcin.wozniak@wundermanthompson.com> -s'
|
||||
retag = "!f() { if [ -z \"$1\" ]; then echo \"No version provided. Skipping git push.\"; else git tag --delete $1 2>/dev/null; git tag -a $1 -m \"Version $1\"; git push --tags -f; git push -f; fi; }; f"
|
||||
delete-branch = "!$HOME/.local/bin/git-delete-branch"
|
||||
|
||||
[url "git@github.com:"]
|
||||
insteadOf = "https://github.com/"
|
||||
|
||||
[credential "https://github.com"]
|
||||
helper =
|
||||
helper = !/usr/bin/gh auth git-credential
|
||||
|
||||
[credential "https://gist.github.com"]
|
||||
helper =
|
||||
helper = !/usr/bin/gh auth git-credential
|
||||
|
||||
[filter "lfs"]
|
||||
process = git-lfs filter-process
|
||||
required = true
|
||||
clean = git-lfs clean -- %f
|
||||
smudge = git-lfs smudge -- %f
|
||||
@@ -1,282 +0,0 @@
|
||||
.config/backup-started*
|
||||
.Xauthority
|
||||
.matplotlib
|
||||
.Trash
|
||||
.DS_Store
|
||||
.ansible
|
||||
.CFUserTextEncoding
|
||||
.cups/
|
||||
.docker/
|
||||
.oh-my-zsh/
|
||||
.shell.pre-oh-my-zsh
|
||||
.zcompdum*
|
||||
.zsh_history
|
||||
.zsh_sessions/
|
||||
.emacs.d/emacs-custom.el
|
||||
.emacs.d/smex-items
|
||||
notes
|
||||
Applications/
|
||||
Desktop/
|
||||
Library/
|
||||
Pictures/
|
||||
Public/
|
||||
VirtualBox*
|
||||
synergy.log
|
||||
.config/Element/
|
||||
.config/TabNine/
|
||||
.config/coc/
|
||||
.config/google-chrome/
|
||||
.config/teamviewer/
|
||||
.ipython/
|
||||
.bugz_token
|
||||
.irbrc
|
||||
.jupyter/
|
||||
.local/bin/autopep8
|
||||
.local/bin/isort-identify-imports
|
||||
.local/bin/pycodestyle
|
||||
.local/bin/surprise
|
||||
.local/bin/yamllint
|
||||
.config/Signal/
|
||||
.config/lazygit/
|
||||
.config/libreoffice/
|
||||
.config/quassel-irc.org/
|
||||
.local/bin/pytube
|
||||
.local/bin/spotify_dl
|
||||
.packer.d/
|
||||
.spotifydl/
|
||||
.netrc
|
||||
.nvimlog
|
||||
.python_history
|
||||
.vmware/
|
||||
.local/bin/epylint
|
||||
.local/bin/isort
|
||||
.local/bin/pylint
|
||||
.local/bin/pyreverse
|
||||
.local/bin/symilar
|
||||
.aws/
|
||||
.anthy/
|
||||
.aspell.*
|
||||
.bash_history
|
||||
.bash_logout
|
||||
.bash_profile
|
||||
.bashrc
|
||||
.bitcoin
|
||||
.bundle/
|
||||
.cache/
|
||||
.cargo
|
||||
.cert/
|
||||
.swt/
|
||||
.smb
|
||||
.emacs.d/ido.last
|
||||
.local/bin/black*
|
||||
.config/zsh/
|
||||
.fzf.bash
|
||||
.fzf.zsh
|
||||
.fzf/
|
||||
.local/bin/ansible*
|
||||
.recently-used
|
||||
.eclipse/
|
||||
.emacs.d/.dap-breakpoints
|
||||
.password
|
||||
.chatty/
|
||||
.config/transmission-daemon/
|
||||
.config/wireshark/
|
||||
.config/tea/
|
||||
.config/ibus/
|
||||
.config/vivaldi/
|
||||
.config/gtk-2.0/
|
||||
.config/*.conf
|
||||
.config/BraveSoftware
|
||||
.config/GIMP/
|
||||
.config/Microsoft/
|
||||
.config/Postman/
|
||||
.config/QtProject.conf
|
||||
.config/VSCodium
|
||||
.config/autostart/
|
||||
.config/cmus
|
||||
.config/configstore
|
||||
.config/dconf
|
||||
.config/discord
|
||||
.config/freerdp
|
||||
.config/fzf
|
||||
.config/gtk-3.0
|
||||
.config/htop
|
||||
.config/ibu
|
||||
.config/keepassxc/
|
||||
.config/mimeapps.list
|
||||
.config/mpv/watch_later/
|
||||
.config/msmtp
|
||||
.config/mutt
|
||||
.config/neofetch/
|
||||
.config/newsboat/urlswork
|
||||
.config/nvim/autoload
|
||||
.config/nvim/plugged
|
||||
.config/procps
|
||||
.config/pulse
|
||||
.config/qalculate
|
||||
.config/spicy
|
||||
.config/teams/
|
||||
.config/vpn
|
||||
.config/weatherreport
|
||||
.dbus/
|
||||
.emacs.d/.lsp-session-v1
|
||||
.emacs.d/.mc-lists.el
|
||||
.emacs.d/ac-comphist.dat
|
||||
.emacs.d/auto-save-list/
|
||||
.emacs.d/eclipse.jdt.ls/
|
||||
.emacs.d/elpa/
|
||||
.emacs.d/workspace/
|
||||
.fehbg
|
||||
.fltk/
|
||||
.gem/
|
||||
.ghc/
|
||||
.gitconfig
|
||||
.gkrellm2/data/
|
||||
.gnome/
|
||||
.gnupg/
|
||||
.gtkrc-2.0
|
||||
.history_zsh
|
||||
.icons/
|
||||
.irb_history
|
||||
.irssi/
|
||||
.java/
|
||||
.jd2/
|
||||
.lesshst
|
||||
.local/bin/__pycache__/
|
||||
.local/bin/backupSynology
|
||||
.local/bin/chardetect
|
||||
.local/bin/epylint
|
||||
.local/bin/flask
|
||||
.local/bin/futurize
|
||||
.local/bin/haruhi-dl
|
||||
.local/bin/isort
|
||||
.local/bin/pasteurize
|
||||
.local/bin/pwiz.py
|
||||
.local/bin/pylint
|
||||
.local/bin/pyreverse
|
||||
.local/bin/symilar
|
||||
.local/bin/vpnst
|
||||
.local/bin/wheel
|
||||
.local/bin/estimator_ckpt_converter
|
||||
.local/bin/f2py3.9
|
||||
.local/bin/google-oauthlib-tool
|
||||
.local/bin/import_pb_to_tensorboard
|
||||
.local/bin/markdown_py
|
||||
.local/bin/pyrsa-*
|
||||
.local/bin/saved_model_cli
|
||||
.local/bin/tensorboard
|
||||
.local/bin/tf_upgrade_v2
|
||||
.local/bin/tflite_convert
|
||||
.local/bin/toco
|
||||
.local/bin/toco_from_protos
|
||||
.local/bin/tqdm
|
||||
.local/bin/f2py
|
||||
.local/bin/f2py3
|
||||
.keras/
|
||||
.config/menus
|
||||
.local/bin/wheel
|
||||
.local/include/
|
||||
.local/lib/
|
||||
.local/lib64/
|
||||
.local/share/
|
||||
.logSynology
|
||||
.m2/
|
||||
.mbsyncrc
|
||||
.megaCmd/
|
||||
.minecraft/
|
||||
.mozc/
|
||||
.mozilla/
|
||||
.node_repl_history
|
||||
.notmuch-config
|
||||
.npm/
|
||||
.nv/
|
||||
.nvidia-settings-rc
|
||||
.openoffice/
|
||||
.oracle_jre_usage/
|
||||
.password-store/
|
||||
.pki/
|
||||
.plannaplan
|
||||
.pvpn-cli/
|
||||
.pylint.d/
|
||||
.screenlayout/
|
||||
.solargraph/
|
||||
.sqlite_history
|
||||
.ssh/
|
||||
.sshservers
|
||||
.steam/
|
||||
.steampath
|
||||
.steampid
|
||||
.sts4/
|
||||
.thunderbird/
|
||||
.tig_history
|
||||
.tlauncher/
|
||||
.tooling/
|
||||
.ts3client/
|
||||
.var/
|
||||
.vim/
|
||||
.viminfo
|
||||
.vimspector.log
|
||||
.vnc/
|
||||
.vscode-oss/
|
||||
.vscode-server/
|
||||
.vscode/
|
||||
.w3m/
|
||||
.weechat/
|
||||
.wget-hsts
|
||||
.wine/
|
||||
.wmWeatherReports/
|
||||
.yarnrc
|
||||
.zcompdump-Gentoo-5.8
|
||||
Documents
|
||||
Downloads
|
||||
Linux
|
||||
MEGA
|
||||
Muzyka
|
||||
Screenshots
|
||||
Wallpapers
|
||||
developer-quiz.txt
|
||||
git/
|
||||
go/
|
||||
ittv-credentials
|
||||
mcserver/
|
||||
mega
|
||||
www
|
||||
Movies/
|
||||
Music/
|
||||
notes.org
|
||||
|
||||
.config/backup.log
|
||||
.config/gh/config.yml
|
||||
.config/gh/hosts.yml
|
||||
.local/state/gh/state.yml
|
||||
.emacs.d/ido.last~
|
||||
.config/karabiner/automatic_backups
|
||||
.config/qBittorrent
|
||||
.config/envman
|
||||
.emacs.d/.last-package-update-day
|
||||
.emacs.d/amx-items
|
||||
.local/bin/pathman
|
||||
.local/bin/webi
|
||||
.local/opt/pathman-v0.5.2/bin
|
||||
Musik/
|
||||
|
||||
.config/ytmdl
|
||||
golang
|
||||
.virtualenvs/debugpy
|
||||
.local/bin/mgorny-dev-scripts
|
||||
.local/bin/serviceman
|
||||
.local/opt/serviceman-v0.8.0/bin
|
||||
.emacs.d/recentf
|
||||
.config/filezilla
|
||||
.local/state/mume
|
||||
.putty
|
||||
.redhat
|
||||
.cpanm
|
||||
.node-gyp/14.16.0
|
||||
.packettracer
|
||||
.dlv
|
||||
Cisco Packet Tracer 8.0.0
|
||||
.local/bin/kubectl
|
||||
.rustup
|
||||
.local/tss-sdk
|
||||
.local/bin/tss
|
||||
@@ -1,15 +0,0 @@
|
||||
sensor sensor_config_version 1
|
||||
sensor sensor_sysdep_private 1
|
||||
sensor sensor_float_factor 10000
|
||||
sensor gkrellm_float_factor 1000
|
||||
sensor "temp1" "coretemp-hwmon2/temp1" 10000 0 0 0
|
||||
sensor "temp2" "coretemp-hwmon2/temp2" 10000 0 0 0
|
||||
sensor "temp3" "coretemp-hwmon2/temp3" 10000 0 0 0
|
||||
sensor "temp4" "coretemp-hwmon2/temp4" 10000 0 0 0
|
||||
sensor "temp5" "coretemp-hwmon2/temp5" 10000 0 0 0
|
||||
sensor "GPU C" "nVidia GPU Core" 10000 0 1 0
|
||||
sensor "temp" "thermal_zone0" 10000 0 1 0
|
||||
sensor "Vcor1" "bat0-hwmon1/in0" 10000 0 0 0
|
||||
sensor units_fahrenheit 0
|
||||
sensor show_units 1
|
||||
sensor volt_display_mode 0
|
||||
@@ -1,6 +0,0 @@
|
||||
/home/yorune/.gkrellm2/themes/invisible HC
|
||||
0
|
||||
Sans 11
|
||||
Sans 9
|
||||
Sans 8
|
||||
190
|
||||
|
Before Width: | Height: | Size: 136 B |
|
Before Width: | Height: | Size: 844 B |
|
Before Width: | Height: | Size: 143 B |
|
Before Width: | Height: | Size: 144 B |
|
Before Width: | Height: | Size: 144 B |
|
Before Width: | Height: | Size: 143 B |
@@ -1,91 +0,0 @@
|
||||
# invisible.
|
||||
|
||||
author = "Jkx <jkx@larsen-b.com>, color remix by Shawn Jeffcoat <shawnjeffcoat@gmail.com>"
|
||||
|
||||
chart_width_min = 58
|
||||
chart_width_max = 58
|
||||
chart_width_ref = 58
|
||||
allow_scaling = true
|
||||
frame_top_height = 0
|
||||
frame_bottom_height = 0
|
||||
frame_left_width = 0
|
||||
frame_right_width = 0
|
||||
frame_top_border = 0,0,0,0
|
||||
frame_bottom_border = 0,0,0,0
|
||||
frame_left_border = 0,0,0,0
|
||||
frame_right_border = 0,0,0,0
|
||||
|
||||
chart_in_color = #01FF19
|
||||
chart_in_color_grid = #FAFD00
|
||||
chart_out_color = #FE0101
|
||||
chart_out_color_grid = #FAFD00
|
||||
|
||||
bg_grid_mode = 1
|
||||
|
||||
rx_led_x = -14
|
||||
rx_led_y = 11
|
||||
tx_led_x = -1
|
||||
tx_led_y = 11
|
||||
|
||||
timer_time_x = 1
|
||||
timer_button_x = -4
|
||||
|
||||
bg_timer_border = 2,2,2,2
|
||||
|
||||
button_panel_border = 2,2,2,2
|
||||
button_meter_border = 2,2,2,2
|
||||
|
||||
large_font = "-adobe-helvetica-medium-r-normal-*-*-100-*-*-p-*-*-*"
|
||||
normal_font = "-adobe-helvetica-medium-r-normal-*-*-80-*-*-p-*-*-*"
|
||||
small_font = "-adobe-helvetica-medium-r-normal-*-*-80-*-*-p-*-*-*"
|
||||
|
||||
bg_slider_panel_border = 1,1,1,1
|
||||
bg_slider_meter_border = 1,1,1,1
|
||||
|
||||
StyleChart *.border = 5,5,5,5
|
||||
StyleChart *.font = normal_font
|
||||
StyleChart *.alt_font = small_font
|
||||
StyleChart *.textcolor = #FFFFFF #000000 shadow
|
||||
StyleChart *.alt_textcolor = #FFFFFF #000000 shadow
|
||||
StyleChart *.transparency = 1
|
||||
|
||||
StylePanel *.border = 0,0,11,2
|
||||
StylePanel *.font = normal_font
|
||||
StylePanel *.alt_font = normal_font
|
||||
StylePanel *.textcolor = #FFFFFF #000000 shadow
|
||||
StylePanel *.alt_textcolor = #FFFFFF #000000 shadow
|
||||
StylePanel *.label_position = 50
|
||||
StylePanel *.margin = 1
|
||||
StylePanel *.krell_x_hot = 63
|
||||
StylePanel *.krell_depth = 65
|
||||
StylePanel *.krell_yoff = 3
|
||||
StylePanel *.transparency = 1
|
||||
|
||||
StyleMeter *.border = 0,0,12,4
|
||||
StyleMeter *.font = normal_font
|
||||
StyleMeter *.alt_font = small_font
|
||||
StyleMeter *.textcolor = #FFFFFF #000000 shadow
|
||||
StyleMeter *.alt_textcolor = #FFFFFF #000000 shadow
|
||||
StyleMeter *.label_position = 50
|
||||
StyleMeter *.margin = 1
|
||||
StyleMeter *.krell_x_hot = 63
|
||||
StyleMeter *.krell_depth = 65
|
||||
StyleMeter *.krell_yoff = 4
|
||||
StyleMeter *.transparency = 1
|
||||
|
||||
StylePanel net.label_position = 0
|
||||
StyleMeter mem.label_position = 0
|
||||
StyleMeter mem.border = 0,0,12,4
|
||||
StyleMeter swap.label_position = 0
|
||||
StyleMeter swap.border = 0,0,12,2
|
||||
StyleMeter cal.font = med_font
|
||||
StyleMeter cal.alt_font = large_font
|
||||
StyleMeter clock.font = large_font
|
||||
StyleMeter fs.border = 0,0,12,4
|
||||
StyleMeter timer.border = 0,0,0,0
|
||||
StyleMeter host.border = 0,0,0,3
|
||||
StyleMeter cal.border = 0,0,0,4
|
||||
StyleMeter clock.border = 0,0,0,4
|
||||
StyleMeter uptime.border = 0,0,0,2
|
||||
StyleMeter fs.label_position = 0
|
||||
StyleMeter fs.alt_font = normal_font
|
||||
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 381 B |
|
Before Width: | Height: | Size: 147 B |
|
Before Width: | Height: | Size: 465 B |
|
Before Width: | Height: | Size: 143 B |
|
Before Width: | Height: | Size: 144 B |
|
Before Width: | Height: | Size: 144 B |
|
Before Width: | Height: | Size: 143 B |
@@ -1,91 +0,0 @@
|
||||
# invisible.
|
||||
|
||||
author = "Jkx <jkx@larsen-b.com>"
|
||||
|
||||
chart_width_min = 58
|
||||
chart_width_max = 58
|
||||
chart_width_ref = 58
|
||||
allow_scaling = true
|
||||
frame_top_height = 0
|
||||
frame_bottom_height = 0
|
||||
frame_left_width = 0
|
||||
frame_right_width = 0
|
||||
frame_top_border = 0,0,0,0
|
||||
frame_bottom_border = 0,0,0,0
|
||||
frame_left_border = 0,0,0,0
|
||||
frame_right_border = 0,0,0,0
|
||||
|
||||
chart_in_color = #11c4f1
|
||||
chart_in_color_grid = #11c4f1
|
||||
chart_out_color = #8758b3
|
||||
chart_out_color_grid = #8758b3
|
||||
|
||||
bg_grid_mode = 1
|
||||
|
||||
rx_led_x = -14
|
||||
rx_led_y = 11
|
||||
tx_led_x = -1
|
||||
tx_led_y = 11
|
||||
|
||||
timer_time_x = 1
|
||||
timer_button_x = -4
|
||||
|
||||
bg_timer_border = 2,2,2,2
|
||||
|
||||
button_panel_border = 2,2,2,2
|
||||
button_meter_border = 2,2,2,2
|
||||
|
||||
large_font = "-adobe-helvetica-medium-r-normal-*-*-100-*-*-p-*-*-*"
|
||||
normal_font = "-adobe-helvetica-medium-r-normal-*-*-80-*-*-p-*-*-*"
|
||||
small_font = "-adobe-helvetica-medium-r-normal-*-*-80-*-*-p-*-*-*"
|
||||
|
||||
bg_slider_panel_border = 1,1,1,1
|
||||
bg_slider_meter_border = 1,1,1,1
|
||||
|
||||
StyleChart *.border = 5,5,5,5
|
||||
StyleChart *.font = normal_font
|
||||
StyleChart *.alt_font = small_font
|
||||
StyleChart *.textcolor = #C1C1C1 #000000 shadow
|
||||
StyleChart *.alt_textcolor = #C1C1C1 #000000 shadow
|
||||
StyleChart *.transparency = 1
|
||||
|
||||
StylePanel *.border = 0,0,11,2
|
||||
StylePanel *.font = normal_font
|
||||
StylePanel *.alt_font = normal_font
|
||||
StylePanel *.textcolor = #C1C1C1 #000000 shadow
|
||||
StylePanel *.alt_textcolor = #C1C1C1 #000000 shadow
|
||||
StylePanel *.label_position = 50
|
||||
StylePanel *.margin = 1
|
||||
StylePanel *.krell_x_hot = 63
|
||||
StylePanel *.krell_depth = 65
|
||||
StylePanel *.krell_yoff = 3
|
||||
StylePanel *.transparency = 1
|
||||
|
||||
StyleMeter *.border = 0,0,12,4
|
||||
StyleMeter *.font = normal_font
|
||||
StyleMeter *.alt_font = small_font
|
||||
StyleMeter *.textcolor = #C1C1C1 #000000 shadow
|
||||
StyleMeter *.alt_textcolor = #C1C1C1 #000000 shadow
|
||||
StyleMeter *.label_position = 50
|
||||
StyleMeter *.margin = 1
|
||||
StyleMeter *.krell_x_hot = 63
|
||||
StyleMeter *.krell_depth = 65
|
||||
StyleMeter *.krell_yoff = 4
|
||||
StyleMeter *.transparency = 1
|
||||
|
||||
StylePanel net.label_position = 0
|
||||
StyleMeter mem.label_position = 0
|
||||
StyleMeter mem.border = 0,0,12,4
|
||||
StyleMeter swap.label_position = 0
|
||||
StyleMeter swap.border = 0,0,12,2
|
||||
StyleMeter cal.font = med_font
|
||||
StyleMeter cal.alt_font = large_font
|
||||
StyleMeter clock.font = large_font
|
||||
StyleMeter fs.border = 0,0,12,4
|
||||
StyleMeter timer.border = 0,0,0,0
|
||||
StyleMeter host.border = 0,0,0,3
|
||||
StyleMeter cal.border = 0,0,0,4
|
||||
StyleMeter clock.border = 0,0,0,4
|
||||
StyleMeter uptime.border = 0,0,0,2
|
||||
StyleMeter fs.label_position = 0
|
||||
StyleMeter fs.alt_font = normal_font
|
||||
|
Before Width: | Height: | Size: 817 B |
|
Before Width: | Height: | Size: 812 B |
|
Before Width: | Height: | Size: 222 B |
@@ -1,158 +0,0 @@
|
||||
### GKrellM user config. Auto written, do not edit (usually) ###
|
||||
### Version 2.3.11 ###
|
||||
enable_hostname 1
|
||||
hostname_short 0
|
||||
enable_sysname 0
|
||||
mbmon_port 0
|
||||
sticky_state 1
|
||||
dock_type 0
|
||||
decorated 0
|
||||
skip_taskbar 0
|
||||
skip_pager 0
|
||||
above 1
|
||||
below 0
|
||||
track_gtk_theme_name 0
|
||||
default_track_theme "Default"
|
||||
save_position 1
|
||||
chart_width 105
|
||||
update_HZ 10
|
||||
allow_multiple_instances 0
|
||||
float_factor 1000
|
||||
hostname sysname_mode 1
|
||||
clock_cal clock_launch
|
||||
clock_cal clock_tooltip
|
||||
clock_cal cal_launch
|
||||
clock_cal cal_tooltip
|
||||
clock_cal hour_chime_command
|
||||
clock_cal quarter_chime_command
|
||||
clock_cal loop_chime_enable 0
|
||||
clock_cal clock_options 1
|
||||
clock_cal cal_options 1
|
||||
clock_cal cal_format %a <span foreground="$A"><big><big>%e</big></big></span> %b
|
||||
clock_cal clock_format %H:%M <span foreground="$A"><small>%S</small></span>
|
||||
cpu enable 0
|
||||
cpu smp_mode 0
|
||||
cpu enabled cpu 0
|
||||
cpu extra_info cpu 1
|
||||
cpu chart_config cpu 40 20 0 0 0 0 : 0 0 0 0 500 : 0 0 0 0 500 : 0 0 0 0 500
|
||||
cpu enabled cpu0 1
|
||||
cpu extra_info cpu0 1
|
||||
cpu chart_config cpu0 40 20 0 0 0 0 : 0 0 0 0 500 : 0 0 0 0 500 : 0 0 0 0 500
|
||||
cpu enabled cpu1 1
|
||||
cpu extra_info cpu1 1
|
||||
cpu chart_config cpu1 40 20 0 0 0 0 : 0 0 0 0 500 : 0 0 0 0 500 : 0 0 0 0 500
|
||||
cpu enabled cpu2 1
|
||||
cpu extra_info cpu2 1
|
||||
cpu chart_config cpu2 40 20 0 0 0 0 : 0 0 0 0 500 : 0 0 0 0 500 : 0 0 0 0 500
|
||||
cpu enabled cpu3 1
|
||||
cpu extra_info cpu3 1
|
||||
cpu chart_config cpu3 40 20 0 0 0 0 : 0 0 0 0 500 : 0 0 0 0 500 : 0 0 0 0 500
|
||||
cpu enabled cpu4 1
|
||||
cpu extra_info cpu4 1
|
||||
cpu chart_config cpu4 40 20 0 0 0 0 : 0 0 0 0 500 : 0 0 0 0 500 : 0 0 0 0 500
|
||||
cpu enabled cpu5 1
|
||||
cpu extra_info cpu5 1
|
||||
cpu chart_config cpu5 40 20 0 0 0 0 : 0 0 0 0 500 : 0 0 0 0 500 : 0 0 0 0 500
|
||||
cpu enabled cpu6 1
|
||||
cpu extra_info cpu6 1
|
||||
cpu chart_config cpu6 40 20 0 0 0 0 : 0 0 0 0 500 : 0 0 0 0 500 : 0 0 0 0 500
|
||||
cpu enabled cpu7 1
|
||||
cpu extra_info cpu7 1
|
||||
cpu chart_config cpu7 40 20 0 0 0 0 : 0 0 0 0 500 : 0 0 0 0 500 : 0 0 0 0 500
|
||||
cpu show_panel_labels 1
|
||||
cpu omit_nice_mode 0
|
||||
cpu config_tracking 0
|
||||
cpu sensor_mode 0
|
||||
cpu text_format $T
|
||||
proc enable 1 1
|
||||
proc launch
|
||||
proc tooltip_comment
|
||||
proc sensor_mode 0
|
||||
proc text_format \w88\a$p\f procs\n\e$u\f users
|
||||
proc chart_config 40 100 0 0 0 0 : 1 0 0 0 500 : 0 0 0 0 500
|
||||
disk assign_method 2
|
||||
disk device Disk 0 0 0 0 1 0 0 Disk
|
||||
disk chart_config Disk 40 20000000 0 1 0 0 : 0 0 0 0 500 : 0 0 0 0 500
|
||||
disk device sda 0 0 45 1 1 -1 0 sda
|
||||
disk chart_config sda 40 10000000 0 1 0 0 : 0 0 0 0 500 : 0 0 0 0 500
|
||||
disk device sda1 0 0 45 0 1 1 0 sda1
|
||||
disk device sda2 0 0 45 0 1 2 0 sda2
|
||||
disk device sda3 0 0 45 0 1 3 0 sda3
|
||||
disk device sr0 0 0 96 0 1 -1 0 sr0
|
||||
disk device dm-0 0 0 555 0 1 -1 0 dm-0
|
||||
disk device dm-1 0 0 556 0 1 -1 0 dm-1
|
||||
disk text_format $T
|
||||
inet text_format all \t$a\f $l\N$A\f $L
|
||||
inet update_interval all 1
|
||||
net enables br-b27b19007b8e 0 1 0
|
||||
net chart_config br-b27b19007b8e 40 5 0 1 0 0 : 0 0 0 0 500 : 0 0 0 0 500
|
||||
net enables docker0 0 1 0
|
||||
net chart_config docker0 40 5 0 1 0 0 : 0 0 0 0 500 : 0 0 0 0 500
|
||||
net enables eth0 1 1 0
|
||||
net chart_config eth0 40 2000000 0 1 0 0 : 0 0 0 0 500 : 0 0 0 0 500
|
||||
net enables lo 0 1 0
|
||||
net enables veth1ee909d 0 1 0
|
||||
net chart_config veth1ee909d 40 100 0 1 0 0 : 0 0 0 0 500 : 0 0 0 0 500
|
||||
net enables veth34ebeda 0 1 0
|
||||
net chart_config veth34ebeda 40 100 0 1 0 0 : 0 0 0 0 500 : 0 0 0 0 500
|
||||
net enables veth665662f 0 1 0
|
||||
net chart_config veth665662f 40 100 0 1 0 0 : 0 0 0 0 500 : 0 0 0 0 500
|
||||
net enables vethc201b27 0 1 0
|
||||
net chart_config vethc201b27 40 100 0 1 0 0 : 0 0 0 0 500 : 0 0 0 0 500
|
||||
net enables wlan0 0 1 0
|
||||
net timer_enabled 0
|
||||
net timer_seconds 0
|
||||
net timer_iface none
|
||||
net timer_on
|
||||
net timer_off
|
||||
net text_format $T\b\c\f$L
|
||||
net reset_mday 1
|
||||
net net_enabled_as_default 1
|
||||
net net_stats_window_height 200
|
||||
meminfo mem_meter 1 0 0
|
||||
meminfo swap_meter 0 0
|
||||
meminfo swap_chart 0 1
|
||||
meminfo mem_launch
|
||||
meminfo mem_tooltip
|
||||
meminfo mem_data_format $t - $f free
|
||||
meminfo swap_launch
|
||||
meminfo swap_tooltip
|
||||
meminfo swap_data_format $t - $f free
|
||||
meminfo text_format $T
|
||||
fs fs_check_timeout 2
|
||||
fs nfs_check_timeout 16
|
||||
fs auto_eject 0
|
||||
fs binary_units 0
|
||||
fs data_format $t - $f free
|
||||
mail mailbox-local mbox /var/mail/yorune
|
||||
mail mua
|
||||
mail notify
|
||||
mail fetch_command
|
||||
mail remote_check_timeout 5
|
||||
mail local_check_timeout 4
|
||||
mail fetch_check_is_local 0
|
||||
mail msg_count_mode 0
|
||||
mail animation_select_mode 0
|
||||
mail fetch_check_only_mode 0
|
||||
mail reset_remote_mode 0
|
||||
mail unseen_is_new 0
|
||||
mail enable 0 0 0 0
|
||||
mail animation_continuous 0
|
||||
mail show_tooltip 1
|
||||
mail mh_seq_ignore 0
|
||||
battery enable 1
|
||||
battery enable_composite 1
|
||||
battery estimate_time 0
|
||||
battery estimate_time_discharge 1500
|
||||
battery estimate_time_charge 3000
|
||||
battery estimate_time_charge_model 0
|
||||
battery full_cap_fallback 5000
|
||||
battery poll_interval 5
|
||||
battery launch1
|
||||
battery tooltip_comment
|
||||
battery alert_units_percent 0
|
||||
battery display_mode 0 0
|
||||
battery display_mode 0 1
|
||||
uptime enable 1
|
||||
uptime launch
|
||||
uptime tooltip
|
||||
@@ -1,675 +0,0 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
the GNU General Public License is intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users. We, the Free Software Foundation, use the
|
||||
GNU General Public License for most of our software; it applies also to
|
||||
any other work released this way by its authors. You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you have
|
||||
certain responsibilities if you distribute copies of the software, or if
|
||||
you modify it: responsibilities to respect the freedom of others.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too, receive
|
||||
or can get the source code. And you must show them these terms so they
|
||||
know their rights.
|
||||
|
||||
Developers that use the GNU GPL protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
|
||||
For the developers' and authors' protection, the GPL clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the GPL requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
authors of previous versions.
|
||||
|
||||
Some devices are designed to deny users access to install or run
|
||||
modified versions of the software inside them, although the manufacturer
|
||||
can do so. This is fundamentally incompatible with the aim of
|
||||
protecting users' freedom to change the software. The systematic
|
||||
pattern of such abuse occurs in the area of products for individuals to
|
||||
use, which is precisely where it is most unacceptable. Therefore, we
|
||||
have designed this version of the GPL to prohibit the practice for those
|
||||
products. If such problems arise substantially in other domains, we
|
||||
stand ready to extend this provision to those domains in future versions
|
||||
of the GPL, as needed to protect the freedom of users.
|
||||
|
||||
Finally, every program is threatened constantly by software patents.
|
||||
States should not allow patents to restrict development and use of
|
||||
software on general-purpose computers, but in those that do, we wish to
|
||||
avoid the special danger that patents applied to a free program could
|
||||
make it effectively proprietary. To prevent this, the GPL assures that
|
||||
patents cannot be used to render the program non-free.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Use with the GNU Affero General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU Affero General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the special requirements of the GNU Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
<program> Copyright (C) <year> <name of author>
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, your program's commands
|
||||
might be different; for a GUI interface, you would use an "about box".
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
||||
|
||||
|
Before Width: | Height: | Size: 930 B |
|
Before Width: | Height: | Size: 695 B |
@@ -1,77 +0,0 @@
|
||||
Chatty is a Twitch Chat Client, supporting many Twitch-specific features such as emotes,
|
||||
nick colors, displaying stream information and much more.
|
||||
|
||||
Website: https://chatty.github.io
|
||||
E-Mail: chattyclient@gmail.com
|
||||
Twitter: @ChattyClient (https://twitter.com/ChattyClient)
|
||||
YouTube: https://www.youtube.com/user/chattyclient
|
||||
Discord: https://discord.gg/WTuqGeJ
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
This is a Java program, so you need to have the JRE 8 (Java Runtime Environment) or later installed.
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
No real need for installation, just extract the Chatty_*.zip file into a
|
||||
folder and start the Chatty.jar with Java.
|
||||
|
||||
Starting Chatty
|
||||
---------------
|
||||
|
||||
You may be able to just double-click the Chatty.jar. If it asks you to select a program
|
||||
to open it with, choose Java.
|
||||
|
||||
You can also create a shortcut to start Chatty, when creating the shortcut use:
|
||||
|
||||
javaw -jar "<Path to Chatty.jar>"
|
||||
|
||||
For example:
|
||||
|
||||
javaw -jar "C:\Program Files (x86)\Chatty\Chatty.jar"
|
||||
|
||||
This also allows you to add launch options, for example defining the channel to join:
|
||||
|
||||
javaw -jar "C:\Program Files (x86)\Chatty\Chatty.jar" -channel twitch
|
||||
|
||||
If you create a shortcut like this, make sure you set the working directory correctly
|
||||
(specified in a field labeled "Run in" or similar). This can be important for some features.
|
||||
|
||||
You may also need to specify the full path to Java if just "javaw -jar" doesn't work:
|
||||
|
||||
C:\Windows\System32\javaw.exe -jar "C:\Program Files (x86)\Chatty\Chatty.jar"
|
||||
|
||||
Or to use a specific JRE:
|
||||
|
||||
C:\Program Files\Java\jre1.8.0_261\bin\javaw.exe -jar "<Path to Chatty.jar>"
|
||||
|
||||
Settings
|
||||
--------
|
||||
|
||||
Settings are saved in a ".chatty" subfolder of your user directory by default. You can
|
||||
find out where the settings are saved to by entering "/dir" in Chatty.
|
||||
|
||||
You can change this location to your current working directory by using the "-cd" launch
|
||||
option, to a specified directory by using the "-d <dir>" launch option (the dir has to
|
||||
exist already) or to a directory located next to the Chatty.jar by using the "-portable"
|
||||
launch option.
|
||||
|
||||
Logfile
|
||||
-------
|
||||
|
||||
There is a /debuglogs subdirectory in the settings directory which contains a
|
||||
number of different debug logs. There is more information on them in the help.
|
||||
|
||||
More Help
|
||||
---------
|
||||
|
||||
There is more help available in Chatty under <Help - About/Help> and online on the
|
||||
Chatty website as mentioned at the beginning of this file.
|
||||
|
||||
Licence
|
||||
-------
|
||||
|
||||
Chatty is released under the GPLv3. See the in-app help and the GitHub repository
|
||||
for more detailed information.
|
||||
@@ -1,104 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
####################################################
|
||||
#
|
||||
# SRC_PREPARE
|
||||
#
|
||||
# Marcin Woźniak
|
||||
# y0rune@aol.com
|
||||
#
|
||||
# Last edit: 16-09-2020
|
||||
#
|
||||
###################################################
|
||||
|
||||
mainteiner="Marcin Woźniak"
|
||||
|
||||
function scanning(){
|
||||
EUSCAN=$(euscan --nocolor --quiet "$1")
|
||||
if [ -n "$EUSCAN" ]; then
|
||||
echo $1
|
||||
echo "=============== NOW: $(find ./* -mindepth 2 -maxdepth 2 -name ''"$1"'*.ebuild' | sort | tail -1) =================
|
||||
$(echo -e "$EUSCAN" | tail -1)"
|
||||
sleep 1
|
||||
fi
|
||||
}
|
||||
|
||||
function folder(){
|
||||
cd "$1"; git pull || exit
|
||||
|
||||
PACKAGES=()
|
||||
|
||||
for FILE in */*
|
||||
do
|
||||
PACKAGE=$(echo "$FILE" | grep -Eo '[A-z0-9_-]+$')
|
||||
PACKAGES+=("$PACKAGE")
|
||||
done
|
||||
|
||||
for i in "${PACKAGES[@]}"
|
||||
do
|
||||
scanning "$i" &
|
||||
done
|
||||
|
||||
for j in $(jobs -p)
|
||||
do
|
||||
wait "$j"
|
||||
done
|
||||
|
||||
echo -n ">>> Done scanning $1"
|
||||
}
|
||||
|
||||
function nofolder(){
|
||||
if [ -z "${1}" ]; then
|
||||
echo "No overlay names given"
|
||||
echo "Please give at least one overlay name as a commandline argument"
|
||||
echo "Exiting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for overlay in "${@}"
|
||||
do
|
||||
for ebuild in $(EIX_LIMIT=0 eix --only-names --in-overlay "${overlay}")
|
||||
do
|
||||
euscan --nocolor --quiet "${ebuild}" &
|
||||
sleep 1
|
||||
done
|
||||
|
||||
for j in $(jobs -p)
|
||||
do
|
||||
wait "$j"
|
||||
done
|
||||
|
||||
echo -n ">>> Done scanning ${overlay}"
|
||||
done
|
||||
}
|
||||
|
||||
function help(){
|
||||
echo "You can use:"
|
||||
echo "* -r or --repo <HERE-REPO-NAME>"
|
||||
echo "* -f or --folder <FOLDER-NAME>"
|
||||
echo
|
||||
echo "Example of usage"
|
||||
echo "./logeuscan -r src_prepare-overlay"
|
||||
echo "./logeuscan -f ~/git/src_prepare-overlay"
|
||||
}
|
||||
|
||||
function main(){
|
||||
[ "$(whereis eix | wc -w)" -le "1" ] && { echo "The eix is NOT installed"; exit; }
|
||||
[ "$(whereis euscan | wc -w)" -le "1" ] && { echo "The euscan is NOT installed"; exit; }
|
||||
case $1 in
|
||||
-h|--help)
|
||||
help
|
||||
;;
|
||||
-r|--repo)
|
||||
nofolder "$2" | tee -a "euscan-$(date -I).log"
|
||||
;;
|
||||
-f|--folder)
|
||||
folder "$2" | tee -a "euscan-$(date -I).log"
|
||||
|
||||
;;
|
||||
*)
|
||||
echo "No found variable"; echo; help
|
||||
esac
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,23 +0,0 @@
|
||||
#!/bin/bash
|
||||
NUMBER="-1"
|
||||
|
||||
while true
|
||||
do
|
||||
clear
|
||||
|
||||
LOGS=( $(sudo find /var/tmp/portage/ -mindepth 1 -maxdepth 5 -name "build.log") $(sudo find /var/tmpnotmpfs/portage/ -mindepth 1 -maxdepth 5 -name "build.log") )
|
||||
LEN=${#LOGS[@]}
|
||||
|
||||
for (( i=0; i<$LEN; i++ ));
|
||||
do
|
||||
echo "$(( $i + 1 )) - ${LOGS[$i]}"
|
||||
done
|
||||
|
||||
echo
|
||||
read -rsp $'Select number to show logs...\n' -t2 -n1 NUMBER
|
||||
|
||||
[[ $NUMBER -gt 0 ]] && break
|
||||
done
|
||||
|
||||
echo -e "\n\e[93m File: ${LOGS[$NUMBER-1]} \e[0m\n"
|
||||
sudo cat ${LOGS[$NUMBER-1]}
|
||||
@@ -1,31 +0,0 @@
|
||||
#!/bin/bash
|
||||
NUMBER="-1"
|
||||
|
||||
if command -v sudo; then
|
||||
sudo=$(which sudo)
|
||||
elif command -v doas; then
|
||||
sudo=$(which doas)
|
||||
else
|
||||
echo "Do you have installed sudo or doas on your system??"
|
||||
fi
|
||||
|
||||
while true
|
||||
do
|
||||
clear
|
||||
|
||||
LOGS=( $(${sudo} find /var/tmp/portage/ -mindepth 1 -maxdepth 5 -name "build.log") $(${sudo} find /var/tmpnotmpfs/portage/ -mindepth 1 -maxdepth 5 -name "build.log") )
|
||||
LEN=${#LOGS[@]}
|
||||
|
||||
for (( i=0; i<$LEN; i++ ));
|
||||
do
|
||||
echo "$(( $i + 1 )) - ${LOGS[$i]}"
|
||||
done
|
||||
|
||||
echo
|
||||
read -rsp $'Select number to show logs...\n' -t2 -n1 NUMBER
|
||||
|
||||
[[ $NUMBER -gt 0 ]] && break
|
||||
done
|
||||
|
||||
echo -e "\n\e[93m File: ${LOGS[$NUMBER-1]} \e[0m\n"
|
||||
${sudo} tail -f "${LOGS[$NUMBER-1]}"
|
||||
@@ -1,15 +0,0 @@
|
||||
#!/bin/bash
|
||||
echo
|
||||
echo
|
||||
echo -e $(date)
|
||||
echo
|
||||
echo
|
||||
sudo emerge --sync
|
||||
sudo $HOME/.local/bin/eix-repos-sync
|
||||
sudo eix-update
|
||||
sudo emerge -auDN @world
|
||||
echo
|
||||
echo
|
||||
echo -e $(date)
|
||||
echo
|
||||
echo
|
||||
@@ -1,128 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
BACKUP="/home/yorune/MEGA/Systems/Linux/portage"
|
||||
TMP_KERNEL="/tmp/kernel-config-$(uname -r)"
|
||||
DEFAULT_KERNEL="/usr/src/linux/.config"
|
||||
GRUBRELOAD=1
|
||||
|
||||
function starting() {
|
||||
echo -e "\e[93m----------------------COMPILING------------------------------\e[0m"
|
||||
sudo cp -rv "$DEFAULT_KERNEL" "$TMP_KERNEL"
|
||||
cp -r "$TMP_KERNEL" "$BACKUP/kernel-config"
|
||||
sudo cp -r /etc/portage/* $BACKUP
|
||||
qlist -I | sort -u > $BACKUP/list-of-programs
|
||||
}
|
||||
|
||||
function selection() {
|
||||
echo -e "\e[93m----------------------SELECTION-----------------------------\e[0m"
|
||||
sudo eselect kernel list
|
||||
echo
|
||||
echo
|
||||
read -rp "New kernel is: " KERVER
|
||||
echo
|
||||
echo -e "Your kernel now is \e[91m$(uname -sr)\e[0m"
|
||||
echo -e "Your selected kernel is \e[91m$KERVER\e[0m"
|
||||
sudo eselect kernel set "$KERVER"
|
||||
sudo eselect kernel list | grep -iE "\*"
|
||||
echo
|
||||
}
|
||||
|
||||
function compilation() {
|
||||
read -rp "Do you want to accept and compile (Y/N): " agreed
|
||||
echo
|
||||
if [ "$agreed" == "y" ] || [ "$agreed" == "Y" ]
|
||||
then
|
||||
echo -e "\e[91m----------------------\e[5mSTARTING\e[0m\e[91m------------------------------\e[0m" && sleep 10
|
||||
$NOW > /tmp/compiling-starting
|
||||
NEW_KERNEL="/tmp/new-kernel-config"
|
||||
sudo cp -r "$TMP_KERNEL" "$DEFAULT_KERNEL"
|
||||
cd /usr/src/linux || exit
|
||||
sudo make menuconfig; sleep 2; sudo cp -r "$DEFAULT_KERNEL" "$NEW_KERNEL"
|
||||
sudo genkernel all --makeopts=-j"$(nproc --all)" \
|
||||
--kernel-config=$NEW_KERNEL \
|
||||
--callback="emerge nvidia-drivers::gentoo" \
|
||||
--zfs
|
||||
elif [ "$agreed" == "N" ] || [ "$agreed" == "n" ]
|
||||
then
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
||||
function ending() {
|
||||
echo
|
||||
echo
|
||||
echo -e "\e[93m----------------------CHECKING-----------------------------\e[0m"
|
||||
checking
|
||||
echo
|
||||
echo
|
||||
echo -e "\e[93m----------------------REMEMBER-----------------------------\e[0m"
|
||||
echo "You can remove:"
|
||||
echo "* /lib/modules/OLD_KERNEL"
|
||||
echo "* /boot/initramfs-genkernel-OLD_KERNEL"
|
||||
echo "* /boot/vmlinuz-OLD_KERNEL"
|
||||
echo "* /boot/System.map-OLD_KERNEL"
|
||||
echo "* /boot/initramfs-OLD_KERNEL"
|
||||
echo "* /usr/src/linux-OLD_KERNEL"
|
||||
echo
|
||||
echo -e "AFTER EVERYTHING YOU MUST WRITE COMMAND \e[91m"sudo grub-mkconfig -o /boot/grub/grub.cfg"\e[0m"
|
||||
}
|
||||
|
||||
function checking() {
|
||||
KERNEL=$(eselect kernel list \
|
||||
| awk '{print $2}' \
|
||||
| grep -Eo '[0-9]+.[0-9]+.[0-9]+' \
|
||||
| tail -n1)
|
||||
|
||||
INITRANFS="initramfs-$KERNEL-gentoo-x86_64.img"
|
||||
SYSTEMMAP="System.map-$KERNEL-gentoo-x86_64"
|
||||
VMLINUZ="vmlinuz-$KERNEL-gentoo-x86_64"
|
||||
|
||||
ifchecking "$INITRANFS"
|
||||
ifchecking "$SYSTEMMAP"
|
||||
ifchecking "$VMLINUZ"
|
||||
[ "$GRUBRELOAD" -eq "1" ] && sudo grub-mkconfig -o /boot/grub/grub.cfg \
|
||||
|| echo "Please check all files and regenerate grub again!"
|
||||
}
|
||||
|
||||
function ifchecking () {
|
||||
FILE=/boot/$1
|
||||
if test -f "$FILE"; then
|
||||
echo "$FILE exist in the /boot folder ;)"
|
||||
else
|
||||
echo "$FILE NOT exist in the /boot folder ;)"
|
||||
GRUBRELOAD=0
|
||||
fi
|
||||
}
|
||||
|
||||
function addgit() {
|
||||
cd "$BACKUP" || exit
|
||||
sleep 20
|
||||
git add .
|
||||
git commit -m "Updated: $(date)"
|
||||
git push
|
||||
cd "$HOME" || exit
|
||||
}
|
||||
|
||||
function main() {
|
||||
clear
|
||||
|
||||
BEGIN=$(date +"%s")
|
||||
|
||||
starting
|
||||
addgit
|
||||
selection
|
||||
compilation
|
||||
|
||||
echo -e "\e[31mI am leaving! Thank You!\e[0m" && sleep 3
|
||||
|
||||
TERMIN=$(date +"%s")
|
||||
DIFFTLPS=$(($TERMIN-$BEGIN))
|
||||
|
||||
echo -e "\e[93m------------------TIME COMPILATION-------------------------\e[0m"
|
||||
echo -e "\e[93m$(($DIFFTLPS / 60)) minutes and $(($DIFFTLPS % 60)) seconds \e[0m elapsed for Script Execution." && sleep 3
|
||||
ending
|
||||
|
||||
exit
|
||||
}
|
||||
|
||||
main
|
||||
@@ -1,617 +0,0 @@
|
||||
#!/opt/homebrew/opt/bash/bin/bash
|
||||
# shellcheck disable=2010,2045,2086,2155
|
||||
|
||||
# Path to the zsh folder
|
||||
ZSHFOLDER=$HOME/.config/zsh
|
||||
CONFIG="$HOME/.config"
|
||||
OHMYZSH="$HOME/.oh-my-zsh"
|
||||
|
||||
mkdir -p $ZSHFOLDER $CONFIG $OHMYZSH
|
||||
|
||||
# Colours
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;0;32m'
|
||||
NC='\033[0m'
|
||||
|
||||
# Stable version
|
||||
TERRAFORM_VERSION="1.5.7"
|
||||
|
||||
# Python
|
||||
if which python3 > /dev/null 2>&1; then
|
||||
python="python3"
|
||||
pip="pip3"
|
||||
else
|
||||
export PYTHONVERSION=$(ls -la /opt/homebrew/opt/ |
|
||||
grep -iEo 'python@.* ->' |
|
||||
sed 's/ ->//g' |
|
||||
sort |
|
||||
tail -n1 |
|
||||
sed 's/python@//g')
|
||||
python="/opt/homebrew/bin/python$PYTHONVERSION"
|
||||
pip="/opt/homebrew/bin/pip$PYTHONVERSION"
|
||||
fi
|
||||
|
||||
PIPEXT="--user --force --quiet --no-warn-script-location"
|
||||
PIPEXTPRE="--pre $PIPEXT"
|
||||
|
||||
# Gentoo release
|
||||
GENTOO="/etc/gentoo-release"
|
||||
|
||||
# Function for basic install
|
||||
|
||||
install=""
|
||||
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
install="brew install"
|
||||
elif [[ -f $GENTOO ]]; then
|
||||
install="sudo emerge --update"
|
||||
elif [[ -f /etc/debian_version ]]; then
|
||||
sudo apt update
|
||||
install="sudo apt install -y"
|
||||
elif [[ -f /etc/redhat-release ]]; then
|
||||
install="sudo dnf install"
|
||||
fi
|
||||
|
||||
function timestamp() {
|
||||
echo -e "${GREEN}[+]${NC} $(date +'%F %T') [INFO] $*"
|
||||
}
|
||||
|
||||
function err() {
|
||||
echo -e "${RED}[-] $(date +'%F %T') [ERROR] $*${NC}" >&2
|
||||
}
|
||||
|
||||
function command_start() {
|
||||
timestamp "Command $* has been started."
|
||||
if ! "$@"; then
|
||||
err "---------"
|
||||
err "Command $* went wrong."
|
||||
err "---------"
|
||||
# exit
|
||||
fi
|
||||
timestamp "Command $* has been ended."
|
||||
}
|
||||
|
||||
function command_exists() {
|
||||
if command -v "$1" > /dev/null 2>&1; then
|
||||
timestamp "Command $1 has been found"
|
||||
else
|
||||
err "Command $1 has been NOT found"
|
||||
|
||||
# Return false
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
function update_pip() {
|
||||
# Update the pip
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
$python -m pip install --upgrade pip --user --no-warn-script-location
|
||||
elif [[ -f $GENTOO ]]; then
|
||||
$install dev-python/pip
|
||||
fi
|
||||
}
|
||||
|
||||
function install_neovim_module_for_python() {
|
||||
# Python module in neovim
|
||||
$pip install pynvim neovim imps $PIPEXTPRE
|
||||
|
||||
# Ruby module for neovim
|
||||
gem install solargraph
|
||||
|
||||
# Node module for neovim
|
||||
npm install @github/copilot-language-server -g --force
|
||||
npm install tree-sitter-cli -g --force
|
||||
}
|
||||
|
||||
function install_node() {
|
||||
if command_exists npm; then
|
||||
timestamp "Node has been found"
|
||||
else
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
brew uninstall node --ignore-dependencies
|
||||
sudo rm -rf /opt/homebrew/lib/node_modules/npm/
|
||||
$install node
|
||||
elif [[ -f $GENTOO ]]; then
|
||||
$install dev-lang/nodejs
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
function install_pyright() {
|
||||
# Install pyright
|
||||
sudo npm -s -g i pyright --force
|
||||
}
|
||||
|
||||
function install_mdformat() {
|
||||
# Install mdformat
|
||||
$pip install mdformat $PIPEXTPRE
|
||||
}
|
||||
|
||||
function install_ruff() {
|
||||
# Install ruff
|
||||
$pip install ruff $PIPEXTPRE
|
||||
}
|
||||
|
||||
function install_bash-language-server() {
|
||||
# Install bash-language-server
|
||||
sudo npm -s -g i bash-language-server --force
|
||||
}
|
||||
|
||||
function install_yaml-language-server() {
|
||||
# Install yaml-language-server
|
||||
sudo npm -s -g i yaml-language-server --force
|
||||
}
|
||||
|
||||
function install_shfmt() {
|
||||
# Install shfmt
|
||||
GO111MODULE=on go install mvdan.cc/sh/v3/cmd/shfmt@latest
|
||||
}
|
||||
|
||||
function install_lazy() {
|
||||
# Install shfmt
|
||||
GO111MODULE=on go install github.com/jesseduffield/lazygit@latest
|
||||
GO111MODULE=on go install github.com/jesseduffield/lazydocker@latest
|
||||
}
|
||||
|
||||
function install_dlv() {
|
||||
GO111MODULE=on go install github.com/go-delve/delve/cmd/dlv@latest
|
||||
}
|
||||
|
||||
function install_terraform_stable() {
|
||||
# Install terraform and terraform-ls
|
||||
GO111MODULE=on go install github.com/hashicorp/terraform-ls@latest
|
||||
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
$install tflint -q
|
||||
$install tfenv -q
|
||||
TFENV_ARCH=amd64 tfenv install "$TERRAFORM_VERSION"
|
||||
tfenv use "$TERRAFORM_VERSION"
|
||||
else
|
||||
GO111MODULE=on go install github.com/hashicorp/terraform@v"$TERRAFORM_VERSION"
|
||||
curl -s https://raw.githubusercontent.com/terraform-linters/tflint/master/install_linux.sh | bash
|
||||
fi
|
||||
}
|
||||
|
||||
function install_terraform() {
|
||||
# Install terraform and terraform-ls
|
||||
GO111MODULE=on go install github.com/hashicorp/terraform-ls@latest
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
$install tflint -q
|
||||
$install tfenv -q
|
||||
TFENV_ARCH=amd64 tfenv install latest
|
||||
mapfile -t TFENV_VER_ARRAY < <(tfenv list | grep -ioE ' [0-9.]+' | sed -e '1,1d')
|
||||
if [ "${#TFENV_VER_ARRAY[@]}" -gt "2" ]; then
|
||||
for i in "${TFENV_VER_ARRAY[@]}"; do
|
||||
tfenv uninstall "$i" && timestamp "Removed - terraform '$i' version"
|
||||
done
|
||||
fi
|
||||
else
|
||||
GO111MODULE=on go install github.com/hashicorp/terraform@latest
|
||||
curl -s https://raw.githubusercontent.com/terraform-linters/tflint/master/install_linux.sh | bash
|
||||
fi
|
||||
}
|
||||
|
||||
function install_terragrunt() {
|
||||
# Install terragrunt
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
$install terragrunt -q
|
||||
else
|
||||
TERRAGRUNT=$HOME/.local/bin/terragrunt
|
||||
REMOTE_VERSION=$(curl -s https://api.github.com/repos/gruntwork-io/terragrunt/releases/latest | grep -iEo '"tag_name":.*' | sed 's/"tag_name"://g;s/"//g;s/,//g;s/ //g')
|
||||
|
||||
CURRENT_VERSION="0.0.0"
|
||||
[ -f $TERRAGRUNT ] && CURRENT_VERSION=$($TERRAGRUNT version)
|
||||
|
||||
if [ "$REMOTE_VERSION" == "$CURRENT_VERSION" ]; then
|
||||
timestamp "The current version of the TSS-SDK is the same as the newest version"
|
||||
return 0
|
||||
else
|
||||
brew install wget
|
||||
wget https://github.com/gruntwork-io/terragrunt/releases/latest/download/terragrunt_linux_amd64 -O $TERRAGRUNT
|
||||
chmod +x "$TERRAGRUNT"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
function install_shellcheck() {
|
||||
# Install shellcheck
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
$install shellcheck -q
|
||||
else
|
||||
curl -s https://raw.githubusercontent.com/terraform-linters/tflint/master/install_linux.sh | bash
|
||||
fi
|
||||
}
|
||||
|
||||
function install_marksman() {
|
||||
# Install marksman
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
$install marksman -q
|
||||
else
|
||||
wget https://github.com/artempyanykh/marksman/releases/latest/download/marksman-linux-x64 -O $HOME/.local/bin/marksman
|
||||
chmod +x $HOME/.local/bin/marksman
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
function install_go() {
|
||||
# Install the golang
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
$install golang -q
|
||||
elif [[ -f $GENTOO ]]; then
|
||||
$install dev-lang/go
|
||||
fi
|
||||
}
|
||||
|
||||
function install_gopls() {
|
||||
# Install gopls
|
||||
GO111MODULE=on go install golang.org/x/tools/gopls@latest
|
||||
}
|
||||
|
||||
function install_ansible() {
|
||||
# Install Ansible
|
||||
$pip install ansible ansible-lint ansible-core $PIPEXTPRE
|
||||
$pip install ansible-parallel $PIPEXTPRE
|
||||
}
|
||||
|
||||
function install_ansible-language-server() {
|
||||
# Install ansible-language-server
|
||||
sudo npm -s -g i @ansible/ansible-language-server --force
|
||||
sudo npm -s -g i yaml-language-server --force
|
||||
}
|
||||
|
||||
function install_azure_cli() {
|
||||
# Install azure_cli
|
||||
$install azure-cli
|
||||
}
|
||||
|
||||
function install_awscli() {
|
||||
# Install awscli
|
||||
$install awscli
|
||||
}
|
||||
|
||||
function install_ytdlp() {
|
||||
# Install yt-dlp
|
||||
$pip install yt-dlp $PIPEXTPRE
|
||||
}
|
||||
|
||||
function install_spotifydl() {
|
||||
# Install spotify_dl
|
||||
$pip install spotdl $PIPEXTPRE
|
||||
}
|
||||
|
||||
function install_fzf() {
|
||||
# Install fzf
|
||||
FOLDER="$CONFIG/fzf"
|
||||
mkdir -p $FOLDER
|
||||
|
||||
if [ -d $FOLDER ]; then
|
||||
cd $CONFIG || err "Folder $CONFIG has been NOT found"
|
||||
git clone https://github.com/junegunn/fzf.git $FOLDER && timestamp "Cloning the FZF"
|
||||
cd $FOLDER || err "Folder $FOLDER has been NOT found"
|
||||
git pull -q && timestamp "Pulled the $FOLDER configuration"
|
||||
make install
|
||||
fi
|
||||
}
|
||||
|
||||
function install_zsh_addons() {
|
||||
|
||||
if [ ! -d $ZSHFOLDER/aws ]; then
|
||||
mkdir -p "$ZSHFOLDER/azure-cli" "$ZSHFOLDER/aws"
|
||||
|
||||
curl -s https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/plugins/aws/aws.plugin.zsh \
|
||||
-o "$ZSHFOLDER"/aws/aws.plugin.zsh &&
|
||||
timestamp "Downloaded the newest version of aws plugin for zsh"
|
||||
|
||||
curl -s https://raw.githubusercontent.com/Azure/azure-cli/dev/az.completion \
|
||||
-o "$ZSHFOLDER"/azure-cli/az.completion &&
|
||||
timestamp "Downloaded the newest version of az plugin for zsh"
|
||||
|
||||
cd $ZSHFOLDER || err "Folder $ZSHFOLDER has been NOT found"
|
||||
git clone https://github.com/popstas/zsh-command-time.git &&
|
||||
timestamp "Cloning the zsh-command-time"
|
||||
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git &&
|
||||
timestamp "Cloning the zsh-syntax-highlighting"
|
||||
git clone https://github.com/zsh-users/zsh-autosuggestions.git &&
|
||||
timestamp "Cloning the zsh-autosuggestions"
|
||||
fi
|
||||
|
||||
for i in $(ls $ZSHFOLDER); do
|
||||
FOLDER="$ZSHFOLDER/$i"
|
||||
if [ -d "$FOLDER/.git" ]; then
|
||||
cd "$FOLDER" || err "Folder $FOLDER has been NOT found"
|
||||
git pull -q && timestamp "Pulling the $FOLDER configuration"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ! -d $OHMYZSH ]; then
|
||||
cd $OHMYZSH || err "Folder $OHMYZSH has been NOT found"
|
||||
git pull -q && timestamp "Pulling the $OHMYZSH configuration"
|
||||
fi
|
||||
|
||||
curl -s https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/plugins/aws/aws.plugin.zsh -o "$ZSHFOLDER"/aws/aws.plugin.zsh && timestamp "Downloaded the newest version of aws plugin for zsh"
|
||||
curl -s https://raw.githubusercontent.com/Azure/azure-cli/dev/az.completion -o "$ZSHFOLDER"/azure-cli/az.completion && timestamp "Downloaded the newest version of az plugin for zsh"
|
||||
|
||||
}
|
||||
|
||||
function install_speedtest() {
|
||||
# Install speedtest-cli
|
||||
$pip install speedtest-cli $PIPEXTPRE
|
||||
}
|
||||
|
||||
function install_gh_cli() {
|
||||
# Install gh-cli
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
$install gh
|
||||
elif [[ -f $GENTOO ]]; then
|
||||
$install dev-util/github-cli
|
||||
fi
|
||||
}
|
||||
|
||||
function install_kubernetes() {
|
||||
# Install kubectl
|
||||
LINK=""
|
||||
CURRENT_VERSION=""
|
||||
REMOTE_VERSION=$(curl -L -s https://dl.k8s.io/release/stable.txt)
|
||||
KUBECTL_LOCATION="/opt/homebrew/bin/kubectl"
|
||||
|
||||
[ -f $KUBECTL_LOCATION ] && CURRENT_VERSION=$($KUBECTL_LOCATION version --client | grep --color=no -iEo 'Client Version: v[0-9\.]+' | grep -ioE --color=no 'v[0-9\.]+')
|
||||
|
||||
if [ "$REMOTE_VERSION" == "$CURRENT_VERSION" ]; then
|
||||
timestamp "The current version of the kubectl is the same as the newest version"
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
LINK="http://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
|
||||
else
|
||||
LINK="http://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
|
||||
fi
|
||||
|
||||
wget "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" -O $KUBECTL_LOCATION
|
||||
chmod +x $KUBECTL_LOCATION
|
||||
}
|
||||
|
||||
function install_rust() {
|
||||
# Install rust
|
||||
if command_exists rustc; then
|
||||
rustup update
|
||||
rustup component add rust-analyzer
|
||||
else
|
||||
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
|
||||
fi
|
||||
}
|
||||
|
||||
function install_tss_client() {
|
||||
# Install tss
|
||||
TSS_VERSION_STABLE="$1"
|
||||
CURRENT_VERSION="1.5.7"
|
||||
|
||||
if [ -z "$TSS_VERSION_STABLE" ]; then
|
||||
TSS_VERSION_STABLE=""
|
||||
timestamp "TSS_VERSION_STABLE variable is empty, the latest version will be installed"
|
||||
fi
|
||||
|
||||
# Example link: https://downloads.ss.thycotic.com/secretserversdk/1.5.7/secretserver-sdk-1.5.7-linux-x64.zip
|
||||
TSSDOCS="https://docs.delinea.com/online-help/secret-server/api-scripting/sdk-devops/sdk-downloads/index.htm"
|
||||
LINK=""
|
||||
REMOTE_VERSION=""
|
||||
|
||||
if [ "$(uname)" == "Darwin" ]; then
|
||||
if [ -n "$TSS_VERSION_STABLE" ]; then
|
||||
LINK="https://downloads.ss.thycotic.com/secretserversdk/$TSS_VERSION_STABLE/secretserver-sdk-$TSS_VERSION_STABLE-osx-x64.zip"
|
||||
REMOTE_VERSION=$TSS_VERSION
|
||||
else
|
||||
LINK=$(curl -s -L $TSSDOCS | grep -iEo 'href=".*-osx-x64.zip"' | sed 's/href\=//g;s/"//g' | sort -r | head -n1)
|
||||
REMOTE_VERSION=$(echo $LINK | grep -iEo '[0-9.]+-osx' | sed 's/-osx//g')
|
||||
fi
|
||||
else
|
||||
LINK=$(curl -s -L $TSSDOCS | grep -iEo 'href=".*-linux-x64.zip"' | sed 's/href\=//g;s/"//g' | sort -r | head -n1)
|
||||
REMOTE_VERSION=$(echo $LINK | grep -iEo '[0-9.]+-linux' | sed 's/-linux//g')
|
||||
fi
|
||||
|
||||
TSSFOLDER="$HOME/.local/tss-sdk"
|
||||
TSSLINK="$HOME/.local/bin/tss"
|
||||
|
||||
[ -f $TSSLINK ] && CURRENT_VERSION=$($TSSLINK version)
|
||||
|
||||
timestamp "Current version of the TSS-SDK: $CURRENT_VERSION"
|
||||
timestamp "Remote version of the TSS-SDK: $REMOTE_VERSION"
|
||||
|
||||
if [ "$REMOTE_VERSION" == "$CURRENT_VERSION" ]; then
|
||||
timestamp "The current version of the TSS-SDK is the same as the newest version"
|
||||
return 0
|
||||
else
|
||||
rm -rfv $TSSFOLDER $TSSLINK
|
||||
mkdir $TSSFOLDER
|
||||
timestamp "Downloading the newest version of the TSS-SDK"
|
||||
timestamp "Link: $LINK"
|
||||
wget $LINK -P $TSSFOLDER
|
||||
unzip $TSSFOLDER/secretserver-sdk-*.zip -d $TSSFOLDER
|
||||
rm -rfv $TSSFOLDER/secretserver-sdk-*.zip
|
||||
ln -s $TSSFOLDER/tss $TSSLINK
|
||||
chmod +x $TSSLINK
|
||||
fi
|
||||
}
|
||||
|
||||
function install_precommit() {
|
||||
# Install pre-commit
|
||||
$pip install pre-commit $PIPEXTPRE
|
||||
}
|
||||
|
||||
function install_streamlink() {
|
||||
# Install streamlink
|
||||
$pip install streamlink $PIPEXTPRE
|
||||
}
|
||||
|
||||
function install_brew_programs() {
|
||||
# Install brew programs
|
||||
INSTALLED_PROGRAMS=$(brew list)
|
||||
while IFS='' read -r line; do LIST_OF_PROGRAMS+=("$line"); done < <(cat "$HOME"/.brew_programs)
|
||||
while IFS='' read -r line; do LIST_OF_PROGRAMS_CASK+=("$line"); done < <(cat "$HOME"/.brew_programs_cask)
|
||||
while IFS='' read -r line; do LIST_OF_PROGRAMS_DISABLE+=("$line"); done < <(cat "$HOME"/.brew_programs_disable)
|
||||
|
||||
timestamp "Installing brew programs"
|
||||
|
||||
for i in "${LIST_OF_PROGRAMS[@]}"; do
|
||||
if [[ ! " ${INSTALLED_PROGRAMS[*]} " =~ ${i} ]] &&
|
||||
[[ ! " ${LIST_OF_PROGRAMS_DISABLE[*]} " =~ ${i} ]]; then
|
||||
timestamp "Installing the $i brew program"
|
||||
brew install $i --force
|
||||
if $? -ne 0; then
|
||||
err "Failed to install the $i brew program"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
timestamp "Installing brew cask programs"
|
||||
|
||||
for i in "${LIST_OF_PROGRAMS_CASK[@]}"; do
|
||||
if [[ ! " ${INSTALLED_PROGRAMS[*]} " =~ ${i} ]] &&
|
||||
[[ ! " ${LIST_OF_PROGRAMS_DISABLE[*]} " =~ ${i} ]]; then
|
||||
timestamp "Installing the $i brew cask program"
|
||||
brew install $i --cask --appdir=~/Applications --force
|
||||
fi
|
||||
done
|
||||
|
||||
xattr -r -d com.apple.quarantine /Applications/Spotify.app
|
||||
xattr -r -d com.apple.quarantine /opt/homebrew/bin/mpv /Applications/mpv.app
|
||||
|
||||
duti -s io.mpv avi all
|
||||
duti -s io.mpv mkv all
|
||||
duti -s io.mpv mp4 all
|
||||
duti -s io.mpv ts all
|
||||
|
||||
xattr -r -d com.apple.quarantine /Applications/chatterino.app
|
||||
|
||||
brew cleanup --prune=all
|
||||
}
|
||||
|
||||
function install_prettier() {
|
||||
$install prettier
|
||||
$install prettierd
|
||||
}
|
||||
|
||||
function install_google_cloud_sdk() {
|
||||
# Install google cloud sdk
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
$install google-cloud-sdk
|
||||
else
|
||||
curl -s https://sdk.cloud.google.com | bash
|
||||
fi
|
||||
}
|
||||
|
||||
function install_lib_wandio() {
|
||||
local REPO="LibtraceTeam/wandio"
|
||||
local REMOTE_VERSION=$(curl -s \
|
||||
https://api.github.com/repos/$REPO/releases/latest |
|
||||
grep -iEo '"tag_name":.*' |
|
||||
sed 's/"tag_name"://g;s/"//g;s/,//g;s/ //g')
|
||||
local RELEASE="${REMOTE_VERSION}.tar.gz"
|
||||
local DEST="/tmp/wandio-$REMOTE_VERSION.tar.gz"
|
||||
local DEST_FOLDER="/tmp/wandio-$REMOTE_VERSION"
|
||||
|
||||
$install autoconf automake libtool
|
||||
wget https://github.com/$REPO/archive/refs/tags/$RELEASE -O $DEST
|
||||
tar -xvf $DEST -C /tmp
|
||||
cd $DEST_FOLDER || err "Folder $DEST_FOLDER has been NOT found"
|
||||
./bootstrap.sh
|
||||
./configure
|
||||
make -j"$(nproc)"
|
||||
sudo make install && timestamp "Installed the newest version of the $REPO"
|
||||
rm -rfv $DEST $DEST_FOLDER
|
||||
}
|
||||
|
||||
function install_bgpreader() {
|
||||
local CURRENT_VERSION="0.0.0"
|
||||
local REPO="CAIDA/libbgpstream"
|
||||
local NAME="${REPO##*/}"
|
||||
local REMOTE_VERSION=$(curl -s \
|
||||
https://api.github.com/repos/$REPO/releases/latest |
|
||||
grep -iEo '"tag_name":.*' |
|
||||
sed 's/"tag_name"://g;s/"//g;s/,//g;s/ //g')
|
||||
local RELEASE="$NAME-${REMOTE_VERSION/v/}.tar.gz"
|
||||
local DEST="/tmp/$NAME-$REMOTE_VERSION.tar.gz"
|
||||
local DEST_FOLDER="/tmp/$NAME-$REMOTE_VERSION"
|
||||
|
||||
if command_exists bgpreader; then
|
||||
CURRENT_VERSION="v$(bgpreader -v 2>&1 | grep -ioE '[0-9\.]+')"
|
||||
fi
|
||||
|
||||
if [ "$CURRENT_VERSION" == "$REMOTE_VERSION" ]; then
|
||||
timestamp "The current version of the BGPREADER is the same as the newest version"
|
||||
return 0
|
||||
else
|
||||
$install autoconf automake libtool
|
||||
command_start install_lib_wandio
|
||||
wget https://github.com/$REPO/releases/download/$REMOTE_VERSION/$RELEASE -O $DEST
|
||||
tar -xvf $DEST -C /tmp
|
||||
cd /tmp/$NAME-* || err "Folder /tmp/$NAME-* has been NOT found"
|
||||
./configure --without-kafka
|
||||
make -j"$(nproc)"
|
||||
sudo make install && timestamp "Installed the newest version of the $REPO"
|
||||
rm -rfv /tmp/$NAME-*
|
||||
fi
|
||||
}
|
||||
|
||||
function install_font_terminess() {
|
||||
local REPO="ryanoasis/nerd-fonts"
|
||||
local REMOTE_VERSION=$(curl -s \
|
||||
https://api.github.com/repos/$REPO/releases/latest |
|
||||
grep -iEo '"tag_name":.*' |
|
||||
sed 's/"tag_name"://g;s/"//g;s/,//g;s/ //g')
|
||||
local RELEASE="Terminus.zip"
|
||||
local DEST="/tmp/Terminess"
|
||||
|
||||
if [ ! -f $HOME/Library/Fonts/TerminessNerdFont-Regular.ttf ]; then
|
||||
mkdir -p $DEST
|
||||
cd $DEST || err "Folder $DEST has been NOT found"
|
||||
wget https://github.com/$REPO/releases/download/$REMOTE_VERSION/$RELEASE -O $DEST/$RELEASE
|
||||
unzip $RELEASE -d $DEST
|
||||
mv $DEST/*.ttf ~/Library/Fonts
|
||||
cd $HOME || err "Folder $HOME has been NOT found"
|
||||
rm -rfv $DEST
|
||||
fi
|
||||
}
|
||||
|
||||
function main() {
|
||||
command_start update_pip
|
||||
command_start install_neovim_module_for_python
|
||||
command_start install_node
|
||||
command_start install_go
|
||||
# command_start install_pyright
|
||||
command_start install_mdformat
|
||||
command_start install_ruff
|
||||
command_start install_lazy
|
||||
command_start install_dlv
|
||||
command_start install_bash-language-server
|
||||
command_start install_yaml-language-server
|
||||
command_start install_marksman
|
||||
command_start install_shfmt
|
||||
command_start install_shellcheck
|
||||
command_start install_gopls
|
||||
# command_start install_terraform
|
||||
command_start install_terraform_stable
|
||||
command_start install_terragrunt
|
||||
command_start install_azure_cli
|
||||
command_start install_ansible
|
||||
command_start install_ansible-language-server
|
||||
command_start install_ytdlp
|
||||
command_start install_spotifydl
|
||||
command_start install_awscli
|
||||
command_start install_speedtest
|
||||
command_start install_gh_cli
|
||||
command_start install_kubernetes
|
||||
command_start install_rust
|
||||
command_start install_tss_client "1.5.9"
|
||||
command_start install_precommit
|
||||
command_start install_streamlink
|
||||
command_start install_fzf
|
||||
command_start install_prettier
|
||||
command_start install_google_cloud_sdk
|
||||
command_start install_bgpreader
|
||||
command_start install_font_terminess
|
||||
command_start install_zsh_addons
|
||||
command_start install_brew_programs
|
||||
}
|
||||
|
||||
main
|
||||
@@ -1,6 +0,0 @@
|
||||
#/bin/bash
|
||||
function main(){
|
||||
wineapp=$(readlink -f $(whereis wine64))
|
||||
"$wineapp" "~/Applications/Winbox.exe"
|
||||
}
|
||||
main
|
||||
@@ -1,21 +0,0 @@
|
||||
#!/bin/bash
|
||||
source $HOME/.password
|
||||
mkdir -p ~/Movies/{Anime,Videos}
|
||||
mkdir -p ~/Music
|
||||
|
||||
#sudo mount -t cifs //192.168.0.220/Mega -o username=${USERNAME},password=${PASSWORD},vers=2\.0 /mnt/synology
|
||||
#sudo mount -t cifs //192.168.0.220/music -o username=${USERNAME},password=${PASSWORD},vers=2\.0 ~/Music
|
||||
#sudo mount -t cifs //192.168.0.220/usbshare1/Video -o username=${USERNAME},password=${PASSWORD},vers=2\.0 ~/Movies/Videos
|
||||
#sudo mount -t cifs //192.168.0.220/usbshare1/Anime -o username=${USERNAME},password=${PASSWORD},vers=2\.0 ~/Movies/Anime
|
||||
#sudo mount -t cifs //192.168.0.220/Studia -o username=${USERNAME},password=${PASSWORD},vers=2\.0 ~/Collage
|
||||
|
||||
if [ -e /mnt/synology/Systems ]
|
||||
then
|
||||
echo "Starting $(date)" > ~/.cache/.logSynology
|
||||
sudo rsync -r --bwlimit=512 --update --progress /home/yorune/MEGA/ /mnt/synology >> ~/.cache/.logSynology
|
||||
rsync -r --bwlimit=512 --update --progress \
|
||||
/home/yorune/Documents/Mega-Documents/Magisterka-Marcin/ \
|
||||
~/Documents/Collage/Magisterka-Marcin
|
||||
cp -rv /home/yorune/git/{dwm,dwmblocks,st,dmenu,mons,slock} ~/MEGA/Systems/Linux/apps
|
||||
echo "Ending $(date)" >> ~/.cache/.logSynology
|
||||
fi
|
||||
@@ -1,35 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
MEGA_VOLUME="/Volumes/MEGA"
|
||||
MEGA="$HOME/MEGA"
|
||||
STARTED="$HOME/.config/backup-started-$(date +%d-%m)"
|
||||
|
||||
function main() {
|
||||
if [[ ! -e "$STARTED" ]]; then
|
||||
touch "$STARTED" && echo -e "[LOG] $(date) Created the file $STARTED"
|
||||
|
||||
echo -e "[LOG] $(date) Started $HOME/.ssh/ -> $MEGA/ssh"
|
||||
rsync --bwlimit=2048 --update --progress -r "$HOME/.ssh/" "$MEGA/ssh/"
|
||||
echo -e "[LOG] $(date) Finished $HOME/.ssh/ -> $MEGA/ssh"
|
||||
|
||||
echo -e "[LOG] $(date) Started $HOME/.gnupg/ -> $MEGA/gnupg"
|
||||
rsync --bwlimit=2048 --update --progress -r "$HOME/.gnupg/" "$MEGA/gnupg/"
|
||||
echo -e "[LOG] $(date) Finished $HOME/.gnupg/ -> $MEGA/gnupg"
|
||||
|
||||
if [[ -e "$MEGA_VOLUME" ]]; then
|
||||
echo -e "[LOG] $(date) Started $MEGA -> $MEGA_VOLUME"
|
||||
rsync --bwlimit=2048 --update --progress -r --exclude '.DS_Store' \
|
||||
--exclude '.debris' \
|
||||
--exclude 'Icon*' \
|
||||
"$MEGA/" "$MEGA_VOLUME/"
|
||||
else
|
||||
echo -e "[ERROR] The folder $MEGA_VOLUME does NOT exist"
|
||||
fi
|
||||
|
||||
echo -e "[LOG] $(date) Removed the files $STARTED and $STARTED *"
|
||||
rm -rf "$STARTED"
|
||||
rm -rf "$HOME/.config/backup-started-*"
|
||||
fi
|
||||
}
|
||||
|
||||
main >"$HOME/.config/backup.log"
|
||||
@@ -1,58 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# Marcin Wozniak
|
||||
# Last edit: 2023-05-05
|
||||
#
|
||||
# shellcheck disable=1091
|
||||
################################################################################
|
||||
|
||||
set -u
|
||||
set -e
|
||||
|
||||
# Colours
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;0;32m'
|
||||
NC='\033[0m'
|
||||
|
||||
ADDR=$1
|
||||
LOG_FILE="bgp-$ADDR-$(date -I).log"
|
||||
|
||||
function timestamp() {
|
||||
echo -e "${GREEN}[+]${NC} $(date +'%F %T') [INFO] $*"
|
||||
}
|
||||
|
||||
function err() {
|
||||
echo -e "${RED}[-] $(date +'%F %T') [ERROR] $*${NC}" >&2
|
||||
}
|
||||
|
||||
function command_start() {
|
||||
timestamp "Command $* has been started."
|
||||
if ! "$@"; then
|
||||
err "Command $* went wrong."
|
||||
exit 0
|
||||
fi
|
||||
timestamp "Command $* has been ended."
|
||||
}
|
||||
|
||||
function bgpcheck() {
|
||||
timestamp "CHECKING BGP FOR $ADDR at RT.IR9.AMS.NL.retn.net"
|
||||
curl --silent \
|
||||
"https://lg.retn.net/cgi/LG.cgi?r=87&p=4&q=b&a=$ADDR" |
|
||||
sed '/table>/d;/<link/d;/<meta/d;/tr>/d;/td>/d;/query/d;/html/d;/head/d;/title/d;/img/d;/body/d;/center/d;/h2/d;/<p>/d;/<hr /d '
|
||||
timestamp "---------------------------------------"
|
||||
|
||||
timestamp "CHECKING BGP FOR $ADDR at RT.NIA.POZ.PL.retn.net"
|
||||
curl --silent \
|
||||
"https://lg.retn.net/cgi/LG.cgi?r=ab&p=4&q=b&a=$ADDR" |
|
||||
sed '/table>/d;/<link/d;/<meta/d;/tr>/d;/td>/d;/query/d;/html/d;/head/d;/title/d;/img/d;/body/d;/center/d;/h2/d;/<p>/d;/<hr /d'
|
||||
timestamp "---------------------------------------"
|
||||
|
||||
}
|
||||
|
||||
function main() {
|
||||
command_start bgpcheck
|
||||
}
|
||||
|
||||
main | tee "$LOG_FILE"
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/bin/bash
|
||||
chmod +x *
|
||||
chown -R yorune: *
|
||||
sudo cp -pr * /bin/
|
||||
#sudo cp /etc/bash.bashrc ../configs
|
||||
#cp /home/yorune/Arch/configs/zshrc /home/yorune/.zshrc
|
||||
#cp /home/yorune/Arch/configs/vimrc /home/yorune/.vimrc
|
||||
echo DONE!!
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
export GTK_IM_MODULE=ibus
|
||||
export XMODIFIERS=@im=ibus
|
||||
export QT_IM_MODULE=ibus
|
||||
|
||||
KERNEL=$(uname -sr)
|
||||
[[ $KERNEL =~ "icrosoft" ]] && "/mnt/c/Program Files/Mozilla Firefox/firefox.exe" "$@"
|
||||
[[ $KERNEL =~ "gentoo" ]] && GDK_DPI_SCALE="1.2" firefox "$@"
|
||||
[[ $KERNEL =~ "Darwin" ]] && open -a Firefox\ Nightly "$@"
|
||||
#[[ $KERNEL =~ "gentoo" ]] && __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 __GLX_VENDOR_LIBRARY_NAME=nvidia __GL_SYNC_TO_VBLANK=0 GDK_DPI_SCALE="1.2" firefox "$@"
|
||||
|
||||
# Firefox
|
||||
# media.ffmpeg.vaapi.enabled -> true
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/usr/bin/python3.8
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from chardet.cli.chardetect import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
@@ -1,2 +0,0 @@
|
||||
#!/bin/bash
|
||||
java -jar "$HOME"/.local/bin/Chatty/Chatty.jar 2>/dev/null
|
||||
@@ -1,21 +0,0 @@
|
||||
#!/bin/bash
|
||||
cidr2mask() {
|
||||
local i mask=""
|
||||
local full_octets=$(($1 / 8))
|
||||
local partial_octet=$(($1 % 8))
|
||||
|
||||
for ((i = 0; i < 4; i += 1)); do
|
||||
if [ $i -lt $full_octets ]; then
|
||||
mask+=255
|
||||
elif [ $i -eq $full_octets ]; then
|
||||
mask+=$((256 - 2 ** (8 - partial_octet)))
|
||||
else
|
||||
mask+=0
|
||||
fi
|
||||
test $i -lt 3 && mask+=.
|
||||
done
|
||||
|
||||
echo $mask
|
||||
}
|
||||
|
||||
cidr2mask "$@"
|
||||
@@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
"$HOME/.local/bin/cleanertmp"
|
||||
sudo emerge -a --depclean
|
||||
sudo emerge -a @preserved-rebuild
|
||||
sudo eclean -C -q packages
|
||||
sudo eclean -C -q -d -t1w distfiles
|
||||
sudo revdep-rebuild
|
||||
sudo perl-cleaner --all
|
||||
sudo etc-update
|
||||
sudo env-update
|
||||
source /etc/profile
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/bin/bash
|
||||
sudo rm -rf /var/tmp/portage/*
|
||||
sudo rm -rf /var/tmp/binpkgs/*
|
||||
sudo rm -rf /var/tmp/genkernel/*
|
||||
sudo rm -rf /var/cache/genkernel/*
|
||||
sudo rm -rf /var/tmpnotmpfs/portage/*
|
||||
sudo eclean-dist -d
|
||||
sudo eclean-pkg -d
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/bin/bash
|
||||
pkill -RTMIN+11 dwmblocks
|
||||
[ "$1" = "play" ] && cmus-remote -u
|
||||
[ "$1" = "next" ] && cmus-remote -n
|
||||
[ "$1" = "prev" ] && cmus-remote -r
|
||||