Split up configs into seperate packages
This commit is contained in:
90
base/.Xresources
Normal file
90
base/.Xresources
Normal file
@ -0,0 +1,90 @@
|
||||
! Base colors
|
||||
*.foreground: #E1E1E1
|
||||
*.background: #1c2023
|
||||
*.cursorColor: #778899
|
||||
|
||||
*.color0: #1c2023
|
||||
*.color1: #bf616a
|
||||
*.color2: #a3be8c
|
||||
*.color3: #ebcb8b
|
||||
*.color4: #8fa1b3
|
||||
*.color5: #b48ead
|
||||
*.color6: #96b5b4
|
||||
*.color7: #E1E1E1
|
||||
*.color8: #919ba0
|
||||
*.color9: #bf616a
|
||||
*.color10: #a3be8c
|
||||
*.color11: #ebcb8b
|
||||
*.color12: #8fa1b3
|
||||
*.color13: #b48ead
|
||||
*.color14: #96b5b4
|
||||
*.color15: #c0c5ce
|
||||
|
||||
! Rofi
|
||||
rofi.font: monospace 12
|
||||
rofi.padding: 20
|
||||
rofi.line-padding: 2
|
||||
rofi.color-enabled: true
|
||||
rofi.hide-scrollbar: true
|
||||
rofi.separator-style: solid
|
||||
rofi.color-window: #1c2023, #919ba0, #1c2023
|
||||
rofi.color-normal: #1c2023, #919ba0, #1c2023, #a4a4a4, #1c2023
|
||||
rofi.color-urgent: argb:00000000, #f43753, argb:00000000, argb:00000000, #e29a49
|
||||
rofi.color-active: argb:00000000, #49bbfb, argb:00000000, argb:00000000, #e29a49
|
||||
rofi.kb-cancel: Escape,Alt+F1
|
||||
|
||||
! xterm
|
||||
xterm*termName: xterm-256color
|
||||
xterm*font: monospace
|
||||
xterm*faceName: monospace:size=11
|
||||
xterm*loginShell: true
|
||||
xterm*vt100*geometry: 90x34
|
||||
xterm*saveLines: 2000
|
||||
xterm*charClass: 33:48,35:48,37:48,43:48,45-47:48,64:48,95:48,126:48
|
||||
xterm*eightBitInput: false
|
||||
|
||||
! URxvt
|
||||
URxvt*saveline: 15000
|
||||
URxvt*termName: rxvt-256color
|
||||
URxvt*iso14755: false
|
||||
URxvt*depth: 32
|
||||
URxvt*background: [95]#1C2023
|
||||
URxvt*scrollBar: false
|
||||
URxvt*scrollBar_right: false
|
||||
URxvt*internalBorder: 0
|
||||
URxvt*externalBorder: 0
|
||||
URxvt*letterSpace: -1
|
||||
URxvt.font: xft:monospace:size=11
|
||||
URxvt.perl-ext-common: default,clipboard,url-select,keyboard-select
|
||||
URxvt.copyCommand: xclip -i -selection clipboard
|
||||
URxvt.pasteCommand: xclip -o -selection clipboard
|
||||
URxvt.keysym.m-c: perl:clipboard:copy
|
||||
URxvt.keysym.m-v: perl:clipboard:paste
|
||||
URxvt.urlLauncher: exo-open
|
||||
URxvt.underlineURLs: true
|
||||
URxvt.urlButton: 1
|
||||
URxvt.geometry: 90x34
|
||||
URxvt.tabbed.tabbar-fg: 4
|
||||
URxvt.tabbed.tabbar-bg: 16
|
||||
URxvt.tabbed.tab-fg: 15
|
||||
URxvt.tabbed.tab-bg: 4
|
||||
URxvt*buffered: false
|
||||
|
||||
! UXTerm
|
||||
UXTerm*termName: xterm-256color
|
||||
UXTerm*cursorColor: white
|
||||
UXTerm*VT100.geometry: 90x34
|
||||
UXTerm*font: monospace
|
||||
UXTerm*faceSize: 11
|
||||
UXTerm*dynamicColors: true
|
||||
UXTerm*utf8: 2
|
||||
UXTerm*eightBitInput: true
|
||||
UXTerm*saveLines: 10000
|
||||
UXTerm*scrollKey: true
|
||||
UXTerm*scrollTtyOutput: false
|
||||
UXTerm*scrollBar: false
|
||||
UXTerm*rightScrollBar: false
|
||||
UXTerm*jumpScroll: true
|
||||
UXTerm*multiScroll: true
|
||||
UXTerm*toolBar: false
|
||||
|
64
base/.config/compton.conf
Normal file
64
base/.config/compton.conf
Normal file
@ -0,0 +1,64 @@
|
||||
# Shadow
|
||||
shadow = true;
|
||||
no-dnd-shadow = true;
|
||||
no-dock-shadow = true;
|
||||
shadow-radius = 7;
|
||||
shadow-offset-x = -7;
|
||||
shadow-offset-y = -7;
|
||||
shadow-opacity = 0.60;
|
||||
|
||||
# Opacity
|
||||
menu-opacity = 1.0;
|
||||
inactive-opacity = 1.0;
|
||||
active-opacity = 1.0;
|
||||
inactive-opacity-override = false;
|
||||
|
||||
# Fade
|
||||
fading = true;
|
||||
fade-delta = 8.0;
|
||||
fade-in-step = 0.03;
|
||||
fade-out-step = 0.028;
|
||||
alpha-step = 0.06;
|
||||
|
||||
# Backend
|
||||
backend = "xrender";
|
||||
vsync = "none";
|
||||
mark-wmwin-focused = true;
|
||||
unredir-if-possible = true;
|
||||
detect-rounded-corners = true;
|
||||
|
||||
opacity-rule = [
|
||||
"0:_NET_WM_STATE@:32a * = '_NET_WM_STATE_HIDDEN'"
|
||||
];
|
||||
|
||||
shadow-exclude = [
|
||||
"name *?= 'Notification'",
|
||||
"class_g *?= 'jgmenu'",
|
||||
"class_g *?= 'VirtualBox'",
|
||||
"class_g *?= 'Conky'",
|
||||
"class_g *?= 'Notify-osd'",
|
||||
"class_g *?= 'cairo-dock'",
|
||||
"class_g *?= 'trayer'",
|
||||
"class_g *?= 'i3-frame'",
|
||||
"class_g *?= 'firefox'",
|
||||
"class_g *?= 'navigator'",
|
||||
"class_g *?= 'Cairo-clock'",
|
||||
"class_g *?= 'Cairo-dock'",
|
||||
"class_g *?= 'plank'",
|
||||
"class_g *?= 'Docky'",
|
||||
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
focus-exclude = [
|
||||
"class_g *?= 'Cairo-clock'",
|
||||
"class_g *?= 'Virtualbox'",
|
||||
"class_g *?= 'trayer'",
|
||||
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
|
||||
"name *?= 'Authy'"
|
||||
];
|
||||
|
||||
wintypes:
|
||||
{
|
||||
tooltip = { fade = true; shadow = true; focus = true; };
|
||||
};
|
369
base/.config/dunst/dunstrc
Normal file
369
base/.config/dunst/dunstrc
Normal file
@ -0,0 +1,369 @@
|
||||
[global]
|
||||
### Display ###
|
||||
|
||||
# Which monitor should the notifications be displayed on.
|
||||
monitor = 0
|
||||
|
||||
# Display notification on focused monitor. Possible modes are:
|
||||
# mouse: follow mouse pointer
|
||||
# keyboard: follow window with keyboard focus
|
||||
# none: don't follow anything
|
||||
#
|
||||
# "keyboard" needs a window manager that exports the
|
||||
# _NET_ACTIVE_WINDOW property.
|
||||
# This should be the case for almost all modern window managers.
|
||||
#
|
||||
# If this option is set to mouse or keyboard, the monitor option
|
||||
# will be ignored.
|
||||
follow = none
|
||||
|
||||
# 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 = "597x25+100+50"
|
||||
|
||||
# Show how many messages are currently hidden (because of geometry).
|
||||
indicate_hidden = yes
|
||||
|
||||
# Shrink window if it's smaller than the width. Will be ignored if
|
||||
# width is 0.
|
||||
shrink = no
|
||||
|
||||
# The transparency of the window. Range: [0; 100].
|
||||
# This option will only work if a compositing window manager is
|
||||
# present (e.g. xcompmgr, compiz, etc.).
|
||||
transparency = 0
|
||||
|
||||
# The height of the entire notification. If the height is smaller
|
||||
# than the font height and padding combined, it will be raised
|
||||
# to the font height and padding.
|
||||
notification_height = 0
|
||||
|
||||
# Draw a line of "separator_height" pixel height between two
|
||||
# notifications.
|
||||
# Set to 0 to disable.
|
||||
separator_height = 0
|
||||
|
||||
# Padding between text and separator.
|
||||
padding = 8
|
||||
|
||||
# Horizontal padding.
|
||||
horizontal_padding = 8
|
||||
|
||||
# Defines width in pixels of frame around the notification window.
|
||||
# Set to 0 to disable.
|
||||
frame_width = 1
|
||||
|
||||
# Defines color of the frame around the notification window.
|
||||
frame_color = "#a4a4a4"
|
||||
|
||||
# Define a color for the separator.
|
||||
# possible values are:
|
||||
# * auto: dunst tries to find a color fitting to the background;
|
||||
# * foreground: use the same color as the foreground;
|
||||
# * frame: use the same color as the frame;
|
||||
# * anything else will be interpreted as a X color.
|
||||
separator_color = frame
|
||||
|
||||
# Sort messages by urgency.
|
||||
sort = yes
|
||||
|
||||
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||
# for longer than idle_threshold seconds.
|
||||
# Set to 0 to disable.
|
||||
# Transient notifications ignore this setting.
|
||||
idle_threshold = 120
|
||||
|
||||
### Text ###
|
||||
|
||||
font = sans 10
|
||||
|
||||
|
||||
# The spacing between lines. If the height is smaller than the
|
||||
# font height, it will get raised to the font height.
|
||||
line_height = 0
|
||||
|
||||
# Possible values are:
|
||||
# full: Allow a small subset of html markup in notifications:
|
||||
# <b>bold</b>
|
||||
# <i>italic</i>
|
||||
# <s>strikethrough</s>
|
||||
# <u>underline</u>
|
||||
#
|
||||
# For a complete reference see
|
||||
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
|
||||
#
|
||||
# strip: This setting is provided for compatibility with some broken
|
||||
# clients that send markup even though it's not enabled on the
|
||||
# server. Dunst will try to strip the markup but the parsing is
|
||||
# simplistic so using this option outside of matching rules for
|
||||
# specific applications *IS GREATLY DISCOURAGED*.
|
||||
#
|
||||
# no: Disable markup parsing, incoming notifications will be treated as
|
||||
# plain text. Dunst will not advertise that it has the body-markup
|
||||
# capability if this is set as a global setting.
|
||||
#
|
||||
# It's important to note that markup inside the format option will be parsed
|
||||
# regardless of what this is set to.
|
||||
markup = full
|
||||
|
||||
# The format of the message. Possible variables are:
|
||||
# %a appname
|
||||
# %s summary
|
||||
# %b body
|
||||
# %i iconname (including its path)
|
||||
# %I iconname (without its path)
|
||||
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||
# %n progress value if set without any extra characters
|
||||
# %% Literal %
|
||||
# Markup is allowed
|
||||
format = "<b>%s</b>\n%b"
|
||||
|
||||
# Alignment of message text.
|
||||
# Possible values are "left", "center" and "right".
|
||||
alignment = left
|
||||
|
||||
# Show age of message if message is older than show_age_threshold
|
||||
# seconds.
|
||||
# Set to -1 to disable.
|
||||
show_age_threshold = 60
|
||||
|
||||
# Split notifications into multiple lines if they don't fit into
|
||||
# geometry.
|
||||
word_wrap = yes
|
||||
|
||||
# When word_wrap is set to no, specify where to make an ellipsis in long lines.
|
||||
# Possible values are "start", "middle" and "end".
|
||||
ellipsize = middle
|
||||
|
||||
# Ignore newlines '\n' in notifications.
|
||||
ignore_newline = no
|
||||
|
||||
# Merge multiple notifications with the same content
|
||||
stack_duplicates = true
|
||||
|
||||
# Hide the count of merged notifications with the same content
|
||||
hide_duplicate_count = false
|
||||
|
||||
# Display indicators for URLs (U) and actions (A).
|
||||
show_indicators = yes
|
||||
|
||||
### Icons ###
|
||||
|
||||
# Align icons left/right/off
|
||||
icon_position = right
|
||||
|
||||
# Scale larger icons down to this size, set to 0 to disable
|
||||
max_icon_size = 150
|
||||
|
||||
# Paths to default icons.
|
||||
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
||||
|
||||
### History ###
|
||||
|
||||
# Should a notification popped up from history be sticky or timeout
|
||||
# as if it would normally do.
|
||||
sticky_history = yes
|
||||
|
||||
# Maximum amount of notifications kept in history
|
||||
history_length = 200
|
||||
|
||||
### Misc/Advanced ###
|
||||
|
||||
# dmenu path.
|
||||
dmenu = /usr/bin/dmenu -p dunst:
|
||||
|
||||
# Browser for opening urls in context menu.
|
||||
browser = /usr/bin/firefox -new-tab
|
||||
|
||||
# Always run rule-defined scripts, even if the notification is suppressed
|
||||
always_run_script = true
|
||||
|
||||
# Define the title of the windows spawned by dunst
|
||||
title = Dunst
|
||||
|
||||
# Define the class of the windows spawned by dunst
|
||||
class = Dunst
|
||||
|
||||
# Print a notification on startup.
|
||||
# This is mainly for error detection, since dbus (re-)starts dunst
|
||||
# automatically after a crash.
|
||||
startup_notification = false
|
||||
|
||||
# Manage dunst's desire for talking
|
||||
# Can be one of the following values:
|
||||
# crit: Critical features. Dunst aborts
|
||||
# warn: Only non-fatal warnings
|
||||
# mesg: Important Messages
|
||||
# info: all unimportant stuff
|
||||
# debug: all less than unimportant stuff
|
||||
verbosity = mesg
|
||||
|
||||
# Define the corner radius of the notification window
|
||||
# in pixel size. If the radius is 0, you have no rounded
|
||||
# corners.
|
||||
# The radius will be automatically lowered if it exceeds half of the
|
||||
# notification height to avoid clipping text and/or icons.
|
||||
corner_radius = 0
|
||||
|
||||
### Legacy
|
||||
|
||||
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
||||
# This setting is provided for compatibility with older nVidia drivers that
|
||||
# do not support RandR and using it on systems that support RandR is highly
|
||||
# discouraged.
|
||||
#
|
||||
# By enabling this setting dunst will not be able to detect when a monitor
|
||||
# is connected or disconnected which might break follow mode if the screen
|
||||
# layout changes.
|
||||
force_xinerama = false
|
||||
|
||||
### mouse
|
||||
|
||||
# Defines action of mouse event
|
||||
# Possible values are:
|
||||
# * none: Don't do anything.
|
||||
# * do_action: If the notification has exactly one action, or one is marked as default,
|
||||
# invoke it. If there are multiple and no default, open the context menu.
|
||||
# * close_current: Close current notification.
|
||||
# * close_all: Close all notifications.
|
||||
mouse_left_click = close_current
|
||||
mouse_middle_click = do_action
|
||||
mouse_right_click = close_all
|
||||
|
||||
# Experimental features that may or may not work correctly. Do not expect them
|
||||
# to have a consistent behaviour across releases.
|
||||
[experimental]
|
||||
# Calculate the dpi to use on a per-monitor basis.
|
||||
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
||||
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
||||
# using the resolution and physical size. This might be useful in setups
|
||||
# where there are multiple screens with very different dpi values.
|
||||
per_monitor_dpi = false
|
||||
|
||||
[shortcuts]
|
||||
|
||||
# Shortcuts are specified as [modifier+][modifier+]...key
|
||||
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
|
||||
# "mod3" and "mod4" (windows-key).
|
||||
# Xev might be helpful to find names for keys.
|
||||
|
||||
# Close notification.
|
||||
close = ctrl+space
|
||||
|
||||
# Close all notifications.
|
||||
close_all = ctrl+shift+space
|
||||
|
||||
# Redisplay last message(s).
|
||||
# On the US keyboard layout "grave" is normally above TAB and left
|
||||
# of "1". Make sure this key actually exists on your keyboard layout,
|
||||
# e.g. check output of 'xmodmap -pke'
|
||||
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 = "#1c2023"
|
||||
foreground = "#a4a4a4"
|
||||
timeout = 5
|
||||
# Icon for notifications with low urgency, uncomment to enable
|
||||
#icon = /path/to/icon
|
||||
|
||||
[urgency_normal]
|
||||
background = "#1c2023"
|
||||
foreground = "#a4a4a4"
|
||||
timeout = 5
|
||||
# Icon for notifications with normal urgency, uncomment to enable
|
||||
#icon = /path/to/icon
|
||||
|
||||
[urgency_critical]
|
||||
background = "#1c2023"
|
||||
foreground = "#a4a4a4"
|
||||
frame_color = "#a4a4a4"
|
||||
timeout = 10
|
||||
# Icon for notifications with critical urgency, uncomment to enable
|
||||
#icon = /path/to/icon
|
||||
|
||||
# Every section that isn't one of the above is interpreted as a rules to
|
||||
# override settings for certain messages.
|
||||
# Messages can be matched by "appname", "summary", "body", "icon", "category",
|
||||
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
|
||||
# "background", "frame_color", "new_icon" and "format", "fullscreen".
|
||||
# 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.
|
||||
|
||||
# fullscreen values
|
||||
# show: show the notifications, regardless if there is a fullscreen window opened
|
||||
# delay: displays the new notification, if there is no fullscreen window active
|
||||
# If the notification is already drawn, it won't get undrawn.
|
||||
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
||||
# withdrawn from screen again and will get delayed like a new notification
|
||||
|
||||
#[fullscreen_delay_everything]
|
||||
# fullscreen = delay
|
||||
#[fullscreen_show_critical]
|
||||
# msg_urgency = critical
|
||||
# fullscreen = show
|
||||
|
||||
#[espeak]
|
||||
# summary = "*"
|
||||
# script = dunst_espeak.sh
|
||||
|
||||
#[script-test]
|
||||
# summary = "*script*"
|
||||
# script = dunst_test.sh
|
||||
|
||||
#[ignore]
|
||||
# # This notification will not be displayed
|
||||
# summary = "foobar"
|
||||
# format = ""
|
||||
|
||||
#[history-ignore]
|
||||
# # This notification will not be saved in history
|
||||
# summary = "foobar"
|
||||
# history_ignore = yes
|
||||
|
||||
#[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
|
52
base/.config/fontconfig/fonts.conf
Normal file
52
base/.config/fontconfig/fonts.conf
Normal file
@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<match target="font">
|
||||
<!-- <edit mode="assign" name="hinting" > -->
|
||||
<!-- <bool>true</bool> -->
|
||||
<!-- </edit> -->
|
||||
<!-- <edit mode="assign" name="hintstyle" > -->
|
||||
<!-- <const>hintslight</const> -->
|
||||
<!-- </edit> -->
|
||||
<!-- <edit mode="assign" name="rgba" > -->
|
||||
<!-- <const>rgb</const> -->
|
||||
<!-- </edit> -->
|
||||
<edit mode="assign" name="antialias" >
|
||||
<bool>true</bool>
|
||||
</edit>
|
||||
<!-- <edit mode="assign" name="lcdfilter"> -->
|
||||
<!-- <const>lcddefault</const> -->
|
||||
<!-- </edit> -->
|
||||
</match>
|
||||
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>DejaVu Serif</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>DejaVu Sans</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans</family>
|
||||
<prefer>
|
||||
<family>DejaVu Sans</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>DejaVu Sans Mono</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>mono</family>
|
||||
<prefer>
|
||||
<family>DejaVu Sans Mono</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
125
base/.config/geany/colorschemes/archlabs-dARK.conf
Normal file
125
base/.config/geany/colorschemes/archlabs-dARK.conf
Normal file
@ -0,0 +1,125 @@
|
||||
# Geany Base16 Template
|
||||
# Rob Loach (http://robloach.net)
|
||||
#
|
||||
# Copyright (c) 2013 Rob Loach
|
||||
#
|
||||
# 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.
|
||||
|
||||
# Edited for use with ArchLabs Linux by Matthew Dobson (matt@archlabslinux.com) July 2018.
|
||||
# Minor colour changes to suit default theme ArchLabs-dARK.
|
||||
|
||||
[theme_info]
|
||||
name=ArchLabs-dARK
|
||||
description=Based upon original colour scheme Base16 Twilight, ArchLabs-dARK provides carefully chosen syntax highlighting and a default set of sixteen colors suitable for a wide range of applications.
|
||||
version=0.2.2
|
||||
author=Rob Loach (http://robloach.net)
|
||||
url=http://github.com/robloach/base16-geany
|
||||
|
||||
[named_styles]
|
||||
default=#a4a4a4;#292929;false;false
|
||||
error=#cf6a4c
|
||||
|
||||
# Editor Styles
|
||||
#-------------------------------------------------------------------------------
|
||||
selection=#838184;#5f5a60;false;true
|
||||
current_line=;#464b50;true;false
|
||||
brace_good=#f9ee98;;true;false
|
||||
brace_bad=#cf6a4c;#464b50;true;false
|
||||
margin_line_number=#5f5a60;#464b50;true;false
|
||||
margin_folding=#5f5a60
|
||||
fold_symbol_highlight=#323537
|
||||
indent_guide=#464b50
|
||||
caret=#a7a7a7
|
||||
marker_line=#a4a4a4
|
||||
marker_search=#a4a4a4;#8f9d6a;false;false
|
||||
marker_mark=#a4a4a4;#8f9d6a;
|
||||
call_tips=#838184;;false;false
|
||||
white_space=#5f5a60;;true;false
|
||||
|
||||
# Programming languages
|
||||
#-------------------------------------------------------------------------------
|
||||
comment=#838184
|
||||
comment_doc=#838184
|
||||
comment_line=#838184
|
||||
comment_line_doc=#838184
|
||||
comment_doc_keyword=#838184;;true;false
|
||||
comment_doc_keyword_error=#838184;;false;true
|
||||
|
||||
number=#8f9d6a
|
||||
number_1=#cda869
|
||||
number_2=#cda869
|
||||
|
||||
type=#f9ee98;;true
|
||||
# Person.rb = Person
|
||||
class=#f9ee98;;true
|
||||
# Person.rb = initialize
|
||||
# PHP
|
||||
function=#7587a6;;false;false
|
||||
parameter=#c3c3c3
|
||||
|
||||
keyword=#9b703f;;true;false
|
||||
# Person.rb = class, include, def, end, attr_accessor, etc
|
||||
# PHP = include_once(), if elseif else
|
||||
keyword_1=#9b859d;;false;false
|
||||
keyword_2=#cda869;;false;false
|
||||
keyword_3=#a7a7a7;;false;false
|
||||
keyword_4=#cda869;;false;true
|
||||
|
||||
identifier=#a7a7a7;;false;false
|
||||
# Person.rb = ActiveModel::Conversion
|
||||
identifier_1=#a7a7a7;;false;false
|
||||
identifier_2=#a7a7a7;;false;false
|
||||
identifier_3=#7587a6;;true;false
|
||||
identifier_4=#9b859d;;false;false
|
||||
|
||||
string=#cda869
|
||||
string_1=#8f9d6a
|
||||
string_2=#8f9d6a
|
||||
string_3=#a7a7a7
|
||||
string_4=#7587a6
|
||||
string_eol=#9b859d;;false;true
|
||||
|
||||
character=string_1
|
||||
backtick=#f9ee98
|
||||
here_doc=#f9ee98
|
||||
scalar=#f9ee98
|
||||
label=#c3c3c3;;true;false
|
||||
# Person.rb = :name
|
||||
# PHP = $_GET
|
||||
preprocessor=#7587a6
|
||||
regex=number_1
|
||||
operator=#afc4db;;false;false
|
||||
decorator=#7587a6;;false;false
|
||||
other=#cf6a4c
|
||||
|
||||
# Markup-type languages
|
||||
#-------------------------------------------------------------------------------
|
||||
tag=#f9ee98;;true;false
|
||||
tag_unknown=#cf6a4c;;true;false
|
||||
tag_end=#f9ee98;;false;false
|
||||
attribute=#cda869;;false;false
|
||||
attribute_unknown=#8f9d6a;;false;false
|
||||
value=#7587a6
|
||||
entity=#f9ee98
|
||||
|
||||
# Diff
|
||||
#-------------------------------------------------------------------------------
|
||||
line_added=#8f9d6a
|
||||
line_removed=#cf6a4c
|
||||
line_changed=#7587a6
|
122
base/.config/geany/colorschemes/archlabs-dark.conf
Normal file
122
base/.config/geany/colorschemes/archlabs-dark.conf
Normal file
@ -0,0 +1,122 @@
|
||||
# Geany Base16 Template
|
||||
# Rob Loach (http://robloach.net)
|
||||
#
|
||||
# Copyright (c) 2013 Rob Loach
|
||||
#
|
||||
# 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.
|
||||
|
||||
[theme_info]
|
||||
name=ArchLabs Dark
|
||||
description=Based on Ocean providing carefully chosen syntax highlighting and a default set of sixteen colors suitable for a wide range of applications.
|
||||
version=0.2.2
|
||||
author=Rob Loach (http://robloach.net)
|
||||
url=http://github.com/robloach/base16-geany
|
||||
|
||||
[named_styles]
|
||||
default=#eff1f5;#2b303b;false;false
|
||||
error=#bf616a
|
||||
|
||||
# Editor Styles
|
||||
#-------------------------------------------------------------------------------
|
||||
selection=#a7adba;#65737e;false;true
|
||||
current_line=;#4f5b66;false;false
|
||||
brace_good=#ebcb8b;;true;false
|
||||
brace_bad=#bf616a;#4f5b66;true;false
|
||||
margin_line_number=#65737e;#4f5b66;true;false
|
||||
margin_folding=#65737e
|
||||
fold_symbol_highlight=#343d46
|
||||
indent_guide=#4f5b66
|
||||
caret=#c0c5ce
|
||||
marker_line=#eff1f5
|
||||
marker_search=#eff1f5;#a3be8c;false;false
|
||||
marker_mark=#eff1f5;#a3be8c;
|
||||
call_tips=#a7adba;;false;false
|
||||
white_space=#65737e;;true;false
|
||||
|
||||
# Programming languages
|
||||
#-------------------------------------------------------------------------------
|
||||
comment=#a7adba
|
||||
comment_doc=#a7adba
|
||||
comment_line=#a7adba
|
||||
comment_line_doc=#a7adba
|
||||
comment_doc_keyword=#a7adba;;true;false
|
||||
comment_doc_keyword_error=#a7adba;;false;true
|
||||
|
||||
number=#a3be8c
|
||||
number_1=#d08770
|
||||
number_2=#d08770
|
||||
|
||||
type=#ebcb8b;;true
|
||||
# Person.rb = Person
|
||||
class=#ebcb8b;;true
|
||||
# Person.rb = initialize
|
||||
# PHP
|
||||
function=#8fa1b3;;false;false
|
||||
parameter=#dfe1e8
|
||||
|
||||
keyword=#ab7967;;true;false
|
||||
# Person.rb = class, include, def, end, attr_accessor, etc
|
||||
# PHP = include_once(), if elseif else
|
||||
keyword_1=#b48ead;;false;false
|
||||
keyword_2=#d08770;;false;false
|
||||
keyword_3=#c0c5ce;;false;false
|
||||
keyword_4=#d08770;;false;true
|
||||
|
||||
identifier=#c0c5ce;;false;false
|
||||
# Person.rb = ActiveModel::Conversion
|
||||
identifier_1=#c0c5ce;;false;false
|
||||
identifier_2=#c0c5ce;;false;false
|
||||
identifier_3=#8fa1b3;;true;false
|
||||
identifier_4=#b48ead;;false;false
|
||||
|
||||
string=#d08770
|
||||
string_1=#a3be8c
|
||||
string_2=#a3be8c
|
||||
string_3=#c0c5ce
|
||||
string_4=#8fa1b3
|
||||
string_eol=#b48ead;;false;true
|
||||
|
||||
character=string_1
|
||||
backtick=#ebcb8b
|
||||
here_doc=#ebcb8b
|
||||
scalar=#ebcb8b
|
||||
label=#dfe1e8;;true;false
|
||||
# Person.rb = :name
|
||||
# PHP = $_GET
|
||||
preprocessor=#8fa1b3
|
||||
regex=number_1
|
||||
operator=#96b5b4;;false;false
|
||||
decorator=#8fa1b3;;false;false
|
||||
other=#bf616a
|
||||
|
||||
# Markup-type languages
|
||||
#-------------------------------------------------------------------------------
|
||||
tag=#ebcb8b;;true;false
|
||||
tag_unknown=#bf616a;;true;false
|
||||
tag_end=#ebcb8b;;false;false
|
||||
attribute=#d08770;;false;false
|
||||
attribute_unknown=#a3be8c;;false;false
|
||||
value=#8fa1b3
|
||||
entity=#ebcb8b
|
||||
|
||||
# Diff
|
||||
#-------------------------------------------------------------------------------
|
||||
line_added=#a3be8c
|
||||
line_removed=#bf616a
|
||||
line_changed=#8fa1b3
|
114
base/.config/geany/colorschemes/archlabs-light.conf
Normal file
114
base/.config/geany/colorschemes/archlabs-light.conf
Normal file
@ -0,0 +1,114 @@
|
||||
# Geany Base16 Template
|
||||
# Rob Loach (http://robloach.net)
|
||||
#
|
||||
# Copyright (c) 2013 Rob Loach
|
||||
#
|
||||
# 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.
|
||||
|
||||
[theme_info]
|
||||
name=ArchLabs Light
|
||||
description=Based on Ocean providing carefully chosen syntax highlighting and a default set of sixteen colors suitable for a wide range of applications.
|
||||
version=0.2.2
|
||||
author=Rob Loach (http://robloach.net)
|
||||
url=http://github.com/robloach/base16-geany
|
||||
|
||||
[named_styles]
|
||||
default=#4f5b66;#E0E0E0;false;false
|
||||
error=#EF7878
|
||||
|
||||
# Editor Styles
|
||||
#-------------------------------------------------------------------------------
|
||||
selection=#a7adba;#bcbbb8;false;true
|
||||
current_line=;#e5e3de;false;false
|
||||
brace_good=#064768;;false;false
|
||||
brace_bad=#EF7878;#4f5b66;false;false
|
||||
margin_line_number=#65737e;#4f5b66;true;false
|
||||
margin_folding=#65737e
|
||||
fold_symbol_highlight=#343d46
|
||||
indent_guide=#4f5b66
|
||||
caret=#686c72
|
||||
marker_line=#686c72
|
||||
marker_search=#686c72;#064768;false;false
|
||||
marker_mark=#686c72;#064768;
|
||||
call_tips=#686c72;;false;false
|
||||
white_space=#4d5966;;true;false
|
||||
|
||||
# Programming languages
|
||||
#-------------------------------------------------------------------------------
|
||||
comment=#a5a4a2
|
||||
comment_doc=#a5a4a2
|
||||
comment_line=#a5a4a2
|
||||
comment_line_doc=#a5a4a2
|
||||
comment_doc_keyword=#064768;;true;false
|
||||
comment_doc_keyword_error=#72483b;;false;true
|
||||
|
||||
number=#4E88CF
|
||||
number_1=#4E88CF
|
||||
number_2=#4E88CF
|
||||
|
||||
type=#FF9157;;true
|
||||
class=#FF9157;;true
|
||||
function=#FF9157;;false;false
|
||||
parameter=#064768
|
||||
|
||||
keyword=#78A078;;true;false
|
||||
keyword_1=#78A078;;false;false
|
||||
keyword_2=#78A078;;false;false
|
||||
keyword_3=#78A078;;false;false
|
||||
keyword_4=#AF86C8;;false;true
|
||||
|
||||
identifier=#CE9D00;;false;false
|
||||
identifier_1=#CE9D00;;false;false
|
||||
identifier_2=#AF86C8;;false;false
|
||||
identifier_3=#AF86C8;;true;false
|
||||
identifier_4=#AF86C8;;false;false
|
||||
|
||||
string=#4ec0e8
|
||||
string_1=#4ec0e8
|
||||
string_2=#4ec0e8
|
||||
string_3=#4ec0e8
|
||||
string_4=#4ec0e8
|
||||
string_eol=#EF7878;;false;true
|
||||
|
||||
character=string_1
|
||||
backtick=#4E88CF
|
||||
here_doc=#4E88CF
|
||||
scalar=#4E88CF
|
||||
label=#4E88CF;;true;false
|
||||
preprocessor=#4E88CF
|
||||
regex=number_1
|
||||
operator=#4E88CF;;false;false
|
||||
decorator=#4E88CF;;false;false
|
||||
other=#4E88CF
|
||||
|
||||
# Markup-type languages
|
||||
#-------------------------------------------------------------------------------
|
||||
tag=#FF9157;;true;false
|
||||
tag_unknown=#EF7878;;true;false
|
||||
tag_end=#FF9157;;false;false
|
||||
attribute=#78a078;;false;false
|
||||
attribute_unknown=#a56f5e;;false;false
|
||||
value=#4E88CF
|
||||
entity=#FF9157
|
||||
|
||||
# Diff
|
||||
#-------------------------------------------------------------------------------
|
||||
line_added=#78a078
|
||||
line_removed=#EF7878
|
||||
line_changed=#4E88CF
|
218
base/.config/geany/geany.conf
Normal file
218
base/.config/geany/geany.conf
Normal file
@ -0,0 +1,218 @@
|
||||
[geany]
|
||||
default_open_path=
|
||||
cmdline_new_files=true
|
||||
notebook_double_click_hides_widgets=false
|
||||
tab_close_switch_to_mru=false
|
||||
tab_pos_sidebar=2
|
||||
sidebar_pos=0
|
||||
symbols_sort_mode=0
|
||||
msgwin_orientation=0
|
||||
highlighting_invert_all=false
|
||||
pref_main_search_use_current_word=true
|
||||
check_detect_indent=true
|
||||
detect_indent_width=true
|
||||
use_tab_to_indent=true
|
||||
pref_editor_tab_width=4
|
||||
indent_mode=2
|
||||
indent_type=1
|
||||
virtualspace=1
|
||||
autocomplete_doc_words=true
|
||||
completion_drops_rest_of_word=true
|
||||
autocompletion_max_entries=30
|
||||
autocompletion_update_freq=250
|
||||
color_scheme=archlabs-dARK.conf
|
||||
scroll_lines_around_cursor=8
|
||||
mru_length=10
|
||||
disk_check_timeout=30
|
||||
show_editor_scrollbars=true
|
||||
brace_match_ltgt=false
|
||||
use_gtk_word_boundaries=true
|
||||
complete_snippets_whilst_editing=false
|
||||
use_atomic_file_saving=false
|
||||
gio_unsafe_save_backup=false
|
||||
use_gio_unsafe_file_saving=true
|
||||
keep_edit_history_on_reload=true
|
||||
show_keep_edit_history_on_reload_msg=true
|
||||
indent_hard_tab_width=4
|
||||
find_selection_type=0
|
||||
extract_filetype_regex=-\\*-\\s*([^\\s]+)\\s*-\\*-
|
||||
replace_and_find_by_default=true
|
||||
show_symbol_list_expanders=true
|
||||
compiler_tab_autoscroll=true
|
||||
allow_always_save=false
|
||||
statusbar_template=line: %l / %L col: %c sel: %s %w %t %mmode: %M encoding: %e filetype: %f scope: %S
|
||||
new_document_after_close=false
|
||||
msgwin_status_visible=true
|
||||
msgwin_compiler_visible=true
|
||||
msgwin_messages_visible=true
|
||||
msgwin_scribble_visible=true
|
||||
documents_show_paths=true
|
||||
sidebar_page=0
|
||||
pref_main_load_session=true
|
||||
pref_main_project_session=true
|
||||
pref_main_project_file_in_basedir=false
|
||||
pref_main_save_winpos=true
|
||||
pref_main_confirm_exit=false
|
||||
pref_main_suppress_status_messages=false
|
||||
switch_msgwin_pages=false
|
||||
beep_on_errors=false
|
||||
auto_focus=false
|
||||
sidebar_symbol_visible=true
|
||||
sidebar_openfiles_visible=true
|
||||
editor_font=monospace 11
|
||||
tagbar_font=monospace 10
|
||||
msgwin_font=monospace 10
|
||||
show_notebook_tabs=true
|
||||
show_tab_cross=true
|
||||
tab_order_ltr=true
|
||||
tab_order_beside=false
|
||||
tab_pos_editor=2
|
||||
tab_pos_msgwin=0
|
||||
use_native_windows_dialogs=false
|
||||
show_indent_guide=true
|
||||
show_white_space=false
|
||||
show_line_endings=false
|
||||
show_markers_margin=true
|
||||
show_linenumber_margin=true
|
||||
long_line_enabled=true
|
||||
long_line_type=0
|
||||
long_line_column=120
|
||||
long_line_color=#ABC9ED
|
||||
symbolcompletion_max_height=20
|
||||
symbolcompletion_min_chars=2
|
||||
use_folding=true
|
||||
unfold_all_children=false
|
||||
use_indicators=true
|
||||
line_wrapping=true
|
||||
auto_close_xml_tags=true
|
||||
complete_snippets=true
|
||||
auto_complete_symbols=true
|
||||
pref_editor_disable_dnd=false
|
||||
pref_editor_smart_home_key=true
|
||||
pref_editor_newline_strip=true
|
||||
line_break_column=100
|
||||
auto_continue_multiline=true
|
||||
comment_toggle_mark=~
|
||||
scroll_stop_at_last_line=false
|
||||
autoclose_chars=31
|
||||
pref_editor_default_new_encoding=UTF-8
|
||||
pref_editor_default_open_encoding=None
|
||||
default_eol_character=2
|
||||
pref_editor_new_line=true
|
||||
pref_editor_ensure_convert_line_endings=false
|
||||
pref_editor_replace_tabs=false
|
||||
pref_editor_trail_space=true
|
||||
pref_toolbar_show=true
|
||||
pref_toolbar_append_to_menu=true
|
||||
pref_toolbar_use_gtk_default_style=true
|
||||
pref_toolbar_use_gtk_default_icon=true
|
||||
pref_toolbar_icon_style=2
|
||||
pref_toolbar_icon_size=1
|
||||
pref_template_company=
|
||||
pref_template_initial=
|
||||
pref_template_version=1.0
|
||||
pref_template_year=%Y
|
||||
pref_template_date=%Y-%m-%d
|
||||
pref_template_datetime=%d.%m.%Y %H:%M:%S %Z
|
||||
context_action_cmd=
|
||||
sidebar_visible=false
|
||||
statusbar_visible=true
|
||||
msgwindow_visible=true
|
||||
fullscreen=false
|
||||
scribble_text=Type here what you want, use it as a notice/scratch board
|
||||
scribble_pos=57
|
||||
treeview_position=150
|
||||
msgwindow_position=960
|
||||
geometry=50;70;1050;800;0;
|
||||
custom_date_format=
|
||||
pref_template_developer=
|
||||
pref_template_mail=
|
||||
|
||||
[build-menu]
|
||||
number_ft_menu_items=0
|
||||
number_non_ft_menu_items=0
|
||||
number_exec_menu_items=0
|
||||
|
||||
[search]
|
||||
pref_search_hide_find_dialog=false
|
||||
pref_search_always_wrap=false
|
||||
pref_search_current_file_dir=true
|
||||
find_all_expanded=false
|
||||
replace_all_expanded=false
|
||||
position_find_x=580
|
||||
position_find_y=475
|
||||
position_replace_x=670
|
||||
position_replace_y=450
|
||||
position_fif_x=-1
|
||||
position_fif_y=-1
|
||||
fif_regexp=false
|
||||
fif_case_sensitive=true
|
||||
fif_match_whole_word=false
|
||||
fif_invert_results=false
|
||||
fif_recursive=false
|
||||
fif_extra_options=
|
||||
fif_use_extra_options=false
|
||||
fif_files=
|
||||
fif_files_mode=0
|
||||
find_regexp=false
|
||||
find_regexp_multiline=false
|
||||
find_case_sensitive=false
|
||||
find_escape_sequences=false
|
||||
find_match_whole_word=false
|
||||
find_match_word_start=false
|
||||
find_close_dialog=true
|
||||
replace_regexp=false
|
||||
replace_regexp_multiline=false
|
||||
replace_case_sensitive=false
|
||||
replace_escape_sequences=false
|
||||
replace_match_whole_word=false
|
||||
replace_match_word_start=false
|
||||
replace_search_backwards=false
|
||||
replace_close_dialog=true
|
||||
|
||||
[plugins]
|
||||
load_plugins=true
|
||||
custom_plugin_path=
|
||||
active_plugins=;
|
||||
|
||||
[VTE]
|
||||
send_cmd_prefix=
|
||||
send_selection_unsafe=false
|
||||
load_vte=true
|
||||
font=UbuntuMono Nerd Font 10
|
||||
scroll_on_key=true
|
||||
scroll_on_out=true
|
||||
enable_bash_keys=true
|
||||
ignore_menu_bar_accel=false
|
||||
follow_path=true
|
||||
run_in_vte=false
|
||||
skip_run_script=false
|
||||
cursor_blinks=false
|
||||
scrollback_lines=500
|
||||
shell=/bin/bash
|
||||
colour_fore=#FFFFFF
|
||||
colour_back=#000000
|
||||
last_dir=
|
||||
|
||||
[tools]
|
||||
terminal_cmd=/usr/share/applications/exo-terminal-emulator.desktop
|
||||
browser_cmd=/usr/share/applications/exo-web-browser.desktop
|
||||
grep_cmd=grep
|
||||
|
||||
[printing]
|
||||
print_cmd=
|
||||
use_gtk_printing=true
|
||||
print_line_numbers=true
|
||||
print_page_numbers=true
|
||||
print_page_header=true
|
||||
page_header_basename=false
|
||||
page_header_datefmt=%c
|
||||
|
||||
[project]
|
||||
session_file=
|
||||
project_file_path=
|
||||
|
||||
[files]
|
||||
recent_files=
|
||||
recent_projects=
|
||||
current_page=-1
|
14
base/.config/gsimplecal/config
Normal file
14
base/.config/gsimplecal/config
Normal file
@ -0,0 +1,14 @@
|
||||
show_timezones = 1
|
||||
show_week_numbers = 0
|
||||
mark_today = 1
|
||||
close_on_unfocus = 0
|
||||
mainwindow_resizable = 1
|
||||
mainwindow_sticky = 1
|
||||
clock_label = Local
|
||||
clock_tz =
|
||||
mainwindow_decorated = 0
|
||||
mainwindow_keep_above = 1
|
||||
mainwindow_skip_taskbar = 1
|
||||
mainwindow_yoffset = 30
|
||||
mainwindow_xoffset = 0
|
||||
clock_format = %a %d %b %H:%M
|
16
base/.config/gtk-3.0/settings.ini
Normal file
16
base/.config/gtk-3.0/settings.ini
Normal file
@ -0,0 +1,16 @@
|
||||
[Settings]
|
||||
gtk-theme-name=ArchLabs-dARK
|
||||
gtk-icon-theme-name=ArchLabs-Light
|
||||
gtk-font-name=monospace 10
|
||||
gtk-cursor-theme-name=ArchLabs-Light
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_ICONS
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=0
|
||||
gtk-menu-images=0
|
||||
gtk-enable-event-sounds=0
|
||||
gtk-enable-input-feedback-sounds=0
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle=hintslight
|
||||
gtk-xft-rgba=rgb
|
6
base/.config/networkmanager-dmenu/config.ini
Normal file
6
base/.config/networkmanager-dmenu/config.ini
Normal file
@ -0,0 +1,6 @@
|
||||
[dmenu]
|
||||
dmenu_command = rofi -location 3 -yoffset 35 -xoffset -10 -width 37 -font "monospace 11" -padding 20 -line-padding 4 -password
|
||||
|
||||
[editor]
|
||||
terminal = termite
|
||||
gui_if_available = false
|
4
base/.config/nitrogen/bg-saved.cfg
Normal file
4
base/.config/nitrogen/bg-saved.cfg
Normal file
@ -0,0 +1,4 @@
|
||||
[xin_-1]
|
||||
file=/usr/share/backgrounds/archlabs/archlabs.jpg
|
||||
mode=0
|
||||
bgcolor=#000000
|
12
base/.config/nitrogen/nitrogen.cfg
Normal file
12
base/.config/nitrogen/nitrogen.cfg
Normal file
@ -0,0 +1,12 @@
|
||||
[geometry]
|
||||
posx=300
|
||||
posy=100
|
||||
sizex=900
|
||||
sizey=800
|
||||
|
||||
[nitrogen]
|
||||
view=icon
|
||||
recurse=true
|
||||
sort=alpha
|
||||
icon_caps=true
|
||||
dirs=/usr/share/backgrounds/
|
149
base/.config/ranger/colorschemes/jinx.py
Executable file
149
base/.config/ranger/colorschemes/jinx.py
Executable file
@ -0,0 +1,149 @@
|
||||
"""
|
||||
A ranger color scheme
|
||||
|
||||
Made to be eye catchy while maintaining visibility, and base 0-7 colours.
|
||||
|
||||
Inspired by themes like Tomorrow, Dracula, Atom, and Spacemacs, but with my own twists
|
||||
"""
|
||||
|
||||
from ranger.gui.colorscheme import ColorScheme
|
||||
from ranger.gui.color import *
|
||||
|
||||
|
||||
class jinx(ColorScheme):
|
||||
"""
|
||||
Defines colours used when colourscheme is enabled
|
||||
"""
|
||||
progress_bar_color = 96
|
||||
|
||||
def use(self, context):
|
||||
"""
|
||||
Main colour block with individual definitions
|
||||
"""
|
||||
fg, bg, attr = default_colors
|
||||
|
||||
if context.reset:
|
||||
return default_colors
|
||||
elif context.in_browser:
|
||||
if context.selected:
|
||||
attr = reverse
|
||||
else:
|
||||
attr = normal
|
||||
if context.empty or context.error:
|
||||
fg = 131
|
||||
if context.border:
|
||||
fg = 247
|
||||
if context.image:
|
||||
fg = 179
|
||||
if context.video:
|
||||
fg = 96
|
||||
if context.audio:
|
||||
fg = 117
|
||||
if context.document:
|
||||
fg = 38
|
||||
if context.container:
|
||||
fg = 108
|
||||
if context.directory:
|
||||
fg = 103
|
||||
elif context.executable and not \
|
||||
any((context.media, context.fifo, context.container, context.socket)):
|
||||
fg = 67
|
||||
if context.socket:
|
||||
fg = 179
|
||||
attr |= bold
|
||||
if context.fifo or context.device:
|
||||
fg = 214
|
||||
attr |= bold
|
||||
if context.link:
|
||||
fg = 38 if context.good else 131
|
||||
if context.tag_marker and not context.selected:
|
||||
fg = 96
|
||||
attr |= bold
|
||||
if not context.selected and (context.cut or context.copied):
|
||||
fg = 247
|
||||
attr |= underline
|
||||
if context.main_column:
|
||||
if context.marked:
|
||||
attr |= underline
|
||||
fg = 131
|
||||
if context.selected:
|
||||
attr |= normal
|
||||
if context.badinfo:
|
||||
if attr & reverse:
|
||||
bg = 96
|
||||
else:
|
||||
fg = 203
|
||||
elif context.in_titlebar:
|
||||
attr |= bold
|
||||
if context.hostname:
|
||||
fg = 203 if context.bad else 67
|
||||
elif context.directory:
|
||||
fg = 96
|
||||
elif context.tab:
|
||||
if context.good:
|
||||
bg = 96
|
||||
elif context.link:
|
||||
fg = 117
|
||||
elif context.in_statusbar:
|
||||
if context.permissions:
|
||||
if context.good:
|
||||
fg = 67
|
||||
elif context.bad:
|
||||
fg = 203
|
||||
if context.marked:
|
||||
attr |= bold | reverse
|
||||
fg = 96
|
||||
if context.message:
|
||||
if context.bad:
|
||||
attr |= bold
|
||||
fg = 96
|
||||
if context.loaded:
|
||||
bg = self.progress_bar_color
|
||||
if context.vcsinfo:
|
||||
fg = 38
|
||||
attr &= ~bold
|
||||
if context.vcscommit:
|
||||
fg = 108
|
||||
attr &= ~bold
|
||||
if context.text:
|
||||
fg = 254
|
||||
if context.highlight:
|
||||
attr |= reverse
|
||||
if context.in_taskview:
|
||||
if context.title:
|
||||
fg = 67
|
||||
if context.selected:
|
||||
attr |= reverse
|
||||
if context.loaded:
|
||||
if context.selected:
|
||||
fg = self.progress_bar_color
|
||||
else:
|
||||
bg = self.progress_bar_color
|
||||
if context.vcsfile and not context.selected:
|
||||
attr &= ~bold
|
||||
if context.vcsconflict:
|
||||
fg = 203
|
||||
elif context.vcschanged:
|
||||
fg = 174
|
||||
elif context.vcsunknown:
|
||||
fg = 174
|
||||
elif context.vcsstaged:
|
||||
fg = 108
|
||||
elif context.vcssync:
|
||||
fg = 108
|
||||
elif context.vcsignored:
|
||||
fg = default
|
||||
elif context.vcsremote and not context.selected:
|
||||
attr &= ~bold
|
||||
if context.vcssync:
|
||||
fg = 108
|
||||
elif context.vcsbehind:
|
||||
fg = 174
|
||||
elif context.vcsahead:
|
||||
fg = 67
|
||||
elif context.vcsdiverged:
|
||||
fg = 203
|
||||
elif context.vcsunknown:
|
||||
fg = 174
|
||||
|
||||
return fg, bg, attr
|
465
base/.config/ranger/rc.conf
Normal file
465
base/.config/ranger/rc.conf
Normal file
@ -0,0 +1,465 @@
|
||||
# ===================================================================
|
||||
# == Options
|
||||
# ===================================================================
|
||||
set viewmode miller
|
||||
set column_ratios 1,2,4
|
||||
|
||||
set scroll_offset 8
|
||||
set show_cursor false
|
||||
set mouse_enabled true
|
||||
set confirm_on_delete always
|
||||
set colorscheme default
|
||||
|
||||
set shorten_title 4
|
||||
set update_title true
|
||||
# set update_tmux_title true
|
||||
set tilde_in_titlebar true
|
||||
set hostname_in_titlebar true
|
||||
set max_history_size 20
|
||||
set max_console_history_size 50
|
||||
set save_console_history true
|
||||
|
||||
set open_all_images false
|
||||
set preview_images false
|
||||
set use_preview_script true
|
||||
set preview_images_method w3m
|
||||
set preview_script ~/.config/ranger/scope.sh
|
||||
|
||||
set automatically_count_files true
|
||||
set preview_max_size 0
|
||||
set preview_files true
|
||||
set preview_directories true
|
||||
set collapse_preview true
|
||||
|
||||
set unicode_ellipsis true
|
||||
set padding_right false
|
||||
set draw_borders true
|
||||
set dirname_in_tabs true
|
||||
set status_bar_on_top false
|
||||
set draw_progress_bar_in_status_bar true
|
||||
|
||||
set display_size_in_main_column true
|
||||
set display_size_in_status_bar false
|
||||
set display_tags_in_all_columns true
|
||||
set flushinput true
|
||||
set autosave_bookmarks true
|
||||
set autoupdate_cumulative_size false
|
||||
|
||||
# Enable this if key combinations with the Alt Key don't work for you. (Especially on xterm)
|
||||
set xterm_alt_key false
|
||||
|
||||
set sort natural
|
||||
set sort_reverse false
|
||||
set sort_unicode false
|
||||
set sort_case_insensitive true
|
||||
set sort_directories_first true
|
||||
|
||||
set vcs_aware true
|
||||
set vcs_backend_git enabled
|
||||
set vcs_backend_hg disabled
|
||||
set vcs_backend_bzr disabled
|
||||
set vcs_backend_svn disabled
|
||||
|
||||
set cd_bookmarks true
|
||||
set cd_tab_case sensitive
|
||||
set cd_tab_fuzzy true
|
||||
set show_selection_in_titlebar true
|
||||
|
||||
set idle_delay 2000
|
||||
set metadata_deep_search false
|
||||
set clear_filters_on_dir_change true
|
||||
set line_numbers false
|
||||
set one_indexed false
|
||||
set save_tabs_on_exit true
|
||||
set wrap_scroll false
|
||||
set global_inode_type_filter
|
||||
set show_hidden true
|
||||
set show_hidden_bookmarks true
|
||||
set hidden_filter ^\.|\.(?:pyc|pyo|bak|old|swp)$|^lost\+found$|^__(py)?cache__$
|
||||
|
||||
# ===================================================================
|
||||
# == Local Options
|
||||
# ===================================================================
|
||||
# You can set local options that only affect a single directory.
|
||||
|
||||
# Examples:
|
||||
# setlocal path=~/downloads sort mtime
|
||||
|
||||
|
||||
# ===================================================================
|
||||
# == Command Aliases in the Console
|
||||
# ===================================================================
|
||||
|
||||
# aliases
|
||||
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 -prt
|
||||
alias find scout -aeit
|
||||
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 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 f console find%space
|
||||
map r chain draw_possible_programs; console open_with%%space
|
||||
map cd console cd%space
|
||||
|
||||
# Tagging / Marking
|
||||
map t tag_toggle
|
||||
map ut tag_remove
|
||||
map "<any> tag_toggle tag=%any
|
||||
map <Space> mark_files toggle=True
|
||||
map v toggle_visual_mode
|
||||
map uv toggle_visual_mode reverse=True
|
||||
map V mark_files all=True toggle=True
|
||||
map uV mark_files all=True val=False
|
||||
|
||||
# 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
|
||||
|
||||
# Jumping around
|
||||
map L history_go 1
|
||||
map H history_go -1
|
||||
map ] move_parent 1
|
||||
map [ move_parent -1
|
||||
map } traverse
|
||||
map ) jump_non
|
||||
|
||||
map E edit
|
||||
|
||||
# Better file renaming
|
||||
map a rename_append
|
||||
map cw eval fm.execute_console("bulkrename") if fm.thisdir.marked_items else fm.execute_console("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)
|
||||
|
||||
# Open file in a new tmux pane
|
||||
map eh eval import shlex; fm.run("tmux splitw -h rifle " + shlex.quote(fm.thisfile.basename))
|
||||
map ev eval import shlex; fm.run("tmux splitw -v rifle " + shlex.quote(fm.thisfile.basename))
|
||||
map ew eval import shlex; fm.run("tmux new-window rifle " + shlex.quote(fm.thisfile.basename))
|
||||
|
||||
map pp paste
|
||||
map phl paste_hardlink
|
||||
map pP paste append=True
|
||||
map pr shell sudo cp %c %d
|
||||
map po paste overwrite=True
|
||||
map pht paste_hardlinked_subtree
|
||||
map pL paste_symlink relative=True
|
||||
map pl paste_symlink relative=False
|
||||
map pO paste overwrite=True append=True
|
||||
|
||||
map dd cut
|
||||
map ud uncut
|
||||
map da cut mode=add
|
||||
map dr cut mode=remove
|
||||
map dt cut mode=toggle
|
||||
map dc get_cumulative_size
|
||||
map dD console delete
|
||||
map DD shell rm -rf %s
|
||||
|
||||
# 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 yy copy
|
||||
map uy uncut
|
||||
map ya copy mode=add
|
||||
map yr copy mode=remove
|
||||
map yt copy mode=toggle
|
||||
map yd shell -f echo -n %d | xsel -i; xsel -o | xsel -i -b
|
||||
map yn shell -f echo -n %f | xsel -i; xsel -o | xsel -i -b
|
||||
map yp shell -f echo -n %d/%f | xsel -i; xsel -o | xsel -i -b
|
||||
|
||||
# Searching
|
||||
map n search_next
|
||||
map / console search%space
|
||||
map f console scout -ftsea%space
|
||||
|
||||
# Sorting
|
||||
map or set sort_reverse!
|
||||
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 ot chain set sort=type; set sort_reverse=False
|
||||
map oe chain set sort=extension; set sort_reverse=False
|
||||
|
||||
# Settings
|
||||
map zi set preview_images!
|
||||
map zp set preview_files!
|
||||
map zP set preview_directories!
|
||||
map zv set use_preview_script!
|
||||
map zd set sort_directories_first!
|
||||
map zc set collapse_preview!
|
||||
map zI set flushinput!
|
||||
map zm set mouse_enabled!
|
||||
map zh set show_hidden!
|
||||
map zf console filter%space
|
||||
|
||||
# Bookmarks
|
||||
map `<any> enter_bookmark %any
|
||||
map '<any> enter_bookmark %any
|
||||
map \<any> set_bookmark %any
|
||||
map u\<any> unset_bookmark %any
|
||||
map \<bg> draw_bookmarks
|
||||
copymap \<bg> u\<bg> `<bg> '<bg>
|
||||
|
||||
# Tabs
|
||||
map tq tab_close
|
||||
map tr tab_restore
|
||||
map <TAB> tab_move 1
|
||||
map <S-TAB> tab_move -1
|
||||
map <A-Right> tab_move 1
|
||||
map <A-Left> tab_move -1
|
||||
map <A-l> tab_move 1
|
||||
map <A-h> tab_move -1
|
||||
map <C-n> tab_new
|
||||
map <C-w> tab_close
|
||||
map tn eval fm.tab_new('%d')
|
||||
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
|
||||
|
||||
# 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
|
||||
# ===================================================================
|
||||
|
||||
# Basic
|
||||
cmap <C-l> redraw_window
|
||||
cmap <Tab> eval fm.ui.console.tab()
|
||||
cmap <ESC> eval fm.ui.console.close()
|
||||
cmap <CR> eval fm.ui.console.execute()
|
||||
cmap <S-Tab> eval fm.ui.console.tab(-1)
|
||||
copycmap <CR> <C-j>
|
||||
copycmap <ESC> <C-c>
|
||||
|
||||
# Move around
|
||||
cmap <Left> eval fm.ui.console.move(left=1)
|
||||
cmap <Right> eval fm.ui.console.move(right=1)
|
||||
cmap <Up> eval fm.ui.console.history_move(-1)
|
||||
cmap <Down> eval fm.ui.console.history_move(1)
|
||||
cmap <A-left> eval fm.ui.console.move_word(left=1)
|
||||
cmap <A-right> eval fm.ui.console.move_word(right=1)
|
||||
cmap <Home> eval fm.ui.console.move(right=0, absolute=True)
|
||||
cmap <End> eval fm.ui.console.move(right=-1, absolute=True)
|
||||
|
||||
# Line Editing
|
||||
cmap <C-y> eval fm.ui.console.paste()
|
||||
cmap <Delete> eval fm.ui.console.delete(0)
|
||||
cmap <C-w> eval fm.ui.console.delete_word()
|
||||
cmap <C-k> eval fm.ui.console.delete_rest(1)
|
||||
cmap <C-u> eval fm.ui.console.delete_rest(-1)
|
||||
cmap <Backspace> eval fm.ui.console.delete(-1)
|
||||
cmap <A-d> eval fm.ui.console.delete_word(backward=False)
|
||||
|
||||
cmap <allow_quantifiers> false
|
||||
copycmap <Backspace> <Backspace2>
|
||||
|
||||
# ===================================================================
|
||||
# == Pager Keybindings
|
||||
# ===================================================================
|
||||
|
||||
# Movement
|
||||
pmap <Up> pager_move up=1
|
||||
pmap <Home> pager_move to=0
|
||||
pmap <End> pager_move to=-1
|
||||
pmap <Down> pager_move down=1
|
||||
pmap <Left> pager_move left=4
|
||||
pmap <Right> pager_move right=4
|
||||
pmap <C-u> pager_move up=0.5 pages=True
|
||||
pmap <C-d> pager_move down=0.5 pages=True
|
||||
pmap <Pageup> pager_move up=1.0 pages=True
|
||||
pmap <Pagedown> pager_move down=1.0 pages=True
|
||||
|
||||
copypmap <End> G
|
||||
copypmap <C-d> d
|
||||
copypmap <C-u> u
|
||||
copypmap <Home> g
|
||||
copypmap <Left> h
|
||||
copypmap <Right> l
|
||||
copypmap <Up> k <C-p>
|
||||
copypmap <Down> j <C-n> <CR>
|
||||
copypmap <Pageup> p b <C-B>
|
||||
copypmap <Pagedown> n f <C-F> <Space>
|
||||
|
||||
# Basic
|
||||
pmap E edit_file
|
||||
pmap <ESC> pager_close
|
||||
pmap <C-l> redraw_window
|
||||
copypmap <ESC> q Q i <F3>
|
||||
|
||||
# ===================================================================
|
||||
# == 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>
|
||||
|
||||
# ===================================================================
|
||||
# == Additional Keybinds
|
||||
# ===================================================================
|
||||
|
||||
## New
|
||||
map Nf console touch%space
|
||||
map Nd console mkdir%space
|
||||
|
||||
## Set background
|
||||
map sZ shell nitrogen --set-zoom-fill --head=0 --save %f
|
||||
map sz shell nitrogen --set-zoom-fill --head=1 --save %f
|
||||
map sS shell nitrogen --set-scaled --head=0 --save %f
|
||||
map ss shell nitrogen --set-scaled --head=1 --save %f
|
||||
map sF shell nitrogen --set-zoom-fill --head=-1 --save %f
|
||||
map sf shell nitrogen --set-scaled --head=-1 --save %f
|
||||
|
||||
## Go / cd
|
||||
map gh cd ~
|
||||
map g/ cd /
|
||||
map gE cd /etc
|
||||
map gu cd /usr
|
||||
map gb cd ~/bin
|
||||
map gm cd ~/Music
|
||||
map g. cd ~/.config
|
||||
map gp cd ~/Pictures
|
||||
map gd cd ~/Downloads
|
||||
map gr cd ~/.config/ranger
|
||||
map g? cd /usr/share/doc/ranger
|
||||
|
||||
## Move
|
||||
map mD shell mv %s ~/Documents/
|
||||
map md shell mv %s ~/Downloads/
|
||||
map mp shell mv %s ~/Pictures/
|
||||
map m. shell mv %s ~/.config/
|
||||
map mv shell mv %s ~/Videos/
|
||||
map mm shell mv %s ~/Music/
|
||||
map mb shell mv %s ~/bin/
|
||||
map mh shell mv %s ~/
|
||||
|
||||
## Copy
|
||||
map YD shell cp -r %s ~/Documents/
|
||||
map Yd shell cp -r %s ~/Downloads/
|
||||
map Yp shell cp -r %s ~/Pictures/
|
||||
map Y. shell cp -r %s ~/.config/
|
||||
map Yv shell cp -r %s ~/Videos/
|
||||
map Ym shell cp -r %s ~/Music/
|
||||
map Yb shell cp -r %s ~/bin/
|
||||
map Yh shell cp -r %s ~/
|
158
base/.config/ranger/rifle.conf
Normal file
158
base/.config/ranger/rifle.conf
Normal file
@ -0,0 +1,158 @@
|
||||
# vim: ft=cfg
|
||||
#
|
||||
# This is the configuration file of "rifle", ranger's file executor/opener.
|
||||
# Each line consists of conditions and a command. For each line the conditions
|
||||
# are checked and if they are met, the respective command is run.
|
||||
#
|
||||
# Syntax:
|
||||
# <condition1> , <condition2> , ... = command
|
||||
#
|
||||
# The command can contain these environment variables:
|
||||
# $1-$9 | The n-th selected file
|
||||
# $@ | All selected files
|
||||
#
|
||||
# If you use the special command "ask", rifle will ask you what program to run.
|
||||
#
|
||||
# Prefixing a condition with "!" will negate its result.
|
||||
# These conditions are currently supported:
|
||||
# match <regexp> | The regexp matches $1
|
||||
# ext <regexp> | The regexp matches the extension of $1
|
||||
# mime <regexp> | The regexp matches the mime type of $1
|
||||
# name <regexp> | The regexp matches the basename of $1
|
||||
# path <regexp> | The regexp matches the absolute path of $1
|
||||
# has <program> | The program is installed (i.e. located in $PATH)
|
||||
# env <variable> | The environment variable "variable" is non-empty
|
||||
# file | $1 is a file
|
||||
# directory | $1 is a directory
|
||||
# number <n> | change the number of this command to n
|
||||
# terminal | stdin, stderr and stdout are connected to a terminal
|
||||
# X | $DISPLAY is not empty (i.e. Xorg runs)
|
||||
#
|
||||
# There are also pseudo-conditions which have a "side effect":
|
||||
# flag <flags> | Change how the program is run. See below.
|
||||
# label <label> | Assign a label or name to the command so it can
|
||||
# | be started with :open_with <label> in ranger
|
||||
# | or `rifle -p <label>` in the standalone executable.
|
||||
# else | Always true.
|
||||
#
|
||||
# Flags are single characters which slightly transform the command:
|
||||
# f | Fork the program, make it run in the background.
|
||||
# | New command = setsid $command >& /dev/null &
|
||||
# r | Execute the command with root permissions
|
||||
# | New command = sudo $command
|
||||
# t | Run the program in a new terminal. If $TERMCMD is not defined,
|
||||
# | rifle will attempt to extract it from $TERM.
|
||||
# | New command = $TERMCMD -e $command
|
||||
# Note: The "New command" serves only as an illustration, the exact
|
||||
# implementation may differ.
|
||||
# Note: When using rifle in ranger, there is an additional flag "c" for
|
||||
# only running the current file even if you have marked multiple files.
|
||||
|
||||
|
||||
# -- Alternative example for opening files using xdg-open
|
||||
|
||||
# Replace your rifle.conf with this file to use xdg-open as your file opener.
|
||||
# This is, of course, adaptable for use with any other file opener.
|
||||
# else = xdg-open "$1"
|
||||
|
||||
# You need an "editor" and "pager" in order to use certain functions in ranger:
|
||||
# label editor = "$EDITOR" -- "$@"
|
||||
# label pager = "$PAGER" -- "$@"
|
||||
|
||||
# -- End example
|
||||
|
||||
|
||||
#-------------------------------------------
|
||||
# Text
|
||||
#
|
||||
mime ^text, label editor = $EDITOR -- "$@"
|
||||
mime ^text, label pager = $PAGER -- "$@"
|
||||
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = $EDITOR -- "$@"
|
||||
!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = $PAGER -- "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Webpages
|
||||
#
|
||||
ext x?html?, X, flag f = firefox -- "$@"
|
||||
ext x?html?, terminal = w3m "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Code
|
||||
#
|
||||
ext 1|5 = man "$1"
|
||||
ext exe = wine "$1"
|
||||
ext py = python -- "$1"
|
||||
ext pl = perl -- "$1"
|
||||
ext rb = ruby -- "$1"
|
||||
ext js = node -- "$1"
|
||||
ext sh = bash -- "$1"
|
||||
ext php = php -- "$1"
|
||||
name ^[mM]akefile$ = make
|
||||
name ^PKGBUILD$ = makepkg --printsrcinfo >.SRCINFO && makepkg -f
|
||||
|
||||
#--------------------------------------------
|
||||
# Audio without X
|
||||
#
|
||||
mime ^audio|ogg$, terminal, flag f, has mplayer2 = mplayer2 -- "$@"
|
||||
mime ^audio|ogg$, terminal, flag f, has mpv = mpv -- "$@"
|
||||
mime ^audio|ogg$, terminal, flag f, has mplayer = mplayer -- "$@"
|
||||
ext midi?, terminal, flag f, has wildmidi = wildmidi -- "$@"
|
||||
|
||||
#--------------------------------------------
|
||||
# Video/Audio with a GUI
|
||||
#
|
||||
ext gif, has mpv, X, flag f = mpv --loop -- "$1"
|
||||
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 -- "$@"
|
||||
|
||||
# Without GUI:
|
||||
ext gif, terminal, !X, has mpv, flag f = mpv --loop -- "$1"
|
||||
mime ^video, terminal, !X, has mpv, flag f = mpv -- "$@"
|
||||
mime ^video, terminal, !X, has mplayer2, flag f = mplayer2 -- "$@"
|
||||
mime ^video, terminal, !X, has mplayer, flag f = mplayer -- "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Documents
|
||||
#
|
||||
ext pdf|djvu, has zathura, X, flag f = zathura -- "$@"
|
||||
ext pdf|djvu, has evince, X, flag f = evince -- "$@"
|
||||
ext pdf|djvu, has mupdf, X, flag f = mupdf "$@"
|
||||
ext pdf|djvu, has mupdf-x11, X, flag f = mupdf-x11 "$@"
|
||||
ext docx?, has catdoc, terminal = catdoc -- "$@" | "$PAGER"
|
||||
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f = gnumeric -- "$@"
|
||||
ext pptx?|od[dfgpst]|docx?|sxc, has libreoffice, X, flag f = libreoffice "$@"
|
||||
ext xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@"
|
||||
ext pptx?|od[dfgpst]|docx?|sxc, has soffice, X, flag f = soffice "$@"
|
||||
ext xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f = soffice "$@"
|
||||
ext pptx?|od[dfgpst]|docx?|sxc, has ooffice, X, flag f = ooffice "$@"
|
||||
ext xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Image Viewing:
|
||||
#
|
||||
mime ^image, has gpicview, X, flag f = gpicview -- "$@"
|
||||
mime ^image, has feh, X, flag f = feh -- "$@"
|
||||
mime ^image, has gimp, X, flag f = gimp -- "$@"
|
||||
mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
|
||||
mime ^image/svg, has display, X, flag f = display -- "$@"
|
||||
ext xcf, has gimp, X, flag f = gimp -- "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Archives
|
||||
#
|
||||
ext to|torrent, flag f, has deluge = deluge "$1"
|
||||
ext to|torrent, flag f, has transmission = transmission "$1"
|
||||
ext 7z|ace|ar|arc|xar|xpi|xz|zip|gz, has aunpack = aunpack -- "$@"
|
||||
ext bz2?|cab|cpio|cpt|deb|dgc|dmg, has aunpack = aunpack -- "$@"
|
||||
ext iso|jar|msi|pkg|rar|shar|tar|tgz, has aunpack = aunpack -- "$@"
|
||||
|
||||
label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = $EDITOR -- "$@"
|
||||
label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = $PAGER -- "$@"
|
||||
|
||||
mime application/x-executable = "$1"
|
161
base/.config/ranger/scope.sh
Executable file
161
base/.config/ranger/scope.sh
Executable file
@ -0,0 +1,161 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -o noclobber -o noglob -o nounset -o pipefail
|
||||
IFS=$'\n'
|
||||
|
||||
# If the option `use_preview_script` is set to `true`,
|
||||
# then this script will be called and its output will be displayed in ranger.
|
||||
# ANSI color codes are supported.
|
||||
# STDIN is disabled, so interactive scripts won't work properly
|
||||
|
||||
# This script is considered a configuration file and must be updated manually.
|
||||
# It will be left untouched if you upgrade ranger.
|
||||
|
||||
# Meanings of exit codes:
|
||||
# code | meaning | action of ranger
|
||||
# -----+------------+-------------------------------------------
|
||||
# 0 | success | Display stdout as preview
|
||||
# 1 | no preview | Display no preview at all
|
||||
# 2 | plain text | Display the plain content of the file
|
||||
# 3 | fix width | Don't reload when width changes
|
||||
# 4 | fix height | Don't reload when height changes
|
||||
# 5 | fix both | Don't ever reload
|
||||
# 6 | image | Display the image `$IMAGE_CACHE_PATH` points to as an image preview
|
||||
# 7 | image | Display the file directly as an image
|
||||
|
||||
# script arguments
|
||||
FILE_PATH="${1}" # Full path of the highlighted file
|
||||
PV_WIDTH="${2}" # Width of the preview pane (number of fitting characters)
|
||||
PV_HEIGHT="${3}" # Height of the preview pane (number of fitting characters)
|
||||
IMAGE_CACHE_PATH="${4}" # Full path that should be used to cache image preview
|
||||
PV_IMAGE_ENABLED="${5}" # 'True' if image previews are enabled, 'False' otherwise.
|
||||
|
||||
FILE_EXTENSION="${FILE_PATH##*.}"
|
||||
FILE_EXTENSION_LOWER="${FILE_EXTENSION,,}"
|
||||
|
||||
# Settings
|
||||
HIGHLIGHT_SIZE_MAX=262143 # 256KiB
|
||||
HIGHLIGHT_TABWIDTH=4
|
||||
HIGHLIGHT_STYLE='pablo'
|
||||
PYGMENTIZE_STYLE='autumn'
|
||||
|
||||
handle_extension() {
|
||||
case "${FILE_EXTENSION_LOWER}" in
|
||||
ace|arc|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|tar|tbz|tbz2|tgz|tlz|txz|tzo|zip)
|
||||
atool --list -- "${FILE_PATH}" && exit 5
|
||||
bsdtar --list --file "${FILE_PATH}" && exit 5
|
||||
exit 1
|
||||
;;
|
||||
xz|rpm)
|
||||
bsdtar --list --file "${FILE_PATH}" && exit 5
|
||||
exit 1
|
||||
;;
|
||||
rar)
|
||||
unrar lt -p- -- "${FILE_PATH}" && exit 5
|
||||
exit 1
|
||||
;;
|
||||
7z)
|
||||
7z l -p -- "${FILE_PATH}" && exit 5
|
||||
exit 1
|
||||
;;
|
||||
pdf)
|
||||
pdftoppm -jpeg -singlefile "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6
|
||||
pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - && exit 5
|
||||
exiftool "${FILE_PATH}" && exit 5
|
||||
exit 1
|
||||
;;
|
||||
torrent)
|
||||
transmission-show -- "${FILE_PATH}" && exit 5
|
||||
exit 1
|
||||
;;
|
||||
odt|ods|odp|sxw)
|
||||
odt2txt "${FILE_PATH}" && exit 5
|
||||
exit 1
|
||||
;;
|
||||
htm|html|xhtml)
|
||||
w3m -dump "${FILE_PATH}" && exit 5
|
||||
lynx -dump -- "${FILE_PATH}" && exit 5
|
||||
elinks -dump "${FILE_PATH}" && exit 5
|
||||
esac
|
||||
}
|
||||
|
||||
handle_image() {
|
||||
local mimetype="${1}"
|
||||
case "${mimetype}" in
|
||||
image/svg+xml)
|
||||
convert "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6
|
||||
exit 1
|
||||
;;
|
||||
image/*)
|
||||
local orientation
|
||||
orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )"
|
||||
if [[ -n "$orientation" && "$orientation" != 1 ]]; then
|
||||
convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6
|
||||
fi
|
||||
exit 7
|
||||
;;
|
||||
video/*)
|
||||
ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6
|
||||
exit 1
|
||||
;;
|
||||
application/pdf)
|
||||
pdftoppm -f 1 -l 1 -scale-to-x 1920 -scale-to-y -1 -singlefile -jpeg -tiffcompression \
|
||||
jpeg -- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" && exit 6 || exit 1
|
||||
esac
|
||||
}
|
||||
|
||||
handle_mime() {
|
||||
local mimetype="${1}"
|
||||
case "${mimetype}" in
|
||||
text/*|*/xml)
|
||||
if [[ "$(stat --printf='%s' -- "${FILE_PATH}")" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then
|
||||
exit 2
|
||||
fi
|
||||
if [[ "$(tput colors)" -ge 256 ]]; then
|
||||
local highlight_format='xterm256'
|
||||
else
|
||||
local highlight_format='ansi'
|
||||
fi
|
||||
highlight --replace-tabs="${HIGHLIGHT_TABWIDTH}" --out-format="${highlight_format}" \
|
||||
--style="${HIGHLIGHT_STYLE}" --force -- "${FILE_PATH}" && exit 5
|
||||
exit 2
|
||||
;;
|
||||
image/*)
|
||||
local orientation
|
||||
orientation="$(identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}")"
|
||||
if [[ -n "$orientation" && "$orientation" != 1 ]]; then
|
||||
convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6
|
||||
fi
|
||||
exiftool "${FILE_PATH}" && exit 5
|
||||
exit 1
|
||||
;;
|
||||
video/*)
|
||||
ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6
|
||||
mediainfo "${FILE_PATH}" && exit 5
|
||||
exiftool "${FILE_PATH}" && exit 5
|
||||
exit 1
|
||||
;;
|
||||
audio/*)
|
||||
mediainfo "${FILE_PATH}" && exit 5
|
||||
exiftool "${FILE_PATH}" && exit 5
|
||||
exit 1
|
||||
esac
|
||||
}
|
||||
|
||||
handle_fallback() {
|
||||
echo '----- File Type Classification -----' && file --dereference --brief -- "${FILE_PATH}" && exit 5
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )"
|
||||
|
||||
if [[ "${PV_IMAGE_ENABLED}" == 'True' ]]; then
|
||||
handle_image "${MIMETYPE}"
|
||||
fi
|
||||
handle_extension
|
||||
handle_mime "${MIMETYPE}"
|
||||
handle_fallback
|
||||
|
||||
|
||||
exit 1
|
41
base/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
Normal file
41
base/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
Normal file
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xsettings" version="1.0">
|
||||
<property name="Net" type="empty">
|
||||
<property name="ThemeName" type="string" value="ArchLabs-dARK"/>
|
||||
<property name="IconThemeName" type="string" value="ArchLabs-Light"/>
|
||||
<property name="DoubleClickTime" type="empty"/>
|
||||
<property name="DoubleClickDistance" type="empty"/>
|
||||
<property name="DndDragThreshold" type="empty"/>
|
||||
<property name="CursorBlink" type="empty"/>
|
||||
<property name="CursorBlinkTime" type="empty"/>
|
||||
<property name="SoundThemeName" type="empty"/>
|
||||
<property name="EnableEventSounds" type="empty"/>
|
||||
<property name="EnableInputFeedbackSounds" type="empty"/>
|
||||
</property>
|
||||
<property name="Xft" type="empty">
|
||||
<property name="DPI" type="int" value="-1"/>
|
||||
<property name="Antialias" type="int" value="1"/>
|
||||
<property name="Hinting" type="int" value="1"/>
|
||||
<property name="HintStyle" type="string" value="hintslight"/>
|
||||
<property name="RGBA" type="string" value="rgb"/>
|
||||
</property>
|
||||
<property name="Gtk" type="empty">
|
||||
<property name="CanChangeAccels" type="bool" value="false"/>
|
||||
<property name="ColorPalette" type="empty"/>
|
||||
<property name="FontName" type="string" value="sans 11"/>
|
||||
<property name="IconSizes" type="empty"/>
|
||||
<property name="KeyThemeName" type="empty"/>
|
||||
<property name="ToolbarStyle" type="string" value="icons"/>
|
||||
<property name="ToolbarIconSize" type="empty"/>
|
||||
<property name="MenuImages" type="bool" value="true"/>
|
||||
<property name="ButtonImages" type="bool" value="true"/>
|
||||
<property name="MenuBarAccel" type="empty"/>
|
||||
<property name="CursorThemeName" type="string" value="ArchLabs-Light"/>
|
||||
<property name="CursorThemeSize" type="empty"/>
|
||||
<property name="DecorationLayout" type="empty"/>
|
||||
</property>
|
||||
<property name="Xfce" type="empty">
|
||||
<property name="LastCustomDPI" type="int" value="92"/>
|
||||
</property>
|
||||
</channel>
|
29
base/.gtkrc-2.0
Normal file
29
base/.gtkrc-2.0
Normal file
@ -0,0 +1,29 @@
|
||||
# DO NOT EDIT! This file will be overwritten by LXAppearance.
|
||||
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
|
||||
|
||||
gtk-theme-name="ArchLabs-dARK"
|
||||
gtk-icon-theme-name="ArchLabs-Light"
|
||||
gtk-font-name="monospace 11"
|
||||
gtk-cursor-theme-name="ArchLabs-Light"
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_ICONS
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=0
|
||||
gtk-menu-images=0
|
||||
gtk-enable-event-sounds=0
|
||||
gtk-enable-input-feedback-sounds=0
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle="hintslight"
|
||||
gtk-xft-rgba="rgb"
|
||||
|
||||
style "xfdesktop-icon-view" {
|
||||
XfdesktopIconView::label-alpha = 10
|
||||
base[NORMAL] = "#000000"
|
||||
base[SELECTED] = "#71B9FF"
|
||||
base[ACTIVE] = "#71B9FF"
|
||||
fg[NORMAL] = "#fcfcfc"
|
||||
fg[SELECTED] = "#ffffff"
|
||||
fg[ACTIVE] = "#ffffff"
|
||||
}
|
||||
widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view"
|
102
base/.homepage/index.html
Normal file
102
base/.homepage/index.html
Normal file
@ -0,0 +1,102 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>ArchLabs Home</title>
|
||||
<link rel="stylesheet" href="style.css">
|
||||
<meta charset="utf-8">
|
||||
<link rel="shortcut icon" href="res/logo-dark.png"/>
|
||||
<script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
|
||||
<script src="script.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="stripe" style="background-color:#090909">
|
||||
<div class="title">
|
||||
<span>Official</span>
|
||||
</div>
|
||||
<div class="content">
|
||||
<span class="item">
|
||||
<a href="https://archlabsblog.wordpress.com">Official Website</a>
|
||||
</span>
|
||||
<span class="item">
|
||||
<a href="https://forum.archlabslinux.com/">ArchLabs Forum</a>
|
||||
</span>
|
||||
<span class="item">
|
||||
<a href="https://www.reddit.com/r/ArchLabsLinux/">ArchLabs Reddit</a>
|
||||
</span>
|
||||
<span class="item">
|
||||
<a href="https://twitter.com/ArchLabsLinux">ArchLabs Twitter</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="stripe" style="background-color:#9E3B58">
|
||||
<div class="title">
|
||||
<span>Openbox</span>
|
||||
</div>
|
||||
<div class="content">
|
||||
<span class="item">
|
||||
<a href="https://www.opendesktop.org/">Box Look</a>
|
||||
</span>
|
||||
<span class="item">
|
||||
<a href="https://urukrama.wordpress.com/openbox-guide/">Urukrama's Openbox Guide+</a>
|
||||
</span>
|
||||
<span class="item">
|
||||
<a href="https://forums.bunsenlabs.org/viewforum.php?id=9">Bunsenlabs Openbox Scripts etc.</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="stripe" style="background-color:#1AADB5">
|
||||
<div class="title">
|
||||
<span>Wikis</span>
|
||||
</div>
|
||||
<div class="content">
|
||||
<span class="item">
|
||||
<a href="http://openbox.org/wiki/Main_Page">Openbox Wiki</a>
|
||||
</span>
|
||||
<span class="item">
|
||||
<a href="https://wiki.archlinux.org/index.php/Openbox">Arch Wiki</a>
|
||||
</span>
|
||||
<span class="item">
|
||||
<a href="https://i3wm.org/docs/">i3 Wiki</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="stripe" style="background-color:#BA386F">
|
||||
<div class="title">
|
||||
<span>ArchLabs</span>
|
||||
</div>
|
||||
<div class="content">
|
||||
<span class="item">
|
||||
<a href="https://bitbucket.org/archlabslinux/iso/issues/new">Got an Issue?</a>
|
||||
</span>
|
||||
<span class="item">
|
||||
<a href="https://forum.archlabslinux.com/">Got a Suggestion?</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2>
|
||||
<div>
|
||||
<img src="res/logo.png"></img>
|
||||
</div>
|
||||
</h2>
|
||||
|
||||
<h3>
|
||||
<div>ArchLabs</div>
|
||||
</h3>
|
||||
|
||||
<form method="get" action="https://www.duckduckgo.com">
|
||||
<input type="text" name="q" placeholder="Search..." autofocus>
|
||||
<p>
|
||||
<span name="yt">arch.wiki</span>
|
||||
<span name="sr">arch.forums</span>
|
||||
<span name="a">arch.packages</span>
|
||||
<span name="w">openbox.official</span>
|
||||
</p>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
BIN
base/.homepage/res/archlabs02.png
Normal file
BIN
base/.homepage/res/archlabs02.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 MiB |
BIN
base/.homepage/res/light-logo.png
Normal file
BIN
base/.homepage/res/light-logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.7 KiB |
BIN
base/.homepage/res/logo-dark.png
Normal file
BIN
base/.homepage/res/logo-dark.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.8 KiB |
BIN
base/.homepage/res/logo.png
Normal file
BIN
base/.homepage/res/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.7 KiB |
47
base/.homepage/script.js
Normal file
47
base/.homepage/script.js
Normal file
@ -0,0 +1,47 @@
|
||||
$(document).ready(function() {
|
||||
|
||||
//Search Bar
|
||||
|
||||
var $search = $("input[name='q']");
|
||||
|
||||
$("span[name='yt']").click(function() {
|
||||
var curr = $search.val();
|
||||
$search.val("!arch " + curr);
|
||||
$search.focus();
|
||||
});
|
||||
|
||||
$("span[name='sr']").click(function() {
|
||||
var curr = $search.val();
|
||||
$search.val("!archforums " + curr);
|
||||
$search.focus();
|
||||
});
|
||||
|
||||
$("span[name='a']").click(function() {
|
||||
var curr = $search.val();
|
||||
$search.val("!pkg " + curr);
|
||||
$search.focus();
|
||||
});
|
||||
|
||||
$("span[name='w']").click(function() {
|
||||
var curr = $search.val();
|
||||
$search.val("!openbox" + curr);
|
||||
$search.focus();
|
||||
});
|
||||
|
||||
//Tabs
|
||||
|
||||
$(".stripe").mouseenter(function() {
|
||||
$(this).stop().animate({
|
||||
width: '100vw'
|
||||
});
|
||||
$(this).find(".content").stop().fadeIn().children().show();
|
||||
});
|
||||
|
||||
$(".stripe").mouseleave(function() {
|
||||
$(this).stop().animate({
|
||||
width: '40px'
|
||||
});
|
||||
$(this).find(".content").stop().fadeOut();
|
||||
});
|
||||
|
||||
});
|
139
base/.homepage/style.css
Normal file
139
base/.homepage/style.css
Normal file
@ -0,0 +1,139 @@
|
||||
@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400');
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: "Ubuntu";
|
||||
}
|
||||
|
||||
body {
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background:url("res/archlabs02.png");
|
||||
}
|
||||
|
||||
h2 {
|
||||
width: 100vw;
|
||||
position: absolute;
|
||||
top: calc(90vh - 20px);
|
||||
left: calc(85vh - 0px);
|
||||
text-align: center;
|
||||
font-weight: 300;
|
||||
font-size: 35px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
width: 100vw;
|
||||
position: absolute;
|
||||
top: calc(90vh - 0px);
|
||||
left: calc(75vh - 0px);
|
||||
text-align: center;
|
||||
font-weight: 500;
|
||||
font-size: 0px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
form {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 40%;
|
||||
width: 600px;
|
||||
height: 50px;
|
||||
transform: translateX(-50%);
|
||||
font-weight: 300;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
form p {
|
||||
display: flex;
|
||||
margin-top: 10px;
|
||||
justify-content: space-between;
|
||||
color: #ACB6BF;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
form p span {
|
||||
cursor: pointer;
|
||||
transition: color 0.5s;
|
||||
}
|
||||
|
||||
form p span:hover {
|
||||
color: #ACB6BF;
|
||||
}
|
||||
|
||||
input[type=text] {
|
||||
width: 600px;
|
||||
height: 50px;
|
||||
border: 1px solid #a0a0a0;
|
||||
border-radius: 2px;
|
||||
padding: 10px;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
input[type=text]:focus {
|
||||
border-color: #707070
|
||||
}
|
||||
|
||||
.stripe {
|
||||
position: relative;
|
||||
width: 40px;
|
||||
height: 25vh;
|
||||
color: white;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.stripe .title {
|
||||
position: relative;
|
||||
width: 40px;
|
||||
height: 100%;
|
||||
float: left;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.stripe .title span {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
display: block;
|
||||
transform: translateX(-50%) translateY(-50%) rotate(-90deg);
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.stripe .content {
|
||||
position: absolute;
|
||||
left: calc(5vw + 40px);
|
||||
width: calc(90vw - 40px);
|
||||
display: none;
|
||||
padding: 20px;
|
||||
box-sizing: border-box;
|
||||
height: 100%;
|
||||
font-weight: 300;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.stripe .content div {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
width: 150px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.stripe .content div img {
|
||||
position: absolute;
|
||||
max-height: 100px;
|
||||
max-width: 150px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.stripe .content span {
|
||||
line-height: calc(25vh - 50px);
|
||||
display: none;
|
||||
}
|
||||
|
||||
.stripe .content span a {
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
}
|
0
base/.hushlogin
Normal file
0
base/.hushlogin
Normal file
515
base/.vim/colors/jinx.vim
Normal file
515
base/.vim/colors/jinx.vim
Normal file
@ -0,0 +1,515 @@
|
||||
" ------------------- jinx ---------------------- "
|
||||
" Written by Nathaniel Maia, December 2017 "
|
||||
" ----------------------------------------------- "
|
||||
" vim:fdm=marker
|
||||
|
||||
" ---------- Setup and Checks ----------- " {{{1
|
||||
|
||||
if exists('syntax_on')
|
||||
highlight clear
|
||||
syntax reset
|
||||
endif
|
||||
|
||||
let g:colors_name = 'jinx'
|
||||
|
||||
" Colors {{{1
|
||||
|
||||
" empty color dictionary
|
||||
let s:jinx = {}
|
||||
|
||||
" NOTE: For those looking to edit the theme
|
||||
"
|
||||
" Color definition is done for both true color
|
||||
" and 256 color. The format is in ['HEX', 256color, 16color]
|
||||
"
|
||||
" let s:jinx.black = ['#000000', 0, 0]
|
||||
|
||||
" completion menu, wildmenu, and status/tab lines
|
||||
let s:jinx.menu_bgr = ['#4D5057', 238, 8]
|
||||
let s:jinx.menu_fgr = ['#808080', 102, 15]
|
||||
let s:jinx.menusel_bgr = ['#1F2326', 235, 0]
|
||||
let s:jinx.menusel_fgr = ['#E1E1E1', 251, 7]
|
||||
let s:jinx.menualt_fgr = ['#E1E1E1', 251, 7]
|
||||
let s:jinx.menualt_bgr = ['#37383D', 237, 0]
|
||||
let s:jinx.tabsel_bgr = ['#8DBC8D', 108, 2]
|
||||
|
||||
" terminal colours for :terminal {{{
|
||||
|
||||
let g:terminal_ansi_colors = [
|
||||
\ '#4D545E', '#FF777A', '#8DBC8D', '#FFEB56', '#6699CC', '#CC99CC', '#5DD5FF', '#E1E1E1',
|
||||
\ '#4D545E', '#FF777A', '#8DBC8D', '#FFEB56', '#6699CC', '#CC99CC', '#5DD5FF', '#E1E1E1'
|
||||
\ ]
|
||||
let s:i = 0
|
||||
for s:color in g:terminal_ansi_colors
|
||||
let g:terminal_color_{s:i} = s:color
|
||||
let s:i += 1
|
||||
endfor
|
||||
|
||||
"}}}
|
||||
|
||||
" background, foreground, line, visual selection, folds,
|
||||
" and comments as well as standard 1-7 colors: red, green,
|
||||
" yellow, blue, purple, cyan, and orange (instead of white)
|
||||
if exists('g:jinx_colors') && g:jinx_colors =~? 'day' "{{{
|
||||
set background=light
|
||||
let s:jinx.fgr = ['#494949', 238, 0]
|
||||
let s:jinx.bgr = ['#E1E1E1', 254, 7]
|
||||
let s:jinx.line = ['#D0D0D0', 252, 15]
|
||||
let s:jinx.select = ['#D0D0D0', 252, 15]
|
||||
let s:jinx.folded = ['#B2B2B2', 249, 15]
|
||||
let s:jinx.commnt = ['#808080', 244, 15]
|
||||
|
||||
let s:jinx.red = ['#EF7878', 210, 1]
|
||||
let s:jinx.green = ['#78A078', 108, 2]
|
||||
let s:jinx.yellow = ['#CE9D00', 178, 3]
|
||||
let s:jinx.blue = ['#4E88CF', 32, 4]
|
||||
let s:jinx.purple = ['#AF86C8', 140, 5]
|
||||
let s:jinx.cyan = ['#00AFAF', 37, 6]
|
||||
let s:jinx.orange = ['#E0914C', 166, 9]
|
||||
|
||||
let g:terminal_color_1 = '#EF7878'
|
||||
let g:terminal_color_2 = '#78A078'
|
||||
let g:terminal_color_3 = '#CE9D00'
|
||||
let g:terminal_color_4 = '#4E88CF'
|
||||
let g:terminal_color_5 = '#AF86C8'
|
||||
let g:terminal_color_6 = '#00AFAF'
|
||||
let g:terminal_color_9 = '#FF777A'
|
||||
let g:terminal_color_10 = '#8DBC8D'
|
||||
let g:terminal_color_11 = '#FFEB56'
|
||||
let g:terminal_color_12 = '#6699CC'
|
||||
let g:terminal_color_13 = '#CC99CC'
|
||||
let g:terminal_color_14 = '#5DD5FF'
|
||||
let g:terminal_ansi_colors = [
|
||||
\ '#E1E1E1', '#EF7878', '#78A078', '#CE9D00', '#4E88CF', '#AF86C8', '#00AFAF', '#4D545E',
|
||||
\ '#E1E1E1', '#FF777A', '#8DBC8D', '#FFEB56', '#6699CC', '#CC99CC', '#5DD5FF', '#4D545E'
|
||||
\ ]
|
||||
let s:i = 0
|
||||
for s:color in g:terminal_ansi_colors
|
||||
let g:terminal_color_{s:i} = s:color
|
||||
let s:i += 1
|
||||
endfor
|
||||
|
||||
elseif exists('g:jinx_colors') && g:jinx_colors =~? 'midnight'
|
||||
let s:jinx.menu_bgr = ['#2c3135', 237, 0]
|
||||
|
||||
set background=dark
|
||||
let s:jinx.fgr = ['#E1E1E1', 253, 7]
|
||||
let s:jinx.bgr = ['#40464F', 234, 0]
|
||||
let s:jinx.line = ['#2c3135', 237, 15]
|
||||
let s:jinx.select = ['#2c3135', 237, 15]
|
||||
let s:jinx.folded = ['#414449', 240, 15]
|
||||
let s:jinx.commnt = ['#B9B9B9', 102, 15]
|
||||
|
||||
let s:jinx.red = ['#FF777A', 210, 1]
|
||||
let s:jinx.green = ['#8DBC8D', 108, 2]
|
||||
let s:jinx.yellow = ['#FFEB56', 220, 3]
|
||||
let s:jinx.blue = ['#6699CC', 32, 4]
|
||||
let s:jinx.purple = ['#CC99CC', 140, 5]
|
||||
let s:jinx.cyan = ['#5DD5FF', 81, 6]
|
||||
let s:jinx.orange = ['#FF9157', 208, 9]
|
||||
|
||||
else
|
||||
" night
|
||||
set background=dark
|
||||
let s:jinx.fgr = ['#E1E1E1', 254, 7]
|
||||
let s:jinx.bgr = ['#4D545E', 237, 0]
|
||||
let s:jinx.line = ['#5F6772', 243, 8]
|
||||
let s:jinx.select = ['#5F6772', 243, 1]
|
||||
let s:jinx.folded = ['#414449', 239, 8]
|
||||
let s:jinx.commnt = ['#B9B9B9', 250, 8]
|
||||
|
||||
let s:jinx.red = ['#FF777A', 210, 1]
|
||||
let s:jinx.green = ['#8DBC8D', 108, 2]
|
||||
let s:jinx.yellow = ['#FFEB56', 220, 3]
|
||||
let s:jinx.blue = ['#6699CC', 32, 4]
|
||||
let s:jinx.purple = ['#CC99CC', 140, 5]
|
||||
let s:jinx.cyan = ['#5DD5FF', 81, 6]
|
||||
let s:jinx.orange = ['#FF9157', 208, 9]
|
||||
|
||||
endif "}}}
|
||||
|
||||
function! <SID>HighLight(GRP, FG, BG, ATT) abort " {{{1
|
||||
if a:FG !=# ''
|
||||
let l:fg_col = get(s:jinx, a:FG)
|
||||
let l:fg_true = l:fg_col[0]
|
||||
if $TERM =~? 'linux' || &t_Co < 256
|
||||
let l:fg_term = l:fg_col[2]
|
||||
else
|
||||
let l:fg_term = l:fg_col[1]
|
||||
endif
|
||||
exec 'highlight! '.a:GRP.' guifg='.l:fg_true.' ctermfg='.l:fg_term
|
||||
endif
|
||||
if a:BG !=# ''
|
||||
let l:bg_col = get(s:jinx, a:BG)
|
||||
let l:bg_true = l:bg_col[0]
|
||||
if $TERM =~? 'linux' || &t_Co < 256
|
||||
let l:bg_term = l:bg_col[2]
|
||||
else
|
||||
let l:bg_term = l:bg_col[1]
|
||||
endif
|
||||
exec 'highlight! '.a:GRP.' guibg='.l:bg_true.' ctermbg='.l:bg_term
|
||||
endif
|
||||
if a:ATT !=# '' && &t_Co >= 256
|
||||
exec 'highlight! '.a:GRP.' gui='.a:ATT.' cterm='.a:ATT
|
||||
endif
|
||||
endfunction
|
||||
|
||||
|
||||
" ---------- Highlight Groups ------------ " {{{1
|
||||
|
||||
" Editor {{{2
|
||||
|
||||
call <SID>HighLight('Title', 'commnt', 'bgr', 'bold')
|
||||
call <SID>HighLight('Visual', '', 'select', '')
|
||||
call <SID>HighLight('SignColumn', '', 'line', '')
|
||||
call <SID>HighLight('CursorLine', '', 'line', 'none')
|
||||
call <SID>HighLight('CursorColumn', '', 'line', '')
|
||||
call <SID>HighLight('CursorLineNr', 'cyan', 'line', '')
|
||||
call <SID>HighLight('LineNr', 'commnt', 'line', '')
|
||||
call <SID>HighLight('ColorColumn', 'fgr', 'red', '')
|
||||
call <SID>HighLight('Error', 'red', 'bgr', '')
|
||||
call <SID>HighLight('ErrorMsg', 'red', 'bgr', '')
|
||||
call <SID>HighLight('WarningMsg', 'red', 'bgr', '')
|
||||
call <SID>HighLight('MatchParen', 'yellow', 'bgr', 'bold')
|
||||
call <SID>HighLight('ModeMsg', 'cyan', 'bgr', '')
|
||||
call <SID>HighLight('MoreMsg', 'cyan', 'bgr', '')
|
||||
call <SID>HighLight('Directory', 'blue', 'bgr', '')
|
||||
call <SID>HighLight('Question', 'green', 'bgr', '')
|
||||
call <SID>HighLight('NonText', 'commnt', 'bgr', '')
|
||||
call <SID>HighLight('SpecialKey', 'commnt', 'bgr', '')
|
||||
call <SID>HighLight('Folded', 'commnt', 'folded', '')
|
||||
call <SID>HighLight('Search', 'bgr', 'blue', '')
|
||||
call <SID>HighLight('HLNext', 'bgr', 'red', 'bold')
|
||||
call <SID>HighLight('Normal', 'fgr', 'bgr', '')
|
||||
call <SID>HighLight('VertSplit', 'menu_bgr', 'menu_fgr', '')
|
||||
|
||||
" Tabline {{{2
|
||||
|
||||
call <SID>HighLight('TabLine', 'menusel_fgr', 'menu_bgr', 'none')
|
||||
call <SID>HighLight('TabLineFill', 'menu_bgr', 'menu_bgr', '')
|
||||
call <SID>HighLight('TabLineSel', 'menu_bgr', 'tabsel_bgr', 'bold')
|
||||
call <SID>HighLight('WildMenu', 'menusel_fgr', 'menu_bgr', 'bold')
|
||||
call <SID>HighLight('Pmenu', 'menusel_fgr', 'menu_bgr', 'bold')
|
||||
call <SID>HighLight('PmenuSel', 'menusel_bgr', 'menusel_fgr', 'bold')
|
||||
call <SID>HighLight('PmenuSbar', 'menu_fgr', 'menu_bgr', '')
|
||||
call <SID>HighLight('PmenuThumb', 'menu_fgr', 'menu_bgr', '')
|
||||
call <SID>HighLight('StatusLine', 'menu_bgr', 'menusel_fgr', '')
|
||||
call <SID>HighLight('StatusLineNC', 'menu_bgr', 'menu_fgr', '')
|
||||
|
||||
" Spelling {{{2
|
||||
call <SID>HighLight('SpellBad', '', '', 'underline')
|
||||
call <SID>HighLight('SpellLocal', '', '', 'underline')
|
||||
call <SID>HighLight('SpellRare', '', '', 'underline')
|
||||
|
||||
" Ctrl-P {{{2
|
||||
call <SID>HighLight('CtrlPNoEntries', 'red', '', 'bold')
|
||||
call <SID>HighLight('CtrlPMatch', 'blue', '', 'bold')
|
||||
call <SID>HighLight('CtrlPLinePre', 'blue', 'menu_bgr', 'none')
|
||||
call <SID>HighLight('CtrlPPrtBase', 'blue', '', 'none')
|
||||
call <SID>HighLight('CtrlPPrtCursor', 'menu_fgr', 'menu_bgr', 'bold')
|
||||
call <SID>HighLight('CtrlPMode1', 'menu_fgr', 'menu_bgr', 'bold')
|
||||
call <SID>HighLight('CtrlPMode2', 'menu_fgr', 'menu_bgr', 'bold')
|
||||
call <SID>HighLight('CtrlPStats', 'menu_fgr', 'menu_bgr', 'bold')
|
||||
|
||||
" ALE linter {{{2
|
||||
|
||||
call <SID>HighLight('ALEErrorSign', 'red', 'line', '')
|
||||
call <SID>HighLight('ALEWarningSign', 'orange', 'line', '')
|
||||
call <SID>HighLight('ALEError', 'red', '', 'underline')
|
||||
call <SID>HighLight('ALEWarning', 'red', '', 'underline')
|
||||
call <SID>HighLight('ALEStyleError', 'orange', '', 'underline')
|
||||
call <SID>HighLight('ALEStyleWarning', 'orange', '', 'underline')
|
||||
|
||||
" Generic {{{2
|
||||
|
||||
call <SID>HighLight('Comment', 'commnt', '', '')
|
||||
call <SID>HighLight('Todo', 'red', 'bgr', 'bold')
|
||||
call <SID>HighLight('Float', 'cyan', '', '')
|
||||
call <SID>HighLight('Character', 'cyan', '', '')
|
||||
call <SID>HighLight('String', 'cyan', '', '')
|
||||
call <SID>HighLight('Number', 'cyan', '', 'bold')
|
||||
call <SID>HighLight('Boolean', 'cyan', '', 'bold')
|
||||
call <SID>HighLight('Exception', 'blue', '', 'bold')
|
||||
call <SID>HighLight('Include', 'blue', '', '')
|
||||
call <SID>HighLight('Operator', 'blue', '', 'bold')
|
||||
call <SID>HighLight('Label', 'green', '', '')
|
||||
call <SID>HighLight('Repeat', 'green', '', '')
|
||||
call <SID>HighLight('Statement', 'green', '', '')
|
||||
call <SID>HighLight('Conditional', 'green', '', '')
|
||||
call <SID>HighLight('Keyword', 'green', '', 'bold')
|
||||
call <SID>HighLight('Structure', 'purple', '', 'bold')
|
||||
call <SID>HighLight('StorageClass', 'purple', '', 'bold')
|
||||
call <SID>HighLight('Type', 'purple', '', 'bold')
|
||||
call <SID>HighLight('Tag', 'purple', '', 'bold')
|
||||
call <SID>HighLight('Macro', 'purple', '', 'bold')
|
||||
call <SID>HighLight('Special', 'purple', '', 'bold')
|
||||
call <SID>HighLight('TypeDef', 'purple', '', 'bold')
|
||||
call <SID>HighLight('Define', 'yellow', '', 'bold')
|
||||
call <SID>HighLight('Constant', 'purple', '', 'bold')
|
||||
call <SID>HighLight('PreProc', 'yellow', '', '')
|
||||
call <SID>HighLight('Identifier', 'yellow', '', 'bold')
|
||||
call <SID>HighLight('PreCondit', 'yellow', '', '')
|
||||
call <SID>HighLight('Function', 'orange', '', 'bold')
|
||||
call <SID>HighLight('Conceal', 'orange', '', '')
|
||||
|
||||
" Vim {{{2
|
||||
|
||||
call <SID>HighLight('vimCommand', 'green', '', 'bold')
|
||||
call <SID>HighLight('vimVar', 'yellow', '', 'bold')
|
||||
call <SID>HighLight('vimGroup', 'yellow', '', 'bold')
|
||||
call <SID>HighLight('vimGroupName', 'yellow', '', 'bold')
|
||||
call <SID>HighLight('VimFunction', 'orange', '', 'bold')
|
||||
call <SID>HighLight('VimFunctionKey', 'orange', '', 'bold')
|
||||
call <SID>HighLight('vimMapModKey', 'purple', '', 'bold')
|
||||
call <SID>HighLight('vimBracket', 'purple', '', 'bold')
|
||||
call <SID>HighLight('vimOption', 'purple', '', 'bold')
|
||||
call <SID>HighLight('vimMapMod', 'purple', '', '')
|
||||
call <SID>HighLight('vimNotation', 'purple', '', '')
|
||||
|
||||
" Shell {{{2
|
||||
|
||||
call <SID>HighLight('shSet', 'green', '', 'bold')
|
||||
call <SID>HighLight('shLoop', 'green', '', 'bold')
|
||||
call <SID>HighLight('shTestOpr', 'green', '', 'bold')
|
||||
call <SID>HighLight('shConstant', 'yellow', '', 'bold')
|
||||
call <SID>HighLight('shFunctionKey', 'orange', '', 'bold')
|
||||
call <SID>HighLight('shStatement', 'green', '', 'bold')
|
||||
call <SID>HighLight('shKeyword', 'purple', '', 'bold')
|
||||
call <SID>HighLight('zshStatement', 'green', '', 'bold')
|
||||
call <SID>HighLight('zshOption', 'green', '', 'bold')
|
||||
call <SID>HighLight('zshFunction', 'orange', '', 'bold')
|
||||
call <SID>HighLight('zshVariableDef', 'yellow', '', '')
|
||||
call <SID>HighLight('zshOperator', 'blue', '', 'bold')
|
||||
|
||||
" C {{{2
|
||||
|
||||
call <SID>HighLight('cConditional', 'green', '', '')
|
||||
call <SID>HighLight('cRepeat', 'purple', '', '')
|
||||
call <SID>HighLight('cStorageClass', 'purple', '', '')
|
||||
call <SID>HighLight('cType', 'yellow', '', '')
|
||||
|
||||
" PHP {{{2
|
||||
|
||||
call <SID>HighLight('phpMemberSelector', 'blue', '', '')
|
||||
call <SID>HighLight('phpVarSelector', 'red', '', '')
|
||||
call <SID>HighLight('phpConditional', 'green', '', '')
|
||||
call <SID>HighLight('phpStatement', 'green', '', 'bold')
|
||||
call <SID>HighLight('phpKeyword', 'purple', '', 'bold')
|
||||
call <SID>HighLight('phpRepeat', 'purple', '', '')
|
||||
|
||||
" Ruby {{{2
|
||||
|
||||
call <SID>HighLight('rubyInclude', 'blue', '', '')
|
||||
call <SID>HighLight('rubyAttribute', 'blue', '', '')
|
||||
call <SID>HighLight('rubySymbol', 'green', '', '')
|
||||
call <SID>HighLight('rubyStringDelimiter', 'green', '', '')
|
||||
call <SID>HighLight('rubyRepeat', 'purple', '', '')
|
||||
call <SID>HighLight('rubyControl', 'purple', '', '')
|
||||
call <SID>HighLight('rubyConditional', 'purple', '', '')
|
||||
call <SID>HighLight('rubyException', 'purple', '', '')
|
||||
call <SID>HighLight('rubyCurlyBlock', 'orange', '', '')
|
||||
call <SID>HighLight('rubyLocalVariableOrMethod', 'orange', '', '')
|
||||
call <SID>HighLight('rubyInterpolationDelimiter', 'orange', '', '')
|
||||
call <SID>HighLight('rubyAccess', 'yellow', '', '')
|
||||
call <SID>HighLight('rubyConstant', 'yellow', '', '')
|
||||
|
||||
" Python {{{2
|
||||
|
||||
call <SID>HighLight('pythonRun', 'red', '', '')
|
||||
call <SID>HighLight('pythonOperator', 'blue', '', 'bold')
|
||||
call <SID>HighLight('pythonClass', 'blue', '', '')
|
||||
call <SID>HighLight('pythonClassParameters', 'purple', '', '')
|
||||
call <SID>HighLight('pythonParam', 'purple', '', '')
|
||||
call <SID>HighLight('pythonDecorator', 'blue', '', 'bold')
|
||||
call <SID>HighLight('pythonExClass', 'blue', '', '')
|
||||
call <SID>HighLight('pythonException', 'blue', '', 'bold')
|
||||
call <SID>HighLight('pythonExceptions', 'blue', '', 'bold')
|
||||
call <SID>HighLight('pythonBrackets', 'blue', '', '')
|
||||
call <SID>HighLight('pythonEscape', 'blue', '', '')
|
||||
call <SID>HighLight('pythonImport', 'green', '', 'bold')
|
||||
call <SID>HighLight('pythonRepeat', 'green', '', '')
|
||||
call <SID>HighLight('pythonCoding', 'green', '', '')
|
||||
call <SID>HighLight('pythonInclude', 'green', '', 'bold')
|
||||
call <SID>HighLight('pythonPreCondit', 'green', '', '')
|
||||
call <SID>HighLight('pythonStatement', 'green', '', 'bold')
|
||||
call <SID>HighLight('pythonConditional', 'green', '', '')
|
||||
call <SID>HighLight('pythonDef', 'yellow', '', 'bold')
|
||||
call <SID>HighLight('pythonSelf', 'blue', '', 'bold')
|
||||
call <SID>HighLight('pythonBuiltinType', 'purple', '', 'bold')
|
||||
call <SID>HighLight('pythonBuiltin', 'purple', '', 'bold')
|
||||
call <SID>HighLight('pythonBuiltinObj', 'purple', '', 'bold')
|
||||
call <SID>HighLight('pythonBuiltinFunc', 'orange', '', 'bold')
|
||||
call <SID>HighLight('pythonDot', 'orange', '', 'bold')
|
||||
call <SID>HighLight('pythonLambda', 'orange', '', '')
|
||||
call <SID>HighLight('pythonLambdaExpr', 'orange', '', '')
|
||||
call <SID>HighLight('pythonFunction', 'orange', '', 'bold')
|
||||
call <SID>HighLight('pythonDottedName', 'orange', '', '')
|
||||
call <SID>HighLight('pythonBuiltinObjs', 'orange', '', '')
|
||||
|
||||
" LaTeX {{{2
|
||||
|
||||
call <SID>HighLight('texZone', 'red', '', 'none')
|
||||
call <SID>HighLight('texStatement', 'blue', '', 'none')
|
||||
call <SID>HighLight('texRefLabel', 'blue', '', 'none')
|
||||
call <SID>HighLight('texRefZone', 'green', '', 'none')
|
||||
call <SID>HighLight('texMath', 'orange', '', 'none')
|
||||
call <SID>HighLight('texMathZoneX', 'orange', '', 'none')
|
||||
call <SID>HighLight('texMathZoneA', 'orange', '', 'none')
|
||||
call <SID>HighLight('texMathZoneB', 'orange', '', 'none')
|
||||
call <SID>HighLight('texMathZoneC', 'orange', '', 'none')
|
||||
call <SID>HighLight('texMathZoneD', 'orange', '', 'none')
|
||||
call <SID>HighLight('texMathZoneE', 'orange', '', 'none')
|
||||
call <SID>HighLight('texMathMatcher', 'orange', '', 'none')
|
||||
call <SID>HighLight('texDelimiter', 'purple', '', 'none')
|
||||
call <SID>HighLight('texComment', 'commnt', '', 'none')
|
||||
|
||||
" JavaScript {{{2
|
||||
|
||||
call <SID>HighLight('javaScriptNumber', 'cyan', '', 'bold')
|
||||
call <SID>HighLight('javascriptNull', 'red', '', 'bold')
|
||||
call <SID>HighLight('javascriptStatement', 'green', '', '')
|
||||
call <SID>HighLight('javaScriptConditional', 'green', '', '')
|
||||
call <SID>HighLight('javaScriptRepeat', 'purple', '', '')
|
||||
call <SID>HighLight('javaScriptBraces', 'purple', '', 'bold')
|
||||
call <SID>HighLight('javascriptGlobal', 'yellow', '', 'bold')
|
||||
call <SID>HighLight('javaScriptFunction', 'orange', '', 'bold')
|
||||
call <SID>HighLight('javaScriptMember', 'orange', '', 'bold')
|
||||
|
||||
" HTML {{{2
|
||||
|
||||
call <SID>HighLight('htmlTag', 'red', '', '')
|
||||
call <SID>HighLight('htmlTagName', 'red', '', 'bold')
|
||||
call <SID>HighLight('htmlLink', 'blue', '', 'bold')
|
||||
call <SID>HighLight('htmlArg', 'green', '', 'bold')
|
||||
call <SID>HighLight('htmlScriptTag', 'purple', '', 'bold')
|
||||
call <SID>HighLight('htmlTitle', 'blue', '', 'bold')
|
||||
call <SID>HighLight('htmlH1', 'blue', '', 'bold')
|
||||
call <SID>HighLight('htmlH2', 'cyan', '', '')
|
||||
call <SID>HighLight('htmlH3', 'cyan', '', '')
|
||||
call <SID>HighLight('htmlH4', 'green', '', '')
|
||||
call <SID>HighLight('htmlH5', 'green', '', '')
|
||||
|
||||
" YAML {{{2
|
||||
|
||||
call <SID>HighLight('yamlKey', 'red', '', '')
|
||||
call <SID>HighLight('yamlAnchor', 'red', '', '')
|
||||
call <SID>HighLight('yamlAlias', 'blue', '', '')
|
||||
call <SID>HighLight('yamlDocumentHeader', 'green', '', '')
|
||||
|
||||
" Markdown {{{2
|
||||
|
||||
call <SID>HighLight('markdownHeadingRule', 'red', '', '')
|
||||
call <SID>HighLight('markdownHeadingDelimiter', 'red', '', '')
|
||||
call <SID>HighLight('markdownListMarker', 'blue', '', '')
|
||||
call <SID>HighLight('markdownOrderedListMarker', 'blue', '', '')
|
||||
call <SID>HighLight('markdownCode', 'purple', '', '')
|
||||
call <SID>HighLight('markdownCodeBlock', 'purple', '', 'bold')
|
||||
call <SID>HighLight('markdownCodeDelimiter', 'orange', '', 'bold')
|
||||
call <SID>HighLight('markdownH1', 'blue', '', 'bold')
|
||||
call <SID>HighLight('markdownH2', 'blue', '', 'bold')
|
||||
call <SID>HighLight('markdownH3', 'cyan', '', '')
|
||||
call <SID>HighLight('markdownH4', 'cyan', '', '')
|
||||
call <SID>HighLight('markdownH5', 'green', '', '')
|
||||
|
||||
" ShowMarks {{{2
|
||||
|
||||
call <SID>HighLight('ShowMarksHLm', 'cyan', '', '')
|
||||
call <SID>HighLight('ShowMarksHLl', 'orange', '', '')
|
||||
call <SID>HighLight('ShowMarksHLo', 'purple', '', '')
|
||||
call <SID>HighLight('ShowMarksHLu', 'yellow', '', '')
|
||||
|
||||
" Lua {{{2
|
||||
|
||||
call <SID>HighLight('luaRepeat', 'purple', '', '')
|
||||
call <SID>HighLight('luaStatement', 'purple', '', '')
|
||||
call <SID>HighLight('luaCond', 'green', '', '')
|
||||
call <SID>HighLight('luaCondEnd', 'green', '', '')
|
||||
call <SID>HighLight('luaCondStart', 'green', '', '')
|
||||
call <SID>HighLight('luaCondElseif', 'green', '', '')
|
||||
|
||||
" Go {{{2
|
||||
|
||||
call <SID>HighLight('goDeclType', 'blue', '', '')
|
||||
call <SID>HighLight('goLabel', 'purple', '', '')
|
||||
call <SID>HighLight('goRepeat', 'purple', '', '')
|
||||
call <SID>HighLight('goBuiltins', 'purple', '', '')
|
||||
call <SID>HighLight('goStatement', 'purple', '', '')
|
||||
call <SID>HighLight('goDirective', 'purple', '', '')
|
||||
call <SID>HighLight('goDeclaration', 'purple', '', '')
|
||||
call <SID>HighLight('goConditional', 'purple', '', '')
|
||||
call <SID>HighLight('goTodo', 'yellow', '', '')
|
||||
call <SID>HighLight('goConstants', 'orange', '', '')
|
||||
|
||||
" Clojure {{{2
|
||||
|
||||
call <SID>HighLight('clojureException', 'red', '', '')
|
||||
call <SID>HighLight('clojureParen', 'cyan', '', '')
|
||||
call <SID>HighLight('clojureCond', 'blue', '', '')
|
||||
call <SID>HighLight('clojureFunc', 'blue', '', '')
|
||||
call <SID>HighLight('clojureMeta', 'blue', '', '')
|
||||
call <SID>HighLight('clojureMacro', 'blue', '', '')
|
||||
call <SID>HighLight('clojureDeref', 'blue', '', '')
|
||||
call <SID>HighLight('clojureQuote', 'blue', '', '')
|
||||
call <SID>HighLight('clojureRepeat', 'blue', '', '')
|
||||
call <SID>HighLight('clojureRepeat', 'blue', '', '')
|
||||
call <SID>HighLight('clojureUnquote', 'blue', '', '')
|
||||
call <SID>HighLight('clojureAnonArg', 'blue', '', '')
|
||||
call <SID>HighLight('clojureDispatch', 'blue', '', '')
|
||||
call <SID>HighLight('clojureString', 'green', '', '')
|
||||
call <SID>HighLight('clojureRegexp', 'green', '', '')
|
||||
call <SID>HighLight('clojureKeyword', 'green', '', '')
|
||||
call <SID>HighLight('clojureDefine', 'purple', '', '')
|
||||
call <SID>HighLight('clojureSpecial', 'purple', '', '')
|
||||
call <SID>HighLight('clojureVariable', 'yellow', '', '')
|
||||
call <SID>HighLight('clojureBoolean', 'orange', '', '')
|
||||
call <SID>HighLight('clojureNumber', 'orange', '', '')
|
||||
call <SID>HighLight('clojureConstant', 'orange', '', '')
|
||||
call <SID>HighLight('clojureCharacter', 'orange', '', '')
|
||||
|
||||
" Scala {{{2
|
||||
|
||||
call <SID>HighLight('scalaPackage', 'red', '', '')
|
||||
call <SID>HighLight('scalaVar', 'cyan', '', '')
|
||||
call <SID>HighLight('scalaDefName', 'blue', '', '')
|
||||
call <SID>HighLight('scalaBackTick', 'blue', '', '')
|
||||
call <SID>HighLight('scalaMethodCall', 'blue', '', '')
|
||||
call <SID>HighLight('scalaXml', 'green', '', '')
|
||||
call <SID>HighLight('scalaString', 'green', '', '')
|
||||
call <SID>HighLight('scalaBackTick', 'green', '', '')
|
||||
call <SID>HighLight('scalaEmptyString', 'green', '', '')
|
||||
call <SID>HighLight('scalaStringEscape', 'green', '', '')
|
||||
call <SID>HighLight('scalaMultiLineString', 'green', '', '')
|
||||
call <SID>HighLight('scalaTypeSpecializer', 'yellow', '', '')
|
||||
call <SID>HighLight('scalaDefSpecializer', 'yellow', '', '')
|
||||
call <SID>HighLight('scalaType', 'yellow', '', '')
|
||||
call <SID>HighLight('scalaCaseType', 'yellow', '', '')
|
||||
call <SID>HighLight('scalaAnnotation', 'orange', '', '')
|
||||
call <SID>HighLight('scalaSymbol', 'orange', '', '')
|
||||
call <SID>HighLight('scalaUnicode', 'orange', '', '')
|
||||
call <SID>HighLight('scalaBoolean', 'orange', '', '')
|
||||
call <SID>HighLight('scalaNumber', 'orange', '', '')
|
||||
call <SID>HighLight('scalaChar', 'orange', '', '')
|
||||
call <SID>HighLight('scalaImport', 'purple', '', '')
|
||||
call <SID>HighLight('scalaDef', 'purple', '', '')
|
||||
call <SID>HighLight('scalaVal', 'purple', '', '')
|
||||
call <SID>HighLight('scalaClass', 'purple', '', '')
|
||||
call <SID>HighLight('scalaTrait', 'purple', '', '')
|
||||
call <SID>HighLight('scalaObject', 'purple', '', '')
|
||||
call <SID>HighLight('scalaKeywordModifier', 'purple', '', '')
|
||||
call <SID>HighLight('scalaDocComment', 'commnt', '', '')
|
||||
call <SID>HighLight('scalaComment', 'commnt', '', '')
|
||||
call <SID>HighLight('scalaDocTags', 'commnt', '', '')
|
||||
call <SID>HighLight('scalaLineComment', 'commnt', '', '')
|
||||
|
||||
" Diff {{{2
|
||||
|
||||
call <SID>HighLight('DiffDelete', 'red', '', '')
|
||||
call <SID>HighLight('DiffChange', 'blue', '', '')
|
||||
call <SID>HighLight('DiffAdd', 'green', '', '')
|
||||
call <SID>HighLight('DiffText', 'line', 'blue', 'bold')
|
||||
|
||||
" Cleanup {{{2
|
||||
|
||||
" Remove the highlight function as it's no longer needed.
|
||||
" Will cause problems reloading the theme if not deleted.
|
||||
delfunction <SID>HighLight
|
317
base/.vimrc
Normal file
317
base/.vimrc
Normal file
@ -0,0 +1,317 @@
|
||||
" Sane vim defaults for ArchLabs
|
||||
|
||||
" Arch defaults
|
||||
runtime! archlinux.vim
|
||||
|
||||
" system clipboard (requires +clipboard)
|
||||
set clipboard^=unnamed,unnamedplus
|
||||
|
||||
" additional settings
|
||||
set modeline " enable vim modelines
|
||||
set hlsearch " highlight search items
|
||||
set incsearch " searches are performed as you type
|
||||
set number " enable line numbers
|
||||
set confirm " ask confirmation like save before quit.
|
||||
set wildmenu " Tab completion menu when using command mode
|
||||
set expandtab " Tab key inserts spaces not tabs
|
||||
set softtabstop=4 " spaces to enter for each tab
|
||||
set shiftwidth=4 " amount of spaces for indentation
|
||||
set shortmess+=aAcIws " Hide or shorten certain messages
|
||||
|
||||
let g:netrw_altv = 1
|
||||
let g:netrw_liststyle = 3
|
||||
let g:netrw_browse_split = 3
|
||||
|
||||
" ------ leader mapping ------
|
||||
|
||||
let g:mapleader = "\<Space>"
|
||||
|
||||
" ------ enable additional features ------
|
||||
|
||||
" enable mouse
|
||||
set mouse=a
|
||||
if has('mouse_sgr')
|
||||
" sgr mouse is better but not every term supports it
|
||||
set ttymouse=sgr
|
||||
endif
|
||||
|
||||
" syntax highlighting
|
||||
syntax enable
|
||||
|
||||
set linebreak breakindent
|
||||
set list listchars=tab:>>,trail:~
|
||||
|
||||
" midnight, night, or day
|
||||
let g:jinx_colors = 'midnight'
|
||||
|
||||
try
|
||||
colorscheme jinx
|
||||
catch
|
||||
colorscheme slate
|
||||
endtry
|
||||
|
||||
if $TERM !=? 'linux'
|
||||
set termguicolors
|
||||
|
||||
" true colors in terminals (neovim doesn't need this)
|
||||
if !has('nvim') && !($TERM =~? 'xterm' || &term =~? 'xterm')
|
||||
let $TERM = 'xterm-256color'
|
||||
let &term = 'xterm-256color'
|
||||
endif
|
||||
|
||||
if has('multi_byte') && $TERM !=? 'linux'
|
||||
set listchars=tab:»»,trail:•
|
||||
set fillchars=vert:┃ showbreak=↪
|
||||
endif
|
||||
endif
|
||||
|
||||
" change cursor shape for different editing modes, neovim does this by default
|
||||
if !has('nvim')
|
||||
if exists('$TMUX')
|
||||
let &t_SI = "\<Esc>Ptmux;\<Esc>\e[5 q\<Esc>\\"
|
||||
let &t_SR = "\<Esc>Ptmux;\<Esc>\e[4 q\<Esc>\\"
|
||||
let &t_EI = "\<Esc>Ptmux;\<Esc>\e[2 q\<Esc>\\"
|
||||
else
|
||||
let &t_SI = "\e[6 q"
|
||||
let &t_SR = "\e[4 q"
|
||||
let &t_EI = "\e[2 q"
|
||||
endif
|
||||
endif
|
||||
|
||||
" ------ commands ------
|
||||
|
||||
command! D Explore
|
||||
command! R call <SID>ranger()
|
||||
command! Q call <SID>quitbuffer()
|
||||
command! -nargs=1 B :call <SID>bufferselect("<args>")
|
||||
command! W execute 'silent w !sudo tee % >/dev/null' | edit!
|
||||
|
||||
" ------ basic maps ------
|
||||
|
||||
" open ranger as a file chooser using the function below
|
||||
nnoremap <leader>r :call <SID>ranger()<CR>
|
||||
|
||||
" match string to switch buffer
|
||||
nnoremap <Leader>b :let b:buf = input('Match: ')<Bar>call <SID>bufferselect(b:buf)<CR>
|
||||
|
||||
" paste while in insert mode
|
||||
inoremap <silent><C-v> <Esc>:set paste<CR>a<C-r>+<Esc>:set nopaste<CR>a
|
||||
|
||||
" change windows with ctrl+(hjkl)
|
||||
nnoremap <C-J> <C-W><C-J>
|
||||
nnoremap <C-K> <C-W><C-K>
|
||||
nnoremap <C-L> <C-W><C-L>
|
||||
nnoremap <C-H> <C-W><C-H>
|
||||
|
||||
" alt defaults
|
||||
nnoremap 0 ^
|
||||
nnoremap Y y$
|
||||
nnoremap n nzzzv
|
||||
nnoremap N Nzzzv
|
||||
nnoremap <Tab> ==j
|
||||
|
||||
" re-visual text after changing indent
|
||||
vnoremap > >gv
|
||||
vnoremap < <gv
|
||||
|
||||
" toggle line numbers, nn (no number)
|
||||
nnoremap <silent> <Leader>nn :set number!
|
||||
|
||||
" j = gj :: k = gk while preserving numbered jumps eg. 12j
|
||||
nnoremap <buffer><silent><expr>j v:count ? 'j' : 'gj'
|
||||
nnoremap <buffer><silent><expr>k v:count ? 'k' : 'gk'
|
||||
|
||||
" open a terminal in $PWD
|
||||
nnoremap <silent> <Leader>tt :terminal<CR>
|
||||
|
||||
" tab control
|
||||
nnoremap <silent> <M-j> :tabmove -1<CR>
|
||||
nnoremap <silent> <M-k> :tabmove +1<CR>
|
||||
nnoremap <silent> <Leader>te :tabnew<CR>
|
||||
nnoremap <silent> <Leader>tn :tabnext<CR>
|
||||
nnoremap <silent> <Leader>tf :tabfirst<CR>
|
||||
nnoremap <silent> <Leader>tp :tabprevious<CR>
|
||||
|
||||
" close current buffer and/or tab
|
||||
nnoremap <silent> <Leader>q :B<CR>:silent tabclose<CR>gT
|
||||
nnoremap <silent> <Leader>tl :execute "tabn ".g:lasttab<CR>
|
||||
|
||||
" open a new tab in the current directory with netrw
|
||||
nnoremap <silent> <Leader>- :tabedit <C-R>=expand("%:p:h")<CR><CR>
|
||||
|
||||
" split the window vertically and horizontally
|
||||
nnoremap _ <C-W>s<C-W><Down>
|
||||
nnoremap <Bar> <C-W>v<C-W><Right>
|
||||
|
||||
|
||||
" ------ autocmd ------
|
||||
|
||||
let g:lasttab = 1
|
||||
augroup save_last_tab
|
||||
autocmd!
|
||||
autocmd TabLeave * let g:lasttab = tabpagenr()
|
||||
augroup END
|
||||
|
||||
" Reload changes if file changed outside of vim requires autoread
|
||||
augroup load_changed_file
|
||||
autocmd!
|
||||
autocmd FocusGained,BufEnter * if mode() !=? 'c' | checktime | endif
|
||||
autocmd FileChangedShellPost * echo "Changes loaded from source file"
|
||||
augroup END
|
||||
|
||||
" when quitting a file, save the cursor position
|
||||
augroup save_cursor_position
|
||||
autocmd!
|
||||
autocmd BufReadPost * call setpos(".", getpos("'\""))
|
||||
augroup END
|
||||
|
||||
" when not running in a console or a terminal that doesn't support 256 colors
|
||||
" enable cursorline in the currently active window and disable it in inactive ones
|
||||
if $DISPLAY !=? '' && &t_Co == 256
|
||||
augroup cursorline
|
||||
autocmd!
|
||||
autocmd VimEnter,WinEnter,BufWinEnter * setlocal cursorline
|
||||
autocmd WinLeave * setlocal nocursorline
|
||||
augroup END
|
||||
endif
|
||||
|
||||
" ------ adv maps ------
|
||||
|
||||
|
||||
" strip trailing whitespace, ss (strip space)
|
||||
nnoremap <silent> <Leader>ss
|
||||
\ :let b:_p = getpos(".") <Bar>
|
||||
\ let b:_s = (@/ != '') ? @/ : '' <Bar>
|
||||
\ %s/\s\+$//e <Bar>
|
||||
\ let @/ = b:_s <Bar>
|
||||
\ nohlsearch <Bar>
|
||||
\ unlet b:_s <Bar>
|
||||
\ call setpos('.', b:_p) <Bar>
|
||||
\ unlet b:_p <CR>
|
||||
|
||||
" global replace
|
||||
vnoremap <Leader>sw "hy
|
||||
\ :let b:sub = input('global replacement: ') <Bar>
|
||||
\ if b:sub !=? '' <Bar>
|
||||
\ let b:rep = substitute(getreg('h'), '/', '\\/', 'g') <Bar>
|
||||
\ execute '%s/'.b:rep."/".b:sub.'/g' <Bar>
|
||||
\ unlet b:sub b:rep <Bar>
|
||||
\ endif <CR>
|
||||
nnoremap <Leader>sw
|
||||
\ :let b:sub = input('global replacement: ') <Bar>
|
||||
\ if b:sub !=? '' <Bar>
|
||||
\ execute "%s/<C-r><C-w>/".b:sub.'/g' <Bar>
|
||||
\ unlet b:sub <Bar>
|
||||
\ endif <CR>
|
||||
|
||||
" prompt before each replace
|
||||
vnoremap <Leader>cw "hy
|
||||
\ :let b:sub = input('interactive replacement: ') <Bar>
|
||||
\ if b:sub !=? '' <Bar>
|
||||
\ let b:rep = substitute(getreg('h'), '/', '\\/', 'g') <Bar>
|
||||
\ execute '%s/'.b:rep.'/'.b:sub.'/gc' <Bar>
|
||||
\ unlet b:sub b:rep <Bar>
|
||||
\ endif <CR>
|
||||
|
||||
nnoremap <Leader>cw
|
||||
\ :let b:sub = input('interactive replacement: ') <Bar>
|
||||
\ if b:sub !=? '' <Bar>
|
||||
\ execute "%s/<C-r><C-w>/".b:sub.'/gc' <Bar>
|
||||
\ unlet b:sub <Bar>
|
||||
\ endif <CR>
|
||||
|
||||
" highlight long lines, ll (long lines)
|
||||
let w:longlines = matchadd('ColorColumn', '\%'.&textwidth.'v', &textwidth)
|
||||
nnoremap <silent> <Leader>ll
|
||||
\ :if exists('w:longlines') <Bar>
|
||||
\ silent! call matchdelete(w:longlines) <Bar>
|
||||
\ echo 'Long line highlighting disabled'
|
||||
\ <Bar> unlet w:longlines <Bar>
|
||||
\ elseif &textwidth > 0 <Bar>
|
||||
\ let w:longlines = matchadd('ColorColumn', '\%'.&textwidth.'v', &textwidth) <Bar>
|
||||
\ echo 'Long line highlighting enabled'
|
||||
\ <Bar> else <Bar>
|
||||
\ let w:longlines = matchadd('ColorColumn', '\%80v', 81) <Bar>
|
||||
\ echo 'Long line highlighting enabled'
|
||||
\ <Bar> endif <CR>
|
||||
|
||||
" local keyword jump
|
||||
nnoremap <Leader>fw
|
||||
\ [I:let b:jump = input('Go To: ') <Bar>
|
||||
\ if b:jump !=? '' <Bar>
|
||||
\ execute "normal! ".b:jump."[\t" <Bar>
|
||||
\ unlet b:jump <Bar>
|
||||
\ endif <CR>
|
||||
|
||||
|
||||
" quit the current buffer and switch to the next
|
||||
" without this vim will leave you on an empty buffer after quiting the current
|
||||
function! <SID>quitbuffer() abort
|
||||
let l:bf = bufnr('%')
|
||||
let l:pb = bufnr('#')
|
||||
if buflisted(l:pb)
|
||||
buffer #
|
||||
else
|
||||
bnext
|
||||
endif
|
||||
if bufnr('%') == l:bf
|
||||
new
|
||||
endif
|
||||
if buflisted(l:bf)
|
||||
execute('bdelete! ' . l:bf)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" switch active buffer based on pattern matching
|
||||
" if more than one match is found then list the matches to choose from
|
||||
function! <SID>bufferselect(pattern) abort
|
||||
let l:bufcount = bufnr('$')
|
||||
let l:currbufnr = 1
|
||||
let l:nummatches = 0
|
||||
let l:matchingbufnr = 0
|
||||
" walk the buffer count
|
||||
while l:currbufnr <= l:bufcount
|
||||
if (bufexists(l:currbufnr))
|
||||
let l:currbufname = bufname(l:currbufnr)
|
||||
if (match(l:currbufname, a:pattern) > -1)
|
||||
echo l:currbufnr.': '.bufname(l:currbufnr)
|
||||
let l:nummatches += 1
|
||||
let l:matchingbufnr = l:currbufnr
|
||||
endif
|
||||
endif
|
||||
let l:currbufnr += 1
|
||||
endwhile
|
||||
|
||||
" only one match
|
||||
if (l:nummatches == 1)
|
||||
execute ':buffer '.l:matchingbufnr
|
||||
elseif (l:nummatches > 1)
|
||||
" more than one match
|
||||
let l:desiredbufnr = input('Enter buffer number: ')
|
||||
if (strlen(l:desiredbufnr) != 0)
|
||||
execute ':buffer '.l:desiredbufnr
|
||||
endif
|
||||
else
|
||||
echoerr 'No matching buffers'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" open ranger as a file chooser
|
||||
function! <SID>ranger()
|
||||
let l:temp = tempname()
|
||||
execute 'silent !xterm -e ranger --choosefiles='.shellescape(l:temp).' $PWD'
|
||||
if !filereadable(temp)
|
||||
redraw!
|
||||
return
|
||||
endif
|
||||
let l:names = readfile(l:temp)
|
||||
if empty(l:names)
|
||||
redraw!
|
||||
return
|
||||
endif
|
||||
execute 'edit '.fnameescape(l:names[0])
|
||||
for l:name in l:names[1:]
|
||||
execute 'argadd '.fnameescape(l:name)
|
||||
endfor
|
||||
redraw!
|
||||
endfunction
|
19
base/.xinitrc
Executable file
19
base/.xinitrc
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
|
||||
# this file is executed when calling startx
|
||||
|
||||
# default arch xinit scripts
|
||||
if [ -d /etc/X11/xinit/xinitrc.d ]; then
|
||||
for f in /etc/X11/xinit/xinitrc.d/*.sh; do
|
||||
[ -x "$f" ] && . "$f"
|
||||
done
|
||||
fi
|
||||
|
||||
# user init scripts and settings
|
||||
[ -f /etc/X11/xinit/.Xmodmap ] && xmodmap /etc/X11/xinit/.Xmodmap
|
||||
[ -f ~/.Xmodmap ] && xmodmap ~/.Xmodmap
|
||||
[ -f ~/.Xresources ] && xrdb -merge ~/.Xresources
|
||||
[ -f ~/.xprofile ] && . ~/.xprofile
|
||||
|
||||
# launch the session, don't put commands below the exec line
|
||||
exec openbox-session
|
28
base/.xprofile
Normal file
28
base/.xprofile
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
# ~/.xprofile
|
||||
|
||||
# sourced at boot by both xinit and most display managers like lightdm
|
||||
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
|
||||
[ -d /sbin ] && PATH="$PATH:/sbin"
|
||||
[ -d /usr/sbin ] && PATH="$PATH:/usr/sbin"
|
||||
[ -d "$HOME/bin" ] && PATH="$HOME/bin:$PATH"
|
||||
|
||||
# restore the background
|
||||
nitrogen --restore &
|
||||
|
||||
# keyring and polkit daemons
|
||||
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
|
||||
gnome-keyring-daemon --start --components=pkcs11 &
|
||||
|
||||
# pressing super alone simulates Alt-F1
|
||||
ksuperkey -e 'Super_L=Alt_L|F1' &
|
||||
ksuperkey -e 'Super_R=Alt_L|F1' &
|
||||
|
||||
# display timeout and sleep
|
||||
xset s 1200 1300
|
||||
xset dpms 1200 1300 1400
|
||||
|
||||
# keyboard repeat rate
|
||||
xset r rate 350 60
|
20
base/bin/check-network
Executable file
20
base/bin/check-network
Executable file
@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
disconnect1="/"
|
||||
disconnect2="\\"
|
||||
wconnected=""
|
||||
econnected=""
|
||||
|
||||
id="$(ip link | awk '/state UP/ {print $2}')"
|
||||
|
||||
while true; do
|
||||
if ping -c 1 archlabslinux.com >/dev/null 2>&1 || ping -c 1 archlinux.org >/dev/null 2>&1; then
|
||||
[[ $id == e* ]] && echo "$econnected" || echo "$wconnected"
|
||||
sleep 25
|
||||
else
|
||||
echo "$disconnect1" # /
|
||||
sleep 0.6
|
||||
echo "$disconnect2" # \
|
||||
sleep 0.6
|
||||
fi
|
||||
done
|
26
base/bin/polybar-trash
Executable file
26
base/bin/polybar-trash
Executable file
@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
TRASH_DIRECTORY="$BLOCK_INSTANCE"
|
||||
|
||||
if [[ $TRASH_DIRECTORY = "" ]]; then
|
||||
TRASH_DIRECTORY="${XDG_DATA_HOME:-$HOME/.local/share}/Trash"
|
||||
fi
|
||||
|
||||
if [[ $BLOCK_BUTTON -eq 1 ]]; then
|
||||
xdg-open "$TRASH_DIRECTORY/files"
|
||||
elif [[ $BLOCK_BUTTON -eq 3 ]]; then
|
||||
rm -r "$TRASH_DIRECTORY/files"
|
||||
rm -r "$TRASH_DIRECTORY/info"
|
||||
mkdir "$TRASH_DIRECTORY/files"
|
||||
mkdir "$TRASH_DIRECTORY/info"
|
||||
fi
|
||||
|
||||
TRASH_COUNT=$(ls -U -1 "$TRASH_DIRECTORY/files" | wc -l)
|
||||
URGENT_VALUE=30
|
||||
echo "$TRASH_COUNT"
|
||||
echo "$TRASH_COUNT"
|
||||
echo ""
|
||||
|
||||
if [[ $TRASH_COUNT -ge $URGENT_VALUE ]]; then
|
||||
exit 31
|
||||
fi
|
98
base/bin/rofi_run
Executable file
98
base/bin/rofi_run
Executable file
@ -0,0 +1,98 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
NAME=$(basename "$0")
|
||||
VER="0.4"
|
||||
|
||||
usage()
|
||||
{
|
||||
cat <<- EOF
|
||||
|
||||
USAGE: $NAME [OPTIONS]
|
||||
|
||||
OPTIONS:
|
||||
|
||||
-h,--help Display this message
|
||||
|
||||
-v,--version Display script version
|
||||
|
||||
-w,--window Switch between open windows
|
||||
|
||||
-r,--run Program launcher & run dialog
|
||||
|
||||
-q,--qalculate Persistant calculator dialog (requires libqalculate)
|
||||
|
||||
-c,--clipboard Select previous clipboard entries (requires greenclip)
|
||||
|
||||
-b,--browser Browser search by keyword (requires surfraw)
|
||||
|
||||
-l,--logout Session logout dialog
|
||||
|
||||
|
||||
Without any options the run dialog will be opened.
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
for arg in "$@"; do
|
||||
case $arg in
|
||||
-h|--help)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
-v|--version)
|
||||
echo -e "$NAME -- Version $VER"
|
||||
exit 0
|
||||
;;
|
||||
-r|--run)
|
||||
rofi -modi run,drun -show drun -line-padding 4 \
|
||||
-columns 2 -padding 50 -hide-scrollbar \
|
||||
-show-icons -drun-icon-theme "ArchLabs-Light"
|
||||
;;
|
||||
-w|--window)
|
||||
rofi -modi window -show window -hide-scrollbar -padding 50 -line-padding 4
|
||||
;;
|
||||
-q|--qalculate)
|
||||
hash qalc &>/dev/null || { echo "Requires 'libqalculate' installed"; exit 1; }
|
||||
rofi -modi "calc:qalc +u8 -nocurrencies" -padding 50 \
|
||||
-show "calc:qalc +u8 -nocurrencies" -line-padding 4 \
|
||||
-hide-scrollbar
|
||||
;;
|
||||
-c|--clipboard)
|
||||
hash greenclip &>/dev/null || { echo "Requires 'greenclip' installed"; exit 1; }
|
||||
rofi -modi "clipboard:greenclip print" -padding 50 \
|
||||
-line-padding 4 -show "clipboard:greenclip print" \
|
||||
-hide-scrollbar
|
||||
;;
|
||||
-b|--browser)
|
||||
hash surfraw &>/dev/null || { echo "Requires 'surfraw' installed"; exit 1; }
|
||||
|
||||
surfraw -browser="$BROWSER" "$(sr -elvi | awk -F'-' '{print $1}' |
|
||||
sed '/:/d' | awk '{$1=$1};1' |
|
||||
rofi -hide-scrollbar -kb-row-select 'Tab' \
|
||||
-kb-row-tab 'Control+space' -dmenu \
|
||||
-mesg 'Tab for Autocomplete' -i -p 'Web Search' \
|
||||
-padding 50 -line-padding 4)"
|
||||
;;
|
||||
-l|--logout)
|
||||
ANS="$(rofi -sep "|" -dmenu -i -p 'System' -width 20 \
|
||||
-hide-scrollbar -line-padding 4 -padding 20 \
|
||||
-lines 4 <<< " Lock| Logout| Reboot| Shutdown")"
|
||||
|
||||
case "$ANS" in
|
||||
*Lock) i3lock-fancy ;;
|
||||
*Logout) session-logout || pkill -15 -t tty"$XDG_VTNR" Xorg ;;
|
||||
*Reboot) systemctl reboot ;;
|
||||
*Shutdown) systemctl -i poweroff
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
echo
|
||||
echo "Option does not exist: $arg"
|
||||
echo
|
||||
exit 2
|
||||
esac
|
||||
done
|
||||
|
||||
(( $# == 0 )) && "$0" -r
|
||||
|
||||
exit 0
|
129
base/bin/toggle.sh
Executable file
129
base/bin/toggle.sh
Executable file
@ -0,0 +1,129 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
NAME=$(basename "$0")
|
||||
VER="0.4"
|
||||
|
||||
usage()
|
||||
{
|
||||
cat <<- EOF
|
||||
|
||||
USAGE: $NAME [OPTIONS [ADDITIONAL]]
|
||||
|
||||
OPTIONS:
|
||||
|
||||
-h,--help Display this message
|
||||
|
||||
-v,--version Display script version
|
||||
|
||||
-p,--polybar Toggle the configured polybar session, NO additional options
|
||||
|
||||
-c,--compton Toggle compton or daemon monitoring icon, can use toggle option
|
||||
|
||||
-r,--redshift Toggle redshift or daemon monitoring icon, can use toggle option
|
||||
|
||||
-f,--caffeine Toggle caffeine or daemon monitoring icon, can use toggle option
|
||||
|
||||
ADDITIONAL:
|
||||
|
||||
-t,--toggle Toggle the program off/on, without this flag a monitor process will be started
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
toggle_polybar()
|
||||
{
|
||||
if [[ $(pidof polybar) ]]; then
|
||||
pkill polybar
|
||||
else
|
||||
al-polybar-session
|
||||
fi
|
||||
}
|
||||
|
||||
toggle_compton()
|
||||
{
|
||||
if (( opt == 1 )); then
|
||||
if [[ $(pidof compton) ]]; then
|
||||
al-compositor --stop
|
||||
else
|
||||
al-compositor --start
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
on=""
|
||||
off=""
|
||||
while true; do
|
||||
if [[ $(pidof compton) ]]; then
|
||||
echo "$on"
|
||||
else
|
||||
echo "%{F#888888}$off"
|
||||
fi
|
||||
sleep 2
|
||||
done
|
||||
}
|
||||
|
||||
toggle_redshift()
|
||||
{
|
||||
if (( opt == 1 )); then
|
||||
if [[ $(pidof redshift) ]]; then
|
||||
pkill redshift
|
||||
else
|
||||
redshift &
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
icon=""
|
||||
while true; do
|
||||
if [[ $(pidof redshift) ]]; then
|
||||
temp=$(sed 's/K//g' <<< "$(grep -o '[0-9].*K' <<< "$(redshift -p 2>/dev/null)")")
|
||||
fi
|
||||
if [[ -z $temp ]]; then
|
||||
echo " $icon " # Greyed out (not running)
|
||||
elif [[ $temp -ge 5000 ]]; then
|
||||
echo "%{F#8039A0} $icon " # Blue
|
||||
elif [[ $temp -ge 4000 ]]; then
|
||||
echo "%{F#F203F0} $icon " # Yellow
|
||||
else
|
||||
echo "%{F#FF5B6C} $icon " # Orange
|
||||
fi
|
||||
sleep 2
|
||||
done
|
||||
}
|
||||
|
||||
toggle_caffeine()
|
||||
{
|
||||
if (( opt == 1 )); then
|
||||
if [[ $(pidof caffeine) ]]; then
|
||||
killall caffeine
|
||||
else
|
||||
caffeine &
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
on=""
|
||||
off=""
|
||||
while true; do
|
||||
[[ $(pidof caffeine) ]] && echo "%{F#0000FF}$on" || echo "%{F#FF0000}$off"
|
||||
sleep 2
|
||||
done
|
||||
}
|
||||
|
||||
# Catch command line options
|
||||
case $1 in
|
||||
-h|--help) usage ;;
|
||||
-v|--version) echo -e "$NAME -- Version $VER" ;;
|
||||
-p|--polybar) toggle_polybar ;;
|
||||
-c|--compton)
|
||||
[[ $2 =~ (-t|--toggle) ]] && opt=1
|
||||
toggle_compton
|
||||
;;
|
||||
-r|--redshift)
|
||||
[[ $2 =~ (-t|--toggle) ]] && opt=1
|
||||
toggle_redshift
|
||||
;;
|
||||
-f|--caffeine)
|
||||
[[ $2 =~ (-t|--toggle) ]] && opt=1
|
||||
toggle_caffeine
|
||||
;;
|
||||
*) echo -e "Option does not exist: $1" && usage && exit 1
|
||||
esac
|
||||
|
42
base/bin/updates.sh
Executable file
42
base/bin/updates.sh
Executable file
@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
BAR_ICON=""
|
||||
NOTIFY_ICON=/usr/share/icons/gnome/32x32/apps/system-software-update.png
|
||||
|
||||
get_total_updates()
|
||||
{
|
||||
UPDATES=$(checkupdates 2>/dev/null | wc -l)
|
||||
}
|
||||
|
||||
while true; do
|
||||
# print the icon first to avoid gibberish in polybar
|
||||
echo $BAR_ICON
|
||||
|
||||
get_total_updates
|
||||
|
||||
# notify user of updates
|
||||
if hash notify-send >/dev/null 2>&1; then
|
||||
if (( UPDATES > 50 )); then
|
||||
notify-send -u critical -i $NOTIFY_ICON "Updates Available" "$UPDATES packages"
|
||||
elif (( UPDATES > 25 )); then
|
||||
notify-send -u normal -i $NOTIFY_ICON "Updates Available" "$UPDATES packages"
|
||||
elif (( UPDATES > 2 )); then
|
||||
notify-send -u low -i $NOTIFY_ICON "Updates Available" "$UPDATES packages"
|
||||
fi
|
||||
fi
|
||||
|
||||
# when there are updates available
|
||||
# every 10 seconds another check for updates is done
|
||||
while (( UPDATES > 0 )); do
|
||||
(( UPDATES == 1 )) && echo "$UPDATES Update" || { (( UPDATES > 1 )) && echo "$UPDATES Updates"; }
|
||||
sleep 10
|
||||
get_total_updates
|
||||
done
|
||||
|
||||
# when no updates are available, use a longer loop, this saves on CPU
|
||||
# and network uptime, only checking once every 30 min for new updates
|
||||
while (( UPDATES == 0 )); do
|
||||
sleep 1800
|
||||
get_total_updates
|
||||
done
|
||||
done
|
Reference in New Issue
Block a user