Delete old config
|
@ -1,437 +0,0 @@
|
||||||
# See dunst(5) for all configuration options
|
|
||||||
|
|
||||||
[global]
|
|
||||||
### Display ###
|
|
||||||
|
|
||||||
# Which monitor should the notifications be displayed on.
|
|
||||||
monitor = 0
|
|
||||||
|
|
||||||
# Display notification on focused monitor. Possible modes are:
|
|
||||||
# mouse: follow mouse pointer
|
|
||||||
# keyboard: follow window with keyboard focus
|
|
||||||
# none: don't follow anything
|
|
||||||
#
|
|
||||||
# "keyboard" needs a window manager that exports the
|
|
||||||
# _NET_ACTIVE_WINDOW property.
|
|
||||||
# This should be the case for almost all modern window managers.
|
|
||||||
#
|
|
||||||
# If this option is set to mouse or keyboard, the monitor option
|
|
||||||
# will be ignored.
|
|
||||||
follow = mouse
|
|
||||||
|
|
||||||
### Geometry ###
|
|
||||||
|
|
||||||
# dynamic width from 0 to 300
|
|
||||||
# width = (0, 300)
|
|
||||||
# constant width of 300
|
|
||||||
width = 300
|
|
||||||
|
|
||||||
# The maximum height of a single notification, excluding the frame.
|
|
||||||
height = 300
|
|
||||||
|
|
||||||
# Position the notification in the top right corner
|
|
||||||
origin = top-right
|
|
||||||
|
|
||||||
# Offset from the origin
|
|
||||||
offset = 30x40
|
|
||||||
|
|
||||||
# Scale factor. It is auto-detected if value is 0.
|
|
||||||
scale = 0
|
|
||||||
|
|
||||||
# Maximum number of notification (0 means no limit)
|
|
||||||
notification_limit = 5
|
|
||||||
|
|
||||||
### Progress bar ###
|
|
||||||
|
|
||||||
# Turn on the progess bar. It appears when a progress hint is passed with
|
|
||||||
# for example dunstify -h int:value:12
|
|
||||||
progress_bar = true
|
|
||||||
|
|
||||||
# Set the progress bar height. This includes the frame, so make sure
|
|
||||||
# it's at least twice as big as the frame width.
|
|
||||||
progress_bar_height = 10
|
|
||||||
|
|
||||||
# Set the frame width of the progress bar
|
|
||||||
progress_bar_frame_width = 1
|
|
||||||
|
|
||||||
# Set the minimum width for the progress bar
|
|
||||||
progress_bar_min_width = 150
|
|
||||||
|
|
||||||
# Set the maximum width for the progress bar
|
|
||||||
progress_bar_max_width = 300
|
|
||||||
|
|
||||||
|
|
||||||
# Show how many messages are currently hidden (because of
|
|
||||||
# notification_limit).
|
|
||||||
indicate_hidden = yes
|
|
||||||
|
|
||||||
# The transparency of the window. Range: [0; 100].
|
|
||||||
# This option will only work if a compositing window manager is
|
|
||||||
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
|
|
||||||
transparency = 16
|
|
||||||
|
|
||||||
# Draw a line of "separator_height" pixel height between two
|
|
||||||
# notifications.
|
|
||||||
# Set to 0 to disable.
|
|
||||||
separator_height = 2
|
|
||||||
|
|
||||||
# Padding between text and separator.
|
|
||||||
padding = 8
|
|
||||||
|
|
||||||
# Horizontal padding.
|
|
||||||
horizontal_padding = 8
|
|
||||||
|
|
||||||
# Padding between text and icon.
|
|
||||||
text_icon_padding = 0
|
|
||||||
|
|
||||||
# Defines width in pixels of frame around the notification window.
|
|
||||||
# Set to 0 to disable.
|
|
||||||
frame_width = 1
|
|
||||||
|
|
||||||
# Defines color of the frame around the notification window.
|
|
||||||
frame_color = "#8AADF4"
|
|
||||||
|
|
||||||
# Define a color for the separator.
|
|
||||||
# possible values are:
|
|
||||||
# * auto: dunst tries to find a color fitting to the background;
|
|
||||||
# * foreground: use the same color as the foreground;
|
|
||||||
# * frame: use the same color as the frame;
|
|
||||||
# * anything else will be interpreted as a X color.
|
|
||||||
separator_color = frame
|
|
||||||
|
|
||||||
# Sort messages by urgency.
|
|
||||||
sort = yes
|
|
||||||
|
|
||||||
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
|
||||||
# for longer than idle_threshold seconds.
|
|
||||||
# Set to 0 to disable.
|
|
||||||
# A client can set the 'transient' hint to bypass this. See the rules
|
|
||||||
# section for how to disable this if necessary
|
|
||||||
idle_threshold = 0
|
|
||||||
|
|
||||||
### Text ###
|
|
||||||
|
|
||||||
font = Noto Sans Regular 9
|
|
||||||
|
|
||||||
# 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
|
|
||||||
# <https://docs.gtk.org/Pango/pango_markup.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
|
|
||||||
|
|
||||||
# Vertical alignment of message text and icon.
|
|
||||||
# Possible values are "top", "center" and "bottom".
|
|
||||||
vertical_alignment = center
|
|
||||||
|
|
||||||
# Show age of message if message is older than show_age_threshold
|
|
||||||
# seconds.
|
|
||||||
# Set to -1 to disable.
|
|
||||||
show_age_threshold = 60
|
|
||||||
|
|
||||||
# Specify where to make an ellipsis in long lines.
|
|
||||||
# Possible values are "start", "middle" and "end".
|
|
||||||
ellipsize = middle
|
|
||||||
|
|
||||||
# Ignore newlines '\n' in notifications.
|
|
||||||
ignore_newline = no
|
|
||||||
|
|
||||||
# Stack together notifications with the same content
|
|
||||||
stack_duplicates = true
|
|
||||||
|
|
||||||
# Hide the count of stacked notifications with the same content
|
|
||||||
hide_duplicate_count = true
|
|
||||||
|
|
||||||
# Display indicators for URLs (U) and actions (A).
|
|
||||||
show_indicators = yes
|
|
||||||
|
|
||||||
### Icons ###
|
|
||||||
|
|
||||||
# Align icons left/right/off
|
|
||||||
icon_position = left
|
|
||||||
|
|
||||||
# Scale small icons up to this size, set to 0 to disable. Helpful
|
|
||||||
# for e.g. small files or high-dpi screens. In case of conflict,
|
|
||||||
# max_icon_size takes precedence over this.
|
|
||||||
min_icon_size = 0
|
|
||||||
|
|
||||||
# Scale larger icons down to this size, set to 0 to disable
|
|
||||||
max_icon_size = 32
|
|
||||||
|
|
||||||
# Paths to default icons.
|
|
||||||
#icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
|
||||||
icon_path = /usr/share/icons/Qogir/16/status:/usr/share/icons/Qogir/16/devices/:/usr/share/icons/Qogir/16/apps/:/usr/share/pixmaps/
|
|
||||||
|
|
||||||
### History ###
|
|
||||||
|
|
||||||
# Should a notification popped up from history be sticky or timeout
|
|
||||||
# as if it would normally do.
|
|
||||||
sticky_history = false
|
|
||||||
|
|
||||||
# Maximum amount of notifications kept in history
|
|
||||||
history_length = 0
|
|
||||||
|
|
||||||
### Misc/Advanced ###
|
|
||||||
|
|
||||||
# dmenu path.
|
|
||||||
dmenu = /usr/bin/dmenu -p dunst:
|
|
||||||
|
|
||||||
# Browser for opening urls in context menu.
|
|
||||||
browser = /usr/bin/xdg-open
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# 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 = 7
|
|
||||||
|
|
||||||
# Ignore the dbus closeNotification message.
|
|
||||||
# Useful to enforce the timeout set by dunst configuration. Without this
|
|
||||||
# parameter, an application may close the notification sent before the
|
|
||||||
# user defined timeout.
|
|
||||||
ignore_dbusclose = false
|
|
||||||
|
|
||||||
### Wayland ###
|
|
||||||
# These settings are Wayland-specific. They have no effect when using X11
|
|
||||||
|
|
||||||
# Uncomment this if you want to let notications appear under fullscreen
|
|
||||||
# applications (default: overlay)
|
|
||||||
# layer = top
|
|
||||||
|
|
||||||
# Set this to true to use X11 output on Wayland.
|
|
||||||
force_xwayland = false
|
|
||||||
|
|
||||||
### Legacy
|
|
||||||
|
|
||||||
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
|
||||||
# This setting is provided for compatibility with older nVidia drivers that
|
|
||||||
# do not support RandR and using it on systems that support RandR is highly
|
|
||||||
# discouraged.
|
|
||||||
#
|
|
||||||
# By enabling this setting dunst will not be able to detect when a monitor
|
|
||||||
# is connected or disconnected which might break follow mode if the screen
|
|
||||||
# layout changes.
|
|
||||||
force_xinerama = false
|
|
||||||
|
|
||||||
### mouse
|
|
||||||
|
|
||||||
# Defines list of actions for each mouse event
|
|
||||||
# Possible values are:
|
|
||||||
# * none: Don't do anything.
|
|
||||||
# * do_action: Invoke the action determined by the action_name rule. If there is no
|
|
||||||
# such action, open the context menu.
|
|
||||||
# * open_url: If the notification has exactly one url, open it. If there are multiple
|
|
||||||
# ones, open the context menu.
|
|
||||||
# * close_current: Close current notification.
|
|
||||||
# * close_all: Close all notifications.
|
|
||||||
# * context: Open context menu for the notification.
|
|
||||||
# * context_all: Open context menu for all notifications.
|
|
||||||
# These values can be strung together for each mouse event, and
|
|
||||||
# will be executed in sequence.
|
|
||||||
mouse_left_click = close_current
|
|
||||||
mouse_middle_click = do_action, close_current
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
[urgency_low]
|
|
||||||
# IMPORTANT: colors have to be defined in quotation marks.
|
|
||||||
# Otherwise the "#" and following would be interpreted as a comment.
|
|
||||||
background = "#24273A"
|
|
||||||
foreground = "#CAD3F5"
|
|
||||||
timeout = 5
|
|
||||||
# Icon for notifications with low urgency, uncomment to enable
|
|
||||||
# icon = /usr/share/icons/Arc-X-D/status/16/dialog-information.png
|
|
||||||
|
|
||||||
[urgency_normal]
|
|
||||||
background = "#24273A"
|
|
||||||
foreground = "#CAD3F5"
|
|
||||||
timeout = 5
|
|
||||||
# Icon for notifications with normal urgency, uncomment to enable
|
|
||||||
# icon = /usr/share/icons/Arc-X-D/status/16/dialog-question.png
|
|
||||||
|
|
||||||
[urgency_critical]
|
|
||||||
background = "#24273A"
|
|
||||||
foreground = "#CAD3F5"
|
|
||||||
frame_color = "#F5A97F"
|
|
||||||
timeout = 120
|
|
||||||
# Icon for notifications with critical urgency, uncomment to enable
|
|
||||||
# icon = /usr/share/icons/Arc-X-D/status/16/dialog-warning.png
|
|
||||||
|
|
||||||
# Every section that isn't one of the above is interpreted as a rules to
|
|
||||||
# override settings for certain messages.
|
|
||||||
#
|
|
||||||
# Messages can be matched by
|
|
||||||
# appname (discouraged, see desktop_entry)
|
|
||||||
# body
|
|
||||||
# category
|
|
||||||
# desktop_entry
|
|
||||||
# icon
|
|
||||||
# match_transient
|
|
||||||
# msg_urgency
|
|
||||||
# stack_tag
|
|
||||||
# summary
|
|
||||||
#
|
|
||||||
# and you can override the
|
|
||||||
# background
|
|
||||||
# foreground
|
|
||||||
# format
|
|
||||||
# frame_color
|
|
||||||
# fullscreen
|
|
||||||
# new_icon
|
|
||||||
# set_stack_tag
|
|
||||||
# set_transient
|
|
||||||
# set_category
|
|
||||||
# timeout
|
|
||||||
# urgency
|
|
||||||
# skip_display
|
|
||||||
# history_ignore
|
|
||||||
# action_name
|
|
||||||
# word_wrap
|
|
||||||
# ellipsize
|
|
||||||
# alignment
|
|
||||||
#
|
|
||||||
# Shell-like globbing will get expanded.
|
|
||||||
#
|
|
||||||
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
|
|
||||||
# GLib based applications export their desktop-entry name. In comparison to the appname,
|
|
||||||
# the desktop-entry won't get localized.
|
|
||||||
#
|
|
||||||
# SCRIPTING
|
|
||||||
# You can specify a script that gets run when the rule matches by
|
|
||||||
# setting the "script" option.
|
|
||||||
# The script will be called as follows:
|
|
||||||
# script appname summary body icon urgency
|
|
||||||
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
|
||||||
#
|
|
||||||
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
|
||||||
# to find fitting options for rules.
|
|
||||||
|
|
||||||
# Disable the transient hint so that idle_threshold cannot be bypassed from the
|
|
||||||
# client
|
|
||||||
#[transient_disable]
|
|
||||||
# match_transient = yes
|
|
||||||
# set_transient = no
|
|
||||||
#
|
|
||||||
# Make the handling of transient notifications more strict by making them not
|
|
||||||
# be placed in history.
|
|
||||||
#[transient_history_ignore]
|
|
||||||
# match_transient = yes
|
|
||||||
# history_ignore = yes
|
|
||||||
|
|
||||||
# fullscreen values
|
|
||||||
# show: show the notifications, regardless if there is a fullscreen window opened
|
|
||||||
# delay: displays the new notification, if there is no fullscreen window active
|
|
||||||
# If the notification is already drawn, it won't get undrawn.
|
|
||||||
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
|
||||||
# withdrawn from screen again and will get delayed like a new notification
|
|
||||||
#[fullscreen_delay_everything]
|
|
||||||
# fullscreen = delay
|
|
||||||
#[fullscreen_show_critical]
|
|
||||||
# msg_urgency = critical
|
|
||||||
# fullscreen = show
|
|
||||||
|
|
||||||
#[espeak]
|
|
||||||
# summary = "*"
|
|
||||||
# script = dunst_espeak.sh
|
|
||||||
|
|
||||||
#[script-test]
|
|
||||||
# summary = "*script*"
|
|
||||||
# script = dunst_test.sh
|
|
||||||
|
|
||||||
#[ignore]
|
|
||||||
# # This notification will not be displayed
|
|
||||||
# summary = "foobar"
|
|
||||||
# skip_display = true
|
|
||||||
|
|
||||||
#[history-ignore]
|
|
||||||
# # This notification will not be saved in history
|
|
||||||
# summary = "foobar"
|
|
||||||
# history_ignore = yes
|
|
||||||
|
|
||||||
#[skip-display]
|
|
||||||
# # This notification will not be displayed, but will be included in the history
|
|
||||||
# summary = "foobar"
|
|
||||||
# skip_display = yes
|
|
||||||
|
|
||||||
#[signed_on]
|
|
||||||
# appname = Pidgin
|
|
||||||
# summary = "*signed on*"
|
|
||||||
# urgency = low
|
|
||||||
#
|
|
||||||
#[signed_off]
|
|
||||||
# appname = Pidgin
|
|
||||||
# summary = *signed off*
|
|
||||||
# urgency = low
|
|
||||||
#
|
|
||||||
#[says]
|
|
||||||
# appname = Pidgin
|
|
||||||
# summary = *says*
|
|
||||||
# urgency = critical
|
|
||||||
#
|
|
||||||
#[twitter]
|
|
||||||
# appname = Pidgin
|
|
||||||
# summary = *twitter.com*
|
|
||||||
# urgency = normal
|
|
||||||
#
|
|
||||||
[stack-volumes]
|
|
||||||
appname = "some_volume_notifiers"
|
|
||||||
set_stack_tag = "volume"
|
|
||||||
#
|
|
||||||
# vim: ft=cfg
|
|
|
@ -1,428 +0,0 @@
|
||||||
#################################
|
|
||||||
# Shadows #
|
|
||||||
#################################
|
|
||||||
|
|
||||||
|
|
||||||
# Enabled client-side shadows on windows. Note desktop windows
|
|
||||||
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
|
|
||||||
# unless explicitly requested using the wintypes option.
|
|
||||||
#
|
|
||||||
# shadow = false
|
|
||||||
shadow = true;
|
|
||||||
|
|
||||||
# The blur radius for shadows, in pixels. (defaults to 12)
|
|
||||||
# shadow-radius = 12
|
|
||||||
shadow-radius = 7;
|
|
||||||
|
|
||||||
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
|
|
||||||
# shadow-opacity = .75
|
|
||||||
|
|
||||||
# The left offset for shadows, in pixels. (defaults to -15)
|
|
||||||
# shadow-offset-x = -15
|
|
||||||
shadow-offset-x = -7;
|
|
||||||
|
|
||||||
# The top offset for shadows, in pixels. (defaults to -15)
|
|
||||||
# shadow-offset-y = -15
|
|
||||||
shadow-offset-y = -7;
|
|
||||||
|
|
||||||
# Red color value of shadow (0.0 - 1.0, defaults to 0).
|
|
||||||
# shadow-red = 0
|
|
||||||
|
|
||||||
# Green color value of shadow (0.0 - 1.0, defaults to 0).
|
|
||||||
# shadow-green = 0
|
|
||||||
|
|
||||||
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
|
|
||||||
# shadow-blue = 0
|
|
||||||
|
|
||||||
# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
|
|
||||||
# shadow-color = "#000000"
|
|
||||||
|
|
||||||
# Specify a list of conditions of windows that should have no shadow.
|
|
||||||
#
|
|
||||||
# examples:
|
|
||||||
# shadow-exclude = "n:e:Notification";
|
|
||||||
#
|
|
||||||
# shadow-exclude = []
|
|
||||||
shadow-exclude = [
|
|
||||||
"name = 'Notification'",
|
|
||||||
"class_g = 'Conky'",
|
|
||||||
"class_g ?= 'Notify-osd'",
|
|
||||||
"class_g = 'Cairo-clock'",
|
|
||||||
"_GTK_FRAME_EXTENTS@:c"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
|
|
||||||
# clip-shadow-above = []
|
|
||||||
|
|
||||||
# Specify a X geometry that describes the region in which shadow should not
|
|
||||||
# be painted in, such as a dock window region. Use
|
|
||||||
# shadow-exclude-reg = "x10+0+0"
|
|
||||||
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
|
|
||||||
#
|
|
||||||
# shadow-exclude-reg = ""
|
|
||||||
|
|
||||||
# Crop shadow of a window fully on a particular Xinerama screen to the screen.
|
|
||||||
# xinerama-shadow-crop = false
|
|
||||||
|
|
||||||
|
|
||||||
#################################
|
|
||||||
# Fading #
|
|
||||||
#################################
|
|
||||||
|
|
||||||
|
|
||||||
# Fade windows in/out when opening/closing and when opacity changes,
|
|
||||||
# unless no-fading-openclose is used.
|
|
||||||
# fading = false
|
|
||||||
fading = true;
|
|
||||||
|
|
||||||
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
|
|
||||||
# fade-in-step = 0.028
|
|
||||||
fade-in-step = 0.03;
|
|
||||||
|
|
||||||
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
|
||||||
# fade-out-step = 0.03
|
|
||||||
fade-out-step = 0.03;
|
|
||||||
|
|
||||||
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
|
|
||||||
# fade-delta = 10
|
|
||||||
|
|
||||||
# Specify a list of conditions of windows that should not be faded.
|
|
||||||
# fade-exclude = []
|
|
||||||
|
|
||||||
# Do not fade on window open/close.
|
|
||||||
# no-fading-openclose = false
|
|
||||||
|
|
||||||
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
|
|
||||||
# no-fading-destroyed-argb = false
|
|
||||||
|
|
||||||
|
|
||||||
#################################
|
|
||||||
# Transparency / Opacity #
|
|
||||||
#################################
|
|
||||||
|
|
||||||
|
|
||||||
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
|
|
||||||
# inactive-opacity = 1
|
|
||||||
inactive-opacity = 0.8;
|
|
||||||
|
|
||||||
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
|
|
||||||
# frame-opacity = 1.0
|
|
||||||
frame-opacity = 0.7;
|
|
||||||
|
|
||||||
# Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows.
|
|
||||||
# inactive-opacity-override = true
|
|
||||||
inactive-opacity-override = false;
|
|
||||||
|
|
||||||
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
|
|
||||||
# active-opacity = 1.0
|
|
||||||
|
|
||||||
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
|
|
||||||
# inactive-dim = 0.0
|
|
||||||
|
|
||||||
# Specify a list of conditions of windows that should never be considered focused.
|
|
||||||
# focus-exclude = []
|
|
||||||
focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
|
||||||
|
|
||||||
# Use fixed inactive dim value, instead of adjusting according to window opacity.
|
|
||||||
# inactive-dim-fixed = 1.0
|
|
||||||
|
|
||||||
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
|
|
||||||
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
|
|
||||||
# Note we don't make any guarantee about possible conflicts with other
|
|
||||||
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
|
|
||||||
# example:
|
|
||||||
# opacity-rule = [ "80:class_g = 'URxvt'" ];
|
|
||||||
#
|
|
||||||
# opacity-rule = []
|
|
||||||
|
|
||||||
|
|
||||||
#################################
|
|
||||||
# Corners #
|
|
||||||
#################################
|
|
||||||
|
|
||||||
# Sets the radius of rounded window corners. When > 0, the compositor will
|
|
||||||
# round the corners of windows. Does not interact well with
|
|
||||||
# `transparent-clipping`.
|
|
||||||
corner-radius = 0
|
|
||||||
|
|
||||||
# Exclude conditions for rounded corners.
|
|
||||||
rounded-corners-exclude = [
|
|
||||||
"window_type = 'dock'",
|
|
||||||
"window_type = 'desktop'"
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
#################################
|
|
||||||
# Background-Blurring #
|
|
||||||
#################################
|
|
||||||
|
|
||||||
|
|
||||||
# Parameters for background blurring, see the *BLUR* section for more information.
|
|
||||||
# blur-method =
|
|
||||||
# blur-size = 12
|
|
||||||
#
|
|
||||||
# blur-deviation = false
|
|
||||||
#
|
|
||||||
# blur-strength = 5
|
|
||||||
|
|
||||||
# Blur background of semi-transparent / ARGB windows.
|
|
||||||
# Bad in performance, with driver-dependent behavior.
|
|
||||||
# The name of the switch may change without prior notifications.
|
|
||||||
#
|
|
||||||
# blur-background = false
|
|
||||||
|
|
||||||
# Blur background of windows when the window frame is not opaque.
|
|
||||||
# Implies:
|
|
||||||
# blur-background
|
|
||||||
# Bad in performance, with driver-dependent behavior. The name may change.
|
|
||||||
#
|
|
||||||
# blur-background-frame = false
|
|
||||||
|
|
||||||
|
|
||||||
# Use fixed blur strength rather than adjusting according to window opacity.
|
|
||||||
# blur-background-fixed = false
|
|
||||||
|
|
||||||
|
|
||||||
# Specify the blur convolution kernel, with the following format:
|
|
||||||
# example:
|
|
||||||
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
|
|
||||||
#
|
|
||||||
# blur-kern = ""
|
|
||||||
blur-kern = "3x3box";
|
|
||||||
|
|
||||||
|
|
||||||
# Exclude conditions for background blur.
|
|
||||||
# blur-background-exclude = []
|
|
||||||
blur-background-exclude = [
|
|
||||||
"window_type = 'dock'",
|
|
||||||
"window_type = 'desktop'",
|
|
||||||
"_GTK_FRAME_EXTENTS@:c"
|
|
||||||
];
|
|
||||||
|
|
||||||
#################################
|
|
||||||
# General Settings #
|
|
||||||
#################################
|
|
||||||
|
|
||||||
# Enable remote control via D-Bus. See the man page for more details.
|
|
||||||
# dbus = true
|
|
||||||
|
|
||||||
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
|
|
||||||
# daemon = false
|
|
||||||
|
|
||||||
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
|
|
||||||
# `xrender` is the default one.
|
|
||||||
#
|
|
||||||
# backend = "glx"
|
|
||||||
backend = "xrender";
|
|
||||||
|
|
||||||
# Enable/disable VSync.
|
|
||||||
# vsync = false
|
|
||||||
vsync = true;
|
|
||||||
|
|
||||||
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
|
|
||||||
# dbus = false
|
|
||||||
|
|
||||||
# Try to detect WM windows (a non-override-redirect window with no
|
|
||||||
# child that has 'WM_STATE') and mark them as active.
|
|
||||||
#
|
|
||||||
# mark-wmwin-focused = false
|
|
||||||
mark-wmwin-focused = true;
|
|
||||||
|
|
||||||
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
|
|
||||||
# mark-ovredir-focused = false
|
|
||||||
mark-ovredir-focused = true;
|
|
||||||
|
|
||||||
# Try to detect windows with rounded corners and don't consider them
|
|
||||||
# shaped windows. The accuracy is not very high, unfortunately.
|
|
||||||
#
|
|
||||||
# detect-rounded-corners = false
|
|
||||||
detect-rounded-corners = true;
|
|
||||||
|
|
||||||
# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers
|
|
||||||
# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows.
|
|
||||||
#
|
|
||||||
# detect-client-opacity = false
|
|
||||||
detect-client-opacity = true;
|
|
||||||
|
|
||||||
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
|
|
||||||
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
|
|
||||||
# provided that the WM supports it.
|
|
||||||
#
|
|
||||||
# use-ewmh-active-win = false
|
|
||||||
|
|
||||||
# Unredirect all windows if a full-screen opaque window is detected,
|
|
||||||
# to maximize performance for full-screen windows. Known to cause flickering
|
|
||||||
# when redirecting/unredirecting windows.
|
|
||||||
#
|
|
||||||
# unredir-if-possible = false
|
|
||||||
|
|
||||||
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
|
|
||||||
# unredir-if-possible-delay = 0
|
|
||||||
|
|
||||||
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
|
|
||||||
# unredir-if-possible-exclude = []
|
|
||||||
|
|
||||||
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
|
|
||||||
# in the same group focused at the same time.
|
|
||||||
#
|
|
||||||
# detect-transient = false
|
|
||||||
detect-transient = true;
|
|
||||||
|
|
||||||
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
|
|
||||||
# group focused at the same time. This usually means windows from the same application
|
|
||||||
# will be considered focused or unfocused at the same time.
|
|
||||||
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
|
|
||||||
#
|
|
||||||
# detect-client-leader = false
|
|
||||||
|
|
||||||
# Resize damaged region by a specific number of pixels.
|
|
||||||
# A positive value enlarges it while a negative one shrinks it.
|
|
||||||
# If the value is positive, those additional pixels will not be actually painted
|
|
||||||
# to screen, only used in blur calculation, and such. (Due to technical limitations,
|
|
||||||
# with use-damage, those pixels will still be incorrectly painted to screen.)
|
|
||||||
# Primarily used to fix the line corruption issues of blur,
|
|
||||||
# in which case you should use the blur radius value here
|
|
||||||
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
|
|
||||||
# with a 5x5 one you use `--resize-damage 2`, and so on).
|
|
||||||
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
|
|
||||||
#
|
|
||||||
# resize-damage = 1
|
|
||||||
|
|
||||||
# Specify a list of conditions of windows that should be painted with inverted color.
|
|
||||||
# Resource-hogging, and is not well tested.
|
|
||||||
#
|
|
||||||
# invert-color-include = []
|
|
||||||
|
|
||||||
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
|
|
||||||
# Might cause incorrect opacity when rendering transparent content (but never
|
|
||||||
# practically happened) and may not work with blur-background.
|
|
||||||
# My tests show a 15% performance boost. Recommended.
|
|
||||||
#
|
|
||||||
# glx-no-stencil = false
|
|
||||||
|
|
||||||
# GLX backend: Avoid rebinding pixmap on window damage.
|
|
||||||
# Probably could improve performance on rapid window content changes,
|
|
||||||
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
|
|
||||||
# Recommended if it works.
|
|
||||||
#
|
|
||||||
# glx-no-rebind-pixmap = false
|
|
||||||
|
|
||||||
# Disable the use of damage information.
|
|
||||||
# This cause the whole screen to be redrawn everytime, instead of the part of the screen
|
|
||||||
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
|
|
||||||
# The opposing option is use-damage
|
|
||||||
#
|
|
||||||
# no-use-damage = false
|
|
||||||
use-damage = true;
|
|
||||||
|
|
||||||
# Use X Sync fence to sync clients' draw calls, to make sure all draw
|
|
||||||
# calls are finished before picom starts drawing. Needed on nvidia-drivers
|
|
||||||
# with GLX backend for some users.
|
|
||||||
#
|
|
||||||
# xrender-sync-fence = false
|
|
||||||
|
|
||||||
# GLX backend: Use specified GLSL fragment shader for rendering window
|
|
||||||
# contents. Read the man page for a detailed explanation of the interface.
|
|
||||||
#
|
|
||||||
# window-shader-fg = "default"
|
|
||||||
|
|
||||||
# Use rules to set per-window shaders. Syntax is SHADER_PATH:PATTERN, similar
|
|
||||||
# to opacity-rule. SHADER_PATH can be "default". This overrides window-shader-fg.
|
|
||||||
#
|
|
||||||
# window-shader-fg-rule = [
|
|
||||||
# "my_shader.frag:window_type != 'dock'"
|
|
||||||
# ]
|
|
||||||
|
|
||||||
# Force all windows to be painted with blending. Useful if you
|
|
||||||
# have a glx-fshader-win that could turn opaque pixels transparent.
|
|
||||||
#
|
|
||||||
# force-win-blend = false
|
|
||||||
|
|
||||||
# Do not use EWMH to detect fullscreen windows.
|
|
||||||
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
|
|
||||||
#
|
|
||||||
# no-ewmh-fullscreen = false
|
|
||||||
|
|
||||||
# Dimming bright windows so their brightness doesn't exceed this set value.
|
|
||||||
# Brightness of a window is estimated by averaging all pixels in the window,
|
|
||||||
# so this could comes with a performance hit.
|
|
||||||
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
|
|
||||||
#
|
|
||||||
# max-brightness = 1.0
|
|
||||||
|
|
||||||
# Make transparent windows clip other windows like non-transparent windows do,
|
|
||||||
# instead of blending on top of them.
|
|
||||||
#
|
|
||||||
# transparent-clipping = false
|
|
||||||
|
|
||||||
# Specify a list of conditions of windows that should never have transparent
|
|
||||||
# clipping applied. Useful for screenshot tools, where you need to be able to
|
|
||||||
# see through transparent parts of the window.
|
|
||||||
#
|
|
||||||
# transparent-clipping-exclude = []
|
|
||||||
|
|
||||||
# Set the log level. Possible values are:
|
|
||||||
# "trace", "debug", "info", "warn", "error"
|
|
||||||
# in increasing level of importance. Case doesn't matter.
|
|
||||||
# If using the "TRACE" log level, it's better to log into a file
|
|
||||||
# using *--log-file*, since it can generate a huge stream of logs.
|
|
||||||
#
|
|
||||||
# log-level = "debug"
|
|
||||||
log-level = "warn";
|
|
||||||
|
|
||||||
# Set the log file.
|
|
||||||
# If *--log-file* is never specified, logs will be written to stderr.
|
|
||||||
# Otherwise, logs will to written to the given file, though some of the early
|
|
||||||
# logs might still be written to the stderr.
|
|
||||||
# When setting this option from the config file, it is recommended to use an absolute path.
|
|
||||||
#
|
|
||||||
# log-file = "/path/to/your/log/file"
|
|
||||||
|
|
||||||
# Show all X errors (for debugging)
|
|
||||||
# show-all-xerrors = false
|
|
||||||
|
|
||||||
# Write process ID to a file.
|
|
||||||
# write-pid-path = "/path/to/your/log/file"
|
|
||||||
|
|
||||||
# Window type settings
|
|
||||||
#
|
|
||||||
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
|
|
||||||
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
|
|
||||||
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
|
|
||||||
# "tooltip", "notification", "combo", and "dnd".
|
|
||||||
#
|
|
||||||
# Following per window-type options are available: ::
|
|
||||||
#
|
|
||||||
# fade, shadow:::
|
|
||||||
# Controls window-type-specific shadow and fade settings.
|
|
||||||
#
|
|
||||||
# opacity:::
|
|
||||||
# Controls default opacity of the window type.
|
|
||||||
#
|
|
||||||
# focus:::
|
|
||||||
# Controls whether the window of this type is to be always considered focused.
|
|
||||||
# (By default, all window types except "normal" and "dialog" has this on.)
|
|
||||||
#
|
|
||||||
# full-shadow:::
|
|
||||||
# Controls whether shadow is drawn under the parts of the window that you
|
|
||||||
# normally won't be able to see. Useful when the window has parts of it
|
|
||||||
# transparent, and you want shadows in those areas.
|
|
||||||
#
|
|
||||||
# clip-shadow-above:::
|
|
||||||
# Controls wether shadows that would have been drawn above the window should
|
|
||||||
# be clipped. Useful for dock windows that should have no shadow painted on top.
|
|
||||||
#
|
|
||||||
# redir-ignore:::
|
|
||||||
# Controls whether this type of windows should cause screen to become
|
|
||||||
# redirected again after been unredirected. If you have unredir-if-possible
|
|
||||||
# set, and doesn't want certain window to cause unnecessary screen redirection,
|
|
||||||
# you can set this to `true`.
|
|
||||||
#
|
|
||||||
wintypes:
|
|
||||||
{
|
|
||||||
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
|
|
||||||
dock = { shadow = false; clip-shadow-above = true; }
|
|
||||||
dnd = { shadow = false; }
|
|
||||||
popup_menu = { opacity = 0.8; }
|
|
||||||
dropdown_menu = { opacity = 0.8; }
|
|
||||||
};
|
|
|
@ -1,177 +0,0 @@
|
||||||
# fish completion for gh -*- shell-script -*-
|
|
||||||
|
|
||||||
function __gh_debug
|
|
||||||
set -l file "$BASH_COMP_DEBUG_FILE"
|
|
||||||
if test -n "$file"
|
|
||||||
echo "$argv" >> $file
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function __gh_perform_completion
|
|
||||||
__gh_debug "Starting __gh_perform_completion"
|
|
||||||
|
|
||||||
# Extract all args except the last one
|
|
||||||
set -l args (commandline -opc)
|
|
||||||
# Extract the last arg and escape it in case it is a space
|
|
||||||
set -l lastArg (string escape -- (commandline -ct))
|
|
||||||
|
|
||||||
__gh_debug "args: $args"
|
|
||||||
__gh_debug "last arg: $lastArg"
|
|
||||||
|
|
||||||
# Disable ActiveHelp which is not supported for fish shell
|
|
||||||
set -l requestComp "GH_ACTIVE_HELP=0 $args[1] __complete $args[2..-1] $lastArg"
|
|
||||||
|
|
||||||
__gh_debug "Calling $requestComp"
|
|
||||||
set -l results (eval $requestComp 2> /dev/null)
|
|
||||||
|
|
||||||
# Some programs may output extra empty lines after the directive.
|
|
||||||
# Let's ignore them or else it will break completion.
|
|
||||||
# Ref: https://github.com/spf13/cobra/issues/1279
|
|
||||||
for line in $results[-1..1]
|
|
||||||
if test (string trim -- $line) = ""
|
|
||||||
# Found an empty line, remove it
|
|
||||||
set results $results[1..-2]
|
|
||||||
else
|
|
||||||
# Found non-empty line, we have our proper output
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
set -l comps $results[1..-2]
|
|
||||||
set -l directiveLine $results[-1]
|
|
||||||
|
|
||||||
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
|
|
||||||
# completions must be prefixed with the flag
|
|
||||||
set -l flagPrefix (string match -r -- '-.*=' "$lastArg")
|
|
||||||
|
|
||||||
__gh_debug "Comps: $comps"
|
|
||||||
__gh_debug "DirectiveLine: $directiveLine"
|
|
||||||
__gh_debug "flagPrefix: $flagPrefix"
|
|
||||||
|
|
||||||
for comp in $comps
|
|
||||||
printf "%s%s\n" "$flagPrefix" "$comp"
|
|
||||||
end
|
|
||||||
|
|
||||||
printf "%s\n" "$directiveLine"
|
|
||||||
end
|
|
||||||
|
|
||||||
# This function does two things:
|
|
||||||
# - Obtain the completions and store them in the global __gh_comp_results
|
|
||||||
# - Return false if file completion should be performed
|
|
||||||
function __gh_prepare_completions
|
|
||||||
__gh_debug ""
|
|
||||||
__gh_debug "========= starting completion logic =========="
|
|
||||||
|
|
||||||
# Start fresh
|
|
||||||
set --erase __gh_comp_results
|
|
||||||
|
|
||||||
set -l results (__gh_perform_completion)
|
|
||||||
__gh_debug "Completion results: $results"
|
|
||||||
|
|
||||||
if test -z "$results"
|
|
||||||
__gh_debug "No completion, probably due to a failure"
|
|
||||||
# Might as well do file completion, in case it helps
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
set -l directive (string sub --start 2 $results[-1])
|
|
||||||
set --global __gh_comp_results $results[1..-2]
|
|
||||||
|
|
||||||
__gh_debug "Completions are: $__gh_comp_results"
|
|
||||||
__gh_debug "Directive is: $directive"
|
|
||||||
|
|
||||||
set -l shellCompDirectiveError 1
|
|
||||||
set -l shellCompDirectiveNoSpace 2
|
|
||||||
set -l shellCompDirectiveNoFileComp 4
|
|
||||||
set -l shellCompDirectiveFilterFileExt 8
|
|
||||||
set -l shellCompDirectiveFilterDirs 16
|
|
||||||
|
|
||||||
if test -z "$directive"
|
|
||||||
set directive 0
|
|
||||||
end
|
|
||||||
|
|
||||||
set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2)
|
|
||||||
if test $compErr -eq 1
|
|
||||||
__gh_debug "Received error directive: aborting."
|
|
||||||
# Might as well do file completion, in case it helps
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2)
|
|
||||||
set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2)
|
|
||||||
if test $filefilter -eq 1; or test $dirfilter -eq 1
|
|
||||||
__gh_debug "File extension filtering or directory filtering not supported"
|
|
||||||
# Do full file completion instead
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2)
|
|
||||||
set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2)
|
|
||||||
|
|
||||||
__gh_debug "nospace: $nospace, nofiles: $nofiles"
|
|
||||||
|
|
||||||
# If we want to prevent a space, or if file completion is NOT disabled,
|
|
||||||
# we need to count the number of valid completions.
|
|
||||||
# To do so, we will filter on prefix as the completions we have received
|
|
||||||
# may not already be filtered so as to allow fish to match on different
|
|
||||||
# criteria than the prefix.
|
|
||||||
if test $nospace -ne 0; or test $nofiles -eq 0
|
|
||||||
set -l prefix (commandline -t | string escape --style=regex)
|
|
||||||
__gh_debug "prefix: $prefix"
|
|
||||||
|
|
||||||
set -l completions (string match -r -- "^$prefix.*" $__gh_comp_results)
|
|
||||||
set --global __gh_comp_results $completions
|
|
||||||
__gh_debug "Filtered completions are: $__gh_comp_results"
|
|
||||||
|
|
||||||
# Important not to quote the variable for count to work
|
|
||||||
set -l numComps (count $__gh_comp_results)
|
|
||||||
__gh_debug "numComps: $numComps"
|
|
||||||
|
|
||||||
if test $numComps -eq 1; and test $nospace -ne 0
|
|
||||||
# We must first split on \t to get rid of the descriptions to be
|
|
||||||
# able to check what the actual completion will be.
|
|
||||||
# We don't need descriptions anyway since there is only a single
|
|
||||||
# real completion which the shell will expand immediately.
|
|
||||||
set -l split (string split --max 1 \t $__gh_comp_results[1])
|
|
||||||
|
|
||||||
# Fish won't add a space if the completion ends with any
|
|
||||||
# of the following characters: @=/:.,
|
|
||||||
set -l lastChar (string sub -s -1 -- $split)
|
|
||||||
if not string match -r -q "[@=/:.,]" -- "$lastChar"
|
|
||||||
# In other cases, to support the "nospace" directive we trick the shell
|
|
||||||
# by outputting an extra, longer completion.
|
|
||||||
__gh_debug "Adding second completion to perform nospace directive"
|
|
||||||
set --global __gh_comp_results $split[1] $split[1].
|
|
||||||
__gh_debug "Completions are now: $__gh_comp_results"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if test $numComps -eq 0; and test $nofiles -eq 0
|
|
||||||
# To be consistent with bash and zsh, we only trigger file
|
|
||||||
# completion when there are no other completions
|
|
||||||
__gh_debug "Requesting file completion"
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return 0
|
|
||||||
end
|
|
||||||
|
|
||||||
# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves
|
|
||||||
# so we can properly delete any completions provided by another script.
|
|
||||||
# Only do this if the program can be found, or else fish may print some errors; besides,
|
|
||||||
# the existing completions will only be loaded if the program can be found.
|
|
||||||
if type -q "gh"
|
|
||||||
# The space after the program name is essential to trigger completion for the program
|
|
||||||
# and not completion of the program name itself.
|
|
||||||
# Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
|
|
||||||
complete --do-complete "gh " > /dev/null 2>&1
|
|
||||||
end
|
|
||||||
|
|
||||||
# Remove any pre-existing completions for the program since we will be handling all of them.
|
|
||||||
complete -c gh -e
|
|
||||||
|
|
||||||
# The call to __gh_prepare_completions will setup __gh_comp_results
|
|
||||||
# which provides the program's completion choices.
|
|
||||||
complete -c gh -n '__gh_prepare_completions' -f -a '$__gh_comp_results'
|
|
||||||
|
|
|
@ -1,176 +0,0 @@
|
||||||
# fish completion for glab -*- shell-script -*-
|
|
||||||
|
|
||||||
function __glab_debug
|
|
||||||
set -l file "$BASH_COMP_DEBUG_FILE"
|
|
||||||
if test -n "$file"
|
|
||||||
echo "$argv" >> $file
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function __glab_perform_completion
|
|
||||||
__glab_debug "Starting __glab_perform_completion"
|
|
||||||
|
|
||||||
# Extract all args except the last one
|
|
||||||
set -l args (commandline -opc)
|
|
||||||
# Extract the last arg and escape it in case it is a space
|
|
||||||
set -l lastArg (string escape -- (commandline -ct))
|
|
||||||
|
|
||||||
__glab_debug "args: $args"
|
|
||||||
__glab_debug "last arg: $lastArg"
|
|
||||||
|
|
||||||
set -l requestComp "$args[1] __complete $args[2..-1] $lastArg"
|
|
||||||
|
|
||||||
__glab_debug "Calling $requestComp"
|
|
||||||
set -l results (eval $requestComp 2> /dev/null)
|
|
||||||
|
|
||||||
# Some programs may output extra empty lines after the directive.
|
|
||||||
# Let's ignore them or else it will break completion.
|
|
||||||
# Ref: https://github.com/spf13/cobra/issues/1279
|
|
||||||
for line in $results[-1..1]
|
|
||||||
if test (string trim -- $line) = ""
|
|
||||||
# Found an empty line, remove it
|
|
||||||
set results $results[1..-2]
|
|
||||||
else
|
|
||||||
# Found non-empty line, we have our proper output
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
set -l comps $results[1..-2]
|
|
||||||
set -l directiveLine $results[-1]
|
|
||||||
|
|
||||||
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
|
|
||||||
# completions must be prefixed with the flag
|
|
||||||
set -l flagPrefix (string match -r -- '-.*=' "$lastArg")
|
|
||||||
|
|
||||||
__glab_debug "Comps: $comps"
|
|
||||||
__glab_debug "DirectiveLine: $directiveLine"
|
|
||||||
__glab_debug "flagPrefix: $flagPrefix"
|
|
||||||
|
|
||||||
for comp in $comps
|
|
||||||
printf "%s%s\n" "$flagPrefix" "$comp"
|
|
||||||
end
|
|
||||||
|
|
||||||
printf "%s\n" "$directiveLine"
|
|
||||||
end
|
|
||||||
|
|
||||||
# This function does two things:
|
|
||||||
# - Obtain the completions and store them in the global __glab_comp_results
|
|
||||||
# - Return false if file completion should be performed
|
|
||||||
function __glab_prepare_completions
|
|
||||||
__glab_debug ""
|
|
||||||
__glab_debug "========= starting completion logic =========="
|
|
||||||
|
|
||||||
# Start fresh
|
|
||||||
set --erase __glab_comp_results
|
|
||||||
|
|
||||||
set -l results (__glab_perform_completion)
|
|
||||||
__glab_debug "Completion results: $results"
|
|
||||||
|
|
||||||
if test -z "$results"
|
|
||||||
__glab_debug "No completion, probably due to a failure"
|
|
||||||
# Might as well do file completion, in case it helps
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
set -l directive (string sub --start 2 $results[-1])
|
|
||||||
set --global __glab_comp_results $results[1..-2]
|
|
||||||
|
|
||||||
__glab_debug "Completions are: $__glab_comp_results"
|
|
||||||
__glab_debug "Directive is: $directive"
|
|
||||||
|
|
||||||
set -l shellCompDirectiveError 1
|
|
||||||
set -l shellCompDirectiveNoSpace 2
|
|
||||||
set -l shellCompDirectiveNoFileComp 4
|
|
||||||
set -l shellCompDirectiveFilterFileExt 8
|
|
||||||
set -l shellCompDirectiveFilterDirs 16
|
|
||||||
|
|
||||||
if test -z "$directive"
|
|
||||||
set directive 0
|
|
||||||
end
|
|
||||||
|
|
||||||
set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2)
|
|
||||||
if test $compErr -eq 1
|
|
||||||
__glab_debug "Received error directive: aborting."
|
|
||||||
# Might as well do file completion, in case it helps
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2)
|
|
||||||
set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2)
|
|
||||||
if test $filefilter -eq 1; or test $dirfilter -eq 1
|
|
||||||
__glab_debug "File extension filtering or directory filtering not supported"
|
|
||||||
# Do full file completion instead
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2)
|
|
||||||
set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2)
|
|
||||||
|
|
||||||
__glab_debug "nospace: $nospace, nofiles: $nofiles"
|
|
||||||
|
|
||||||
# If we want to prevent a space, or if file completion is NOT disabled,
|
|
||||||
# we need to count the number of valid completions.
|
|
||||||
# To do so, we will filter on prefix as the completions we have received
|
|
||||||
# may not already be filtered so as to allow fish to match on different
|
|
||||||
# criteria than the prefix.
|
|
||||||
if test $nospace -ne 0; or test $nofiles -eq 0
|
|
||||||
set -l prefix (commandline -t | string escape --style=regex)
|
|
||||||
__glab_debug "prefix: $prefix"
|
|
||||||
|
|
||||||
set -l completions (string match -r -- "^$prefix.*" $__glab_comp_results)
|
|
||||||
set --global __glab_comp_results $completions
|
|
||||||
__glab_debug "Filtered completions are: $__glab_comp_results"
|
|
||||||
|
|
||||||
# Important not to quote the variable for count to work
|
|
||||||
set -l numComps (count $__glab_comp_results)
|
|
||||||
__glab_debug "numComps: $numComps"
|
|
||||||
|
|
||||||
if test $numComps -eq 1; and test $nospace -ne 0
|
|
||||||
# We must first split on \t to get rid of the descriptions to be
|
|
||||||
# able to check what the actual completion will be.
|
|
||||||
# We don't need descriptions anyway since there is only a single
|
|
||||||
# real completion which the shell will expand immediately.
|
|
||||||
set -l split (string split --max 1 \t $__glab_comp_results[1])
|
|
||||||
|
|
||||||
# Fish won't add a space if the completion ends with any
|
|
||||||
# of the following characters: @=/:.,
|
|
||||||
set -l lastChar (string sub -s -1 -- $split)
|
|
||||||
if not string match -r -q "[@=/:.,]" -- "$lastChar"
|
|
||||||
# In other cases, to support the "nospace" directive we trick the shell
|
|
||||||
# by outputting an extra, longer completion.
|
|
||||||
__glab_debug "Adding second completion to perform nospace directive"
|
|
||||||
set --global __glab_comp_results $split[1] $split[1].
|
|
||||||
__glab_debug "Completions are now: $__glab_comp_results"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if test $numComps -eq 0; and test $nofiles -eq 0
|
|
||||||
# To be consistent with bash and zsh, we only trigger file
|
|
||||||
# completion when there are no other completions
|
|
||||||
__glab_debug "Requesting file completion"
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return 0
|
|
||||||
end
|
|
||||||
|
|
||||||
# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves
|
|
||||||
# so we can properly delete any completions provided by another script.
|
|
||||||
# Only do this if the program can be found, or else fish may print some errors; besides,
|
|
||||||
# the existing completions will only be loaded if the program can be found.
|
|
||||||
if type -q "glab"
|
|
||||||
# The space after the program name is essential to trigger completion for the program
|
|
||||||
# and not completion of the program name itself.
|
|
||||||
# Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
|
|
||||||
complete --do-complete "glab " > /dev/null 2>&1
|
|
||||||
end
|
|
||||||
|
|
||||||
# Remove any pre-existing completions for the program since we will be handling all of them.
|
|
||||||
complete -c glab -e
|
|
||||||
|
|
||||||
# The call to __glab_prepare_completions will setup __glab_comp_results
|
|
||||||
# which provides the program's completion choices.
|
|
||||||
complete -c glab -n '__glab_prepare_completions' -f -a '$__glab_comp_results'
|
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
if status is-interactive
|
|
||||||
direnv hook fish | source
|
|
||||||
end
|
|
|
@ -1,6 +0,0 @@
|
||||||
if status is-interactive
|
|
||||||
set -gx FZF_DEFAULT_OPTS "\
|
|
||||||
--color=bg+:#363a4f,bg:#24273a,spinner:#f4dbd6,hl:#ed8796 \
|
|
||||||
--color=fg:#cad3f5,header:#ed8796,info:#c6a0f6,pointer:#f4dbd6 \
|
|
||||||
--color=marker:#f4dbd6,fg+:#cad3f5,prompt:#c6a0f6,hl+:#ed8796"
|
|
||||||
end
|
|
|
@ -1,3 +0,0 @@
|
||||||
if status is-interactive
|
|
||||||
keychain --eval --quiet --noask -Q id_ed25519 id_rsa | source
|
|
||||||
end
|
|
|
@ -1,4 +0,0 @@
|
||||||
if status is-interactive
|
|
||||||
set -l LOCAL_BIN "$HOME/.local/bin"
|
|
||||||
echo $fish_user_paths | grep -i $LOCAL_BIN - > /dev/null 2>&1 || set -g fish_user_paths $fish_user_paths $LOCAL_BIN
|
|
||||||
end
|
|
|
@ -1,4 +0,0 @@
|
||||||
if status is-interactive
|
|
||||||
set -gx PYENV_ROOT $HOME/.pyenv
|
|
||||||
set -g fish_user_paths $PYENV_ROOT/bin $fish_user_paths
|
|
||||||
end
|
|
|
@ -1,3 +0,0 @@
|
||||||
function starship_transient_prompt_func
|
|
||||||
starship module character
|
|
||||||
end
|
|
|
@ -1,7 +0,0 @@
|
||||||
if status is-interactive
|
|
||||||
set -gx EDITOR nvim
|
|
||||||
set -gx VISUAL xed
|
|
||||||
fish_config theme choose CatppuccinMacchiato
|
|
||||||
starship init fish | source
|
|
||||||
enable_transience
|
|
||||||
end
|
|
|
@ -1,3 +0,0 @@
|
||||||
function lg
|
|
||||||
lazygit $argv
|
|
||||||
end
|
|
|
@ -1,3 +0,0 @@
|
||||||
function nvimdiff
|
|
||||||
nvim -d
|
|
||||||
end
|
|
|
@ -1,3 +0,0 @@
|
||||||
function vim
|
|
||||||
nvim
|
|
||||||
end
|
|
|
@ -1,3 +0,0 @@
|
||||||
function vimdiff
|
|
||||||
vim -d
|
|
||||||
end
|
|
|
@ -1,29 +0,0 @@
|
||||||
# name: 'Catppuccin macchiato'
|
|
||||||
# url: 'https://github.com/catppuccin/fish'
|
|
||||||
# preferred_background: 24273a
|
|
||||||
|
|
||||||
fish_color_normal cad3f5
|
|
||||||
fish_color_command 8aadf4
|
|
||||||
fish_color_param f0c6c6
|
|
||||||
fish_color_keyword ed8796
|
|
||||||
fish_color_quote a6da95
|
|
||||||
fish_color_redirection f5bde6
|
|
||||||
fish_color_end f5a97f
|
|
||||||
fish_color_comment 8087a2
|
|
||||||
fish_color_error ed8796
|
|
||||||
fish_color_gray 6e738d
|
|
||||||
fish_color_selection --background=363a4f
|
|
||||||
fish_color_search_match --background=363a4f
|
|
||||||
fish_color_operator f5bde6
|
|
||||||
fish_color_escape ee99a0
|
|
||||||
fish_color_autosuggestion 6e738d
|
|
||||||
fish_color_cancel ed8796
|
|
||||||
fish_color_cwd eed49f
|
|
||||||
fish_color_user 8bd5ca
|
|
||||||
fish_color_host 8aadf4
|
|
||||||
fish_color_host_remote a6da95
|
|
||||||
fish_color_status ed8796
|
|
||||||
fish_pager_color_progress 6e738d
|
|
||||||
fish_pager_color_prefix f5bde6
|
|
||||||
fish_pager_color_completion cad3f5
|
|
||||||
fish_pager_color_description 6e738d
|
|
|
@ -1,45 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#ed8796" fill-opacity="1" stroke="none" transform="matrix(0.960471,0,0,0.993859,-86.4424,135.196)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M90,-136.031 L90,-85.7223 L142.058,-85.7224 L142.058,-124.145 C142.058,-130.731 136.757,-136.031 130.172,-136.031 L90,-136.031"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.44881,0,0,9.77727,-1186.36,-778.863)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#b11b31" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.44881,0,0,9.77727,-1186.36,-778.863)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.44881,0,0,9.77727,-1186.36,-778.863)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#b11b31" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.44881,0,0,9.77727,-1186.36,-778.863)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.2 KiB |
|
@ -1,45 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#ed8796" fill-opacity="1" stroke="none" transform="matrix(0.960471,0,0,0.993859,-86.4424,135.196)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M90,-136.031 L90,-85.7223 L142.058,-85.7224 L142.058,-124.145 C142.058,-130.731 136.757,-136.031 130.172,-136.031 L90,-136.031"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.44881,0,0,9.77727,-1186.36,-778.863)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#b11b31" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.44881,0,0,9.77727,-1186.36,-778.863)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.44881,0,0,9.77727,-1186.36,-778.863)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#b11b31" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.44881,0,0,9.77727,-1186.36,-778.863)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.2 KiB |
|
@ -1,63 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#040000" fill-opacity="1" stroke="none" transform="matrix(1.61068,0,0,1.66667,-84.5261,-73.6111)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0" >
|
|
||||||
<rect x="52.4786" y="44.1667" width="31.0428" height="30"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(0.960471,0,0,0.993859,-86.4424,83.4579)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M90,-83.9735 L90,-33.6646 L142.058,-33.6646 L142.058,-72.0877 C142.058,-78.6731 136.757,-83.9735 130.172,-83.9735 L90,-83.9735"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ed8796" fill-opacity="1" stroke="none" transform="matrix(0.960471,0,0,0.993859,-86.4424,83.4579)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M90,-83.9735 L90,-33.6646 L142.058,-33.6646 L142.058,-72.0877 C142.058,-78.6731 136.757,-83.9735 130.172,-83.9735 L90,-83.9735"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ed8796" fill-opacity="1" stroke="none" transform="matrix(0.960471,0,0,0.993859,-86.4424,83.4579)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<circle cx="116.029" cy="-58.8191" r="14.7475"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.44881,0,0,9.77727,-1186.36,-778.863)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#b11b31" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.44881,0,0,9.77727,-1186.36,-778.863)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.44881,0,0,9.77727,-1186.36,-778.863)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#b11b31" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.44881,0,0,9.77727,-1186.36,-778.863)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 3.1 KiB |
|
@ -1,63 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(1.11111,0,0,1.66667,-5.6514e-06,-73.6111)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.00757614" >
|
|
||||||
<rect x="5.08626e-06" y="44.1667" width="45" height="30"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(0.960471,0,0,0.993858,-13.1566,83.4579)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M13.6981,-83.9735 L13.6981,-33.6646 L65.7558,-33.6646 L65.7558,-72.0877 C65.7558,-78.6731 60.4554,-83.9735 53.8701,-83.9735 L13.6981,-83.9735"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ed8796" fill-opacity="1" stroke="none" transform="matrix(0.974637,0,0,1.00852,-88.0128,31.8189)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<circle cx="115.954" cy="-6.76131" r="14.7475"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.58817,0,0,9.92147,-1204.16,-790.719)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#b11b31" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.58817,0,0,9.92147,-1204.16,-790.719)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.58817,0,0,9.92147,-1204.16,-790.719)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#b11b31" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.58817,0,0,9.92147,-1204.16,-790.719)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(1.61068,0,0,1.66667,-373.643,-73.6111)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.5" >
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M231.979,44.1667 L231.979,74.1667 L263.021,74.1666 L263.021,51.2544 C263.021,47.3274 259.861,44.1667 255.934,44.1667 L231.979,44.1667"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 3.1 KiB |
|
@ -1,63 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#040000" fill-opacity="1" stroke="none" transform="matrix(1.61068,0,0,1.66667,-84.5261,-73.6111)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0" >
|
|
||||||
<rect x="52.4786" y="44.1667" width="31.0428" height="30"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(0.960471,0,0,0.993859,-86.4424,83.4579)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M90,-83.9735 L90,-33.6646 L142.058,-33.6646 L142.058,-72.0877 C142.058,-78.6731 136.757,-83.9735 130.172,-83.9735 L90,-83.9735"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ed8796" fill-opacity="1" stroke="none" transform="matrix(0.960471,0,0,0.993859,-86.4424,83.4579)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M90,-83.9735 L90,-33.6646 L142.058,-33.6646 L142.058,-72.0877 C142.058,-78.6731 136.757,-83.9735 130.172,-83.9735 L90,-83.9735"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ed8796" fill-opacity="1" stroke="none" transform="matrix(0.960471,0,0,0.993859,-86.4424,83.4579)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<circle cx="116.029" cy="-58.8191" r="14.7475"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.44881,0,0,9.77727,-1186.36,-778.863)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#b11b31" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.44881,0,0,9.77727,-1186.36,-778.863)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.44881,0,0,9.77727,-1186.36,-778.863)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#b11b31" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.44881,0,0,9.77727,-1186.36,-778.863)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 3.1 KiB |
|
@ -1,57 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(1.11111,0,0,1.66667,-5.6514e-06,-73.6111)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.00757614" >
|
|
||||||
<rect x="5.08626e-06" y="44.1667" width="45" height="30"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(0.960471,0,0,0.993859,-13.1566,83.4579)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M13.6981,-83.9735 L13.6981,-33.6646 L65.7558,-33.6646 L65.7558,-72.0877 C65.7558,-78.6731 60.4554,-83.9735 53.8701,-83.9735 L13.6981,-83.9735"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ed8796" fill-opacity="1" stroke="none" transform="matrix(0.974637,0,0,1.00852,-88.0128,31.8189)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<circle cx="115.954" cy="-6.76131" r="14.7475"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.58817,0,0,9.92147,-1204.16,-790.719)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#b11b31" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.58817,0,0,9.92147,-1204.16,-790.719)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.58817,0,0,9.92147,-1204.16,-790.719)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#b11b31" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.58817,0,0,9.92147,-1204.16,-790.719)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1,45 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#a6da95" fill-opacity="1" stroke="none" transform="matrix(9.42162,0,0,9.7773,-1083.71,-779.003)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="115.024" y="79.6747" width="5.30694" height="5.11389"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(4.75853,4.93817,-4.75853,4.93817,-193.785,-1014.05)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.370425" stroke-linecap="round" stroke-linejoin="round" transform="matrix(4.75853,4.93817,-4.75853,4.93817,-193.785,-1014.05)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(4.75853,4.93817,-4.75853,4.93817,-193.785,-1014.05)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.370425" stroke-linecap="round" stroke-linejoin="round" transform="matrix(4.75853,4.93817,-4.75853,4.93817,-193.785,-1014.05)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.1 KiB |
|
@ -1,45 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#a6da95" fill-opacity="1" stroke="none" transform="matrix(9.42162,0,0,9.7773,-1083.71,-779.003)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="115.024" y="79.6747" width="5.30694" height="5.11389"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(4.75853,4.93817,-4.75853,4.93817,-193.785,-1014.05)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.370425" stroke-linecap="round" stroke-linejoin="round" transform="matrix(4.75853,4.93817,-4.75853,4.93817,-193.785,-1014.05)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(4.75853,4.93817,-4.75853,4.93817,-193.785,-1014.05)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.370425" stroke-linecap="round" stroke-linejoin="round" transform="matrix(4.75853,4.93817,-4.75853,4.93817,-193.785,-1014.05)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.1 KiB |
|
@ -1,63 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#040000" fill-opacity="1" stroke="none" transform="matrix(1.61067,0,0,1.66667,-84.5256,-73.6111)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0" >
|
|
||||||
<rect x="52.4786" y="44.1667" width="31.0428" height="30"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(2.49279,0,0,2.57946,-387.894,9.06109)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="155.606" y="-3.48487" width="20.0577" height="19.3281"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#a6da95" fill-opacity="1" stroke="none" transform="matrix(9.42162,0,0,9.74916,-1083.71,-828.279)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<rect x="115.024" y="84.9664" width="5.30694" height="5.11389"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#a6da95" fill-opacity="1" stroke="none" transform="matrix(9.42162,0,0,9.74916,-1083.71,-828.279)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<circle cx="117.677" cy="87.5233" r="1.49908"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#a6d189" fill-opacity="1" stroke="none" transform="matrix(4.75853,4.92396,-4.75853,4.92396,-193.785,-1011.06)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.370425" stroke-linecap="round" stroke-linejoin="round" transform="matrix(4.75853,4.92396,-4.75853,4.92396,-193.785,-1011.06)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#a6d189" fill-opacity="1" stroke="none" transform="matrix(4.75853,4.92396,-4.75853,4.92396,-193.785,-1011.06)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.370425" stroke-linecap="round" stroke-linejoin="round" transform="matrix(4.75853,4.92396,-4.75853,4.92396,-193.785,-1011.06)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.9 KiB |
|
@ -1,57 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(1.61068,0,0,1.66667,-11.2403,-73.6114)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="6.97859" y="44.1667" width="31.0428" height="29.9999"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#a6da95" fill-opacity="1" stroke="none" transform="matrix(9.42162,0,0,9.74915,-1083.71,-879.867)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<circle cx="117.677" cy="92.815" r="1.49908"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(4.75853,4.92393,-4.75853,4.92393,-193.785,-1011.06)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.370426" stroke-linecap="round" stroke-linejoin="round" transform="matrix(4.75853,4.92393,-4.75853,4.92393,-193.785,-1011.06)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(4.75853,4.92393,-4.75853,4.92393,-193.785,-1011.06)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.370426" stroke-linecap="round" stroke-linejoin="round" transform="matrix(4.75853,4.92393,-4.75853,4.92393,-193.785,-1011.06)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(1.61068,0,0,1.66667,-373.661,-73.6113)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.5" >
|
|
||||||
<rect x="232.012" y="44.2099" width="30.998" height="29.8703"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.6 KiB |
|
@ -1,63 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#040000" fill-opacity="1" stroke="none" transform="matrix(1.61067,0,0,1.66667,-84.5256,-73.6111)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0" >
|
|
||||||
<rect x="52.4786" y="44.1667" width="31.0428" height="30"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(2.49279,0,0,2.57946,-387.894,9.06109)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="155.606" y="-3.48487" width="20.0577" height="19.3281"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#a6da95" fill-opacity="1" stroke="none" transform="matrix(9.42162,0,0,9.74916,-1083.71,-828.279)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<rect x="115.024" y="84.9664" width="5.30694" height="5.11389"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#a6da95" fill-opacity="1" stroke="none" transform="matrix(9.42162,0,0,9.74916,-1083.71,-828.279)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<circle cx="117.677" cy="87.5233" r="1.49908"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#a6d189" fill-opacity="1" stroke="none" transform="matrix(4.75853,4.92396,-4.75853,4.92396,-193.785,-1011.06)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.370425" stroke-linecap="round" stroke-linejoin="round" transform="matrix(4.75853,4.92396,-4.75853,4.92396,-193.785,-1011.06)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#a6d189" fill-opacity="1" stroke="none" transform="matrix(4.75853,4.92396,-4.75853,4.92396,-193.785,-1011.06)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.370425" stroke-linecap="round" stroke-linejoin="round" transform="matrix(4.75853,4.92396,-4.75853,4.92396,-193.785,-1011.06)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.9 KiB |
|
@ -1,51 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(1.61068,0,0,1.66667,-11.2403,-73.6114)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="6.97859" y="44.1667" width="31.0428" height="29.9999"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#a6da95" fill-opacity="1" stroke="none" transform="matrix(9.42162,0,0,9.74915,-1083.71,-879.867)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<circle cx="117.677" cy="92.815" r="1.49908"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(4.75853,4.92393,-4.75853,4.92393,-193.785,-1011.06)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.370426" stroke-linecap="round" stroke-linejoin="round" transform="matrix(4.75853,4.92393,-4.75853,4.92393,-193.785,-1011.06)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,82.8588 L128.836,81.5763"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(4.75853,4.92393,-4.75853,4.92393,-193.785,-1011.06)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.370426" stroke-linecap="round" stroke-linejoin="round" transform="matrix(4.75853,4.92393,-4.75853,4.92393,-193.785,-1011.06)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M127.554,81.5763 L128.836,82.8588"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.4 KiB |
|
@ -1,45 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#a6da95" fill-opacity="1" stroke="none" transform="matrix(9.42162,0,0,9.7773,-1033.85,-779.003)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="109.732" y="79.6747" width="5.30694" height="5.11389"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.42162,0,0,9.7773,-1033.85,-779.003)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M111.738,82.2317 L113.033,82.2317"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.42162,0,0,9.7773,-1033.85,-779.003)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M111.738,82.2317 L113.033,82.2317"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.42162,0,0,9.7773,-1033.85,-779.003)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M112.385,81.5839 L112.385,82.8794"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.42162,0,0,9.7773,-1033.85,-779.003)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M112.385,81.5839 L112.385,82.8794"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.1 KiB |
|
@ -1,45 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#a6da95" fill-opacity="1" stroke="none" transform="matrix(9.42162,0,0,9.7773,-1033.85,-779.003)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="109.732" y="79.6747" width="5.30694" height="5.11389"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.42162,0,0,9.7773,-1033.85,-779.003)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M111.738,82.2317 L113.033,82.2317"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.42162,0,0,9.7773,-1033.85,-779.003)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M111.738,82.2317 L113.033,82.2317"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.42162,0,0,9.7773,-1033.85,-779.003)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M112.385,81.5839 L112.385,82.8794"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.42162,0,0,9.7773,-1033.85,-779.003)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M112.385,81.5839 L112.385,82.8794"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.1 KiB |
|
@ -1,63 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#040000" fill-opacity="1" stroke="none" transform="matrix(1.61067,0,0,1.66667,-84.5256,-73.6111)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0" >
|
|
||||||
<rect x="52.4786" y="44.1667" width="31.0428" height="30"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(2.49279,0,0,2.57946,-387.894,9.06109)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="155.606" y="-3.48487" width="20.0577" height="19.3281"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#a6da95" fill-opacity="1" stroke="none" transform="matrix(9.4216,0,0,9.74915,-1033.85,-828.278)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<rect x="109.732" y="84.9664" width="5.30694" height="5.11389"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#a6da95" fill-opacity="1" stroke="none" transform="matrix(9.4216,0,0,9.74915,-1033.85,-828.278)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<circle cx="112.385" cy="87.5233" r="1.49908"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.4216,0,0,9.74915,-1033.85,-828.278)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M111.738,87.5233 L113.033,87.5233"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.4216,0,0,9.74915,-1033.85,-828.278)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M111.738,87.5233 L113.033,87.5233"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.4216,0,0,9.74915,-1033.85,-828.278)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M112.385,86.8756 L112.385,88.1711"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.4216,0,0,9.74915,-1033.85,-828.278)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M112.385,86.8756 L112.385,88.1711"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.9 KiB |
|
@ -1,57 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(1.61068,0,0,1.66667,-11.2403,-73.6114)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="6.97859" y="44.1667" width="31.0428" height="29.9999"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#a6da95" fill-opacity="1" stroke="none" transform="matrix(9.42161,0,0,9.74914,-1033.85,-879.867)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<circle cx="112.385" cy="92.815" r="1.49908"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.42161,0,0,9.74914,-1033.85,-879.867)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M111.738,92.815 L113.033,92.815"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.42161,0,0,9.74914,-1033.85,-879.867)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M111.738,92.815 L113.033,92.815"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.42161,0,0,9.74914,-1033.85,-879.867)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M112.385,92.1673 L112.385,93.4628"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.42161,0,0,9.74914,-1033.85,-879.867)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M112.385,92.1673 L112.385,93.4628"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(1.61068,0,0,1.66667,-373.661,-73.6113)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.5" >
|
|
||||||
<rect x="232.012" y="44.2099" width="30.998" height="29.8703"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.6 KiB |
|
@ -1,63 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#040000" fill-opacity="1" stroke="none" transform="matrix(1.61067,0,0,1.66667,-84.5256,-73.6111)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0" >
|
|
||||||
<rect x="52.4786" y="44.1667" width="31.0428" height="30"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(2.49279,0,0,2.57946,-387.894,9.06109)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="155.606" y="-3.48487" width="20.0577" height="19.3281"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#a6da95" fill-opacity="1" stroke="none" transform="matrix(9.4216,0,0,9.74915,-1033.85,-828.278)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<rect x="109.732" y="84.9664" width="5.30694" height="5.11389"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#a6da95" fill-opacity="1" stroke="none" transform="matrix(9.4216,0,0,9.74915,-1033.85,-828.278)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<circle cx="112.385" cy="87.5233" r="1.49908"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.4216,0,0,9.74915,-1033.85,-828.278)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M111.738,87.5233 L113.033,87.5233"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.4216,0,0,9.74915,-1033.85,-828.278)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M111.738,87.5233 L113.033,87.5233"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.4216,0,0,9.74915,-1033.85,-828.278)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M112.385,86.8756 L112.385,88.1711"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.4216,0,0,9.74915,-1033.85,-828.278)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M112.385,86.8756 L112.385,88.1711"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.9 KiB |
|
@ -1,51 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(1.61068,0,0,1.66667,-11.2403,-73.6114)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="6.97859" y="44.1667" width="31.0428" height="29.9999"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#a6da95" fill-opacity="1" stroke="none" transform="matrix(9.42161,0,0,9.74914,-1033.85,-879.867)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<circle cx="112.385" cy="92.815" r="1.49908"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.42161,0,0,9.74914,-1033.85,-879.867)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M111.738,92.815 L113.033,92.815"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.42161,0,0,9.74914,-1033.85,-879.867)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M111.738,92.815 L113.033,92.815"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.42161,0,0,9.74914,-1033.85,-879.867)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M112.385,92.1673 L112.385,93.4628"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#4d9735" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.42161,0,0,9.74914,-1033.85,-879.867)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M112.385,92.1673 L112.385,93.4628"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.3 KiB |
|
@ -1,159 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#ff5252" fill-opacity="1" stroke="none" transform="matrix(0.923773,0,0,1.44862,-83.1396,-57.4392)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="90" y="44.1667" width="45" height="30"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-291.377,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-105.434" y="87.953" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-291.377,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-105.17" y="88.2176" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-291.377,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.905" y="88.4822" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-291.377,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.641" y="88.7467" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-291.377,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.376" y="89.0113" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,332.947,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-105.434" y="87.953" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,332.947,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-105.17" y="88.2176" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,332.947,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.905" y="88.4822" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,332.947,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.641" y="88.7467" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,332.947,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.376" y="89.0113" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,328.328,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-105.434" y="87.953" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,328.328,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-105.17" y="88.2176" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,328.328,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.905" y="88.4822" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,328.328,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.641" y="88.7467" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,328.328,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.376" y="89.0113" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-286.758,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-105.434" y="87.953" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-286.758,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-105.17" y="88.2176" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-286.758,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.905" y="88.4822" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-286.758,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.641" y="88.7467" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-286.758,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.376" y="89.0113" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#f5a97f" fill-opacity="1" stroke="none" transform="matrix(9.41481,0,0,9.76317,-1132.71,-777.878)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="120.315" y="79.6747" width="5.30694" height="5.11389"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.41481,0,0,9.76317,-1132.71,-777.878)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M122.307,82.2317 L123.63,82.2317"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#bd4d0f" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.41481,0,0,9.76317,-1132.71,-777.878)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M122.307,82.2317 L123.63,82.2317"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 6.8 KiB |
|
@ -1,159 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#ff5252" fill-opacity="1" stroke="none" transform="matrix(0.923773,0,0,1.44862,-83.1396,-57.4392)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="90" y="44.1667" width="45" height="30"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-291.377,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-105.434" y="87.953" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-291.377,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-105.17" y="88.2176" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-291.377,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.905" y="88.4822" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-291.377,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.641" y="88.7467" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-291.377,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.376" y="89.0113" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,332.947,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-105.434" y="87.953" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,332.947,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-105.17" y="88.2176" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,332.947,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.905" y="88.4822" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,332.947,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.641" y="88.7467" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,332.947,-541.749)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.376" y="89.0113" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,328.328,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-105.434" y="87.953" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,328.328,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-105.17" y="88.2176" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,328.328,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.905" y="88.4822" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,328.328,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.641" y="88.7467" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,-3.49143,0,328.328,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.376" y="89.0113" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-286.758,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-105.434" y="87.953" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-286.758,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-105.17" y="88.2176" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-286.758,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.905" y="88.4822" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-286.758,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.641" y="88.7467" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#ffffff" fill-opacity="1" stroke="none" transform="matrix(0,-5.47509,3.49143,0,-286.758,-548.992)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="-104.376" y="89.0113" width="0.264583" height="0.529167"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#f5a97f" fill-opacity="1" stroke="none" transform="matrix(9.41481,0,0,9.76317,-1132.71,-777.878)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="120.315" y="79.6747" width="5.30694" height="5.11389"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.41481,0,0,9.76317,-1132.71,-777.878)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M122.307,82.2317 L123.63,82.2317"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#bd4d0f" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.41481,0,0,9.76317,-1132.71,-777.878)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M122.307,82.2317 L123.63,82.2317"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 6.8 KiB |
|
@ -1,51 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#040000" fill-opacity="1" stroke="none" transform="matrix(1.61068,0,0,1.66667,-84.5259,-73.6111)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0" >
|
|
||||||
<rect x="52.4786" y="44.1667" width="31.0428" height="30"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(2.4928,0,0,2.57946,-387.895,9.06109)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="155.606" y="-3.48487" width="20.0577" height="19.3281"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#f5a97f" fill-opacity="1" stroke="none" transform="matrix(9.42161,0,0,9.74913,-1133.56,-828.276)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<rect x="120.315" y="84.9664" width="5.30694" height="5.11389"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#f5a97f" fill-opacity="1" stroke="none" transform="matrix(9.42161,0,0,9.74913,-1133.56,-828.276)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<circle cx="122.969" cy="87.5233" r="1.49908"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.42161,0,0,9.74913,-1133.56,-828.276)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M122.307,87.5233 L123.63,87.5233"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#bd4d0f" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.42161,0,0,9.74913,-1133.56,-828.276)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M122.307,87.5233 L123.63,87.5233"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.2 KiB |
|
@ -1,45 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(1.61068,0,0,1.66667,-11.2403,-73.6114)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="6.97859" y="44.1667" width="31.0428" height="29.9999"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#f5a97f" fill-opacity="1" stroke="none" transform="matrix(9.42162,0,0,9.74915,-1133.57,-879.868)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<circle cx="122.969" cy="92.815" r="1.49908"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.42162,0,0,9.74915,-1133.57,-879.868)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M122.328,92.815 L123.61,92.815"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#bd4d0f" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.42162,0,0,9.74915,-1133.57,-879.868)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M122.328,92.815 L123.61,92.815"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(1.61068,0,0,1.66667,-373.661,-73.6113)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.5" >
|
|
||||||
<rect x="232.012" y="44.2099" width="30.998" height="29.8703"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2 KiB |
|
@ -1,51 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#040000" fill-opacity="1" stroke="none" transform="matrix(1.61068,0,0,1.66667,-84.5259,-73.6111)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0" >
|
|
||||||
<rect x="52.4786" y="44.1667" width="31.0428" height="30"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(2.4928,0,0,2.57946,-387.895,9.06109)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="155.606" y="-3.48487" width="20.0577" height="19.3281"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#f5a97f" fill-opacity="1" stroke="none" transform="matrix(9.42161,0,0,9.74913,-1133.56,-828.276)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
opacity="0.25" >
|
|
||||||
<rect x="120.315" y="84.9664" width="5.30694" height="5.11389"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#f5a97f" fill-opacity="1" stroke="none" transform="matrix(9.42161,0,0,9.74913,-1133.56,-828.276)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<circle cx="122.969" cy="87.5233" r="1.49908"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.42161,0,0,9.74913,-1133.56,-828.276)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M122.307,87.5233 L123.63,87.5233"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#bd4d0f" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.42161,0,0,9.74913,-1133.56,-828.276)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M122.307,87.5233 L123.63,87.5233"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.2 KiB |
|
@ -1,39 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg viewBox="0 0 50 50"
|
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny">
|
|
||||||
<title>Qt SVG Document</title>
|
|
||||||
<desc>Generated with Qt</desc>
|
|
||||||
<defs>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" >
|
|
||||||
|
|
||||||
<g fill="#1e2030" fill-opacity="1" stroke="none" transform="matrix(1.61068,0,0,1.66667,-11.2403,-73.6114)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<rect x="6.97859" y="44.1667" width="31.0428" height="29.9999"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="#f5a97f" fill-opacity="1" stroke="none" transform="matrix(9.42162,0,0,9.74915,-1133.57,-879.868)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<circle cx="122.969" cy="92.815" r="1.49908"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="none" transform="matrix(9.42162,0,0,9.74915,-1133.57,-879.868)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M122.328,92.815 L123.61,92.815"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#bd4d0f" stroke-opacity="1" stroke-width="0.264583" stroke-linecap="round" stroke-linejoin="round" transform="matrix(9.42162,0,0,9.74915,-1133.57,-879.868)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
<path vector-effect="none" fill-rule="nonzero" d="M122.328,92.815 L123.61,92.815"/>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)"
|
|
||||||
font-family="Noto Sans" font-size="10" font-weight="400" font-style="normal"
|
|
||||||
>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 1.7 KiB |
|
@ -1,84 +0,0 @@
|
||||||
@define-color borders_breeze #494d61;
|
|
||||||
@define-color content_view_bg_breeze #24273a;
|
|
||||||
@define-color error_color_backdrop_breeze #826a90;
|
|
||||||
@define-color error_color_breeze #ed8796;
|
|
||||||
@define-color error_color_insensitive_backdrop_breeze #b16a7a;
|
|
||||||
@define-color error_color_insensitive_breeze #b16a7a;
|
|
||||||
@define-color insensitive_base_color_breeze #24273a;
|
|
||||||
@define-color insensitive_base_fg_color_breeze #989fbd;
|
|
||||||
@define-color insensitive_bg_color_breeze #202233;
|
|
||||||
@define-color insensitive_borders_breeze #3e4155;
|
|
||||||
@define-color insensitive_fg_color_breeze #989fbd;
|
|
||||||
@define-color insensitive_selected_bg_color_breeze #202233;
|
|
||||||
@define-color insensitive_selected_fg_color_breeze #989fbd;
|
|
||||||
@define-color insensitive_unfocused_bg_color_breeze #202233;
|
|
||||||
@define-color insensitive_unfocused_fg_color_breeze #989fbd;
|
|
||||||
@define-color insensitive_unfocused_selected_bg_color_breeze #202233;
|
|
||||||
@define-color insensitive_unfocused_selected_fg_color_breeze #989fbd;
|
|
||||||
@define-color link_color_breeze #926ee4;
|
|
||||||
@define-color link_visited_color_breeze #c6a0f6;
|
|
||||||
@define-color success_color_backdrop_breeze #728599;
|
|
||||||
@define-color success_color_breeze #a6da95;
|
|
||||||
@define-color success_color_insensitive_backdrop_breeze #7fa47a;
|
|
||||||
@define-color success_color_insensitive_breeze #7fa47a;
|
|
||||||
@define-color theme_base_color_breeze #24273a;
|
|
||||||
@define-color theme_bg_color_breeze #1e2030;
|
|
||||||
@define-color theme_button_background_backdrop_breeze #26293e;
|
|
||||||
@define-color theme_button_background_backdrop_insensitive_breeze #313449;
|
|
||||||
@define-color theme_button_background_insensitive_breeze #313449;
|
|
||||||
@define-color theme_button_background_normal_breeze #363a4f;
|
|
||||||
@define-color theme_button_decoration_focus_backdrop_breeze #605c8a;
|
|
||||||
@define-color theme_button_decoration_focus_backdrop_insensitive_breeze #7159b1;
|
|
||||||
@define-color theme_button_decoration_focus_breeze #926ee4;
|
|
||||||
@define-color theme_button_decoration_focus_insensitive_breeze #7159b1;
|
|
||||||
@define-color theme_button_decoration_hover_backdrop_breeze #605c8a;
|
|
||||||
@define-color theme_button_decoration_hover_backdrop_insensitive_breeze #7159b1;
|
|
||||||
@define-color theme_button_decoration_hover_breeze #926ee4;
|
|
||||||
@define-color theme_button_decoration_hover_insensitive_breeze #7159b1;
|
|
||||||
@define-color theme_button_foreground_active_backdrop_breeze #7f84a2;
|
|
||||||
@define-color theme_button_foreground_active_backdrop_insensitive_breeze #989fbd;
|
|
||||||
@define-color theme_button_foreground_active_breeze #ffffff;
|
|
||||||
@define-color theme_button_foreground_active_insensitive_breeze #989fbd;
|
|
||||||
@define-color theme_button_foreground_backdrop_breeze #7f84a2;
|
|
||||||
@define-color theme_button_foreground_backdrop_insensitive_breeze #989fbd;
|
|
||||||
@define-color theme_button_foreground_insensitive_breeze #989fbd;
|
|
||||||
@define-color theme_button_foreground_normal_breeze #cad3f5;
|
|
||||||
@define-color theme_fg_color_breeze #cad3f5;
|
|
||||||
@define-color theme_header_background_backdrop_breeze #24273a;
|
|
||||||
@define-color theme_header_background_breeze #1e2030;
|
|
||||||
@define-color theme_header_background_light_breeze #1e2030;
|
|
||||||
@define-color theme_header_foreground_backdrop_breeze #7f84a2;
|
|
||||||
@define-color theme_header_foreground_breeze #cad3f5;
|
|
||||||
@define-color theme_header_foreground_insensitive_backdrop_breeze #7f84a2;
|
|
||||||
@define-color theme_header_foreground_insensitive_breeze #7f84a2;
|
|
||||||
@define-color theme_hovering_selected_bg_color_breeze #926ee4;
|
|
||||||
@define-color theme_selected_bg_color_breeze #7158b1;
|
|
||||||
@define-color theme_selected_fg_color_breeze #ffffff;
|
|
||||||
@define-color theme_text_color_breeze #cad3f5;
|
|
||||||
@define-color theme_titlebar_background_backdrop_breeze #24273a;
|
|
||||||
@define-color theme_titlebar_background_breeze #1e2030;
|
|
||||||
@define-color theme_titlebar_background_light_breeze #1e2030;
|
|
||||||
@define-color theme_titlebar_foreground_backdrop_breeze #7f84a2;
|
|
||||||
@define-color theme_titlebar_foreground_breeze #cad3f5;
|
|
||||||
@define-color theme_titlebar_foreground_insensitive_backdrop_breeze #7f84a2;
|
|
||||||
@define-color theme_titlebar_foreground_insensitive_breeze #7f84a2;
|
|
||||||
@define-color theme_unfocused_base_color_breeze #24273a;
|
|
||||||
@define-color theme_unfocused_bg_color_breeze #24273a;
|
|
||||||
@define-color theme_unfocused_fg_color_breeze #7f84a2;
|
|
||||||
@define-color theme_unfocused_selected_bg_color_alt_breeze #24273a;
|
|
||||||
@define-color theme_unfocused_selected_bg_color_breeze #24273a;
|
|
||||||
@define-color theme_unfocused_selected_fg_color_breeze #7f84a2;
|
|
||||||
@define-color theme_unfocused_text_color_breeze #7f84a2;
|
|
||||||
@define-color theme_unfocused_view_bg_color_breeze #24273a;
|
|
||||||
@define-color theme_unfocused_view_text_color_breeze #989fbd;
|
|
||||||
@define-color theme_view_active_decoration_color_breeze #926ee4;
|
|
||||||
@define-color theme_view_hover_decoration_color_breeze #926ee4;
|
|
||||||
@define-color tooltip_background_breeze #24273a;
|
|
||||||
@define-color tooltip_border_breeze #4e5269;
|
|
||||||
@define-color tooltip_text_breeze #cad3f5;
|
|
||||||
@define-color unfocused_borders_breeze #3b3e54;
|
|
||||||
@define-color unfocused_insensitive_borders_breeze #3e4155;
|
|
||||||
@define-color warning_color_backdrop_breeze #86868d;
|
|
||||||
@define-color warning_color_breeze #eed49f;
|
|
||||||
@define-color warning_color_insensitive_backdrop_breeze #b1a081;
|
|
||||||
@define-color warning_color_insensitive_breeze #b1a081;
|
|
|
@ -1,4 +0,0 @@
|
||||||
VteTerminal, vte-terminal {
|
|
||||||
padding: 13px;
|
|
||||||
}
|
|
||||||
@import 'colors.css';
|
|
|
@ -1,21 +0,0 @@
|
||||||
[Settings]
|
|
||||||
gtk-application-prefer-dark-theme=true
|
|
||||||
gtk-button-images=1
|
|
||||||
gtk-cursor-theme-name=Qogir-dark
|
|
||||||
gtk-cursor-theme-size=24
|
|
||||||
gtk-decoration-layout=icon:minimize,maximize,close
|
|
||||||
gtk-enable-animations=true
|
|
||||||
gtk-enable-event-sounds=1
|
|
||||||
gtk-enable-input-feedback-sounds=1
|
|
||||||
gtk-font-name=Noto Sans 12
|
|
||||||
gtk-icon-theme-name=Qogir-dark
|
|
||||||
gtk-menu-images=1
|
|
||||||
gtk-primary-button-warps-slider=false
|
|
||||||
gtk-theme-name=Catppuccin-Macchiato-Standard-Mauve-Dark
|
|
||||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
|
||||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
|
|
||||||
gtk-xft-antialias=1
|
|
||||||
gtk-xft-dpi=98304
|
|
||||||
gtk-xft-hinting=1
|
|
||||||
gtk-xft-hintstyle=hintmedium
|
|
||||||
gtk-xft-rgba=rgb
|
|
|
@ -1,71 +0,0 @@
|
||||||
headerbar button.titlebutton.close, .titlebar button.titlebutton.close {
|
|
||||||
background-image: url("assets/close-normal.svg"); }
|
|
||||||
|
|
||||||
headerbar button.titlebutton.close:hover, .titlebar button.titlebutton.close:hover {
|
|
||||||
background-image: url("assets/close-hover.svg"); }
|
|
||||||
|
|
||||||
headerbar button.titlebutton.close:active, .titlebar button.titlebutton.close:active {
|
|
||||||
background-image: url("assets/close-active.svg"); }
|
|
||||||
|
|
||||||
headerbar button.titlebutton.close:backdrop, .titlebar button.titlebutton.close:backdrop {
|
|
||||||
background-image: url("assets/close-backdrop-normal.svg"); }
|
|
||||||
|
|
||||||
headerbar button.titlebutton.close:backdrop:hover, .titlebar button.titlebutton.close:backdrop:hover {
|
|
||||||
background-image: url("assets/close-backdrop-hover.svg"); }
|
|
||||||
|
|
||||||
headerbar button.titlebutton.close:backdrop:active, .titlebar button.titlebutton.close:backdrop:active {
|
|
||||||
background-image: url("assets/close-backdrop-active.svg"); }
|
|
||||||
|
|
||||||
headerbar button.titlebutton.maximize, .titlebar button.titlebutton.maximize {
|
|
||||||
background-image: url("assets/maximize-normal.svg"); }
|
|
||||||
|
|
||||||
headerbar button.titlebutton.maximize:hover, .titlebar button.titlebutton.maximize:hover {
|
|
||||||
background-image: url("assets/maximize-hover.svg"); }
|
|
||||||
|
|
||||||
headerbar button.titlebutton.maximize:active, .titlebar button.titlebutton.maximize:active {
|
|
||||||
background-image: url("assets/maximize-active.svg"); }
|
|
||||||
|
|
||||||
headerbar button.titlebutton.maximize:backdrop, .titlebar button.titlebutton.maximize:backdrop {
|
|
||||||
background-image: url("assets/maximize-backdrop-normal.svg"); }
|
|
||||||
|
|
||||||
headerbar button.titlebutton.maximize:backdrop:hover, .titlebar button.titlebutton.maximize:backdrop:hover {
|
|
||||||
background-image: url("assets/maximize-backdrop-hover.svg"); }
|
|
||||||
|
|
||||||
headerbar button.titlebutton.maximize:backdrop:active, .titlebar button.titlebutton.maximize:backdrop:active {
|
|
||||||
background-image: url("assets/maximize-backdrop-active.svg"); }
|
|
||||||
|
|
||||||
headerbar button.titlebutton.minimize, .titlebar button.titlebutton.minimize {
|
|
||||||
background-image: url("assets/minimize-normal.svg"); }
|
|
||||||
|
|
||||||
headerbar button.titlebutton.minimize:hover, .titlebar button.titlebutton.minimize:hover {
|
|
||||||
background-image: url("assets/minimize-hover.svg"); }
|
|
||||||
|
|
||||||
headerbar button.titlebutton.minimize:active, .titlebar button.titlebutton.minimize:active {
|
|
||||||
background-image: url("assets/minimize-active.svg"); }
|
|
||||||
|
|
||||||
headerbar button.titlebutton.minimize:backdrop, .titlebar button.titlebutton.minimize:backdrop {
|
|
||||||
background-image: url("assets/minimize-backdrop-normal.svg"); }
|
|
||||||
|
|
||||||
headerbar button.titlebutton.minimize:backdrop:hover, .titlebar button.titlebutton.minimize:backdrop:hover {
|
|
||||||
background-image: url("assets/minimize-backdrop-hover.svg"); }
|
|
||||||
|
|
||||||
headerbar button.titlebutton.minimize:backdrop:active, .titlebar button.titlebutton.minimize:backdrop:active {
|
|
||||||
background-image: url("assets/minimize-backdrop-active.svg"); }
|
|
||||||
|
|
||||||
.maximized headerbar button.titlebutton.maximize, .maximized .titlebar button.titlebutton.maximize {
|
|
||||||
background-image: url("assets/maximized-normal.svg"); }
|
|
||||||
|
|
||||||
.maximized headerbar button.titlebutton.maximize:hover, .maximized .titlebar button.titlebutton.maximize:hover {
|
|
||||||
background-image: url("assets/maximized-hover.svg"); }
|
|
||||||
|
|
||||||
.maximized headerbar button.titlebutton.maximize:active, .maximized .titlebar button.titlebutton.maximize:active {
|
|
||||||
background-image: url("assets/maximized-active.svg"); }
|
|
||||||
|
|
||||||
.maximized headerbar button.titlebutton.maximize:backdrop, .maximized .titlebar button.titlebutton.maximize:backdrop {
|
|
||||||
background-image: url("assets/maximized-backdrop-normal.svg"); }
|
|
||||||
|
|
||||||
.maximized headerbar button.titlebutton.maximize:backdrop:hover, .maximized .titlebar button.titlebutton.maximize:backdrop:hover {
|
|
||||||
background-image: url("assets/maximized-backdrop-hover.svg"); }
|
|
||||||
|
|
||||||
.maximized headerbar button.titlebutton.maximize:backdrop:active, .maximized .titlebar button.titlebutton.maximize:backdrop:active {
|
|
||||||
background-image: url("assets/maximized-backdrop-active.svg"); }
|
|
|
@ -1,580 +0,0 @@
|
||||||
# This file is a modified version based on default i3-config-wizard config
|
|
||||||
# source is available here:
|
|
||||||
# https://raw.githubusercontent.com/endeavouros-team/endeavouros-i3wm-setup/master/.config/i3/config
|
|
||||||
# Maintainer: joekamprad [joekamprad@endeavouros.com]
|
|
||||||
# https://endeavouros.com
|
|
||||||
#
|
|
||||||
# iconic font icon search: https://fontawesome.com/v4.7/cheatsheet/
|
|
||||||
#
|
|
||||||
# --> to update this run the following command (will backup existing setup file)
|
|
||||||
# wget --backups=1 https://raw.githubusercontent.com/endeavouros-team/endeavouros-i3wm-setup/main/.config/i3/config -P ~/.config/i3/
|
|
||||||
#
|
|
||||||
# Endeavouros-i3 config file
|
|
||||||
# Source for complete framework of our i3 config and theming here: https://github.com/endeavouros-team/endeavouros-i3wm-setup
|
|
||||||
# EndeavourOS wiki holds some Information also: https://discovery.endeavouros.com/window-tiling-managers/i3-wm/
|
|
||||||
# Please see http://i3wm.org/docs/userguide.html for the official i3 reference!
|
|
||||||
|
|
||||||
#######################
|
|
||||||
# config starts here: #
|
|
||||||
#######################
|
|
||||||
|
|
||||||
# Font for window titles. Will also be used by the bar unless a different font
|
|
||||||
# is used in the bar {} block below.
|
|
||||||
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
|
||||||
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
|
||||||
font pango: Noto Sans Regular 12
|
|
||||||
|
|
||||||
# set the mod key to the winkey:
|
|
||||||
set $mod Mod4
|
|
||||||
|
|
||||||
#####################
|
|
||||||
# workspace layout: #
|
|
||||||
#####################
|
|
||||||
|
|
||||||
# default i3 tiling mode:
|
|
||||||
workspace_layout tabbed
|
|
||||||
|
|
||||||
##############################
|
|
||||||
# extra options for windows: #
|
|
||||||
##############################
|
|
||||||
|
|
||||||
#border indicator on windows:
|
|
||||||
new_window pixel 1
|
|
||||||
|
|
||||||
# thin borders
|
|
||||||
# hide_edge_borders both
|
|
||||||
|
|
||||||
# Set inner/outer gaps
|
|
||||||
gaps inner 6
|
|
||||||
gaps outer 3
|
|
||||||
|
|
||||||
# show window title bars (not officially supported with i3gaps)
|
|
||||||
#default_border normal
|
|
||||||
|
|
||||||
# window title alignment
|
|
||||||
title_align center
|
|
||||||
|
|
||||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
|
||||||
floating_modifier $mod
|
|
||||||
|
|
||||||
# switch/iterate between workspaces
|
|
||||||
bindsym $mod+Tab workspace next
|
|
||||||
bindsym $mod+Shift+Tab workspace prev
|
|
||||||
|
|
||||||
# switch to workspace
|
|
||||||
bindsym $mod+1 workspace $ws1
|
|
||||||
bindsym $mod+2 workspace $ws2
|
|
||||||
bindsym $mod+3 workspace $ws3
|
|
||||||
bindsym $mod+4 workspace $ws4
|
|
||||||
bindsym $mod+5 workspace $ws5
|
|
||||||
bindsym $mod+6 workspace $ws6
|
|
||||||
|
|
||||||
# switch to workspace with numpad keys
|
|
||||||
bindcode $mod+87 workspace 1
|
|
||||||
bindcode $mod+88 workspace 2
|
|
||||||
bindcode $mod+89 workspace 3
|
|
||||||
bindcode $mod+83 workspace 4
|
|
||||||
bindcode $mod+84 workspace 5
|
|
||||||
bindcode $mod+85 workspace 6
|
|
||||||
|
|
||||||
# switch to workspace with numlock numpad keys
|
|
||||||
bindcode $mod+Mod2+87 workspace $ws1
|
|
||||||
bindcode $mod+Mod2+88 workspace $ws2
|
|
||||||
bindcode $mod+Mod2+89 workspace $ws3
|
|
||||||
bindcode $mod+Mod2+83 workspace $ws4
|
|
||||||
bindcode $mod+Mod2+84 workspace $ws5
|
|
||||||
bindcode $mod+Mod2+85 workspace $ws6
|
|
||||||
|
|
||||||
# move focused container to workspace
|
|
||||||
bindsym $mod+Shift+1 move container to workspace $ws1
|
|
||||||
bindsym $mod+Shift+2 move container to workspace $ws2
|
|
||||||
bindsym $mod+Shift+3 move container to workspace $ws3
|
|
||||||
bindsym $mod+Shift+4 move container to workspace $ws4
|
|
||||||
bindsym $mod+Shift+5 move container to workspace $ws5
|
|
||||||
bindsym $mod+Shift+6 move container to workspace $ws6
|
|
||||||
|
|
||||||
# move focused container to workspace with numpad keys
|
|
||||||
bindcode $mod+Shift+Mod2+87 move container to workspace $ws1
|
|
||||||
bindcode $mod+Shift+Mod2+88 move container to workspace $ws2
|
|
||||||
bindcode $mod+Shift+Mod2+89 move container to workspace $ws3
|
|
||||||
bindcode $mod+Shift+Mod2+83 move container to workspace $ws4
|
|
||||||
bindcode $mod+Shift+Mod2+84 move container to workspace $ws5
|
|
||||||
bindcode $mod+Shift+Mod2+85 move container to workspace $ws6
|
|
||||||
|
|
||||||
# move focused container to workspace with numpad keys
|
|
||||||
bindcode $mod+Shift+87 move container to workspace $ws1
|
|
||||||
bindcode $mod+Shift+88 move container to workspace $ws2
|
|
||||||
bindcode $mod+Shift+89 move container to workspace $ws3
|
|
||||||
bindcode $mod+Shift+83 move container to workspace $ws4
|
|
||||||
bindcode $mod+Shift+84 move container to workspace $ws5
|
|
||||||
bindcode $mod+Shift+85 move container to workspace $ws6
|
|
||||||
|
|
||||||
# resize window (you can also use the mouse for that):
|
|
||||||
mode "resize" {
|
|
||||||
# These bindings trigger as soon as you enter the resize mode
|
|
||||||
# Pressing left will shrink the window's width.
|
|
||||||
# Pressing right will grow the window's width.
|
|
||||||
# Pressing up will shrink the window's height.
|
|
||||||
# Pressing down will grow the window's height.
|
|
||||||
bindsym h resize shrink width 10 px or 10 ppt
|
|
||||||
bindsym j resize grow height 10 px or 10 ppt
|
|
||||||
bindsym k resize shrink height 10 px or 10 ppt
|
|
||||||
bindsym l resize grow width 10 px or 10 ppt
|
|
||||||
|
|
||||||
# same bindings, but for the arrow keys
|
|
||||||
bindsym Left resize shrink width 10 px or 10 ppt
|
|
||||||
bindsym Down resize grow height 10 px or 10 ppt
|
|
||||||
bindsym Up resize shrink height 10 px or 10 ppt
|
|
||||||
bindsym Right resize grow width 10 px or 10 ppt
|
|
||||||
|
|
||||||
# back to normal: Enter or Escape
|
|
||||||
bindsym Return mode "default"
|
|
||||||
bindsym Escape mode "default"
|
|
||||||
}
|
|
||||||
|
|
||||||
bindsym $mod+r mode "resize"
|
|
||||||
|
|
||||||
######################################
|
|
||||||
# keybindings for different actions: #
|
|
||||||
######################################
|
|
||||||
|
|
||||||
# start a terminal
|
|
||||||
bindsym $mod+Return exec kitty
|
|
||||||
bindsym $mod+Shift+Return exec xfce4-terminal --drop-down
|
|
||||||
|
|
||||||
# kill focused window
|
|
||||||
bindsym $mod+q kill
|
|
||||||
|
|
||||||
# exit-menu
|
|
||||||
bindsym $mod+Shift+e exec ~/.config/i3/scripts/powermenu
|
|
||||||
|
|
||||||
# Lock the system
|
|
||||||
# lock with a picture:
|
|
||||||
#bindsym $mod+l exec i3lock -i ~/.config/i3/i3-lock-screen.png -p default|win -t
|
|
||||||
# lock by blurring the screen:
|
|
||||||
bindsym $mod+F1 exec ~/.config/i3/scripts/blur-lock
|
|
||||||
|
|
||||||
# reload the configuration file
|
|
||||||
bindsym $mod+Shift+c reload
|
|
||||||
|
|
||||||
# restart i3 inplace (preserves your layout/session, can be used to update i3)
|
|
||||||
bindsym $mod+Shift+r restart
|
|
||||||
|
|
||||||
# keybinding in fancy rofi (automated):
|
|
||||||
bindsym F1 exec ~/.config/i3/scripts/keyhint-2
|
|
||||||
# alternative
|
|
||||||
# keybinding list in editor:
|
|
||||||
# bindsym $mod+F1 exec xed ~/.config/i3/keybindings
|
|
||||||
|
|
||||||
# Backlight control
|
|
||||||
bindsym XF86MonBrightnessUp exec xbacklight +10 && notify-send "Brightness - $(xbacklight -get | cut -d '.' -f 1)%"
|
|
||||||
bindsym XF86MonBrightnessDown exec xbacklight -10 && notify-send "Brightness - $(xbacklight -get | cut -d '.' -f 1)%"
|
|
||||||
|
|
||||||
# change focus
|
|
||||||
bindsym $mod+h focus left
|
|
||||||
bindsym $mod+j focus down
|
|
||||||
bindsym $mod+k focus up
|
|
||||||
bindsym $mod+l focus right
|
|
||||||
|
|
||||||
# alternatively, you can use the cursor keys:
|
|
||||||
bindsym $mod+Left focus left
|
|
||||||
bindsym $mod+Down focus down
|
|
||||||
bindsym $mod+Up focus up
|
|
||||||
bindsym $mod+Right focus right
|
|
||||||
|
|
||||||
# move focused window
|
|
||||||
bindsym $mod+Shift+h move left
|
|
||||||
bindsym $mod+Shift+j move down
|
|
||||||
bindsym $mod+Shift+k move up
|
|
||||||
bindsym $mod+Shift+l move right
|
|
||||||
|
|
||||||
# alternatively, you can use the cursor keys:
|
|
||||||
bindsym $mod+Shift+Left move left
|
|
||||||
bindsym $mod+Shift+Down move down
|
|
||||||
bindsym $mod+Shift+Up move up
|
|
||||||
bindsym $mod+Shift+Right move right
|
|
||||||
|
|
||||||
# split in horizontal orientation
|
|
||||||
# bindsym $mod+h split h
|
|
||||||
|
|
||||||
# split in vertical orientation
|
|
||||||
# bindsym $mod+v split v
|
|
||||||
|
|
||||||
# enter fullscreen mode for the focused container
|
|
||||||
bindsym $mod+f fullscreen toggle
|
|
||||||
|
|
||||||
# change container layout (stacked, tabbed, toggle split)
|
|
||||||
bindsym $mod+s layout stacking
|
|
||||||
bindsym $mod+g layout tabbed
|
|
||||||
bindsym $mod+e layout toggle split
|
|
||||||
|
|
||||||
# toggle tiling / floating
|
|
||||||
bindsym $mod+Shift+space floating toggle
|
|
||||||
|
|
||||||
# change focus between tiling / floating windows
|
|
||||||
bindsym $mod+space focus mode_toggle
|
|
||||||
|
|
||||||
# focus the parent container
|
|
||||||
bindsym $mod+a focus parent
|
|
||||||
|
|
||||||
# open new empty workspace
|
|
||||||
bindsym $mod+Shift+n exec ~/.config/i3/scripts/empty_workspace
|
|
||||||
|
|
||||||
# move focused workspace between monitors
|
|
||||||
bindsym $mod+Ctrl+greater move workspace to output right
|
|
||||||
bindsym $mod+Ctrl+less move workspace to output left
|
|
||||||
|
|
||||||
# Multimedia Keys
|
|
||||||
|
|
||||||
# volume
|
|
||||||
bindsym XF86AudioRaiseVolume exec amixer -D pulse sset Master 5%+ && pkill -RTMIN+1 i3blocks
|
|
||||||
bindsym XF86AudioLowerVolume exec amixer -D pulse sset Master 5%- && pkill -RTMIN+1 i3blocks
|
|
||||||
|
|
||||||
# gradular volume control
|
|
||||||
bindsym $mod+XF86AudioRaiseVolume exec amixer -D pulse sset Master 1%+ && pkill -RTMIN+1 i3blocks
|
|
||||||
bindsym $mod+XF86AudioLowerVolume exec amixer -D pulse sset Master 1%- && pkill -RTMIN+1 i3blocks
|
|
||||||
|
|
||||||
# mute
|
|
||||||
bindsym XF86AudioMute exec amixer sset Master toggle && killall -USR1 i3blocks
|
|
||||||
|
|
||||||
# audio control
|
|
||||||
bindsym XF86AudioPlay exec playerctl play
|
|
||||||
bindsym XF86AudioPause exec playerctl pause
|
|
||||||
bindsym XF86AudioNext exec playerctl next
|
|
||||||
bindsym XF86AudioPrev exec playerctl previous
|
|
||||||
|
|
||||||
# Redirect sound to headphones
|
|
||||||
bindsym $mod+p exec /usr/local/bin/switch-audio-port
|
|
||||||
|
|
||||||
## App shortcuts
|
|
||||||
bindsym $mod+w exec /usr/bin/firefox
|
|
||||||
bindsym $mod+n exec /usr/bin/thunar
|
|
||||||
bindsym Print exec scrot ~/%Y-%m-%d-%T-screenshot.png && notify-send "Screenshot saved to ~/$(date +"%Y-%m-%d-%T")-screenshot.png"
|
|
||||||
|
|
||||||
# Power Profiles menu switcher (rofi)
|
|
||||||
bindsym $mod+Shift+p exec ~/.config/i3/scripts/power-profiles
|
|
||||||
|
|
||||||
##########################################
|
|
||||||
# configuration for workspace behaviour: #
|
|
||||||
##########################################
|
|
||||||
|
|
||||||
# Define names for default workspaces for which we configure key bindings later on.
|
|
||||||
# We use variables to avoid repeating the names in multiple places.
|
|
||||||
set $ws1 "1:"
|
|
||||||
set $ws2 "2:"
|
|
||||||
set $ws3 "3:"
|
|
||||||
set $ws4 "4:"
|
|
||||||
set $ws5 "5:"
|
|
||||||
set $ws6 "6:🔑"
|
|
||||||
|
|
||||||
# use workspaces on different displays:
|
|
||||||
# where you have to replace VGA-0/HDMI-0 with the names for your displays
|
|
||||||
# you can get from xrandr command
|
|
||||||
#workspace $ws1 output HDMI-1
|
|
||||||
#workspace $ws2 output HDMI-1
|
|
||||||
#workspace $ws3 output HDMI-1
|
|
||||||
#workspace $ws4 output HDMI-1
|
|
||||||
#workspace $ws5 output HDMI-1
|
|
||||||
#workspace $ws6 output HDMI-1
|
|
||||||
|
|
||||||
# bind program to workspace and focus to them on startup:
|
|
||||||
assign [class="wezterm"] $ws1
|
|
||||||
assign [class="(?i)firefox"] $ws2
|
|
||||||
assign [class="Thunar"] $ws3
|
|
||||||
assign [class="thunderbird"] $ws4
|
|
||||||
assign [class="Mailspring"] $ws4
|
|
||||||
assign [class="Element"] $ws5
|
|
||||||
assign [class="Signal"] $ws5
|
|
||||||
assign [class="TelegramDesktop"] $ws5
|
|
||||||
assign [class="Bitwarden"] $ws6
|
|
||||||
|
|
||||||
# automatic set focus new window if it opens on another workspace than the current:
|
|
||||||
for_window [class=wezterm] focus
|
|
||||||
for_window [class=(?i)firefox] focus
|
|
||||||
for_window [class=Thunar] focus
|
|
||||||
for_window [class=Thunderbird] focus
|
|
||||||
for_window [class=Mailspring] focus
|
|
||||||
for_window [class=Element] focus
|
|
||||||
for_window [class=Signal] focus
|
|
||||||
for_window [class=TelegramDesktop] focus
|
|
||||||
for_window [class=Bitwarden] focus
|
|
||||||
|
|
||||||
##############
|
|
||||||
# compositor #
|
|
||||||
##############
|
|
||||||
|
|
||||||
# transparency
|
|
||||||
# uncomment one of them to be used
|
|
||||||
# options could need changes, related to used GPU and drivers.
|
|
||||||
# to find the right setting consult the archwiki or ask at the forum.
|
|
||||||
#
|
|
||||||
# xcompmgr: https://wiki.archlinux.org/title/Xcompmgr
|
|
||||||
# manpage: https://man.archlinux.org/man/xcompmgr.1.en
|
|
||||||
# install xcompmgr package to use it (yay -S xcompmgr)
|
|
||||||
#exec --no-startup-id xcompmgr -C -n &
|
|
||||||
# or an more specialized config like this:
|
|
||||||
#exec --no-startup-id xcompmgr -c -C -t-5 -l-5 -r4.2 -o.55 &
|
|
||||||
#
|
|
||||||
# or:
|
|
||||||
#
|
|
||||||
# picom: https://wiki.archlinux.org/title/Picom
|
|
||||||
# manpage: https://man.archlinux.org/man/picom.1.en
|
|
||||||
# The default configuration is available in /etc/xdg/picom.conf
|
|
||||||
# For modifications, it can be copied to ~/.config/picom/picom.conf or ~/.config/picom.conf
|
|
||||||
# install picom package (yay -S picom)
|
|
||||||
# start using default config
|
|
||||||
exec_always --no-startup-id picom -b
|
|
||||||
#
|
|
||||||
# for custom config:
|
|
||||||
#exec_always --no-startup-id picom --config ~/.config/picom.conf
|
|
||||||
|
|
||||||
#############################################
|
|
||||||
# autostart applications/services on login: #
|
|
||||||
#############################################
|
|
||||||
|
|
||||||
#get auth work with polkit-gnome
|
|
||||||
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
|
||||||
|
|
||||||
# dex execute .desktop files + apps using /etc/xdg/autostart.
|
|
||||||
# when second to i3 a DE is installed or mixed usage of i3 + xfce4 or GNOME
|
|
||||||
# in this cases better disable dex and use manual starting apps using xdg/autostart
|
|
||||||
# if enabled you should comment welcome app.
|
|
||||||
# https://github.com/jceb/dex
|
|
||||||
#exec --no-startup-id dex -a -s /etc/xdg/autostart/:~/.config/autostart/
|
|
||||||
exec --no-startup-id dex --autostart --environment i3
|
|
||||||
|
|
||||||
# start welcome app
|
|
||||||
#exec --no-startup-id sh /usr/share/endeavouros/scripts/welcome --startdelay=3
|
|
||||||
|
|
||||||
# configure multiple keyboard layouts and hotkey to switch (Alt+CAPSLOCK in this example)
|
|
||||||
#exec --no-startup-id setxkbmap -layout 'us,sk' -variant altgr-intl,qwerty -option 'grp:alt_caps_toggle'
|
|
||||||
|
|
||||||
# start conky:
|
|
||||||
#exec_always --no-startup-id conky
|
|
||||||
|
|
||||||
# start a script to setup displays
|
|
||||||
# uncomment the next line, use arandr to setup displays and save the file as monitor:
|
|
||||||
exec --no-startup-id ~/.screenlayout/monitor.sh
|
|
||||||
|
|
||||||
# set wallpaper
|
|
||||||
exec --no-startup-id sleep 2 && nitrogen --restore
|
|
||||||
# exec --no-startup-id sleep 1 && feh --bg-fill /usr/share/wallpapers/Next/contents/images/1920x1200.png
|
|
||||||
|
|
||||||
# set powersavings for display:
|
|
||||||
exec --no-startup-id xset s 480 dpms 600 600 600
|
|
||||||
|
|
||||||
# disable power saving (for example if using xscreensaver)
|
|
||||||
#exec --no-startup-id xset -dpms
|
|
||||||
|
|
||||||
# use xautolock to use autosuspend rules for mobile devices
|
|
||||||
# https://wiki.archlinux.org/title/Session_lock#xautolock
|
|
||||||
#exec --no-startup-id xautolock -time 60 -locker "systemctl suspend"
|
|
||||||
|
|
||||||
|
|
||||||
# xscreensaver
|
|
||||||
# https://www.jwz.org/xscreensaver
|
|
||||||
#exec --no-startup-id xscreensaver --no-splash
|
|
||||||
|
|
||||||
# Desktop notifications
|
|
||||||
exec --no-startup-id dbus-launch dunst --config ~/.config/dunst/dunstrc
|
|
||||||
# alternative if you installed aside with XFCE4:
|
|
||||||
# exec --no-startup-id /usr/lib/xfce4/notifyd/xfce4-notifyd &
|
|
||||||
|
|
||||||
# autotiling script
|
|
||||||
# https://github.com/nwg-piotr/autotiling
|
|
||||||
# `yay -S autotiling ;) (it is in AUR)
|
|
||||||
#exec_always --no-startup-id autotiling
|
|
||||||
|
|
||||||
# Autostart apps as you like
|
|
||||||
#exec --no-startup-id sleep 2 && wezterm
|
|
||||||
#exec --no-startup-id sleep 7 && firefox https://github.com/endeavouros-team/endeavouros-i3wm-setup/blob/main/force-knowledge.md
|
|
||||||
#exec --no-startup-id sleep 3 && thunar
|
|
||||||
|
|
||||||
###############
|
|
||||||
# system tray #
|
|
||||||
###############
|
|
||||||
# if you do not use dex: exec --no-startup-id dex --autostart --environment i3
|
|
||||||
# you need to have tray apps started manually one by one:
|
|
||||||
|
|
||||||
# start blueberry app for managing bluetooth devices from tray:
|
|
||||||
#exec --no-startup-id blueberry-tray
|
|
||||||
|
|
||||||
# networkmanager-applet
|
|
||||||
#exec --no-startup-id nm-applet
|
|
||||||
|
|
||||||
# clipman-applet
|
|
||||||
#exec --no-startup-id xfce4-clipman
|
|
||||||
|
|
||||||
##################
|
|
||||||
# floating rules #
|
|
||||||
##################
|
|
||||||
|
|
||||||
# set floating (nontiling) for apps needing it
|
|
||||||
for_window [class="Yad" instance="yad"] floating enable
|
|
||||||
for_window [class="Galculator" instance="galculator"] floating enable
|
|
||||||
for_window [class="Blueberry.py" instance="blueberry.py"] floating enable
|
|
||||||
|
|
||||||
# set floating (nontiling) for special apps
|
|
||||||
for_window [class="Xsane" instance="xsane"] floating enable
|
|
||||||
for_window [class="Pavucontrol" instance="pavucontrol"] floating enable
|
|
||||||
for_window [class="qt5ct" instance="qt5ct"] floating enable
|
|
||||||
for_window [class="Blueberry.py" instance="blueberry.py"] floating enable
|
|
||||||
for_window [class="Bluetooth-sendto" instance="bluetooth-sendto"] floating enable
|
|
||||||
for_window [class="Pamac-manager"] floating enable
|
|
||||||
for_window [window_role="About"] floating enable
|
|
||||||
|
|
||||||
# set border of floating window
|
|
||||||
for_window [class="urxvt"] border pixel 1
|
|
||||||
|
|
||||||
# set size of floating window
|
|
||||||
#for_window [window_role="(?i)GtkFileChooserDialog"] resize set 640 480 #to set size of file choose dialog
|
|
||||||
#for_window [class=".*"] resize set 640 480 #to change size of all floating windows
|
|
||||||
|
|
||||||
# set position of floating window
|
|
||||||
#for_window [class=".*"] move position center
|
|
||||||
|
|
||||||
######################################
|
|
||||||
# color settings for bar and windows #
|
|
||||||
######################################
|
|
||||||
|
|
||||||
# Define colors variables:
|
|
||||||
# set $darkbluetrans #08052be6
|
|
||||||
# set $darkblue #08052b
|
|
||||||
# set $lightblue #5294e2
|
|
||||||
# set $urgentred #e53935
|
|
||||||
# set $white #ffffff
|
|
||||||
# set $black #000000
|
|
||||||
# set $purple #e345ff
|
|
||||||
# set $darkgrey #383c4a
|
|
||||||
# set $grey #b0b5bd
|
|
||||||
# set $mediumgrey #8b8b8b
|
|
||||||
# set $yellowbrown #e1b700
|
|
||||||
|
|
||||||
# Catppuccin Macchiato:
|
|
||||||
set $rosewater #f4dbd6
|
|
||||||
set $flamingo #f0c6c6
|
|
||||||
set $pink #f5bde6
|
|
||||||
set $mauve #c6a0f6
|
|
||||||
set $red #ed8796
|
|
||||||
set $maroon #ee99a0
|
|
||||||
set $peach #f5a97f
|
|
||||||
set $green #a6da95
|
|
||||||
set $teal #8bd5ca
|
|
||||||
set $sky #91d7e3
|
|
||||||
set $sapphire #7dc4e4
|
|
||||||
set $blue #8aadf4
|
|
||||||
set $lavender #b7bdf8
|
|
||||||
set $text #cad3f5
|
|
||||||
set $subtext1 #b8c0e0
|
|
||||||
set $subtext0 #a5adcb
|
|
||||||
set $overlay2 #939ab7
|
|
||||||
set $overlay1 #8087a2
|
|
||||||
set $overlay0 #6e738d
|
|
||||||
set $surface2 #5b6078
|
|
||||||
set $surface1 #494d64
|
|
||||||
set $surface0 #363a4f
|
|
||||||
set $base #24273a
|
|
||||||
set $mantle #1e2030
|
|
||||||
set $crust #181926
|
|
||||||
|
|
||||||
# define colors for windows:
|
|
||||||
# target title bg text indicator border
|
|
||||||
client.focused $pink $base $text $rosewater $pink
|
|
||||||
client.focused_inactive $mauve $base $text $rosewater $mauve
|
|
||||||
client.unfocused $mauve $base $text $rosewater $mauve
|
|
||||||
client.urgent $peach $base $peach $overlay0 $peach
|
|
||||||
client.placeholder $overlay0 $base $text $overlay0 $overlay0
|
|
||||||
client.background $base
|
|
||||||
|
|
||||||
############################################
|
|
||||||
# bar settings (input comes from i3blocks) #
|
|
||||||
############################################
|
|
||||||
|
|
||||||
# Start i3bar to display a workspace bar
|
|
||||||
# (plus the system information i3status finds out, if available)
|
|
||||||
bar {
|
|
||||||
font pango: Noto Sans Regular 12
|
|
||||||
status_command i3blocks -c ~/.config/i3/i3blocks.conf
|
|
||||||
output primary
|
|
||||||
position top
|
|
||||||
# i3bar_command i3bar --transparency
|
|
||||||
# it could be that you have no primary display set: set one (xrandr --output <output> --primary)
|
|
||||||
# reference: https://i3wm.org/docs/userguide.html#_tray_output
|
|
||||||
tray_output primary
|
|
||||||
tray_padding 1
|
|
||||||
|
|
||||||
# When strip_workspace_numbers is set to yes,
|
|
||||||
# any workspace that has a name of the form
|
|
||||||
# “[n][:][NAME]” will display only the name.
|
|
||||||
strip_workspace_numbers yes
|
|
||||||
|
|
||||||
colors {
|
|
||||||
separator $mauve
|
|
||||||
background $base
|
|
||||||
statusline $text
|
|
||||||
# border bg txt indicator
|
|
||||||
focused_workspace $pink $base $text $rosewater
|
|
||||||
active_workspace $mauve $base $text $rosewater
|
|
||||||
inactive_workspace $mauve $base $text $rosewater
|
|
||||||
urgent_workspace $peach $base $peach $overlay0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# you can add different bars for multidisplay setups on each display:
|
|
||||||
# set output HDMI-0 to the display you want the bar, --transparency can be set.
|
|
||||||
# Transparency needs rgba color codes to be used where the last two letters are the transparency factor see here:
|
|
||||||
# https://gist.github.com/lopspower/03fb1cc0ac9f32ef38f4
|
|
||||||
# #08052be6 --> e6=90%
|
|
||||||
|
|
||||||
bar {
|
|
||||||
font pango: Noto Sans Regular 10
|
|
||||||
status_command i3blocks -c ~/.config/i3/i3blocks-2.conf
|
|
||||||
i3bar_command i3bar
|
|
||||||
output nonprimary
|
|
||||||
position top
|
|
||||||
|
|
||||||
# When strip_workspace_numbers is set to yes,
|
|
||||||
# any workspace that has a name of the form
|
|
||||||
# “[n][:][NAME]” will display only the name.
|
|
||||||
strip_workspace_numbers yes
|
|
||||||
# strip_workspace_name no
|
|
||||||
|
|
||||||
colors {
|
|
||||||
separator $mauve
|
|
||||||
background $base
|
|
||||||
statusline $text
|
|
||||||
# border bg txt indicator
|
|
||||||
focused_workspace $pink $base $text $rosewater
|
|
||||||
active_workspace $mauve $base $text $rosewater
|
|
||||||
inactive_workspace $mauve $base $text $rosewater
|
|
||||||
urgent_workspace $peach $base $peach $overlay0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#####################################
|
|
||||||
# Application menu handled by rofi: #
|
|
||||||
#####################################
|
|
||||||
|
|
||||||
## rofi bindings fancy application menu ($mod+d /F9 optional disabled)
|
|
||||||
|
|
||||||
bindsym $mod+d exec rofi -modi drun -show drun \
|
|
||||||
-config ~/.config/rofi/rofidmenu.rasi
|
|
||||||
|
|
||||||
bindsym F9 exec rofi -modi drun -show drun \
|
|
||||||
-config ~/.config/rofi/rofidmenu.rasi
|
|
||||||
|
|
||||||
## rofi bindings for window menu ($mod+t /F10 optional disabled)
|
|
||||||
|
|
||||||
bindsym $mod+t exec rofi -show window \
|
|
||||||
-config ~/.config/rofi/rofidmenu.rasi
|
|
||||||
|
|
||||||
bindsym F10 exec rofi -show window \
|
|
||||||
-config ~/.config/rofi/rofidmenu.rasi
|
|
||||||
|
|
||||||
## rofi bindings to manage clipboard (install rofi-greenclip from the AUR)
|
|
||||||
|
|
||||||
#exec --no-startup-id greenclip daemon>/dev/null
|
|
||||||
##bindsym $mod+c exec --no-startup-id rofi -modi "clipboard:greenclip print" -show clipboard \
|
|
||||||
# -config ~/.config/rofi/rofidmenu.rasi
|
|
||||||
|
|
||||||
include config.d/*
|
|
|
@ -1,179 +0,0 @@
|
||||||
# i3blocks config file changed for EndeavourOS-i3 setup
|
|
||||||
|
|
||||||
# source is available here:
|
|
||||||
# https://raw.githubusercontent.com/endeavouros-team/endeavouros-i3wm-setup/main/.config/i3/i3blocks.conf
|
|
||||||
# Maintainer: joekamprad [joekamprad@endeavouros.com]
|
|
||||||
# Former Visual Designer: Florent Valetti [@FLVAL EndeavourOS]
|
|
||||||
# created for i3wm setup on EndeavourOS
|
|
||||||
# https://endeavouros.com
|
|
||||||
|
|
||||||
# cheatsheet for icon fonts used on the block-bar:
|
|
||||||
# https://fontawesome.com/v4.7/cheatsheet/
|
|
||||||
|
|
||||||
# --> to update this run the following command:
|
|
||||||
# wget --backups=1 https://raw.githubusercontent.com/endeavouros-team/endeavouros-i3wm-setup/main/.config/i3/i3blocks.conf -P ~/.config/i3/
|
|
||||||
|
|
||||||
# Please see man i3blocks for a complete reference!
|
|
||||||
# The man page is also hosted at http://vivien.github.io/i3blocks
|
|
||||||
|
|
||||||
|
|
||||||
# List of valid properties:
|
|
||||||
#
|
|
||||||
# align
|
|
||||||
# color
|
|
||||||
# command
|
|
||||||
# full_text
|
|
||||||
# instance
|
|
||||||
# interval
|
|
||||||
# label
|
|
||||||
# min_width
|
|
||||||
# name
|
|
||||||
# separator
|
|
||||||
# separator_block_width
|
|
||||||
# short_text
|
|
||||||
# signal
|
|
||||||
# urgent
|
|
||||||
|
|
||||||
# Global properties
|
|
||||||
#
|
|
||||||
# The top properties below are applied to every block, but can be overridden.
|
|
||||||
separator=false
|
|
||||||
markup=pango
|
|
||||||
|
|
||||||
#[Weather]
|
|
||||||
#command=~/.config/i3/scripts/openweather
|
|
||||||
# or:
|
|
||||||
#command=~/.config/i3/scripts/openweather-city
|
|
||||||
#interval=1800
|
|
||||||
#color=#7275b3
|
|
||||||
|
|
||||||
[terminal]
|
|
||||||
full_text=
|
|
||||||
color=#807dfe
|
|
||||||
command=i3-msg -q exec wezterm
|
|
||||||
|
|
||||||
[browser]
|
|
||||||
full_text=
|
|
||||||
color=#ff7f81
|
|
||||||
command=i3-msg -q exec firefox
|
|
||||||
|
|
||||||
[files]
|
|
||||||
full_text=
|
|
||||||
color=#7f3fbf
|
|
||||||
command=i3-msg -q exec thunar ~/
|
|
||||||
|
|
||||||
#[mail]
|
|
||||||
#full_text=
|
|
||||||
#color=#dbcb75
|
|
||||||
#command=i3-msg -q exec thunderbird
|
|
||||||
|
|
||||||
[simple-2]
|
|
||||||
full_text=: :
|
|
||||||
color=#717171
|
|
||||||
|
|
||||||
# Disk usage
|
|
||||||
#
|
|
||||||
# The directory defaults to $HOME if the instance is not specified.
|
|
||||||
# The script may be called with a optional argument to set the alert
|
|
||||||
# (defaults to 10 for 10%).
|
|
||||||
[disk]
|
|
||||||
label=
|
|
||||||
instance=/
|
|
||||||
command=~/.config/i3/scripts/disk
|
|
||||||
interval=30
|
|
||||||
|
|
||||||
# Memory usage
|
|
||||||
#
|
|
||||||
# The type defaults to "mem" if the instance is not specified.
|
|
||||||
[memory]
|
|
||||||
label=
|
|
||||||
command=~/.config/i3/scripts/memory
|
|
||||||
interval=2
|
|
||||||
|
|
||||||
[cpu_usage]
|
|
||||||
label=
|
|
||||||
command=~/.config/i3/scripts/cpu_usage
|
|
||||||
#min_width=CPU: 100.00%
|
|
||||||
interval=2
|
|
||||||
|
|
||||||
[CPU-temperature]
|
|
||||||
label=
|
|
||||||
command=~/.config/i3/scripts/temperature
|
|
||||||
interval=30
|
|
||||||
#T_WARN=70
|
|
||||||
#T_CRIT=90
|
|
||||||
#SENSOR_CHIP=""
|
|
||||||
# where SENSOR_CHIP can be find with sensors output
|
|
||||||
# can be used also for GPU temperature or other temperature sensors lm-sensors detects.
|
|
||||||
|
|
||||||
# showing name of connected network (enable for wifi use)
|
|
||||||
#[net]
|
|
||||||
#label=
|
|
||||||
#command=echo "$(LANG=C nmcli d | grep connected | awk '{print $4}')"
|
|
||||||
#interval=30
|
|
||||||
|
|
||||||
[bandwidth]
|
|
||||||
command=~/.config/i3/scripts/bandwidth2
|
|
||||||
interval=persist
|
|
||||||
|
|
||||||
# Battery indicator
|
|
||||||
[battery]
|
|
||||||
command=~/.config/i3/scripts/battery2
|
|
||||||
# for alternative battery script change to battery1
|
|
||||||
# change this to battery-pinebook-pro if you are running on pinebook-pro
|
|
||||||
label=
|
|
||||||
interval=30
|
|
||||||
|
|
||||||
[simple-2]
|
|
||||||
full_text=: :
|
|
||||||
color=#717171
|
|
||||||
|
|
||||||
[pavucontrol]
|
|
||||||
full_text=
|
|
||||||
command=pavucontrol
|
|
||||||
|
|
||||||
[volume-pulseaudio]
|
|
||||||
command=~/.config/i3/scripts/volume
|
|
||||||
instance=Master
|
|
||||||
interval=1
|
|
||||||
|
|
||||||
# display keyboard layout name
|
|
||||||
# for keyboard layouts switcher
|
|
||||||
# see i3 config file
|
|
||||||
# this needs xkblayout-state installed from the AUR:
|
|
||||||
# https://aur.archlinux.org/packages/xkblayout-state-git
|
|
||||||
#[keyboard-layout]
|
|
||||||
#command=~/.config/i3/scripts/keyboard-layout
|
|
||||||
#interval=2
|
|
||||||
|
|
||||||
[keybindings]
|
|
||||||
full_text=
|
|
||||||
command=~/.config/i3/scripts/keyhint
|
|
||||||
|
|
||||||
# power-profiles-daemon implementation:
|
|
||||||
# needs package power-profiles-daemon installed and the service running see here:
|
|
||||||
# https://wiki.archlinux.org/title/CPU_frequency_scaling#power-profiles-daemon
|
|
||||||
|
|
||||||
#set power-profile
|
|
||||||
[ppd_menu]
|
|
||||||
full_text=
|
|
||||||
command=~/.config/i3/scripts/power-profiles
|
|
||||||
color=#407437
|
|
||||||
|
|
||||||
#Show the current power-profile
|
|
||||||
[ppd-status]
|
|
||||||
command=~/.config/i3/scripts/ppd-status
|
|
||||||
interval=5
|
|
||||||
|
|
||||||
[time]
|
|
||||||
#label=
|
|
||||||
command=date '+%a %d %b %H:%M:%S'
|
|
||||||
interval=1
|
|
||||||
|
|
||||||
[shutdown_menu]
|
|
||||||
full_text=
|
|
||||||
command=~/.config/i3/scripts/powermenu
|
|
||||||
|
|
||||||
[simple-2]
|
|
||||||
full_text=: :
|
|
||||||
color=#717171
|
|
|
@ -1,106 +0,0 @@
|
||||||
EndeavourOS i3wm Keybindings cheat sheet:
|
|
||||||
|
|
||||||
--> to update this run the following command:
|
|
||||||
wget --backups=1 https://raw.githubusercontent.com/endeavouros-team/endeavouros-i3wm-setup/main/.config/i3/keybindings -P ~/.config/i3/
|
|
||||||
|
|
||||||
All sources and updates are available at GitHub:
|
|
||||||
https://github.com/endeavouros-team/endeavouros-i3wm-setup
|
|
||||||
|
|
||||||
For reference consult our WIKI:
|
|
||||||
https://discovery.endeavouros.com/window-tiling-managers/i3-wm/
|
|
||||||
|
|
||||||
= windows key
|
|
||||||
|
|
||||||
# start xfce4-terminal
|
|
||||||
+Return
|
|
||||||
|
|
||||||
# kill focused window
|
|
||||||
+q
|
|
||||||
|
|
||||||
# Application menu search by typing (fancy Rofi menu):
|
|
||||||
+d
|
|
||||||
|
|
||||||
# Window switcher menu (fancy Rofi menu):
|
|
||||||
+t
|
|
||||||
|
|
||||||
# fancy exit-menu on bottom right:
|
|
||||||
+Shift+e
|
|
||||||
|
|
||||||
# Lock the system
|
|
||||||
# lock with a picture or blurring the screen (options in config)
|
|
||||||
+l
|
|
||||||
|
|
||||||
# reload the configuration file
|
|
||||||
+Shift+c
|
|
||||||
|
|
||||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
|
||||||
+Shift+r
|
|
||||||
|
|
||||||
# keybinding in fancy rofi (automated)
|
|
||||||
F1
|
|
||||||
|
|
||||||
# full keybinding list in editor:
|
|
||||||
+F1
|
|
||||||
|
|
||||||
# change window focus
|
|
||||||
+j focus left
|
|
||||||
+k focus down
|
|
||||||
+b focus up
|
|
||||||
+o focus right
|
|
||||||
|
|
||||||
# alternatively, you can use the cursor keys:
|
|
||||||
+Left focus left
|
|
||||||
+Down focus down
|
|
||||||
+Up focus up
|
|
||||||
+Right focus right
|
|
||||||
|
|
||||||
# move a focused window
|
|
||||||
+Shift+j move left
|
|
||||||
+Shift+k move down
|
|
||||||
+Shift+b move up
|
|
||||||
+Shift+o move right
|
|
||||||
|
|
||||||
# alternatively, you can use the cursor keys:
|
|
||||||
+Shift+Left move left
|
|
||||||
+Shift+Down move down
|
|
||||||
+Shift+Up move up
|
|
||||||
+Shift+Right move right
|
|
||||||
|
|
||||||
# split in horizontal orientation
|
|
||||||
+h split h
|
|
||||||
|
|
||||||
# split in vertical orientation
|
|
||||||
+v split v
|
|
||||||
|
|
||||||
# enter fullscreen mode for the focused container
|
|
||||||
+f fullscreen toggle
|
|
||||||
|
|
||||||
# change container layout (stacked, tabbed, toggle split)
|
|
||||||
+s layout stacking
|
|
||||||
+g layout tabbed
|
|
||||||
+e layout toggle split
|
|
||||||
|
|
||||||
# toggle tiling / floating
|
|
||||||
+Shift+space floating toggle
|
|
||||||
|
|
||||||
# change focus between tiling / floating windows
|
|
||||||
+space focus mode_toggle
|
|
||||||
|
|
||||||
# focus the parent container
|
|
||||||
+a focus parent
|
|
||||||
|
|
||||||
# focus the child container
|
|
||||||
#+d focus child
|
|
||||||
|
|
||||||
# resize floating window
|
|
||||||
+right mouse button
|
|
||||||
|
|
||||||
## Multimedia Keys
|
|
||||||
|
|
||||||
# Redirect sound to headphones
|
|
||||||
+p
|
|
||||||
|
|
||||||
## App shortcuts
|
|
||||||
+w starts Firefox
|
|
||||||
+n starts Thunar
|
|
||||||
Button screenshot
|
|
|
@ -1,104 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
#
|
|
||||||
# Copyright (C) 2015 James Murphy
|
|
||||||
# Licensed under the terms of the GNU GPL v2 only.
|
|
||||||
#
|
|
||||||
# i3blocks blocklet script to monitor bandwidth usage
|
|
||||||
|
|
||||||
iface="${BLOCK_INSTANCE}"
|
|
||||||
iface="${IFACE:-$iface}"
|
|
||||||
dt="${DT:-3}"
|
|
||||||
unit="${UNIT:-MB}"
|
|
||||||
LABEL="${LABEL:-<span font='FontAwesome'> </span>}" # down arrow up arrow
|
|
||||||
printf_command="${PRINTF_COMMAND:-"printf \"${LABEL}%1.0f/%1.0f %s/s\\n\", rx, wx, unit;"}"
|
|
||||||
|
|
||||||
function default_interface {
|
|
||||||
ip route | awk '/^default via/ {print $5; exit}'
|
|
||||||
}
|
|
||||||
|
|
||||||
function check_proc_net_dev {
|
|
||||||
if [ ! -f "/proc/net/dev" ]; then
|
|
||||||
echo "/proc/net/dev not found"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function list_interfaces {
|
|
||||||
check_proc_net_dev
|
|
||||||
echo "Interfaces in /proc/net/dev:"
|
|
||||||
grep -o "^[^:]\\+:" /proc/net/dev | tr -d " :"
|
|
||||||
}
|
|
||||||
|
|
||||||
while getopts i:t:u:p:lh opt; do
|
|
||||||
case "$opt" in
|
|
||||||
i) iface="$OPTARG" ;;
|
|
||||||
t) dt="$OPTARG" ;;
|
|
||||||
u) unit="$OPTARG" ;;
|
|
||||||
p) printf_command="$OPTARG" ;;
|
|
||||||
l) list_interfaces && exit 0 ;;
|
|
||||||
h) printf \
|
|
||||||
"Usage: bandwidth3 [-i interface] [-t time] [-u unit] [-p printf_command] [-l] [-h]
|
|
||||||
Options:
|
|
||||||
-i\tNetwork interface to measure. Default determined using \`ip route\`.
|
|
||||||
-t\tTime interval in seconds between measurements. Default: 3
|
|
||||||
-u\tUnits to measure bytes in. Default: Mb
|
|
||||||
\tAllowed units: Kb, KB, Mb, MB, Gb, GB, Tb, TB
|
|
||||||
\tUnits may have optional it/its/yte/ytes on the end, e.g. Mbits, KByte
|
|
||||||
-p\tAwk command to be called after a measurement is made.
|
|
||||||
\tDefault: printf \"<span font='FontAwesome'> </span>%%-5.1f/%%5.1f %%s/s\\\\n\", rx, wx, unit;
|
|
||||||
\tExposed variables: rx, wx, tx, unit, iface
|
|
||||||
-l\tList available interfaces in /proc/net/dev
|
|
||||||
-h\tShow this help text
|
|
||||||
" && exit 0;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
check_proc_net_dev
|
|
||||||
|
|
||||||
iface="${iface:-$(default_interface)}"
|
|
||||||
while [ -z "$iface" ]; do
|
|
||||||
echo No default interface
|
|
||||||
sleep "$dt"
|
|
||||||
iface=$(default_interface)
|
|
||||||
done
|
|
||||||
|
|
||||||
case "$unit" in
|
|
||||||
Kb|Kbit|Kbits) bytes_per_unit=$((1024 / 8));;
|
|
||||||
KB|KByte|KBytes) bytes_per_unit=$((1024));;
|
|
||||||
Mb|Mbit|Mbits) bytes_per_unit=$((1024 * 1024 / 8));;
|
|
||||||
MB|MByte|MBytes) bytes_per_unit=$((1024 * 1024));;
|
|
||||||
Gb|Gbit|Gbits) bytes_per_unit=$((1024 * 1024 * 1024 / 8));;
|
|
||||||
GB|GByte|GBytes) bytes_per_unit=$((1024 * 1024 * 1024));;
|
|
||||||
Tb|Tbit|Tbits) bytes_per_unit=$((1024 * 1024 * 1024 * 1024 / 8));;
|
|
||||||
TB|TByte|TBytes) bytes_per_unit=$((1024 * 1024 * 1024 * 1024));;
|
|
||||||
*) echo Bad unit "$unit" && exit 1;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
scalar=$((bytes_per_unit * dt))
|
|
||||||
init_line=$(cat /proc/net/dev | grep "^[ ]*$iface:")
|
|
||||||
if [ -z "$init_line" ]; then
|
|
||||||
echo Interface not found in /proc/net/dev: "$iface"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
init_received=$(awk '{print $2}' <<< $init_line)
|
|
||||||
init_sent=$(awk '{print $10}' <<< $init_line)
|
|
||||||
|
|
||||||
(while true; do cat /proc/net/dev; sleep "$dt"; done) |\
|
|
||||||
stdbuf -oL grep "^[ ]*$iface:" |\
|
|
||||||
awk -v scalar="$scalar" -v unit="$unit" -v iface="$iface" '
|
|
||||||
BEGIN{old_received='"$init_received"';old_sent='"$init_sent"'}
|
|
||||||
{
|
|
||||||
received=$2
|
|
||||||
sent=$10
|
|
||||||
rx=(received-old_received)/scalar;
|
|
||||||
wx=(sent-old_sent)/scalar;
|
|
||||||
tx=rx+wr;
|
|
||||||
old_received=received;
|
|
||||||
old_sent=sent;
|
|
||||||
if(rx >= 0 && wx >= 0){
|
|
||||||
'"$printf_command"';
|
|
||||||
fflush(stdout);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
'
|
|
|
@ -1,18 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
#simple Shellscript for i3blocks on Pinebook pro
|
|
||||||
#05012020 geri123@gmx.net Gerhard S.
|
|
||||||
#battery-symbols: on Manjaro you need the awesome-terminal-fonts package installed!
|
|
||||||
PERCENT=$(cat /sys/class/power_supply/cw2015-battery/capacity)
|
|
||||||
STATUS=$(cat /sys/class/power_supply/cw2015-battery/status)
|
|
||||||
case $((
|
|
||||||
$PERCENT >= 0 && $PERCENT <= 20 ? 1 :
|
|
||||||
$PERCENT > 20 && $PERCENT <= 40 ? 2 :
|
|
||||||
$PERCENT > 40 && $PERCENT <= 60 ? 3 :
|
|
||||||
$PERCENT > 60 && $PERCENT <= 80 ? 4 : 5)) in
|
|
||||||
#
|
|
||||||
(1) echo $STATUS:"" :$PERCENT%;;
|
|
||||||
(2) echo $STATUS:"" :$PERCENT%;;
|
|
||||||
(3) echo $STATUS:"" :$PERCENT%;;
|
|
||||||
(4) echo $STATUS:"" :$PERCENT%;;
|
|
||||||
(5) echo $STATUS:"" :$PERCENT%;;
|
|
||||||
esac
|
|
|
@ -1,114 +0,0 @@
|
||||||
#!/usr/bin/perl
|
|
||||||
#
|
|
||||||
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
|
|
||||||
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
|
|
||||||
#
|
|
||||||
# Licensed under the terms of the GNU GPL v3, or any later version.
|
|
||||||
#
|
|
||||||
# This script is meant to use with i3blocks. It parses the output of the "acpi"
|
|
||||||
# command (often provided by a package of the same name) to read the status of
|
|
||||||
# the battery, and eventually its remaining time (to full charge or discharge).
|
|
||||||
#
|
|
||||||
# The color will gradually change for a percentage below 85%, and the urgency
|
|
||||||
# (exit code 33) is set if there is less that 5% remaining.
|
|
||||||
|
|
||||||
# Edited by Andreas Lindlbauer <endeavouros.mousily@aleeas.com>
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
use utf8;
|
|
||||||
|
|
||||||
# otherwise we get in console "Wide character in print at"
|
|
||||||
binmode(STDOUT, ':utf8');
|
|
||||||
|
|
||||||
# my $acpi;
|
|
||||||
my $upower;
|
|
||||||
my $percent;
|
|
||||||
my $bat_state;
|
|
||||||
my $status;
|
|
||||||
my $ac_adapt;
|
|
||||||
my $full_text;
|
|
||||||
my $short_text;
|
|
||||||
my $label = '😅';
|
|
||||||
my $bat_number = $ENV{BLOCK_INSTANCE} || 0;
|
|
||||||
|
|
||||||
open (UPOWER, "upower -i /org/freedesktop/UPower/devices/battery_BAT$bat_number | grep 'percentage' |") or die;
|
|
||||||
$upower = <UPOWER>;
|
|
||||||
close(UPOWER);
|
|
||||||
|
|
||||||
# fail on unexpected output
|
|
||||||
if ($upower !~ /: (\d+)%/) {
|
|
||||||
die "$upower\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
$percent = $1;
|
|
||||||
$full_text = "$percent%";
|
|
||||||
|
|
||||||
open (BAT_STATE, "upower -i /org/freedesktop/UPower/devices/battery_BAT$bat_number | grep 'state' |") or die;
|
|
||||||
$bat_state = <BAT_STATE>;
|
|
||||||
close(BAT_STATE);
|
|
||||||
|
|
||||||
if ($bat_state !~ /: (\w+)/) {
|
|
||||||
die "$bat_state\n";
|
|
||||||
}
|
|
||||||
$status = $1;
|
|
||||||
|
|
||||||
if ($status eq 'discharging') {
|
|
||||||
$full_text .= ' ';
|
|
||||||
} elsif ($status eq 'charging') {
|
|
||||||
$full_text .= ' ';
|
|
||||||
} elsif ($status eq 'Unknown') {
|
|
||||||
open (AC_ADAPTER, "acpi -a |") or die;
|
|
||||||
$ac_adapt = <AC_ADAPTER>;
|
|
||||||
close(AC_ADAPTER);
|
|
||||||
|
|
||||||
if ($ac_adapt =~ /: ([\w-]+)/) {
|
|
||||||
$ac_adapt = $1;
|
|
||||||
|
|
||||||
if ($ac_adapt eq 'on-line') {
|
|
||||||
$full_text .= ' CHR';
|
|
||||||
} elsif ($ac_adapt eq 'off-line') {
|
|
||||||
$full_text .= ' DIS';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$short_text = $full_text;
|
|
||||||
|
|
||||||
if ($percent < 20) {
|
|
||||||
$label = '';
|
|
||||||
} elsif ($percent < 45) {
|
|
||||||
$label = '';
|
|
||||||
} elsif ($percent < 70) {
|
|
||||||
$label = '';
|
|
||||||
} elsif ($percent < 95) {
|
|
||||||
$label = '';
|
|
||||||
} else {
|
|
||||||
$label = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
# print text
|
|
||||||
print " ${label}";
|
|
||||||
print " $full_text\n";
|
|
||||||
print " ${label}";
|
|
||||||
print " $short_text\n";
|
|
||||||
|
|
||||||
# consider color and urgent flag only on discharge
|
|
||||||
if ($status eq 'discharging') {
|
|
||||||
|
|
||||||
if ($percent < 20) {
|
|
||||||
print "#FF0000\n";
|
|
||||||
} elsif ($percent < 40) {
|
|
||||||
print "#FFAE00\n";
|
|
||||||
} elsif ($percent < 60) {
|
|
||||||
print "#FFF600\n";
|
|
||||||
} elsif ($percent < 85) {
|
|
||||||
print "#A8FF00\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($percent < 5) {
|
|
||||||
exit(33);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
exit(0);
|
|
|
@ -1,106 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
#
|
|
||||||
# Copyright (C) 2016 James Murphy
|
|
||||||
# Licensed under the GPL version 2 only
|
|
||||||
#
|
|
||||||
# A battery indicator blocklet script for i3blocks
|
|
||||||
|
|
||||||
from subprocess import check_output
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
|
|
||||||
config = dict(os.environ)
|
|
||||||
status = check_output(['acpi'], universal_newlines=True)
|
|
||||||
|
|
||||||
if not status:
|
|
||||||
# stands for no battery found
|
|
||||||
color = config.get("color_10", "red")
|
|
||||||
fulltext = "<span color='{}'><span font='FontAwesome'>\uf00d \uf240</span></span>".format(color)
|
|
||||||
percentleft = 100
|
|
||||||
else:
|
|
||||||
# if there is more than one battery in one laptop, the percentage left is
|
|
||||||
# available for each battery separately, although state and remaining
|
|
||||||
# time for overall block is shown in the status of the first battery
|
|
||||||
batteries = status.split("\n")
|
|
||||||
state_batteries=[]
|
|
||||||
commasplitstatus_batteries=[]
|
|
||||||
percentleft_batteries=[]
|
|
||||||
time = ""
|
|
||||||
for battery in batteries:
|
|
||||||
if battery!='':
|
|
||||||
state_batteries.append(battery.split(": ")[1].split(", ")[0])
|
|
||||||
commasplitstatus = battery.split(", ")
|
|
||||||
if not time:
|
|
||||||
time = commasplitstatus[-1].strip()
|
|
||||||
# check if it matches a time
|
|
||||||
time = re.match(r"(\d+):(\d+)", time)
|
|
||||||
if time:
|
|
||||||
time = ":".join(time.groups())
|
|
||||||
timeleft = " ({})".format(time)
|
|
||||||
else:
|
|
||||||
timeleft = ""
|
|
||||||
|
|
||||||
p = int(commasplitstatus[1].rstrip("%\n"))
|
|
||||||
if p>0:
|
|
||||||
percentleft_batteries.append(p)
|
|
||||||
commasplitstatus_batteries.append(commasplitstatus)
|
|
||||||
state = state_batteries[0]
|
|
||||||
commasplitstatus = commasplitstatus_batteries[0]
|
|
||||||
if percentleft_batteries:
|
|
||||||
percentleft = int(sum(percentleft_batteries)/len(percentleft_batteries))
|
|
||||||
else:
|
|
||||||
percentleft = 0
|
|
||||||
|
|
||||||
# stands for charging
|
|
||||||
color = config.get("color_charging", "yellow")
|
|
||||||
FA_LIGHTNING = "<span color='{}'><span font='FontAwesome'>\uf0e7</span></span>".format(color)
|
|
||||||
|
|
||||||
# stands for plugged in
|
|
||||||
FA_PLUG = "<span font='FontAwesome'>\uf1e6</span>"
|
|
||||||
|
|
||||||
# stands for using battery
|
|
||||||
FA_BATTERY = "<span font='FontAwesome'>\uf240</span>"
|
|
||||||
|
|
||||||
# stands for unknown status of battery
|
|
||||||
FA_QUESTION = "<span font='FontAwesome'>\uf128</span>"
|
|
||||||
|
|
||||||
|
|
||||||
if state == "Discharging":
|
|
||||||
fulltext = FA_BATTERY + " "
|
|
||||||
elif state == "Full":
|
|
||||||
fulltext = FA_PLUG + " "
|
|
||||||
timeleft = ""
|
|
||||||
elif state == "Unknown":
|
|
||||||
fulltext = FA_QUESTION + " " + FA_BATTERY + " "
|
|
||||||
timeleft = ""
|
|
||||||
else:
|
|
||||||
fulltext = FA_LIGHTNING + " " + FA_PLUG + " "
|
|
||||||
|
|
||||||
def color(percent):
|
|
||||||
if percent < 10:
|
|
||||||
# exit code 33 will turn background red
|
|
||||||
return config.get("color_10", "#FFFFFF")
|
|
||||||
if percent < 20:
|
|
||||||
return config.get("color_20", "#FF3300")
|
|
||||||
if percent < 30:
|
|
||||||
return config.get("color_30", "#FF6600")
|
|
||||||
if percent < 40:
|
|
||||||
return config.get("color_40", "#FF9900")
|
|
||||||
if percent < 50:
|
|
||||||
return config.get("color_50", "#FFCC00")
|
|
||||||
if percent < 60:
|
|
||||||
return config.get("color_60", "#FFFF00")
|
|
||||||
if percent < 70:
|
|
||||||
return config.get("color_70", "#FFFF33")
|
|
||||||
if percent < 80:
|
|
||||||
return config.get("color_80", "#FFFF66")
|
|
||||||
return config.get("color_full", "#FFFFFF")
|
|
||||||
|
|
||||||
form = '<span color="{}">{}%</span>'
|
|
||||||
fulltext += form.format(color(percentleft), percentleft)
|
|
||||||
#fulltext += timeleft
|
|
||||||
|
|
||||||
print(fulltext)
|
|
||||||
print(fulltext)
|
|
||||||
if percentleft < 10:
|
|
||||||
exit(33)
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
PICTURE=/tmp/i3lock.png
|
|
||||||
SCREENSHOT="scrot -z $PICTURE"
|
|
||||||
|
|
||||||
BLUR="15x12"
|
|
||||||
|
|
||||||
$SCREENSHOT
|
|
||||||
convert $PICTURE -blur $BLUR $PICTURE
|
|
||||||
i3lock -i $PICTURE
|
|
||||||
rm $PICTURE
|
|
|
@ -1,62 +0,0 @@
|
||||||
#!/usr/bin/perl
|
|
||||||
#
|
|
||||||
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
|
|
||||||
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
|
|
||||||
# Copyright 2014 Andreas Guldstrand <andreas.guldstrand@gmail.com>
|
|
||||||
#
|
|
||||||
# Licensed under the terms of the GNU GPL v3, or any later version.
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
use utf8;
|
|
||||||
use Getopt::Long;
|
|
||||||
|
|
||||||
# default values
|
|
||||||
my $t_warn = $ENV{T_WARN} // 50;
|
|
||||||
my $t_crit = $ENV{T_CRIT} // 80;
|
|
||||||
my $cpu_usage = -1;
|
|
||||||
my $decimals = $ENV{DECIMALS} // 0;
|
|
||||||
my $label = $ENV{LABEL} // "";
|
|
||||||
|
|
||||||
sub help {
|
|
||||||
print "Usage: cpu_usage [-w <warning>] [-c <critical>] [-d <decimals>]\n";
|
|
||||||
print "-w <percent>: warning threshold to become yellow\n";
|
|
||||||
print "-c <percent>: critical threshold to become red\n";
|
|
||||||
print "-d <decimals>: Use <decimals> decimals for percentage (default is $decimals) \n";
|
|
||||||
exit 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
GetOptions("help|h" => \&help,
|
|
||||||
"w=i" => \$t_warn,
|
|
||||||
"c=i" => \$t_crit,
|
|
||||||
"d=i" => \$decimals,
|
|
||||||
);
|
|
||||||
|
|
||||||
# Get CPU usage
|
|
||||||
$ENV{LC_ALL}="en_US"; # if mpstat is not run under en_US locale, things may break, so make sure it is
|
|
||||||
open (MPSTAT, 'mpstat 1 1 |') or die;
|
|
||||||
while (<MPSTAT>) {
|
|
||||||
if (/^.*\s+(\d+\.\d+)[\s\x00]?$/) {
|
|
||||||
$cpu_usage = 100 - $1; # 100% - %idle
|
|
||||||
last;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
close(MPSTAT);
|
|
||||||
|
|
||||||
$cpu_usage eq -1 and die 'Can\'t find CPU information';
|
|
||||||
|
|
||||||
# Print short_text, full_text
|
|
||||||
print "${label}";
|
|
||||||
printf "%02.${decimals}f%%\n", $cpu_usage;
|
|
||||||
print "${label}";
|
|
||||||
printf "%02.${decimals}f%%\n", $cpu_usage;
|
|
||||||
|
|
||||||
# Print color, if needed
|
|
||||||
if ($cpu_usage >= $t_crit) {
|
|
||||||
print "#FF0000\n";
|
|
||||||
exit 33;
|
|
||||||
} elsif ($cpu_usage >= $t_warn) {
|
|
||||||
print "#FFFC00\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
exit 0;
|
|
|
@ -1,48 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
|
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
DIR="${DIR:-$BLOCK_INSTANCE}"
|
|
||||||
DIR="${DIR:-$HOME}"
|
|
||||||
ALERT_LOW="${ALERT_LOW:-$1}"
|
|
||||||
ALERT_LOW="${ALERT_LOW:-10}" # color will turn red under this value (default: 10%)
|
|
||||||
|
|
||||||
LOCAL_FLAG="-l"
|
|
||||||
if [ "$1" = "-n" ] || [ "$2" = "-n" ]; then
|
|
||||||
LOCAL_FLAG=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
df -h -P $LOCAL_FLAG "$DIR" | awk -v label="$LABEL" -v alert_low=$ALERT_LOW '
|
|
||||||
/\/.*/ {
|
|
||||||
# full text
|
|
||||||
print label $4
|
|
||||||
|
|
||||||
# short text
|
|
||||||
print label $4
|
|
||||||
|
|
||||||
use=$5
|
|
||||||
|
|
||||||
# no need to continue parsing
|
|
||||||
exit 0
|
|
||||||
}
|
|
||||||
|
|
||||||
END {
|
|
||||||
gsub(/%$/,"",use)
|
|
||||||
if (100 - use < alert_low) {
|
|
||||||
# color
|
|
||||||
print "#FF0000"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
'
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
MAX_DESKTOPS=20
|
|
||||||
|
|
||||||
WORKSPACES=$(seq -s '\n' 1 1 ${MAX_DESKTOPS})
|
|
||||||
|
|
||||||
EMPTY_WORKSPACE=$( (i3-msg -t get_workspaces | tr ',' '\n' | grep num | awk -F: '{print int($2)}' ; \
|
|
||||||
echo -e ${WORKSPACES} ) | sort -n | uniq -u | head -n 1)
|
|
||||||
|
|
||||||
i3-msg workspace ${EMPTY_WORKSPACE}
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
KBD=$(/usr/bin/xkblayout-state print '%s')
|
|
||||||
echo $KBD
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
Main() {
|
|
||||||
source /usr/share/endeavouros/scripts/eos-script-lib-yad || return 1
|
|
||||||
|
|
||||||
local command=(
|
|
||||||
eos_yad --title="EndeavourOS i3-wm keybindings:" --no-buttons --geometry=400x345-15-400 --list
|
|
||||||
--column=key: --column=description: --column=command:
|
|
||||||
"ESC" "close this app" ""
|
|
||||||
"=" "modkey" "(set mod Mod4)"
|
|
||||||
"+enter" "open a terminal" ""
|
|
||||||
"+Shift+n" "new empty workspace" ""
|
|
||||||
"+w" "open Browser" ""
|
|
||||||
"+n" "open Filebrowser" ""
|
|
||||||
"+d" "app menu" ""
|
|
||||||
"+q" "close focused app" ""
|
|
||||||
"Print-key" "screenshot" ""
|
|
||||||
"+Shift+e" "logout menu" ""
|
|
||||||
"F1" "open keybinding helper" ""
|
|
||||||
)
|
|
||||||
|
|
||||||
"${command[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
Main "$@"
|
|
|
@ -1,6 +0,0 @@
|
||||||
I3_CONFIG=$HOME/.config/i3/config
|
|
||||||
mod_key=$(sed -nre 's/^set \$mod (.*)/\1/p' ${I3_CONFIG})
|
|
||||||
grep "^bindsym" ${I3_CONFIG} \
|
|
||||||
| sed "s/-\(-\w\+\)\+//g;s/\$mod/${mod_key}/g;s/Mod1/Alt/g;s/exec //;s/bindsym //;s/^\s\+//;s/^\([^ ]\+\) \(.\+\)$/\2: \1/;s/^\s\+//" \
|
|
||||||
| tr -s ' ' \
|
|
||||||
| rofi -dmenu -theme ~/.config/rofi/rofikeyhint.rasi
|
|
|
@ -1,69 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
|
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
TYPE="${BLOCK_INSTANCE:-mem}"
|
|
||||||
|
|
||||||
awk -v type=$TYPE '
|
|
||||||
/^MemTotal:/ {
|
|
||||||
mem_total=$2
|
|
||||||
}
|
|
||||||
/^MemFree:/ {
|
|
||||||
mem_free=$2
|
|
||||||
}
|
|
||||||
/^Buffers:/ {
|
|
||||||
mem_free+=$2
|
|
||||||
}
|
|
||||||
/^Cached:/ {
|
|
||||||
mem_free+=$2
|
|
||||||
}
|
|
||||||
/^SwapTotal:/ {
|
|
||||||
swap_total=$2
|
|
||||||
}
|
|
||||||
/^SwapFree:/ {
|
|
||||||
swap_free=$2
|
|
||||||
}
|
|
||||||
END {
|
|
||||||
if (type == "swap") {
|
|
||||||
free=swap_free/1024/1024
|
|
||||||
used=(swap_total-swap_free)/1024/1024
|
|
||||||
total=swap_total/1024/1024
|
|
||||||
} else {
|
|
||||||
free=mem_free/1024/1024
|
|
||||||
used=(mem_total-mem_free)/1024/1024
|
|
||||||
total=mem_total/1024/1024
|
|
||||||
}
|
|
||||||
|
|
||||||
pct=0
|
|
||||||
if (total > 0) {
|
|
||||||
pct=used/total*100
|
|
||||||
}
|
|
||||||
|
|
||||||
# full text
|
|
||||||
# printf("%.1fG/%.1fG (%.f%%)\n", used, total, pct)
|
|
||||||
|
|
||||||
# short text
|
|
||||||
printf("%.f%%\n", pct)
|
|
||||||
|
|
||||||
# color
|
|
||||||
if (pct > 90) {
|
|
||||||
print("#FF0000")
|
|
||||||
} else if (pct > 80) {
|
|
||||||
print("#FFAE00")
|
|
||||||
} else if (pct > 70) {
|
|
||||||
print("#FFF600")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
' /proc/meminfo
|
|
|
@ -1,93 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# Edited by Andreas Lindlbauer <endeavouros.mousily@aleeas.com>
|
|
||||||
|
|
||||||
temps=("#0600FF" "#0500FF" "#0400FF" "#0300FF" "#0200FF" "#0100FF" "#0000FF" "#0002FF" "#0012FF" "#0022FF" "#0032FF" "#0044FF" "#0054FF" "#0064FF" "#0074FF" "#0084FF" "#0094FF" "#00A4FF" "#00B4FF" "#00C4FF" "#00D4FF" "#00E4FF" "#00FFF4" "#00FFD0" "#00FFA8" "#00FF83" "#00FF5C" "#00FF36" "#00FF10" "#17FF00" "#3EFF00" "#65FF00" "#B0FF00" "#FDFF00" "#FFF000" "#FFDC00" "#FFC800" "#FFB400" "#FFA000" "#FF8C00" "#FF7800" "#FF6400" "#FF5000" "#FF3C00" "#FF2800" "#FF1400" "#FF0000")
|
|
||||||
|
|
||||||
command -v jq >/dev/null 2>&1 || { echo >&2 "Program 'jq' required but it is not installed.
|
|
||||||
Aborting."; exit 1; }
|
|
||||||
command -v wget >/dev/null 2>&1 || { echo >&2 "Program 'wget' required but is not installed.
|
|
||||||
Aborting."; exit 1; }
|
|
||||||
|
|
||||||
# To use this script you need to create an API key here https://home.openweathermap.org
|
|
||||||
# You need to put your Open Weather APIKEY here:
|
|
||||||
APIKEY="keykeykey"
|
|
||||||
# And get your Latitute and Longitudes to put in here:
|
|
||||||
LAT="XX.XXXX"
|
|
||||||
LON="XX.XXXX"
|
|
||||||
URL="http://api.openweathermap.org/data/2.5/onecall?lat=${LAT}&lon=${LON}&units=metric&exclude=minutely,hourly,daily&APPID=${APIKEY}"
|
|
||||||
WEATHER_RESPONSE=$(wget -qO- "${URL}")
|
|
||||||
|
|
||||||
WEATHER_CONDITION=$(echo "$WEATHER_RESPONSE" | jq '.current.weather[0].main' | sed 's/"//g')
|
|
||||||
WEATHER_TEMP=$(echo "$WEATHER_RESPONSE" | jq '.current.feels_like')
|
|
||||||
WEATHER_INT=${WEATHER_TEMP%.*}
|
|
||||||
|
|
||||||
TIME_NOW=$( echo "$WEATHER_RESPONSE" | jq '.current.dt')
|
|
||||||
SUNRISE=$( echo "$WEATHER_RESPONSE" | jq '.current.sunrise')
|
|
||||||
SUNSET=$( echo "$WEATHER_RESPONSE" | jq '.current.sunset')
|
|
||||||
DESCRIPTION=$( echo "$WEATHER_RESPONSE" | jq '.current.weather[0].description' | sed 's/"//g')
|
|
||||||
WEATHER_ALERT=$( echo "$WEATHER_RESPONSE" | jq '.alerts[0].event' | sed 's/"//g')
|
|
||||||
DAYTIME="n"
|
|
||||||
|
|
||||||
if [[ "$TIME_NOW" > "$SUNRISE" ]] && [[ "$TIME_NOW" < "$SUNSET" ]]; then
|
|
||||||
DAYTIME="d"
|
|
||||||
fi
|
|
||||||
|
|
||||||
case $WEATHER_CONDITION in
|
|
||||||
'Clouds')
|
|
||||||
if [ "$DAYTIME" == "d" ]; then
|
|
||||||
WEATHER_ICON=""
|
|
||||||
else
|
|
||||||
WEATHER_ICON=""
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
'Rain')
|
|
||||||
WEATHER_ICON=""
|
|
||||||
;;
|
|
||||||
'Drizzle')
|
|
||||||
if [ "$DAYTIME" == "d" ]; then
|
|
||||||
WEATHER_ICON=""
|
|
||||||
else
|
|
||||||
WEATHER_ICON=""
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
'Thunderstorm')
|
|
||||||
WEATHER_ICON=""
|
|
||||||
;;
|
|
||||||
'Snow')
|
|
||||||
WEATHER_ICON=""
|
|
||||||
;;
|
|
||||||
'Clear')
|
|
||||||
if [ "$DAYTIME" == "d" ]; then
|
|
||||||
WEATHER_ICON=""
|
|
||||||
else
|
|
||||||
WEATHER_ICON=""
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
WEATHER_ICON="🌫"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
WEATHER_COLOR="#FFFFFF"
|
|
||||||
if [ "$WEATHER_INT" -lt "-11" ]; then
|
|
||||||
WEATHER_COLOR="#0000FF"
|
|
||||||
elif [ "$WEATHER_INT" -gt 35 ]; then
|
|
||||||
WEATHER_COLOR="#FF0000"
|
|
||||||
else
|
|
||||||
WEATHER_INT=$(( WEATHER_INT + 11 ))
|
|
||||||
WEATHER_COLOR="${temps[$WEATHER_INT]}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
full_text="${WEATHER_ICON} ${WEATHER_TEMP}°C: ${DESCRIPTION} "
|
|
||||||
if [ "$WEATHER_ALERT" != "null" ]; then
|
|
||||||
WARN_START=$(echo "$WEATHER_RESPONSE" | jq '.alerts[0].start')
|
|
||||||
WARN_END=$(echo "$WEATHER_RESPONSE" | jq '.alerts[0].end')
|
|
||||||
WARN_START=$(date -d @"$WARN_START" +%a_%k:%M)
|
|
||||||
WARN_END=$(date -d @"$WARN_END" +%a_%k:%M)
|
|
||||||
full_text="${WEATHER_ICON} ${WEATHER_TEMP}°C: ${DESCRIPTION} ${WEATHER_ALERT} from ${WARN_START} to ${WARN_END} "
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
echo "${full_text}"
|
|
||||||
echo "${WEATHER_TEMP}°C "
|
|
||||||
echo "${WEATHER_COLOR}"
|
|
|
@ -1,43 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
command -v jq >/dev/null 2>&1 || { echo >&2 "Program 'jq' required but it is not installed.
|
|
||||||
Aborting."; exit 1; }
|
|
||||||
command -v wget >/dev/null 2>&1 || { echo >&2 "Program 'wget' required but is not installed.
|
|
||||||
Aborting."; exit 1; }
|
|
||||||
|
|
||||||
# To use this script you need to create an API key here https://home.openweathermap.org
|
|
||||||
# You need to put your Open Weather APIKEY here:
|
|
||||||
APIKEY="keykey"
|
|
||||||
# find your City ID here: https://openweathermap.org/
|
|
||||||
# search for your city and copy the ID from the URL inside the browser.
|
|
||||||
CITY_ID="idid"
|
|
||||||
URL="http://api.openweathermap.org/data/2.5/weather?id=${CITY_ID}&units=metric&APPID=${APIKEY}"
|
|
||||||
|
|
||||||
WEATHER_RESPONSE=$(wget -qO- "${URL}")
|
|
||||||
|
|
||||||
WEATHER_CONDITION=$(echo $WEATHER_RESPONSE | jq '.weather[0].main' | sed 's/"//g')
|
|
||||||
WEATHER_TEMP=$(echo $WEATHER_RESPONSE | jq '.main.temp')
|
|
||||||
WIND_DIR=$( echo "$WEATHER_RESPONSE" | jq '.wind.deg')
|
|
||||||
WIND_SPEED=$( echo "$WEATHER_RESPONSE" | jq '.wind.speed')
|
|
||||||
|
|
||||||
WIND_SPEED=$(awk "BEGIN {print 60*60*$WIND_SPEED/1000}")
|
|
||||||
WIND_DIR=$(awk "BEGIN {print int(($WIND_DIR % 360)/22.5)}")
|
|
||||||
DIR_ARRAY=( N NNE NE ENE E ESE SE SSE S SSW SW WSW W WNW NW NNW N )
|
|
||||||
WIND_DIR=${DIR_ARRAY[WIND_DIR]}
|
|
||||||
|
|
||||||
case $WEATHER_CONDITION in
|
|
||||||
'Clouds')
|
|
||||||
WEATHER_ICON=""
|
|
||||||
;;
|
|
||||||
'Rain')
|
|
||||||
WEATHER_ICON=""
|
|
||||||
;;
|
|
||||||
'Snow')
|
|
||||||
WEATHER_ICON=""
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
WEATHER_ICON=""
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo "${WEATHER_ICON} ${WEATHER_TEMP}°C: ${WIND_SPEED} km/h ${WIND_DIR}"
|
|
|
@ -1,5 +0,0 @@
|
||||||
# Weather
|
|
||||||
[Weather]
|
|
||||||
command=~/.config/i3/scripts/openweather
|
|
||||||
interval=1800
|
|
||||||
color=#7275b3
|
|
|
@ -1,190 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
#
|
|
||||||
# Use rofi/zenity to change system runstate thanks to systemd.
|
|
||||||
#
|
|
||||||
# Note: this currently relies on associative array support in the shell.
|
|
||||||
#
|
|
||||||
# Inspired from i3pystatus wiki:
|
|
||||||
# https://github.com/enkore/i3pystatus/wiki/Shutdown-Menu
|
|
||||||
#
|
|
||||||
# Copyright 2015 Benjamin Chrétien <chretien at lirmm dot fr>
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
# power-profiles-daemon implementation:
|
|
||||||
# needs package power-profiles-daemon installed and the service running see here:
|
|
||||||
# https://wiki.archlinux.org/title/CPU_frequency_scaling#power-profiles-daemon
|
|
||||||
# used in i3-blocks: ~/.config/i3/i3blocks.conf together with: ~/.config/i3/scripts/ppd-status
|
|
||||||
|
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# BEGIN CONFIG #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
# Use a custom lock script
|
|
||||||
#LOCKSCRIPT="i3lock-extra -m pixelize"
|
|
||||||
|
|
||||||
# Colors: FG (foreground), BG (background), HL (highlighted)
|
|
||||||
FG_COLOR="#bbbbbb"
|
|
||||||
BG_COLOR="#111111"
|
|
||||||
HLFG_COLOR="#111111"
|
|
||||||
HLBG_COLOR="#bbbbbb"
|
|
||||||
BORDER_COLOR="#222222"
|
|
||||||
|
|
||||||
# Options not related to colors
|
|
||||||
#ROFI_TEXT=":"
|
|
||||||
#ROFI_OPTIONS=(-width -11 -location 0 -hide-scrollbar -bw 30 -color-window "#dd310027,#dd0310027,#dd310027" -padding 5)
|
|
||||||
#ROFI_OPTIONS=(-width -18 -location 4 -hide-scrollbar -color-window "#cc310027,#00a0009a,#cc310027" -padding 5 -font "Sourcecode Pro Regular 10, FontAwesome 9")
|
|
||||||
ROFI_OPTIONS=(-theme ~/.config/rofi/power-profiles.rasi)
|
|
||||||
# Zenity options
|
|
||||||
ZENITY_TITLE="Power Profiles"
|
|
||||||
ZENITY_TEXT="Set Profiles:"
|
|
||||||
ZENITY_OPTIONS=(--column= --hide-header)
|
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# END CONFIG #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
# Whether to ask for user's confirmation
|
|
||||||
enable_confirmation=false
|
|
||||||
|
|
||||||
# Preferred launcher if both are available
|
|
||||||
preferred_launcher="rofi"
|
|
||||||
|
|
||||||
usage="$(basename "$0") [-h] [-c] [-p name] -- display a menu for shutdown, reboot, lock etc.
|
|
||||||
|
|
||||||
where:
|
|
||||||
-h show this help text
|
|
||||||
-c ask for user confirmation
|
|
||||||
-p preferred launcher (rofi or zenity)
|
|
||||||
|
|
||||||
This script depends on:
|
|
||||||
- systemd,
|
|
||||||
- i3,
|
|
||||||
- rofi or zenity."
|
|
||||||
|
|
||||||
# Check whether the user-defined launcher is valid
|
|
||||||
launcher_list=(rofi zenity)
|
|
||||||
function check_launcher() {
|
|
||||||
if [[ ! "${launcher_list[@]}" =~ (^|[[:space:]])"$1"($|[[:space:]]) ]]; then
|
|
||||||
echo "Supported launchers: ${launcher_list[*]}"
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
# Get array with unique elements and preferred launcher first
|
|
||||||
# Note: uniq expects a sorted list, so we cannot use it
|
|
||||||
i=1
|
|
||||||
launcher_list=($(for l in "$1" "${launcher_list[@]}"; do printf "%i %s\n" "$i" "$l"; let i+=1; done \
|
|
||||||
| sort -uk2 | sort -nk1 | cut -d' ' -f2- | tr '\n' ' '))
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Parse CLI arguments
|
|
||||||
while getopts "hcp:" option; do
|
|
||||||
case "${option}" in
|
|
||||||
h) echo "${usage}"
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
c) enable_confirmation=true
|
|
||||||
;;
|
|
||||||
p) preferred_launcher="${OPTARG}"
|
|
||||||
check_launcher "${preferred_launcher}"
|
|
||||||
;;
|
|
||||||
*) exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
# Check whether a command exists
|
|
||||||
function command_exists() {
|
|
||||||
command -v "$1" &> /dev/null 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
# systemctl required
|
|
||||||
if ! command_exists systemctl ; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# menu defined as an associative array
|
|
||||||
typeset -A menu
|
|
||||||
|
|
||||||
# Menu with keys/commands
|
|
||||||
|
|
||||||
menu=(
|
|
||||||
[ Performance]="powerprofilesctl set performance"
|
|
||||||
[ Balanced]="powerprofilesctl set balanced"
|
|
||||||
[ Power Saver]="powerprofilesctl set power-saver"
|
|
||||||
[ Cancel]=""
|
|
||||||
)
|
|
||||||
|
|
||||||
menu_nrows=${#menu[@]}
|
|
||||||
|
|
||||||
# Menu entries that may trigger a confirmation message
|
|
||||||
menu_confirm="Shutdown Reboot Hibernate Suspend Halt Logout"
|
|
||||||
|
|
||||||
launcher_exe=""
|
|
||||||
launcher_options=""
|
|
||||||
rofi_colors=""
|
|
||||||
|
|
||||||
function prepare_launcher() {
|
|
||||||
if [[ "$1" == "rofi" ]]; then
|
|
||||||
rofi_colors=(-bc "${BORDER_COLOR}" -bg "${BG_COLOR}" -fg "${FG_COLOR}" \
|
|
||||||
-hlfg "${HLFG_COLOR}" -hlbg "${HLBG_COLOR}")
|
|
||||||
launcher_exe="rofi"
|
|
||||||
launcher_options=(-dmenu -i -lines "${menu_nrows}" -p "${ROFI_TEXT}" \
|
|
||||||
"${rofi_colors}" "${ROFI_OPTIONS[@]}")
|
|
||||||
elif [[ "$1" == "zenity" ]]; then
|
|
||||||
launcher_exe="zenity"
|
|
||||||
launcher_options=(--list --title="${ZENITY_TITLE}" --text="${ZENITY_TEXT}" \
|
|
||||||
"${ZENITY_OPTIONS[@]}")
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
for l in "${launcher_list[@]}"; do
|
|
||||||
if command_exists "${l}" ; then
|
|
||||||
prepare_launcher "${l}"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# No launcher available
|
|
||||||
if [[ -z "${launcher_exe}" ]]; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
launcher=(${launcher_exe} "${launcher_options[@]}")
|
|
||||||
selection="$(printf '%s\n' "${!menu[@]}" | sort | "${launcher[@]}")"
|
|
||||||
|
|
||||||
function ask_confirmation() {
|
|
||||||
if [ "${launcher_exe}" == "rofi" ]; then
|
|
||||||
confirmed=$(echo -e "Yes\nNo" | rofi -dmenu -i -lines 2 -p "${selection}?" \
|
|
||||||
"${rofi_colors}" "${ROFI_OPTIONS[@]}")
|
|
||||||
[ "${confirmed}" == "Yes" ] && confirmed=0
|
|
||||||
elif [ "${launcher_exe}" == "zenity" ]; then
|
|
||||||
zenity --question --text "Are you sure you want to ${selection,,}?"
|
|
||||||
confirmed=$?
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "${confirmed}" == 0 ]; then
|
|
||||||
i3-msg -q "exec --no-startup-id ${menu[${selection}]}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ $? -eq 0 && ! -z ${selection} ]]; then
|
|
||||||
if [[ "${enable_confirmation}" = true && \
|
|
||||||
${menu_confirm} =~ (^|[[:space:]])"${selection}"($|[[:space:]]) ]]; then
|
|
||||||
ask_confirmation
|
|
||||||
else
|
|
||||||
i3-msg -q "exec --no-startup-id ${menu[${selection}]}"
|
|
||||||
fi
|
|
||||||
fi
|
|
|
@ -1,186 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
#
|
|
||||||
# Use rofi/zenity to change system runstate thanks to systemd.
|
|
||||||
#
|
|
||||||
# Note: this currently relies on associative array support in the shell.
|
|
||||||
#
|
|
||||||
# Inspired from i3pystatus wiki:
|
|
||||||
# https://github.com/enkore/i3pystatus/wiki/Shutdown-Menu
|
|
||||||
#
|
|
||||||
# Copyright 2015 Benjamin Chrétien <chretien at lirmm dot fr>
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
# modified to work with latest rofi update by joekamprad <joekamprad@endeavouros.com>
|
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# BEGIN CONFIG #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
# Use a custom lock script
|
|
||||||
#LOCKSCRIPT="i3lock-extra -m pixelize"
|
|
||||||
|
|
||||||
# Colors: FG (foreground), BG (background), HL (highlighted)
|
|
||||||
FG_COLOR="#bbbbbb"
|
|
||||||
BG_COLOR="#111111"
|
|
||||||
HLFG_COLOR="#111111"
|
|
||||||
HLBG_COLOR="#bbbbbb"
|
|
||||||
BORDER_COLOR="#222222"
|
|
||||||
|
|
||||||
# Options not related to colors (most rofi options do not work anymore)
|
|
||||||
ROFI_OPTIONS=(-theme ~/.config/rofi/powermenu.rasi)
|
|
||||||
# Zenity options
|
|
||||||
ZENITY_TITLE="Power Menu"
|
|
||||||
ZENITY_TEXT="Action:"
|
|
||||||
ZENITY_OPTIONS=(--column= --hide-header)
|
|
||||||
|
|
||||||
#######################################################################
|
|
||||||
# END CONFIG #
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
# Whether to ask for user's confirmation
|
|
||||||
enable_confirmation=false
|
|
||||||
|
|
||||||
# Preferred launcher if both are available
|
|
||||||
preferred_launcher="rofi"
|
|
||||||
|
|
||||||
usage="$(basename "$0") [-h] [-c] [-p name] -- display a menu for shutdown, reboot, lock etc.
|
|
||||||
|
|
||||||
where:
|
|
||||||
-h show this help text
|
|
||||||
-c ask for user confirmation
|
|
||||||
-p preferred launcher (rofi or zenity)
|
|
||||||
|
|
||||||
This script depends on:
|
|
||||||
- systemd,
|
|
||||||
- i3,
|
|
||||||
- rofi or zenity."
|
|
||||||
|
|
||||||
# Check whether the user-defined launcher is valid
|
|
||||||
launcher_list=(rofi zenity)
|
|
||||||
function check_launcher() {
|
|
||||||
if [[ ! "${launcher_list[@]}" =~ (^|[[:space:]])"$1"($|[[:space:]]) ]]; then
|
|
||||||
echo "Supported launchers: ${launcher_list[*]}"
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
# Get array with unique elements and preferred launcher first
|
|
||||||
# Note: uniq expects a sorted list, so we cannot use it
|
|
||||||
i=1
|
|
||||||
launcher_list=($(for l in "$1" "${launcher_list[@]}"; do printf "%i %s\n" "$i" "$l"; let i+=1; done \
|
|
||||||
| sort -uk2 | sort -nk1 | cut -d' ' -f2- | tr '\n' ' '))
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Parse CLI arguments
|
|
||||||
while getopts "hcp:" option; do
|
|
||||||
case "${option}" in
|
|
||||||
h) echo "${usage}"
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
c) enable_confirmation=true
|
|
||||||
;;
|
|
||||||
p) preferred_launcher="${OPTARG}"
|
|
||||||
check_launcher "${preferred_launcher}"
|
|
||||||
;;
|
|
||||||
*) exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
# Check whether a command exists
|
|
||||||
function command_exists() {
|
|
||||||
command -v "$1" &> /dev/null 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
# systemctl required
|
|
||||||
if ! command_exists systemctl ; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# menu defined as an associative array
|
|
||||||
typeset -A menu
|
|
||||||
|
|
||||||
# Menu with keys/commands
|
|
||||||
|
|
||||||
menu=(
|
|
||||||
[ Shutdown]="systemctl poweroff"
|
|
||||||
[ Reboot]="systemctl reboot"
|
|
||||||
[ Suspend]="systemctl suspend"
|
|
||||||
[ Hibernate]="systemctl hibernate"
|
|
||||||
[ Lock]="~/.config/i3/scripts/blur-lock"
|
|
||||||
[ Logout]="i3-msg exit"
|
|
||||||
[ Cancel]=""
|
|
||||||
)
|
|
||||||
|
|
||||||
menu_nrows=${#menu[@]}
|
|
||||||
|
|
||||||
# Menu entries that may trigger a confirmation message
|
|
||||||
menu_confirm="Shutdown Reboot Hibernate Suspend Halt Logout"
|
|
||||||
|
|
||||||
launcher_exe=""
|
|
||||||
launcher_options=""
|
|
||||||
rofi_colors=""
|
|
||||||
|
|
||||||
function prepare_launcher() {
|
|
||||||
if [[ "$1" == "rofi" ]]; then
|
|
||||||
rofi_colors=(-bc "${BORDER_COLOR}" -bg "${BG_COLOR}" -fg "${FG_COLOR}" \
|
|
||||||
-hlfg "${HLFG_COLOR}" -hlbg "${HLBG_COLOR}")
|
|
||||||
launcher_exe="rofi"
|
|
||||||
launcher_options=(-dmenu -i -lines "${menu_nrows}" -p "${ROFI_TEXT}" \
|
|
||||||
"${rofi_colors}" "${ROFI_OPTIONS[@]}")
|
|
||||||
elif [[ "$1" == "zenity" ]]; then
|
|
||||||
launcher_exe="zenity"
|
|
||||||
launcher_options=(--list --title="${ZENITY_TITLE}" --text="${ZENITY_TEXT}" \
|
|
||||||
"${ZENITY_OPTIONS[@]}")
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
for l in "${launcher_list[@]}"; do
|
|
||||||
if command_exists "${l}" ; then
|
|
||||||
prepare_launcher "${l}"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# No launcher available
|
|
||||||
if [[ -z "${launcher_exe}" ]]; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
launcher=(${launcher_exe} "${launcher_options[@]}")
|
|
||||||
selection="$(printf '%s\n' "${!menu[@]}" | sort | "${launcher[@]}")"
|
|
||||||
|
|
||||||
function ask_confirmation() {
|
|
||||||
if [ "${launcher_exe}" == "rofi" ]; then
|
|
||||||
confirmed=$(echo -e "Yes\nNo" | rofi -dmenu -i -lines 2 -p "${selection}?" \
|
|
||||||
"${rofi_colors}" "${ROFI_OPTIONS[@]}")
|
|
||||||
[ "${confirmed}" == "Yes" ] && confirmed=0
|
|
||||||
elif [ "${launcher_exe}" == "zenity" ]; then
|
|
||||||
zenity --question --text "Are you sure you want to ${selection,,}?"
|
|
||||||
confirmed=$?
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "${confirmed}" == 0 ]; then
|
|
||||||
i3-msg -q "exec --no-startup-id ${menu[${selection}]}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ $? -eq 0 && ! -z ${selection} ]]; then
|
|
||||||
if [[ "${enable_confirmation}" = true && \
|
|
||||||
${menu_confirm} =~ (^|[[:space:]])"${selection}"($|[[:space:]]) ]]; then
|
|
||||||
ask_confirmation
|
|
||||||
else
|
|
||||||
i3-msg -q "exec --no-startup-id ${menu[${selection}]}"
|
|
||||||
fi
|
|
||||||
fi
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
#
|
|
||||||
# power-profiles-daemon implementation:
|
|
||||||
# needs package power-profiles-daemon installed and the service running see here:
|
|
||||||
# https://wiki.archlinux.org/title/CPU_frequency_scaling#power-profiles-daemon
|
|
||||||
# used in i3-blocks: ~/.config/i3/i3blocks.conf together with: ~/.config/i3/scripts/power-profiles
|
|
||||||
|
|
||||||
# script to show current power profile
|
|
||||||
|
|
||||||
current_profile=$(/usr/bin/powerprofilesctl get)
|
|
||||||
echo "$current_profile"
|
|
|
@ -1,86 +0,0 @@
|
||||||
#!/usr/bin/env perl
|
|
||||||
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
|
|
||||||
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
|
|
||||||
# Copyright 2014 Andreas Guldstrand <andreas.guldstrand@gmail.com>
|
|
||||||
# Copyright 2014 Benjamin Chretien <chretien at lirmm dot fr>
|
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
# Edited by Andreas Lindlbauer <endeavouros.mousily@aleeas.com>
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
use utf8;
|
|
||||||
use Getopt::Long;
|
|
||||||
|
|
||||||
binmode(STDOUT, ":utf8");
|
|
||||||
|
|
||||||
# default values
|
|
||||||
my $t_warn = $ENV{T_WARN} || 70;
|
|
||||||
my $t_crit = $ENV{T_CRIT} || 90;
|
|
||||||
my $chip = $ENV{SENSOR_CHIP} || "";
|
|
||||||
my $temperature = -9999;
|
|
||||||
my $label = "😀 ";
|
|
||||||
|
|
||||||
sub help {
|
|
||||||
print "Usage: temperature [-w <warning>] [-c <critical>] [--chip <chip>]\n";
|
|
||||||
print "-w <percent>: warning threshold to become yellow\n";
|
|
||||||
print "-c <percent>: critical threshold to become red\n";
|
|
||||||
print "--chip <chip>: sensor chip\n";
|
|
||||||
exit 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
GetOptions("help|h" => \&help,
|
|
||||||
"w=i" => \$t_warn,
|
|
||||||
"c=i" => \$t_crit,
|
|
||||||
"chip=s" => \$chip);
|
|
||||||
|
|
||||||
# Get chip temperature
|
|
||||||
open (SENSORS, "sensors -u $chip |") or die;
|
|
||||||
while (<SENSORS>) {
|
|
||||||
if (/^\s+temp1_input:\s+[\+]*([\-]*\d+\.\d)/) {
|
|
||||||
$temperature = $1;
|
|
||||||
last;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
close(SENSORS);
|
|
||||||
|
|
||||||
$temperature eq -9999 and die 'Cannot find temperature';
|
|
||||||
|
|
||||||
if ($temperature < 45) {
|
|
||||||
$label = '';
|
|
||||||
} elsif ($temperature < 55) {
|
|
||||||
$label = '';
|
|
||||||
} elsif ($temperature < 65) {
|
|
||||||
$label = '';
|
|
||||||
} elsif ($temperature < 75) {
|
|
||||||
$label = '';
|
|
||||||
} else {
|
|
||||||
$label = '';
|
|
||||||
}
|
|
||||||
# Print short_text, full_text
|
|
||||||
print "${label}";
|
|
||||||
print " $temperature°C\n";
|
|
||||||
print "${label}";
|
|
||||||
print " $temperature°C\n";
|
|
||||||
|
|
||||||
# Print color, if needed
|
|
||||||
if ($temperature >= $t_crit) {
|
|
||||||
print "#FF0000\n";
|
|
||||||
exit 33;
|
|
||||||
} elsif ($temperature >= $t_warn) {
|
|
||||||
print "#FFFC00\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
exit 0;
|
|
|
@ -1,93 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
|
|
||||||
# Copyright (C) 2014 Alexander Keller <github@nycroth.com>
|
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
# original source: https://github.com/vivien/i3blocks-contrib/tree/master/volume
|
|
||||||
# check the readme: https://github.com/vivien/i3blocks-contrib/blob/master/volume/README.md
|
|
||||||
#------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# The second parameter overrides the mixer selection
|
|
||||||
# For PulseAudio users, eventually use "pulse"
|
|
||||||
# For Jack/Jack2 users, use "jackplug"
|
|
||||||
# For ALSA users, you may use "default" for your primary card
|
|
||||||
# or you may use hw:# where # is the number of the card desired
|
|
||||||
if [[ -z "$MIXER" ]] ; then
|
|
||||||
MIXER="default"
|
|
||||||
if command -v pulseaudio >/dev/null 2>&1 && pulseaudio --check ; then
|
|
||||||
# pulseaudio is running, but not all installations use "pulse"
|
|
||||||
if amixer -D pulse info >/dev/null 2>&1 ; then
|
|
||||||
MIXER="pulse"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
[ -n "$(lsmod | grep jack)" ] && MIXER="jackplug"
|
|
||||||
MIXER="${2:-$MIXER}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# The instance option sets the control to report and configure
|
|
||||||
# This defaults to the first control of your selected mixer
|
|
||||||
# For a list of the available, use `amixer -D $Your_Mixer scontrols`
|
|
||||||
if [[ -z "$SCONTROL" ]] ; then
|
|
||||||
SCONTROL="${BLOCK_INSTANCE:-$(amixer -D $MIXER scontrols |
|
|
||||||
sed -n "s/Simple mixer control '\([^']*\)',0/\1/p" |
|
|
||||||
head -n1
|
|
||||||
)}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# The first parameter sets the step to change the volume by (and units to display)
|
|
||||||
# This may be in in % or dB (eg. 5% or 3dB)
|
|
||||||
if [[ -z "$STEP" ]] ; then
|
|
||||||
STEP="${1:-5%}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# AMIXER(1):
|
|
||||||
# "Use the mapped volume for evaluating the percentage representation like alsamixer, to be
|
|
||||||
# more natural for human ear."
|
|
||||||
NATURAL_MAPPING=${NATURAL_MAPPING:-0}
|
|
||||||
if [[ "$NATURAL_MAPPING" != "0" ]] ; then
|
|
||||||
AMIXER_PARAMS="-M"
|
|
||||||
fi
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
|
||||||
|
|
||||||
capability() { # Return "Capture" if the device is a capture device
|
|
||||||
amixer $AMIXER_PARAMS -D $MIXER get $SCONTROL |
|
|
||||||
sed -n "s/ Capabilities:.*cvolume.*/Capture/p"
|
|
||||||
}
|
|
||||||
|
|
||||||
volume() {
|
|
||||||
amixer $AMIXER_PARAMS -D $MIXER get $SCONTROL $(capability)
|
|
||||||
}
|
|
||||||
|
|
||||||
format() {
|
|
||||||
|
|
||||||
perl_filter='if (/.*\[(\d+%)\] (\[(-?\d+.\d+dB)\] )?\[(on|off)\]/)'
|
|
||||||
perl_filter+='{CORE::say $4 eq "off" ? "MUTE" : "'
|
|
||||||
# If dB was selected, print that instead
|
|
||||||
perl_filter+=$([[ $STEP = *dB ]] && echo '$3' || echo '$1')
|
|
||||||
perl_filter+='"; exit}'
|
|
||||||
output=$(perl -ne "$perl_filter")
|
|
||||||
echo "$LABEL$output"
|
|
||||||
}
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
|
||||||
|
|
||||||
case $BLOCK_BUTTON in
|
|
||||||
3) amixer $AMIXER_PARAMS -q -D $MIXER sset $SCONTROL $(capability) toggle ;; # right click, mute/unmute
|
|
||||||
4) amixer $AMIXER_PARAMS -q -D $MIXER sset $SCONTROL $(capability) ${STEP}+ unmute ;; # scroll up, increase
|
|
||||||
5) amixer $AMIXER_PARAMS -q -D $MIXER sset $SCONTROL $(capability) ${STEP}- unmute ;; # scroll down, decrease
|
|
||||||
esac
|
|
||||||
|
|
||||||
volume | format
|
|
|
@ -1,25 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
#
|
|
||||||
# Copyright (C) 2021 Andreas Lindlbauer
|
|
||||||
# Licensed under the terms of EUPLv1.2.
|
|
||||||
#
|
|
||||||
# i3blocks blocklet script to monitor the (nord)vpn connection
|
|
||||||
|
|
||||||
vpnstatus="📢"
|
|
||||||
nordvpn_output=$(nordvpn status | cat -v | head -1 | sed -e 's/\^M-^M ^M//g' )
|
|
||||||
if [ "${nordvpn_output}" = "Status: Connected" ]; then
|
|
||||||
vpnstatus="🥸"
|
|
||||||
elif [ "${nordvpn_output}" = "A new version of NordVPN is available! Please update the application." ]; then
|
|
||||||
nordvpn_output=$(nordvpn status | cat -v | head -2 | tail -1 | sed -e 's/\^M-^M ^M//g' )
|
|
||||||
if [ "${nordvpn_output}" = "Status: Connected" ]; then
|
|
||||||
vpnstatus="🥴"
|
|
||||||
elif [ "${nordvpn_output}" = "Status: Disconnected" ]; then
|
|
||||||
vpnstatus="📢"
|
|
||||||
fi
|
|
||||||
elif [ "${nordvpn_output}" = "Status: Disconnected" ]; then
|
|
||||||
vpnstatus="📢"
|
|
||||||
elif [[ "$nordvpn_output" == *\/* ]] || [[ "$nordvpn_output" == *\\* ]]; then
|
|
||||||
vpnstatus="Something's very wrong"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "$vpnstatus"
|
|
|
@ -1,2 +0,0 @@
|
||||||
include /usr/share/nano/*.nanorc
|
|
||||||
include /usr/share/nano-syntax-highlighting/*.nanorc
|
|
|
@ -1,864 +0,0 @@
|
||||||
# See this wiki page for more info:
|
|
||||||
# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
|
|
||||||
print_info() {
|
|
||||||
info title
|
|
||||||
info underline
|
|
||||||
|
|
||||||
info "OS" distro
|
|
||||||
info "Host" model
|
|
||||||
info "Kernel" kernel
|
|
||||||
info "Uptime" uptime
|
|
||||||
info "Packages" packages
|
|
||||||
info "Shell" shell
|
|
||||||
info "Resolution" resolution
|
|
||||||
info "DE" de
|
|
||||||
info "WM" wm
|
|
||||||
info "WM Theme" wm_theme
|
|
||||||
info "Theme" theme
|
|
||||||
info "Icons" icons
|
|
||||||
info "Terminal" term
|
|
||||||
info "Terminal Font" term_font
|
|
||||||
info "CPU" cpu
|
|
||||||
info "GPU" gpu
|
|
||||||
info "Memory" memory
|
|
||||||
|
|
||||||
info "GPU Driver" gpu_driver # Linux/macOS only
|
|
||||||
# info "CPU Usage" cpu_usage
|
|
||||||
info "Disk" disk
|
|
||||||
info "Battery" battery
|
|
||||||
info "Font" font
|
|
||||||
info "Song" song
|
|
||||||
[[ "$player" ]] && prin "Music Player" "$player"
|
|
||||||
# info "Local IP" local_ip
|
|
||||||
# info "Public IP" public_ip
|
|
||||||
info "Users" users
|
|
||||||
info "Locale" locale # This only works on glibc systems.
|
|
||||||
|
|
||||||
info cols
|
|
||||||
}
|
|
||||||
|
|
||||||
# Title
|
|
||||||
|
|
||||||
|
|
||||||
# Hide/Show Fully qualified domain name.
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --title_fqdn
|
|
||||||
title_fqdn="on"
|
|
||||||
|
|
||||||
|
|
||||||
# Kernel
|
|
||||||
|
|
||||||
|
|
||||||
# Shorten the output of the kernel function.
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --kernel_shorthand
|
|
||||||
# Supports: Everything except *BSDs (except PacBSD and PC-BSD)
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: '4.8.9-1-ARCH'
|
|
||||||
# off: 'Linux 4.8.9-1-ARCH'
|
|
||||||
kernel_shorthand="on"
|
|
||||||
|
|
||||||
|
|
||||||
# Distro
|
|
||||||
|
|
||||||
|
|
||||||
# Shorten the output of the distro function
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'tiny', 'off'
|
|
||||||
# Flag: --distro_shorthand
|
|
||||||
# Supports: Everything except Windows and Haiku
|
|
||||||
distro_shorthand="off"
|
|
||||||
|
|
||||||
# Show/Hide OS Architecture.
|
|
||||||
# Show 'x86_64', 'x86' and etc in 'Distro:' output.
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --os_arch
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'Arch Linux x86_64'
|
|
||||||
# off: 'Arch Linux'
|
|
||||||
os_arch="on"
|
|
||||||
|
|
||||||
|
|
||||||
# Uptime
|
|
||||||
|
|
||||||
|
|
||||||
# Shorten the output of the uptime function
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'tiny', 'off'
|
|
||||||
# Flag: --uptime_shorthand
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: '2 days, 10 hours, 3 mins'
|
|
||||||
# tiny: '2d 10h 3m'
|
|
||||||
# off: '2 days, 10 hours, 3 minutes'
|
|
||||||
uptime_shorthand="on"
|
|
||||||
|
|
||||||
|
|
||||||
# Memory
|
|
||||||
|
|
||||||
|
|
||||||
# Show memory pecentage in output.
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --memory_percent
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: '1801MiB / 7881MiB (22%)'
|
|
||||||
# off: '1801MiB / 7881MiB'
|
|
||||||
memory_percent="on"
|
|
||||||
|
|
||||||
# Change memory output unit.
|
|
||||||
#
|
|
||||||
# Default: 'mib'
|
|
||||||
# Values: 'kib', 'mib', 'gib'
|
|
||||||
# Flag: --memory_unit
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# kib '1020928KiB / 7117824KiB'
|
|
||||||
# mib '1042MiB / 6951MiB'
|
|
||||||
# gib: ' 0.98GiB / 6.79GiB'
|
|
||||||
memory_unit="gib"
|
|
||||||
|
|
||||||
|
|
||||||
# Packages
|
|
||||||
|
|
||||||
|
|
||||||
# Show/Hide Package Manager names.
|
|
||||||
#
|
|
||||||
# Default: 'tiny'
|
|
||||||
# Values: 'on', 'tiny' 'off'
|
|
||||||
# Flag: --package_managers
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: '998 (pacman), 8 (flatpak), 4 (snap)'
|
|
||||||
# tiny: '908 (pacman, flatpak, snap)'
|
|
||||||
# off: '908'
|
|
||||||
package_managers="on"
|
|
||||||
|
|
||||||
|
|
||||||
# Shell
|
|
||||||
|
|
||||||
|
|
||||||
# Show the path to $SHELL
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --shell_path
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: '/bin/bash'
|
|
||||||
# off: 'bash'
|
|
||||||
shell_path="off"
|
|
||||||
|
|
||||||
# Show $SHELL version
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --shell_version
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'bash 4.4.5'
|
|
||||||
# off: 'bash'
|
|
||||||
shell_version="on"
|
|
||||||
|
|
||||||
|
|
||||||
# CPU
|
|
||||||
|
|
||||||
|
|
||||||
# CPU speed type
|
|
||||||
#
|
|
||||||
# Default: 'bios_limit'
|
|
||||||
# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'.
|
|
||||||
# Flag: --speed_type
|
|
||||||
# Supports: Linux with 'cpufreq'
|
|
||||||
# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value.
|
|
||||||
speed_type="bios_limit"
|
|
||||||
|
|
||||||
# CPU speed shorthand
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'off'.
|
|
||||||
# Flag: --speed_shorthand
|
|
||||||
# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'i7-6500U (4) @ 3.1GHz'
|
|
||||||
# off: 'i7-6500U (4) @ 3.100GHz'
|
|
||||||
speed_shorthand="on"
|
|
||||||
|
|
||||||
# Enable/Disable CPU brand in output.
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --cpu_brand
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'Intel i7-6500U'
|
|
||||||
# off: 'i7-6500U (4)'
|
|
||||||
cpu_brand="on"
|
|
||||||
|
|
||||||
# CPU Speed
|
|
||||||
# Hide/Show CPU speed.
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --cpu_speed
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'Intel i7-6500U (4) @ 3.1GHz'
|
|
||||||
# off: 'Intel i7-6500U (4)'
|
|
||||||
cpu_speed="on"
|
|
||||||
|
|
||||||
# CPU Cores
|
|
||||||
# Display CPU cores in output
|
|
||||||
#
|
|
||||||
# Default: 'logical'
|
|
||||||
# Values: 'logical', 'physical', 'off'
|
|
||||||
# Flag: --cpu_cores
|
|
||||||
# Support: 'physical' doesn't work on BSD.
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores)
|
|
||||||
# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores)
|
|
||||||
# off: 'Intel i7-6500U @ 3.1GHz'
|
|
||||||
cpu_cores="logical"
|
|
||||||
|
|
||||||
# CPU Temperature
|
|
||||||
# Hide/Show CPU temperature.
|
|
||||||
# Note the temperature is added to the regular CPU function.
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'C', 'F', 'off'
|
|
||||||
# Flag: --cpu_temp
|
|
||||||
# Supports: Linux, BSD
|
|
||||||
# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable
|
|
||||||
# coretemp kernel module. This only supports newer Intel processors.
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]'
|
|
||||||
# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]'
|
|
||||||
# off: 'Intel i7-6500U (4) @ 3.1GHz'
|
|
||||||
cpu_temp="off"
|
|
||||||
|
|
||||||
|
|
||||||
# GPU
|
|
||||||
|
|
||||||
|
|
||||||
# Enable/Disable GPU Brand
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --gpu_brand
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'AMD HD 7950'
|
|
||||||
# off: 'HD 7950'
|
|
||||||
gpu_brand="on"
|
|
||||||
|
|
||||||
# Which GPU to display
|
|
||||||
#
|
|
||||||
# Default: 'all'
|
|
||||||
# Values: 'all', 'dedicated', 'integrated'
|
|
||||||
# Flag: --gpu_type
|
|
||||||
# Supports: Linux
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# all:
|
|
||||||
# GPU1: AMD HD 7950
|
|
||||||
# GPU2: Intel Integrated Graphics
|
|
||||||
#
|
|
||||||
# dedicated:
|
|
||||||
# GPU1: AMD HD 7950
|
|
||||||
#
|
|
||||||
# integrated:
|
|
||||||
# GPU1: Intel Integrated Graphics
|
|
||||||
gpu_type="all"
|
|
||||||
|
|
||||||
|
|
||||||
# Resolution
|
|
||||||
|
|
||||||
|
|
||||||
# Display refresh rate next to each monitor
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --refresh_rate
|
|
||||||
# Supports: Doesn't work on Windows.
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: '1920x1080 @ 60Hz'
|
|
||||||
# off: '1920x1080'
|
|
||||||
refresh_rate="on"
|
|
||||||
|
|
||||||
|
|
||||||
# Gtk Theme / Icons / Font
|
|
||||||
|
|
||||||
|
|
||||||
# Shorten output of GTK Theme / Icons / Font
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --gtk_shorthand
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'Numix, Adwaita'
|
|
||||||
# off: 'Numix [GTK2], Adwaita [GTK3]'
|
|
||||||
gtk_shorthand="off"
|
|
||||||
|
|
||||||
|
|
||||||
# Enable/Disable gtk2 Theme / Icons / Font
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --gtk2
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'Numix [GTK2], Adwaita [GTK3]'
|
|
||||||
# off: 'Adwaita [GTK3]'
|
|
||||||
gtk2="on"
|
|
||||||
|
|
||||||
# Enable/Disable gtk3 Theme / Icons / Font
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --gtk3
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'Numix [GTK2], Adwaita [GTK3]'
|
|
||||||
# off: 'Numix [GTK2]'
|
|
||||||
gtk3="on"
|
|
||||||
|
|
||||||
|
|
||||||
# IP Address
|
|
||||||
|
|
||||||
|
|
||||||
# Website to ping for the public IP
|
|
||||||
#
|
|
||||||
# Default: 'http://ident.me'
|
|
||||||
# Values: 'url'
|
|
||||||
# Flag: --ip_host
|
|
||||||
public_ip_host="http://ident.me"
|
|
||||||
|
|
||||||
# Public IP timeout.
|
|
||||||
#
|
|
||||||
# Default: '2'
|
|
||||||
# Values: 'int'
|
|
||||||
# Flag: --ip_timeout
|
|
||||||
public_ip_timeout=2
|
|
||||||
|
|
||||||
|
|
||||||
# Desktop Environment
|
|
||||||
|
|
||||||
|
|
||||||
# Show Desktop Environment version
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --de_version
|
|
||||||
de_version="on"
|
|
||||||
|
|
||||||
|
|
||||||
# Disk
|
|
||||||
|
|
||||||
|
|
||||||
# Which disks to display.
|
|
||||||
# The values can be any /dev/sdXX, mount point or directory.
|
|
||||||
# NOTE: By default we only show the disk info for '/'.
|
|
||||||
#
|
|
||||||
# Default: '/'
|
|
||||||
# Values: '/', '/dev/sdXX', '/path/to/drive'.
|
|
||||||
# Flag: --disk_show
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# disk_show=('/' '/dev/sdb1'):
|
|
||||||
# 'Disk (/): 74G / 118G (66%)'
|
|
||||||
# 'Disk (/mnt/Videos): 823G / 893G (93%)'
|
|
||||||
#
|
|
||||||
# disk_show=('/'):
|
|
||||||
# 'Disk (/): 74G / 118G (66%)'
|
|
||||||
#
|
|
||||||
disk_show=('/' '/run/media/tux/primary' '/run/media/tux/secondary')
|
|
||||||
|
|
||||||
# Disk subtitle.
|
|
||||||
# What to append to the Disk subtitle.
|
|
||||||
#
|
|
||||||
# Default: 'mount'
|
|
||||||
# Values: 'mount', 'name', 'dir', 'none'
|
|
||||||
# Flag: --disk_subtitle
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# name: 'Disk (/dev/sda1): 74G / 118G (66%)'
|
|
||||||
# 'Disk (/dev/sdb2): 74G / 118G (66%)'
|
|
||||||
#
|
|
||||||
# mount: 'Disk (/): 74G / 118G (66%)'
|
|
||||||
# 'Disk (/mnt/Local Disk): 74G / 118G (66%)'
|
|
||||||
# 'Disk (/mnt/Videos): 74G / 118G (66%)'
|
|
||||||
#
|
|
||||||
# dir: 'Disk (/): 74G / 118G (66%)'
|
|
||||||
# 'Disk (Local Disk): 74G / 118G (66%)'
|
|
||||||
# 'Disk (Videos): 74G / 118G (66%)'
|
|
||||||
#
|
|
||||||
# none: 'Disk: 74G / 118G (66%)'
|
|
||||||
# 'Disk: 74G / 118G (66%)'
|
|
||||||
# 'Disk: 74G / 118G (66%)'
|
|
||||||
disk_subtitle="mount"
|
|
||||||
|
|
||||||
# Disk percent.
|
|
||||||
# Show/Hide disk percent.
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --disk_percent
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'Disk (/): 74G / 118G (66%)'
|
|
||||||
# off: 'Disk (/): 74G / 118G'
|
|
||||||
disk_percent="on"
|
|
||||||
|
|
||||||
|
|
||||||
# Song
|
|
||||||
|
|
||||||
|
|
||||||
# Manually specify a music player.
|
|
||||||
#
|
|
||||||
# Default: 'auto'
|
|
||||||
# Values: 'auto', 'player-name'
|
|
||||||
# Flag: --music_player
|
|
||||||
#
|
|
||||||
# Available values for 'player-name':
|
|
||||||
#
|
|
||||||
# amarok
|
|
||||||
# audacious
|
|
||||||
# banshee
|
|
||||||
# bluemindo
|
|
||||||
# clementine
|
|
||||||
# cmus
|
|
||||||
# deadbeef
|
|
||||||
# deepin-music
|
|
||||||
# dragon
|
|
||||||
# elisa
|
|
||||||
# exaile
|
|
||||||
# gnome-music
|
|
||||||
# gmusicbrowser
|
|
||||||
# gogglesmm
|
|
||||||
# guayadeque
|
|
||||||
# io.elementary.music
|
|
||||||
# iTunes
|
|
||||||
# juk
|
|
||||||
# lollypop
|
|
||||||
# mocp
|
|
||||||
# mopidy
|
|
||||||
# mpd
|
|
||||||
# muine
|
|
||||||
# netease-cloud-music
|
|
||||||
# olivia
|
|
||||||
# playerctl
|
|
||||||
# pogo
|
|
||||||
# pragha
|
|
||||||
# qmmp
|
|
||||||
# quodlibet
|
|
||||||
# rhythmbox
|
|
||||||
# sayonara
|
|
||||||
# smplayer
|
|
||||||
# spotify
|
|
||||||
# strawberry
|
|
||||||
# tauonmb
|
|
||||||
# tomahawk
|
|
||||||
# vlc
|
|
||||||
# xmms2d
|
|
||||||
# xnoise
|
|
||||||
# yarock
|
|
||||||
music_player="auto"
|
|
||||||
|
|
||||||
# Format to display song information.
|
|
||||||
#
|
|
||||||
# Default: '%artist% - %album% - %title%'
|
|
||||||
# Values: '%artist%', '%album%', '%title%'
|
|
||||||
# Flag: --song_format
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# default: 'Song: Jet - Get Born - Sgt Major'
|
|
||||||
song_format="%artist% - %album% - %title%"
|
|
||||||
|
|
||||||
# Print the Artist, Album and Title on separate lines
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --song_shorthand
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# on: 'Artist: The Fratellis'
|
|
||||||
# 'Album: Costello Music'
|
|
||||||
# 'Song: Chelsea Dagger'
|
|
||||||
#
|
|
||||||
# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger'
|
|
||||||
song_shorthand="off"
|
|
||||||
|
|
||||||
# 'mpc' arguments (specify a host, password etc).
|
|
||||||
#
|
|
||||||
# Default: ''
|
|
||||||
# Example: mpc_args=(-h HOST -P PASSWORD)
|
|
||||||
mpc_args=()
|
|
||||||
|
|
||||||
|
|
||||||
# Text Colors
|
|
||||||
|
|
||||||
|
|
||||||
# Text Colors
|
|
||||||
#
|
|
||||||
# Default: 'distro'
|
|
||||||
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
|
|
||||||
# Flag: --colors
|
|
||||||
#
|
|
||||||
# Each number represents a different part of the text in
|
|
||||||
# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info'
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# colors=(distro) - Text is colored based on Distro colors.
|
|
||||||
# colors=(4 6 1 8 8 6) - Text is colored in the order above.
|
|
||||||
colors=(distro)
|
|
||||||
|
|
||||||
|
|
||||||
# Text Options
|
|
||||||
|
|
||||||
|
|
||||||
# Toggle bold text
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --bold
|
|
||||||
bold="on"
|
|
||||||
|
|
||||||
# Enable/Disable Underline
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --underline
|
|
||||||
underline_enabled="on"
|
|
||||||
|
|
||||||
# Underline character
|
|
||||||
#
|
|
||||||
# Default: '-'
|
|
||||||
# Values: 'string'
|
|
||||||
# Flag: --underline_char
|
|
||||||
underline_char="-"
|
|
||||||
|
|
||||||
|
|
||||||
# Info Separator
|
|
||||||
# Replace the default separator with the specified string.
|
|
||||||
#
|
|
||||||
# Default: ':'
|
|
||||||
# Flag: --separator
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# separator="->": 'Shell-> bash'
|
|
||||||
# separator=" =": 'WM = dwm'
|
|
||||||
separator=":"
|
|
||||||
|
|
||||||
|
|
||||||
# Color Blocks
|
|
||||||
|
|
||||||
|
|
||||||
# Color block range
|
|
||||||
# The range of colors to print.
|
|
||||||
#
|
|
||||||
# Default: '0', '15'
|
|
||||||
# Values: 'num'
|
|
||||||
# Flag: --block_range
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
#
|
|
||||||
# Display colors 0-7 in the blocks. (8 colors)
|
|
||||||
# neofetch --block_range 0 7
|
|
||||||
#
|
|
||||||
# Display colors 0-15 in the blocks. (16 colors)
|
|
||||||
# neofetch --block_range 0 15
|
|
||||||
block_range=(0 17)
|
|
||||||
|
|
||||||
# Toggle color blocks
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --color_blocks
|
|
||||||
color_blocks="on"
|
|
||||||
|
|
||||||
# Color block width in spaces
|
|
||||||
#
|
|
||||||
# Default: '3'
|
|
||||||
# Values: 'num'
|
|
||||||
# Flag: --block_width
|
|
||||||
block_width=3
|
|
||||||
|
|
||||||
# Color block height in lines
|
|
||||||
#
|
|
||||||
# Default: '1'
|
|
||||||
# Values: 'num'
|
|
||||||
# Flag: --block_height
|
|
||||||
block_height=1
|
|
||||||
|
|
||||||
# Color Alignment
|
|
||||||
#
|
|
||||||
# Default: 'auto'
|
|
||||||
# Values: 'auto', 'num'
|
|
||||||
# Flag: --col_offset
|
|
||||||
#
|
|
||||||
# Number specifies how far from the left side of the terminal (in spaces) to
|
|
||||||
# begin printing the columns, in case you want to e.g. center them under your
|
|
||||||
# text.
|
|
||||||
# Example:
|
|
||||||
# col_offset="auto" - Default behavior of neofetch
|
|
||||||
# col_offset=7 - Leave 7 spaces then print the colors
|
|
||||||
col_offset="auto"
|
|
||||||
|
|
||||||
# Progress Bars
|
|
||||||
|
|
||||||
|
|
||||||
# Bar characters
|
|
||||||
#
|
|
||||||
# Default: '-', '='
|
|
||||||
# Values: 'string', 'string'
|
|
||||||
# Flag: --bar_char
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# neofetch --bar_char 'elapsed' 'total'
|
|
||||||
# neofetch --bar_char '-' '='
|
|
||||||
bar_char_elapsed="-"
|
|
||||||
bar_char_total="="
|
|
||||||
|
|
||||||
# Toggle Bar border
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --bar_border
|
|
||||||
bar_border="on"
|
|
||||||
|
|
||||||
# Progress bar length in spaces
|
|
||||||
# Number of chars long to make the progress bars.
|
|
||||||
#
|
|
||||||
# Default: '15'
|
|
||||||
# Values: 'num'
|
|
||||||
# Flag: --bar_length
|
|
||||||
bar_length=15
|
|
||||||
|
|
||||||
# Progress bar colors
|
|
||||||
# When set to distro, uses your distro's logo colors.
|
|
||||||
#
|
|
||||||
# Default: 'distro', 'distro'
|
|
||||||
# Values: 'distro', 'num'
|
|
||||||
# Flag: --bar_colors
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# neofetch --bar_colors 3 4
|
|
||||||
# neofetch --bar_colors distro 5
|
|
||||||
bar_color_elapsed="distro"
|
|
||||||
bar_color_total="distro"
|
|
||||||
|
|
||||||
|
|
||||||
# Info display
|
|
||||||
# Display a bar with the info.
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'bar', 'infobar', 'barinfo', 'off'
|
|
||||||
# Flags: --cpu_display
|
|
||||||
# --memory_display
|
|
||||||
# --battery_display
|
|
||||||
# --disk_display
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# bar: '[---=======]'
|
|
||||||
# infobar: 'info [---=======]'
|
|
||||||
# barinfo: '[---=======] info'
|
|
||||||
# off: 'info'
|
|
||||||
cpu_display="on"
|
|
||||||
memory_display="on"
|
|
||||||
battery_display="on"
|
|
||||||
disk_display="on"
|
|
||||||
|
|
||||||
|
|
||||||
# Backend Settings
|
|
||||||
|
|
||||||
|
|
||||||
# Image backend.
|
|
||||||
#
|
|
||||||
# Default: 'ascii'
|
|
||||||
# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off',
|
|
||||||
# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty'
|
|
||||||
# Flag: --backend
|
|
||||||
image_backend="ascii"
|
|
||||||
|
|
||||||
# Image Source
|
|
||||||
#
|
|
||||||
# Which image or ascii file to display.
|
|
||||||
#
|
|
||||||
# Default: 'auto'
|
|
||||||
# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/'
|
|
||||||
# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")'
|
|
||||||
# Flag: --source
|
|
||||||
#
|
|
||||||
# NOTE: 'auto' will pick the best image source for whatever image backend is used.
|
|
||||||
# In ascii mode, distro ascii art will be used and in an image mode, your
|
|
||||||
# wallpaper will be used.
|
|
||||||
image_source="auto"
|
|
||||||
|
|
||||||
|
|
||||||
# Ascii Options
|
|
||||||
|
|
||||||
|
|
||||||
# Ascii distro
|
|
||||||
# Which distro's ascii art to display.
|
|
||||||
#
|
|
||||||
# Default: 'auto'
|
|
||||||
# Values: 'auto', 'distro_name'
|
|
||||||
# Flag: --ascii_distro
|
|
||||||
# NOTE: AIX, Alpine, Anarchy, Android, Antergos, antiX, "AOSC OS",
|
|
||||||
# "AOSC OS/Retro", Apricity, ArcoLinux, ArchBox, ARCHlabs,
|
|
||||||
# ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya, Bedrock,
|
|
||||||
# Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD,
|
|
||||||
# BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS,
|
|
||||||
# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover,
|
|
||||||
# Condres, Container_Linux, CRUX, Cucumber, Debian, Deepin,
|
|
||||||
# DesaOS, Devuan, DracOS, DarkOs, DragonFly, Drauger, Elementary,
|
|
||||||
# EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD,
|
|
||||||
# FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo,
|
|
||||||
# gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra,
|
|
||||||
# Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion,
|
|
||||||
# Korora, KSLinux, Kubuntu, LEDE, LFS, Linux_Lite,
|
|
||||||
# LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva,
|
|
||||||
# Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib,
|
|
||||||
# Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner,
|
|
||||||
# NuTyX, OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba,
|
|
||||||
# OpenMandriva, OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD,
|
|
||||||
# Parabola, Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint,
|
|
||||||
# popos, Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix,
|
|
||||||
# Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan,
|
|
||||||
# Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific,
|
|
||||||
# Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz,
|
|
||||||
# SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS,
|
|
||||||
# openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails,
|
|
||||||
# Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio,
|
|
||||||
# Ubuntu, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin,
|
|
||||||
# and IRIX have ascii logos
|
|
||||||
# NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants.
|
|
||||||
# Use '{distro name}_old' to use the old logos.
|
|
||||||
# NOTE: Ubuntu has flavor variants.
|
|
||||||
# Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME,
|
|
||||||
# Ubuntu-Studio, Ubuntu-Mate or Ubuntu-Budgie to use the flavors.
|
|
||||||
# NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu,
|
|
||||||
# CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android,
|
|
||||||
# Antrix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola,
|
|
||||||
# Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS,
|
|
||||||
# Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian,
|
|
||||||
# postmarketOS, and Void have a smaller logo variant.
|
|
||||||
# Use '{distro name}_small' to use the small variants.
|
|
||||||
ascii_distro="auto"
|
|
||||||
|
|
||||||
# Ascii Colors
|
|
||||||
#
|
|
||||||
# Default: 'distro'
|
|
||||||
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
|
|
||||||
# Flag: --ascii_colors
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# ascii_colors=(distro) - Ascii is colored based on Distro colors.
|
|
||||||
# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors.
|
|
||||||
ascii_colors=(distro)
|
|
||||||
|
|
||||||
# Bold ascii logo
|
|
||||||
# Whether or not to bold the ascii logo.
|
|
||||||
#
|
|
||||||
# Default: 'on'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --ascii_bold
|
|
||||||
ascii_bold="on"
|
|
||||||
|
|
||||||
|
|
||||||
# Image Options
|
|
||||||
|
|
||||||
|
|
||||||
# Image loop
|
|
||||||
# Setting this to on will make neofetch redraw the image constantly until
|
|
||||||
# Ctrl+C is pressed. This fixes display issues in some terminal emulators.
|
|
||||||
#
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
# Flag: --loop
|
|
||||||
image_loop="off"
|
|
||||||
|
|
||||||
# Thumbnail directory
|
|
||||||
#
|
|
||||||
# Default: '~/.cache/thumbnails/neofetch'
|
|
||||||
# Values: 'dir'
|
|
||||||
thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
|
|
||||||
|
|
||||||
# Crop mode
|
|
||||||
#
|
|
||||||
# Default: 'normal'
|
|
||||||
# Values: 'normal', 'fit', 'fill'
|
|
||||||
# Flag: --crop_mode
|
|
||||||
#
|
|
||||||
# See this wiki page to learn about the fit and fill options.
|
|
||||||
# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F
|
|
||||||
crop_mode="normal"
|
|
||||||
|
|
||||||
# Crop offset
|
|
||||||
# Note: Only affects 'normal' crop mode.
|
|
||||||
#
|
|
||||||
# Default: 'center'
|
|
||||||
# Values: 'northwest', 'north', 'northeast', 'west', 'center'
|
|
||||||
# 'east', 'southwest', 'south', 'southeast'
|
|
||||||
# Flag: --crop_offset
|
|
||||||
crop_offset="center"
|
|
||||||
|
|
||||||
# Image size
|
|
||||||
# The image is half the terminal width by default.
|
|
||||||
#
|
|
||||||
# Default: 'auto'
|
|
||||||
# Values: 'auto', '00px', '00%', 'none'
|
|
||||||
# Flags: --image_size
|
|
||||||
# --size
|
|
||||||
image_size="auto"
|
|
||||||
|
|
||||||
# Gap between image and text
|
|
||||||
#
|
|
||||||
# Default: '3'
|
|
||||||
# Values: 'num', '-num'
|
|
||||||
# Flag: --gap
|
|
||||||
gap=3
|
|
||||||
|
|
||||||
# Image offsets
|
|
||||||
# Only works with the w3m backend.
|
|
||||||
#
|
|
||||||
# Default: '0'
|
|
||||||
# Values: 'px'
|
|
||||||
# Flags: --xoffset
|
|
||||||
# --yoffset
|
|
||||||
yoffset=0
|
|
||||||
xoffset=0
|
|
||||||
|
|
||||||
# Image background color
|
|
||||||
# Only works with the w3m backend.
|
|
||||||
#
|
|
||||||
# Default: ''
|
|
||||||
# Values: 'color', 'blue'
|
|
||||||
# Flag: --bg_color
|
|
||||||
background_color=
|
|
||||||
|
|
||||||
|
|
||||||
# Misc Options
|
|
||||||
|
|
||||||
# Stdout mode
|
|
||||||
# Turn off all colors and disables image backend (ASCII/Image).
|
|
||||||
# Useful for piping into another command.
|
|
||||||
# Default: 'off'
|
|
||||||
# Values: 'on', 'off'
|
|
||||||
stdout="off"
|
|
|
@ -1,62 +0,0 @@
|
||||||
# This is a sample commands.py. You can add your own commands here.
|
|
||||||
#
|
|
||||||
# Please refer to commands_full.py for all the default commands and a complete
|
|
||||||
# documentation. Do NOT add them all here, or you may end up with defunct
|
|
||||||
# commands when upgrading ranger.
|
|
||||||
|
|
||||||
# A simple command for demonstration purposes follows.
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
from __future__ import (absolute_import, division, print_function)
|
|
||||||
|
|
||||||
# You can import any python module as needed.
|
|
||||||
import os
|
|
||||||
|
|
||||||
# You always need to import ranger.api.commands here to get the Command class:
|
|
||||||
from ranger.api.commands import Command
|
|
||||||
|
|
||||||
|
|
||||||
# Any class that is a subclass of "Command" will be integrated into ranger as a
|
|
||||||
# command. Try typing ":my_edit<ENTER>" in ranger!
|
|
||||||
class my_edit(Command):
|
|
||||||
# The so-called doc-string of the class will be visible in the built-in
|
|
||||||
# help that is accessible by typing "?c" inside ranger.
|
|
||||||
""":my_edit <filename>
|
|
||||||
|
|
||||||
A sample command for demonstration purposes that opens a file in an editor.
|
|
||||||
"""
|
|
||||||
|
|
||||||
# The execute method is called when you run this command in ranger.
|
|
||||||
def execute(self):
|
|
||||||
# self.arg(1) is the first (space-separated) argument to the function.
|
|
||||||
# This way you can write ":my_edit somefilename<ENTER>".
|
|
||||||
if self.arg(1):
|
|
||||||
# self.rest(1) contains self.arg(1) and everything that follows
|
|
||||||
target_filename = self.rest(1)
|
|
||||||
else:
|
|
||||||
# self.fm is a ranger.core.filemanager.FileManager object and gives
|
|
||||||
# you access to internals of ranger.
|
|
||||||
# self.fm.thisfile is a ranger.container.file.File object and is a
|
|
||||||
# reference to the currently selected file.
|
|
||||||
target_filename = self.fm.thisfile.path
|
|
||||||
|
|
||||||
# This is a generic function to print text in ranger.
|
|
||||||
self.fm.notify("Let's edit the file " + target_filename + "!")
|
|
||||||
|
|
||||||
# Using bad=True in fm.notify allows you to print error messages:
|
|
||||||
if not os.path.exists(target_filename):
|
|
||||||
self.fm.notify("The given file does not exist!", bad=True)
|
|
||||||
return
|
|
||||||
|
|
||||||
# This executes a function from ranger.core.acitons, a module with a
|
|
||||||
# variety of subroutines that can help you construct commands.
|
|
||||||
# Check out the source, or run "pydoc ranger.core.actions" for a list.
|
|
||||||
self.fm.edit_file(target_filename)
|
|
||||||
|
|
||||||
# The tab method is called when you press tab, and should return a list of
|
|
||||||
# suggestions that the user will tab through.
|
|
||||||
# tabnum is 1 for <TAB> and -1 for <S-TAB> by default
|
|
||||||
def tab(self, tabnum):
|
|
||||||
# This is a generic tab-completion function that iterates through the
|
|
||||||
# content of the current directory.
|
|
||||||
return self._tab_directory_content()
|
|
|
@ -1,759 +0,0 @@
|
||||||
# ===================================================================
|
|
||||||
# This file contains the default startup commands for ranger.
|
|
||||||
# To change them, it is recommended to create either /etc/ranger/rc.conf
|
|
||||||
# (system-wide) or ~/.config/ranger/rc.conf (per user) and add your custom
|
|
||||||
# commands there.
|
|
||||||
#
|
|
||||||
# If you copy this whole file there, you may want to set the environment
|
|
||||||
# variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice.
|
|
||||||
#
|
|
||||||
# The purpose of this file is mainly to define keybindings and settings.
|
|
||||||
# For running more complex python code, please create a plugin in "plugins/" or
|
|
||||||
# a command in "commands.py".
|
|
||||||
#
|
|
||||||
# Each line is a command that will be run before the user interface
|
|
||||||
# is initialized. As a result, you can not use commands which rely
|
|
||||||
# on the UI such as :delete or :mark.
|
|
||||||
# ===================================================================
|
|
||||||
|
|
||||||
# ===================================================================
|
|
||||||
# == Options
|
|
||||||
# ===================================================================
|
|
||||||
|
|
||||||
# Which viewmode should be used? Possible values are:
|
|
||||||
# miller: Use miller columns which show multiple levels of the hierarchy
|
|
||||||
# multipane: Midnight-commander like multipane view showing all tabs next
|
|
||||||
# to each other
|
|
||||||
set viewmode miller
|
|
||||||
#set viewmode multipane
|
|
||||||
|
|
||||||
# How many columns are there, and what are their relative widths?
|
|
||||||
set column_ratios 1,3,4
|
|
||||||
|
|
||||||
# Which files should be hidden? (regular expression)
|
|
||||||
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
|
|
||||||
|
|
||||||
# Show hidden files? You can toggle this by typing 'zh'
|
|
||||||
set show_hidden false
|
|
||||||
|
|
||||||
# Ask for a confirmation when running the "delete" command?
|
|
||||||
# Valid values are "always", "never", "multiple" (default)
|
|
||||||
# With "multiple", ranger will ask only if you delete multiple files at once.
|
|
||||||
set confirm_on_delete multiple
|
|
||||||
|
|
||||||
# Use non-default path for file preview script?
|
|
||||||
# ranger ships with scope.sh, a script that calls external programs (see
|
|
||||||
# README.md for dependencies) to preview images, archives, etc.
|
|
||||||
#set preview_script ~/.config/ranger/scope.sh
|
|
||||||
|
|
||||||
# Use the external preview script or display simple plain text or image previews?
|
|
||||||
set use_preview_script true
|
|
||||||
|
|
||||||
# Automatically count files in the directory, even before entering them?
|
|
||||||
set automatically_count_files true
|
|
||||||
|
|
||||||
# Open all images in this directory when running certain image viewers
|
|
||||||
# like feh or sxiv? You can still open selected files by marking them.
|
|
||||||
set open_all_images true
|
|
||||||
|
|
||||||
# Be aware of version control systems and display information.
|
|
||||||
set vcs_aware false
|
|
||||||
|
|
||||||
# State of the four backends git, hg, bzr, svn. The possible states are
|
|
||||||
# disabled, local (only show local info), enabled (show local and remote
|
|
||||||
# information).
|
|
||||||
set vcs_backend_git enabled
|
|
||||||
set vcs_backend_hg disabled
|
|
||||||
set vcs_backend_bzr disabled
|
|
||||||
set vcs_backend_svn disabled
|
|
||||||
|
|
||||||
# Truncate the long commit messages to this length when shown in the statusbar.
|
|
||||||
set vcs_msg_length 50
|
|
||||||
|
|
||||||
# Use one of the supported image preview protocols
|
|
||||||
set preview_images false
|
|
||||||
|
|
||||||
# Set the preview image method. Supported methods:
|
|
||||||
#
|
|
||||||
# * w3m (default):
|
|
||||||
# Preview images in full color with the external command "w3mimgpreview"?
|
|
||||||
# This requires the console web browser "w3m" and a supported terminal.
|
|
||||||
# It has been successfully tested with "xterm" and "urxvt" without tmux.
|
|
||||||
#
|
|
||||||
# * iterm2:
|
|
||||||
# Preview images in full color using iTerm2 image previews
|
|
||||||
# (http://iterm2.com/images.html). This requires using iTerm2 compiled
|
|
||||||
# with image preview support.
|
|
||||||
#
|
|
||||||
# This feature relies on the dimensions of the terminal's font. By default, a
|
|
||||||
# width of 8 and height of 11 are used. To use other values, set the options
|
|
||||||
# iterm2_font_width and iterm2_font_height to the desired values.
|
|
||||||
#
|
|
||||||
# * terminology:
|
|
||||||
# Previews images in full color in the terminology terminal emulator.
|
|
||||||
# Supports a wide variety of formats, even vector graphics like svg.
|
|
||||||
#
|
|
||||||
# * urxvt:
|
|
||||||
# Preview images in full color using urxvt image backgrounds. This
|
|
||||||
# requires using urxvt compiled with pixbuf support.
|
|
||||||
#
|
|
||||||
# * urxvt-full:
|
|
||||||
# The same as urxvt but utilizing not only the preview pane but the
|
|
||||||
# whole terminal window.
|
|
||||||
#
|
|
||||||
# * kitty:
|
|
||||||
# Preview images in full color using kitty image protocol.
|
|
||||||
# Requires python PIL or pillow library.
|
|
||||||
# If ranger does not share the local filesystem with kitty
|
|
||||||
# the transfer method is changed to encode the whole image;
|
|
||||||
# while slower, this allows remote previews,
|
|
||||||
# for example during an ssh session.
|
|
||||||
# Tmux is unsupported.
|
|
||||||
#
|
|
||||||
# * ueberzug:
|
|
||||||
# Preview images in full color with the external command "ueberzug".
|
|
||||||
# Images are shown by using a child window.
|
|
||||||
# Only for users who run X11 in GNU/Linux.
|
|
||||||
set preview_images_method kitty
|
|
||||||
|
|
||||||
# Delay in seconds before displaying an image with the w3m method.
|
|
||||||
# Increase it in case of experiencing display corruption.
|
|
||||||
set w3m_delay 0.02
|
|
||||||
|
|
||||||
# Manually adjust the w3mimg offset when using a terminal which needs this
|
|
||||||
set w3m_offset 0
|
|
||||||
|
|
||||||
# Default iTerm2 font size (see: preview_images_method: iterm2)
|
|
||||||
set iterm2_font_width 8
|
|
||||||
set iterm2_font_height 11
|
|
||||||
|
|
||||||
# Use a unicode "..." character to mark cut-off filenames?
|
|
||||||
set unicode_ellipsis false
|
|
||||||
|
|
||||||
# BIDI support - try to properly display file names in RTL languages (Hebrew, Arabic).
|
|
||||||
# Requires the python-bidi pip package
|
|
||||||
set bidi_support false
|
|
||||||
|
|
||||||
# Show dotfiles in the bookmark preview box?
|
|
||||||
set show_hidden_bookmarks true
|
|
||||||
|
|
||||||
# Which colorscheme to use? These colorschemes are available by default:
|
|
||||||
# default, jungle, snow, solarized
|
|
||||||
set colorscheme default
|
|
||||||
|
|
||||||
# Preview files on the rightmost column?
|
|
||||||
# And collapse (shrink) the last column if there is nothing to preview?
|
|
||||||
set preview_files true
|
|
||||||
set preview_directories true
|
|
||||||
set collapse_preview true
|
|
||||||
|
|
||||||
# Wrap long lines in plain text previews?
|
|
||||||
set wrap_plaintext_previews false
|
|
||||||
|
|
||||||
# Save the console history on exit?
|
|
||||||
set save_console_history true
|
|
||||||
|
|
||||||
# Draw the status bar on top of the browser window (default: bottom)
|
|
||||||
set status_bar_on_top false
|
|
||||||
|
|
||||||
# Draw a progress bar in the status bar which displays the average state of all
|
|
||||||
# currently running tasks which support progress bars?
|
|
||||||
set draw_progress_bar_in_status_bar true
|
|
||||||
|
|
||||||
# Draw borders around columns? (separators, outline, both, or none)
|
|
||||||
# Separators are vertical lines between columns.
|
|
||||||
# Outline draws a box around all the columns.
|
|
||||||
# Both combines the two.
|
|
||||||
set draw_borders none
|
|
||||||
|
|
||||||
# Display the directory name in tabs?
|
|
||||||
set dirname_in_tabs false
|
|
||||||
|
|
||||||
# Enable the mouse support?
|
|
||||||
set mouse_enabled true
|
|
||||||
|
|
||||||
# Display the file size in the main column or status bar?
|
|
||||||
set display_size_in_main_column true
|
|
||||||
set display_size_in_status_bar true
|
|
||||||
|
|
||||||
# Display the free disk space in the status bar?
|
|
||||||
set display_free_space_in_status_bar true
|
|
||||||
|
|
||||||
# Display files tags in all columns or only in main column?
|
|
||||||
set display_tags_in_all_columns true
|
|
||||||
|
|
||||||
# Set a title for the window? Updates both `WM_NAME` and `WM_ICON_NAME`
|
|
||||||
set update_title false
|
|
||||||
|
|
||||||
# Set the tmux/screen window-name to "ranger"?
|
|
||||||
set update_tmux_title true
|
|
||||||
|
|
||||||
# Shorten the title if it gets long? The number defines how many
|
|
||||||
# directories are displayed at once, 0 turns off this feature.
|
|
||||||
set shorten_title 3
|
|
||||||
|
|
||||||
# Show hostname in titlebar?
|
|
||||||
set hostname_in_titlebar true
|
|
||||||
|
|
||||||
# Abbreviate $HOME with ~ in the titlebar (first line) of ranger?
|
|
||||||
set tilde_in_titlebar false
|
|
||||||
|
|
||||||
# How many directory-changes or console-commands should be kept in history?
|
|
||||||
set max_history_size 20
|
|
||||||
set max_console_history_size 50
|
|
||||||
|
|
||||||
# Try to keep so much space between the top/bottom border when scrolling:
|
|
||||||
set scroll_offset 8
|
|
||||||
|
|
||||||
# Flush the input after each key hit? (Noticeable when ranger lags)
|
|
||||||
set flushinput true
|
|
||||||
|
|
||||||
# Padding on the right when there's no preview?
|
|
||||||
# This allows you to click into the space to run the file.
|
|
||||||
set padding_right true
|
|
||||||
|
|
||||||
# Save bookmarks (used with mX and `X) instantly?
|
|
||||||
# This helps to synchronize bookmarks between multiple ranger
|
|
||||||
# instances but leads to *slight* performance loss.
|
|
||||||
# When false, bookmarks are saved when ranger is exited.
|
|
||||||
set autosave_bookmarks true
|
|
||||||
|
|
||||||
# Save the "`" bookmark to disk. This can be used to switch to the last
|
|
||||||
# directory by typing "``".
|
|
||||||
set save_backtick_bookmark true
|
|
||||||
|
|
||||||
# You can display the "real" cumulative size of directories by using the
|
|
||||||
# command :get_cumulative_size or typing "dc". The size is expensive to
|
|
||||||
# calculate and will not be updated automatically. You can choose
|
|
||||||
# to update it automatically though by turning on this option:
|
|
||||||
set autoupdate_cumulative_size false
|
|
||||||
|
|
||||||
# Turning this on makes sense for screen readers:
|
|
||||||
set show_cursor false
|
|
||||||
|
|
||||||
# One of: size, natural, basename, atime, ctime, mtime, type, random
|
|
||||||
set sort natural
|
|
||||||
|
|
||||||
# Additional sorting options
|
|
||||||
set sort_reverse false
|
|
||||||
set sort_case_insensitive true
|
|
||||||
set sort_directories_first true
|
|
||||||
set sort_unicode false
|
|
||||||
|
|
||||||
# Enable this if key combinations with the Alt Key don't work for you.
|
|
||||||
# (Especially on xterm)
|
|
||||||
set xterm_alt_key false
|
|
||||||
|
|
||||||
# Whether to include bookmarks in cd command
|
|
||||||
set cd_bookmarks true
|
|
||||||
|
|
||||||
# Changes case sensitivity for the cd command tab completion
|
|
||||||
set cd_tab_case sensitive
|
|
||||||
|
|
||||||
# Use fuzzy tab completion with the "cd" command. For example,
|
|
||||||
# ":cd /u/lo/b<tab>" expands to ":cd /usr/local/bin".
|
|
||||||
set cd_tab_fuzzy false
|
|
||||||
|
|
||||||
# Avoid previewing files larger than this size, in bytes. Use a value of 0 to
|
|
||||||
# disable this feature.
|
|
||||||
set preview_max_size 0
|
|
||||||
|
|
||||||
# The key hint lists up to this size have their sublists expanded.
|
|
||||||
# Otherwise the submaps are replaced with "...".
|
|
||||||
set hint_collapse_threshold 10
|
|
||||||
|
|
||||||
# Add the highlighted file to the path in the titlebar
|
|
||||||
set show_selection_in_titlebar true
|
|
||||||
|
|
||||||
# The delay that ranger idly waits for user input, in milliseconds, with a
|
|
||||||
# resolution of 100ms. Lower delay reduces lag between directory updates but
|
|
||||||
# increases CPU load.
|
|
||||||
set idle_delay 2000
|
|
||||||
|
|
||||||
# When the metadata manager module looks for metadata, should it only look for
|
|
||||||
# a ".metadata.json" file in the current directory, or do a deep search and
|
|
||||||
# check all directories above the current one as well?
|
|
||||||
set metadata_deep_search false
|
|
||||||
|
|
||||||
# Clear all existing filters when leaving a directory
|
|
||||||
set clear_filters_on_dir_change false
|
|
||||||
|
|
||||||
# Disable displaying line numbers in main column.
|
|
||||||
# Possible values: false, absolute, relative.
|
|
||||||
set line_numbers false
|
|
||||||
|
|
||||||
# When line_numbers=relative show the absolute line number in the
|
|
||||||
# current line.
|
|
||||||
set relative_current_zero false
|
|
||||||
|
|
||||||
# Start line numbers from 1 instead of 0
|
|
||||||
set one_indexed false
|
|
||||||
|
|
||||||
# Save tabs on exit
|
|
||||||
set save_tabs_on_exit false
|
|
||||||
|
|
||||||
# Enable scroll wrapping - moving down while on the last item will wrap around to
|
|
||||||
# the top and vice versa.
|
|
||||||
set wrap_scroll false
|
|
||||||
|
|
||||||
# Set the global_inode_type_filter to nothing. Possible options: d, f and l for
|
|
||||||
# directories, files and symlinks respectively.
|
|
||||||
set global_inode_type_filter
|
|
||||||
|
|
||||||
# This setting allows to freeze the list of files to save I/O bandwidth. It
|
|
||||||
# should be 'false' during start-up, but you can toggle it by pressing F.
|
|
||||||
set freeze_files false
|
|
||||||
|
|
||||||
# Print file sizes in bytes instead of the default human-readable format.
|
|
||||||
set size_in_bytes false
|
|
||||||
|
|
||||||
# Warn at startup if RANGER_LEVEL env var is greater than 0, in other words
|
|
||||||
# give a warning when you nest ranger in a subshell started by ranger.
|
|
||||||
# Special value "error" makes the warning more visible.
|
|
||||||
set nested_ranger_warning true
|
|
||||||
|
|
||||||
# ===================================================================
|
|
||||||
# == Local Options
|
|
||||||
# ===================================================================
|
|
||||||
# You can set local options that only affect a single directory.
|
|
||||||
|
|
||||||
# Examples:
|
|
||||||
# setlocal path=~/downloads sort mtime
|
|
||||||
|
|
||||||
# ===================================================================
|
|
||||||
# == Command Aliases in the Console
|
|
||||||
# ===================================================================
|
|
||||||
|
|
||||||
alias e edit
|
|
||||||
alias q quit
|
|
||||||
alias q! quit!
|
|
||||||
alias qa quitall
|
|
||||||
alias qa! quitall!
|
|
||||||
alias qall quitall
|
|
||||||
alias qall! quitall!
|
|
||||||
alias setl setlocal
|
|
||||||
|
|
||||||
alias filter scout -prts
|
|
||||||
alias find scout -aets
|
|
||||||
alias mark scout -mr
|
|
||||||
alias unmark scout -Mr
|
|
||||||
alias search scout -rs
|
|
||||||
alias search_inc scout -rts
|
|
||||||
alias travel scout -aefklst
|
|
||||||
|
|
||||||
# ===================================================================
|
|
||||||
# == Define keys for the browser
|
|
||||||
# ===================================================================
|
|
||||||
|
|
||||||
# Basic
|
|
||||||
map 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 <A-j> scroll_preview 1
|
|
||||||
map <A-k> scroll_preview -1
|
|
||||||
map ? help
|
|
||||||
map W display_log
|
|
||||||
map w taskview_open
|
|
||||||
map S shell $SHELL
|
|
||||||
|
|
||||||
map : console
|
|
||||||
map ; console
|
|
||||||
map ! console shell%space
|
|
||||||
map @ console -p6 shell %%s
|
|
||||||
map # console shell -p%space
|
|
||||||
map s console shell%space
|
|
||||||
map r chain draw_possible_programs; console open_with%space
|
|
||||||
map f console find%space
|
|
||||||
map cd console cd%space
|
|
||||||
|
|
||||||
map <C-p> chain console; eval fm.ui.console.history_move(-1)
|
|
||||||
|
|
||||||
# Change the line mode
|
|
||||||
map Mf linemode filename
|
|
||||||
map Mi linemode fileinfo
|
|
||||||
map Mm linemode mtime
|
|
||||||
map Mh linemode humanreadablemtime
|
|
||||||
map Mp linemode permissions
|
|
||||||
map Ms linemode sizemtime
|
|
||||||
map MH linemode sizehumanreadablemtime
|
|
||||||
map Mt linemode metatitle
|
|
||||||
|
|
||||||
# Tagging / Marking
|
|
||||||
map t tag_toggle
|
|
||||||
map ut tag_remove
|
|
||||||
map "<any> tag_toggle tag=%any
|
|
||||||
map <Space> mark_files toggle=True
|
|
||||||
map v mark_files all=True toggle=True
|
|
||||||
map uv mark_files all=True val=False
|
|
||||||
map V toggle_visual_mode
|
|
||||||
map uV toggle_visual_mode reverse=True
|
|
||||||
|
|
||||||
# For the nostalgics: Midnight Commander bindings
|
|
||||||
map <F1> help
|
|
||||||
map <F2> rename_append
|
|
||||||
map <F3> display_file
|
|
||||||
map <F4> edit
|
|
||||||
map <F5> copy
|
|
||||||
map <F6> cut
|
|
||||||
map <F7> console mkdir%space
|
|
||||||
map <F8> console delete
|
|
||||||
#map <F8> console trash
|
|
||||||
map <F10> exit
|
|
||||||
|
|
||||||
# In case you work on a keyboard with dvorak layout
|
|
||||||
map <UP> move up=1
|
|
||||||
map <DOWN> move down=1
|
|
||||||
map <LEFT> move left=1
|
|
||||||
map <RIGHT> move right=1
|
|
||||||
map <HOME> move to=0
|
|
||||||
map <END> move to=-1
|
|
||||||
map <PAGEDOWN> move down=1 pages=True
|
|
||||||
map <PAGEUP> move up=1 pages=True
|
|
||||||
map <CR> move right=1
|
|
||||||
#map <DELETE> console delete
|
|
||||||
map <INSERT> console touch%space
|
|
||||||
|
|
||||||
# VIM-like
|
|
||||||
copymap <UP> k
|
|
||||||
copymap <DOWN> j
|
|
||||||
copymap <LEFT> h
|
|
||||||
copymap <RIGHT> l
|
|
||||||
copymap <HOME> gg
|
|
||||||
copymap <END> G
|
|
||||||
copymap <PAGEDOWN> <C-F>
|
|
||||||
copymap <PAGEUP> <C-B>
|
|
||||||
|
|
||||||
map J move down=0.5 pages=True
|
|
||||||
map K move up=0.5 pages=True
|
|
||||||
copymap J <C-D>
|
|
||||||
copymap K <C-U>
|
|
||||||
|
|
||||||
# Jumping around
|
|
||||||
map H history_go -1
|
|
||||||
map L history_go 1
|
|
||||||
map ] move_parent 1
|
|
||||||
map [ move_parent -1
|
|
||||||
map } traverse
|
|
||||||
map { traverse_backwards
|
|
||||||
map ) jump_non
|
|
||||||
|
|
||||||
map gh cd ~
|
|
||||||
map ge cd /etc
|
|
||||||
map gu cd /usr
|
|
||||||
map gd cd /dev
|
|
||||||
map gl cd -r .
|
|
||||||
map gL cd -r %f
|
|
||||||
map go cd /opt
|
|
||||||
map gv cd /var
|
|
||||||
map gm cd /media
|
|
||||||
map gi eval fm.cd('/run/media/' + os.getenv('USER'))
|
|
||||||
map gM cd /mnt
|
|
||||||
map gs cd /srv
|
|
||||||
map gp cd /tmp
|
|
||||||
map gr cd /
|
|
||||||
map gR eval fm.cd(ranger.RANGERDIR)
|
|
||||||
map g/ cd /
|
|
||||||
map g? cd /usr/share/doc/ranger
|
|
||||||
|
|
||||||
# External Programs
|
|
||||||
map E edit
|
|
||||||
map du shell -p du --max-depth=1 -h --apparent-size
|
|
||||||
map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh
|
|
||||||
map yp yank path
|
|
||||||
map yd yank dir
|
|
||||||
map yn yank name
|
|
||||||
map y. yank name_without_extension
|
|
||||||
|
|
||||||
# Filesystem Operations
|
|
||||||
map = chmod
|
|
||||||
|
|
||||||
map cw console rename%space
|
|
||||||
map a rename_append
|
|
||||||
map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"))
|
|
||||||
map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7)
|
|
||||||
|
|
||||||
map pp paste
|
|
||||||
map po paste overwrite=True
|
|
||||||
map pP paste append=True
|
|
||||||
map pO paste overwrite=True append=True
|
|
||||||
map pl paste_symlink relative=False
|
|
||||||
map pL paste_symlink relative=True
|
|
||||||
map phl paste_hardlink
|
|
||||||
map pht paste_hardlinked_subtree
|
|
||||||
map pd console paste dest=
|
|
||||||
map p`<any> paste dest=%any_path
|
|
||||||
map p'<any> paste dest=%any_path
|
|
||||||
|
|
||||||
map dD console delete
|
|
||||||
map dT console trash
|
|
||||||
|
|
||||||
map dd cut
|
|
||||||
map ud uncut
|
|
||||||
map da cut mode=add
|
|
||||||
map dr cut mode=remove
|
|
||||||
map dt cut mode=toggle
|
|
||||||
|
|
||||||
map yy copy
|
|
||||||
map uy uncut
|
|
||||||
map ya copy mode=add
|
|
||||||
map yr copy mode=remove
|
|
||||||
map yt copy mode=toggle
|
|
||||||
|
|
||||||
# Temporary workarounds
|
|
||||||
map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
|
|
||||||
map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
|
|
||||||
map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier)
|
|
||||||
map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier)
|
|
||||||
map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
|
|
||||||
map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
|
|
||||||
map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
|
|
||||||
map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
|
|
||||||
|
|
||||||
# Searching
|
|
||||||
map / console search%space
|
|
||||||
map n search_next
|
|
||||||
map N search_next forward=False
|
|
||||||
map ct search_next order=tag
|
|
||||||
map cs search_next order=size
|
|
||||||
map ci search_next order=mimetype
|
|
||||||
map cc search_next order=ctime
|
|
||||||
map cm search_next order=mtime
|
|
||||||
map ca search_next order=atime
|
|
||||||
|
|
||||||
# Tabs
|
|
||||||
map <C-n> tab_new
|
|
||||||
map <C-w> tab_close
|
|
||||||
map <TAB> tab_move 1
|
|
||||||
map <S-TAB> tab_move -1
|
|
||||||
map <A-Right> tab_move 1
|
|
||||||
map <A-Left> tab_move -1
|
|
||||||
map gt tab_move 1
|
|
||||||
map gT tab_move -1
|
|
||||||
map gn tab_new
|
|
||||||
map gc tab_close
|
|
||||||
map uq tab_restore
|
|
||||||
map <a-1> tab_open 1
|
|
||||||
map <a-2> tab_open 2
|
|
||||||
map <a-3> tab_open 3
|
|
||||||
map <a-4> tab_open 4
|
|
||||||
map <a-5> tab_open 5
|
|
||||||
map <a-6> tab_open 6
|
|
||||||
map <a-7> tab_open 7
|
|
||||||
map <a-8> tab_open 8
|
|
||||||
map <a-9> tab_open 9
|
|
||||||
map <a-r> tab_shift 1
|
|
||||||
map <a-l> tab_shift -1
|
|
||||||
|
|
||||||
# Sorting
|
|
||||||
map or set sort_reverse!
|
|
||||||
map oz set sort=random
|
|
||||||
map os chain set sort=size; set sort_reverse=False
|
|
||||||
map ob chain set sort=basename; set sort_reverse=False
|
|
||||||
map on chain set sort=natural; set sort_reverse=False
|
|
||||||
map om chain set sort=mtime; set sort_reverse=False
|
|
||||||
map oc chain set sort=ctime; set sort_reverse=False
|
|
||||||
map oa chain set sort=atime; set sort_reverse=False
|
|
||||||
map ot chain set sort=type; set sort_reverse=False
|
|
||||||
map oe chain set sort=extension; set sort_reverse=False
|
|
||||||
|
|
||||||
map oS chain set sort=size; set sort_reverse=True
|
|
||||||
map oB chain set sort=basename; set sort_reverse=True
|
|
||||||
map oN chain set sort=natural; set sort_reverse=True
|
|
||||||
map oM chain set sort=mtime; set sort_reverse=True
|
|
||||||
map oC chain set sort=ctime; set sort_reverse=True
|
|
||||||
map oA chain set sort=atime; set sort_reverse=True
|
|
||||||
map oT chain set sort=type; set sort_reverse=True
|
|
||||||
map oE chain set sort=extension; set sort_reverse=True
|
|
||||||
|
|
||||||
map dc get_cumulative_size
|
|
||||||
|
|
||||||
# Settings
|
|
||||||
map zc set collapse_preview!
|
|
||||||
map zd set sort_directories_first!
|
|
||||||
map zh set show_hidden!
|
|
||||||
map <C-h> set show_hidden!
|
|
||||||
copymap <C-h> <backspace>
|
|
||||||
copymap <backspace> <backspace2>
|
|
||||||
map zI set flushinput!
|
|
||||||
map zi set preview_images!
|
|
||||||
map zm set mouse_enabled!
|
|
||||||
map zp set preview_files!
|
|
||||||
map zP set preview_directories!
|
|
||||||
map zs set sort_case_insensitive!
|
|
||||||
map zu set autoupdate_cumulative_size!
|
|
||||||
map zv set use_preview_script!
|
|
||||||
map zf console filter%space
|
|
||||||
copymap zf zz
|
|
||||||
|
|
||||||
# Filter stack
|
|
||||||
map .d filter_stack add type d
|
|
||||||
map .f filter_stack add type f
|
|
||||||
map .l filter_stack add type l
|
|
||||||
map .m console filter_stack add mime%space
|
|
||||||
map .n console filter_stack add name%space
|
|
||||||
map .# console filter_stack add hash%space
|
|
||||||
map ." filter_stack add duplicate
|
|
||||||
map .' filter_stack add unique
|
|
||||||
map .| filter_stack add or
|
|
||||||
map .& filter_stack add and
|
|
||||||
map .! filter_stack add not
|
|
||||||
map .r filter_stack rotate
|
|
||||||
map .c filter_stack clear
|
|
||||||
map .* filter_stack decompose
|
|
||||||
map .p filter_stack pop
|
|
||||||
map .. filter_stack show
|
|
||||||
|
|
||||||
# Bookmarks
|
|
||||||
map `<any> enter_bookmark %any
|
|
||||||
map '<any> enter_bookmark %any
|
|
||||||
map m<any> set_bookmark %any
|
|
||||||
map um<any> unset_bookmark %any
|
|
||||||
|
|
||||||
map m<bg> draw_bookmarks
|
|
||||||
copymap m<bg> um<bg> `<bg> '<bg>
|
|
||||||
|
|
||||||
# Generate all the chmod bindings with some python help:
|
|
||||||
eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg))
|
|
||||||
eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg))
|
|
||||||
eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg))
|
|
||||||
eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg))
|
|
||||||
eval for arg in "rwxXst": cmd("map +{0} shell -f chmod u+{0} %s".format(arg))
|
|
||||||
|
|
||||||
eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg))
|
|
||||||
eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg))
|
|
||||||
eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg))
|
|
||||||
eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg))
|
|
||||||
eval for arg in "rwxXst": cmd("map -{0} shell -f chmod u-{0} %s".format(arg))
|
|
||||||
|
|
||||||
# ===================================================================
|
|
||||||
# == Define keys for the console
|
|
||||||
# ===================================================================
|
|
||||||
# Note: Unmapped keys are passed directly to the console.
|
|
||||||
|
|
||||||
# Basic
|
|
||||||
cmap <tab> eval fm.ui.console.tab()
|
|
||||||
cmap <s-tab> eval fm.ui.console.tab(-1)
|
|
||||||
cmap <ESC> eval fm.ui.console.close()
|
|
||||||
cmap <CR> eval fm.ui.console.execute()
|
|
||||||
cmap <C-l> redraw_window
|
|
||||||
|
|
||||||
copycmap <ESC> <C-c>
|
|
||||||
copycmap <CR> <C-j>
|
|
||||||
|
|
||||||
# Move around
|
|
||||||
cmap <up> eval fm.ui.console.history_move(-1)
|
|
||||||
cmap <down> eval fm.ui.console.history_move(1)
|
|
||||||
cmap <left> eval fm.ui.console.move(left=1)
|
|
||||||
cmap <right> eval fm.ui.console.move(right=1)
|
|
||||||
cmap <home> eval fm.ui.console.move(right=0, absolute=True)
|
|
||||||
cmap <end> eval fm.ui.console.move(right=-1, absolute=True)
|
|
||||||
cmap <a-b> eval fm.ui.console.move_word(left=1)
|
|
||||||
cmap <a-f> eval fm.ui.console.move_word(right=1)
|
|
||||||
|
|
||||||
copycmap <a-b> <a-left>
|
|
||||||
copycmap <a-f> <a-right>
|
|
||||||
|
|
||||||
# Line Editing
|
|
||||||
cmap <backspace> eval fm.ui.console.delete(-1)
|
|
||||||
cmap <delete> eval fm.ui.console.delete(0)
|
|
||||||
cmap <C-w> eval fm.ui.console.delete_word()
|
|
||||||
cmap <A-d> eval fm.ui.console.delete_word(backward=False)
|
|
||||||
cmap <C-k> eval fm.ui.console.delete_rest(1)
|
|
||||||
cmap <C-u> eval fm.ui.console.delete_rest(-1)
|
|
||||||
cmap <C-y> eval fm.ui.console.paste()
|
|
||||||
|
|
||||||
# And of course the emacs way
|
|
||||||
copycmap <ESC> <C-g>
|
|
||||||
copycmap <up> <C-p>
|
|
||||||
copycmap <down> <C-n>
|
|
||||||
copycmap <left> <C-b>
|
|
||||||
copycmap <right> <C-f>
|
|
||||||
copycmap <home> <C-a>
|
|
||||||
copycmap <end> <C-e>
|
|
||||||
copycmap <delete> <C-d>
|
|
||||||
copycmap <backspace> <C-h>
|
|
||||||
|
|
||||||
# Note: There are multiple ways to express backspaces. <backspace> (code 263)
|
|
||||||
# and <backspace2> (code 127). To be sure, use both.
|
|
||||||
copycmap <backspace> <backspace2>
|
|
||||||
|
|
||||||
# This special expression allows typing in numerals:
|
|
||||||
cmap <allow_quantifiers> false
|
|
||||||
|
|
||||||
# ===================================================================
|
|
||||||
# == Pager Keybindings
|
|
||||||
# ===================================================================
|
|
||||||
|
|
||||||
# Movement
|
|
||||||
pmap <down> pager_move down=1
|
|
||||||
pmap <up> pager_move up=1
|
|
||||||
pmap <left> pager_move left=4
|
|
||||||
pmap <right> pager_move right=4
|
|
||||||
pmap <home> pager_move to=0
|
|
||||||
pmap <end> pager_move to=-1
|
|
||||||
pmap <pagedown> pager_move down=1.0 pages=True
|
|
||||||
pmap <pageup> pager_move up=1.0 pages=True
|
|
||||||
pmap <C-d> pager_move down=0.5 pages=True
|
|
||||||
pmap <C-u> pager_move up=0.5 pages=True
|
|
||||||
|
|
||||||
copypmap <UP> k <C-p>
|
|
||||||
copypmap <DOWN> j <C-n> <CR>
|
|
||||||
copypmap <LEFT> h
|
|
||||||
copypmap <RIGHT> l
|
|
||||||
copypmap <HOME> g
|
|
||||||
copypmap <END> G
|
|
||||||
copypmap <C-d> d
|
|
||||||
copypmap <C-u> u
|
|
||||||
copypmap <PAGEDOWN> n f <C-F> <Space>
|
|
||||||
copypmap <PAGEUP> p b <C-B>
|
|
||||||
|
|
||||||
# Basic
|
|
||||||
pmap <C-l> redraw_window
|
|
||||||
pmap <ESC> pager_close
|
|
||||||
copypmap <ESC> q Q i <F3>
|
|
||||||
pmap E edit_file
|
|
||||||
|
|
||||||
# ===================================================================
|
|
||||||
# == Taskview Keybindings
|
|
||||||
# ===================================================================
|
|
||||||
|
|
||||||
# Movement
|
|
||||||
tmap <up> taskview_move up=1
|
|
||||||
tmap <down> taskview_move down=1
|
|
||||||
tmap <home> taskview_move to=0
|
|
||||||
tmap <end> taskview_move to=-1
|
|
||||||
tmap <pagedown> taskview_move down=1.0 pages=True
|
|
||||||
tmap <pageup> taskview_move up=1.0 pages=True
|
|
||||||
tmap <C-d> taskview_move down=0.5 pages=True
|
|
||||||
tmap <C-u> taskview_move up=0.5 pages=True
|
|
||||||
|
|
||||||
copytmap <UP> k <C-p>
|
|
||||||
copytmap <DOWN> j <C-n> <CR>
|
|
||||||
copytmap <HOME> g
|
|
||||||
copytmap <END> G
|
|
||||||
copytmap <C-u> u
|
|
||||||
copytmap <PAGEDOWN> n f <C-F> <Space>
|
|
||||||
copytmap <PAGEUP> p b <C-B>
|
|
||||||
|
|
||||||
# Changing priority and deleting tasks
|
|
||||||
tmap J eval -q fm.ui.taskview.task_move(-1)
|
|
||||||
tmap K eval -q fm.ui.taskview.task_move(0)
|
|
||||||
tmap dd eval -q fm.ui.taskview.task_remove()
|
|
||||||
tmap <pagedown> eval -q fm.ui.taskview.task_move(-1)
|
|
||||||
tmap <pageup> eval -q fm.ui.taskview.task_move(0)
|
|
||||||
tmap <delete> eval -q fm.ui.taskview.task_remove()
|
|
||||||
|
|
||||||
# Basic
|
|
||||||
tmap <C-l> redraw_window
|
|
||||||
tmap <ESC> taskview_close
|
|
||||||
copytmap <ESC> q Q w <C-c>
|
|
|
@ -1,284 +0,0 @@
|
||||||
# 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 | A graphical environment is available (darwin, Xorg, or Wayland)
|
|
||||||
#
|
|
||||||
# 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.
|
|
||||||
|
|
||||||
#-------------------------------------------
|
|
||||||
# Websites
|
|
||||||
#-------------------------------------------
|
|
||||||
# Rarely installed browsers get higher priority; It is assumed that if you
|
|
||||||
# install a rare browser, you probably use it. Firefox/konqueror/w3m on the
|
|
||||||
# other hand are often only installed as fallback browsers.
|
|
||||||
ext x?html?, has surf, X, flag f = surf -- file://"$1"
|
|
||||||
ext x?html?, has vimprobable, X, flag f = vimprobable -- "$@"
|
|
||||||
ext x?html?, has vimprobable2, X, flag f = vimprobable2 -- "$@"
|
|
||||||
ext x?html?, has qutebrowser, X, flag f = qutebrowser -- "$@"
|
|
||||||
ext x?html?, has dwb, X, flag f = dwb -- "$@"
|
|
||||||
ext x?html?, has jumanji, X, flag f = jumanji -- "$@"
|
|
||||||
ext x?html?, has luakit, X, flag f = luakit -- "$@"
|
|
||||||
ext x?html?, has uzbl, X, flag f = uzbl -- "$@"
|
|
||||||
ext x?html?, has uzbl-tabbed, X, flag f = uzbl-tabbed -- "$@"
|
|
||||||
ext x?html?, has uzbl-browser, X, flag f = uzbl-browser -- "$@"
|
|
||||||
ext x?html?, has uzbl-core, X, flag f = uzbl-core -- "$@"
|
|
||||||
ext x?html?, has midori, X, flag f = midori -- "$@"
|
|
||||||
ext x?html?, has opera, X, flag f = opera -- "$@"
|
|
||||||
ext x?html?, has firefox, X, flag f = firefox -- "$@"
|
|
||||||
ext x?html?, has seamonkey, X, flag f = seamonkey -- "$@"
|
|
||||||
ext x?html?, has iceweasel, X, flag f = iceweasel -- "$@"
|
|
||||||
ext x?html?, has chromium-browser, X, flag f = chromium-browser -- "$@"
|
|
||||||
ext x?html?, has chromium, X, flag f = chromium -- "$@"
|
|
||||||
ext x?html?, has google-chrome, X, flag f = google-chrome -- "$@"
|
|
||||||
ext x?html?, has epiphany, X, flag f = epiphany -- "$@"
|
|
||||||
ext x?html?, has konqueror, X, flag f = konqueror -- "$@"
|
|
||||||
ext x?html?, has elinks, terminal = elinks "$@"
|
|
||||||
ext x?html?, has links2, terminal = links2 "$@"
|
|
||||||
ext x?html?, has links, terminal = links "$@"
|
|
||||||
ext x?html?, has lynx, terminal = lynx -- "$@"
|
|
||||||
ext x?html?, has w3m, terminal = w3m "$@"
|
|
||||||
|
|
||||||
#-------------------------------------------
|
|
||||||
# Misc
|
|
||||||
#-------------------------------------------
|
|
||||||
# Define the "editor" for text files as first action
|
|
||||||
mime ^text, label editor = ${VISUAL:-$EDITOR} -- "$@"
|
|
||||||
mime ^text, label pager = "$PAGER" -- "$@"
|
|
||||||
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@"
|
|
||||||
!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
|
|
||||||
|
|
||||||
ext 1 = man "$1"
|
|
||||||
ext s[wmf]c, has zsnes, X = zsnes "$1"
|
|
||||||
ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1"
|
|
||||||
ext nes, has fceux, X = fceux "$1"
|
|
||||||
ext exe = wine "$1"
|
|
||||||
name ^[mM]akefile$ = make
|
|
||||||
|
|
||||||
#--------------------------------------------
|
|
||||||
# Scripts
|
|
||||||
#-------------------------------------------
|
|
||||||
ext py = python3 -- "$1"
|
|
||||||
ext pl = perl -- "$1"
|
|
||||||
ext rb = ruby -- "$1"
|
|
||||||
ext js = node -- "$1"
|
|
||||||
ext sh = sh -- "$1"
|
|
||||||
ext php = php -- "$1"
|
|
||||||
|
|
||||||
#--------------------------------------------
|
|
||||||
# Audio without X
|
|
||||||
#-------------------------------------------
|
|
||||||
mime ^audio|ogg$, terminal, has mpv = mpv -- "$@"
|
|
||||||
mime ^audio|ogg$, terminal, has mplayer2 = mplayer2 -- "$@"
|
|
||||||
mime ^audio|ogg$, terminal, has mplayer = mplayer -- "$@"
|
|
||||||
ext midi?, terminal, has wildmidi = wildmidi -- "$@"
|
|
||||||
|
|
||||||
#--------------------------------------------
|
|
||||||
# Video/Audio with a GUI
|
|
||||||
#-------------------------------------------
|
|
||||||
mime ^video|audio, has gmplayer, X, flag f = gmplayer -- "$@"
|
|
||||||
mime ^video|audio, has smplayer, X, flag f = smplayer "$@"
|
|
||||||
mime ^video, has mpv, X, flag f = mpv -- "$@"
|
|
||||||
mime ^video, has mpv, X, flag f = mpv --fs -- "$@"
|
|
||||||
mime ^video, has mplayer2, X, flag f = mplayer2 -- "$@"
|
|
||||||
mime ^video, has mplayer2, X, flag f = mplayer2 -fs -- "$@"
|
|
||||||
mime ^video, has mplayer, X, flag f = mplayer -- "$@"
|
|
||||||
mime ^video, has mplayer, X, flag f = mplayer -fs -- "$@"
|
|
||||||
mime ^video|audio, has vlc, X, flag f = vlc -- "$@"
|
|
||||||
mime ^video|audio, has totem, X, flag f = totem -- "$@"
|
|
||||||
mime ^video|audio, has totem, X, flag f = totem --fullscreen -- "$@"
|
|
||||||
|
|
||||||
#--------------------------------------------
|
|
||||||
# Video without X
|
|
||||||
#-------------------------------------------
|
|
||||||
mime ^video, terminal, !X, has mpv = mpv -- "$@"
|
|
||||||
mime ^video, terminal, !X, has mplayer2 = mplayer2 -- "$@"
|
|
||||||
mime ^video, terminal, !X, has mplayer = mplayer -- "$@"
|
|
||||||
|
|
||||||
#-------------------------------------------
|
|
||||||
# Documents
|
|
||||||
#-------------------------------------------
|
|
||||||
ext pdf, has llpp, X, flag f = llpp "$@"
|
|
||||||
ext pdf, has zathura, X, flag f = zathura -- "$@"
|
|
||||||
ext pdf, has mupdf, X, flag f = mupdf "$@"
|
|
||||||
ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@"
|
|
||||||
ext pdf, has apvlv, X, flag f = apvlv -- "$@"
|
|
||||||
ext pdf, has xpdf, X, flag f = xpdf -- "$@"
|
|
||||||
ext pdf, has evince, X, flag f = evince -- "$@"
|
|
||||||
ext pdf, has atril, X, flag f = atril -- "$@"
|
|
||||||
ext pdf, has okular, X, flag f = okular -- "$@"
|
|
||||||
ext pdf, has epdfview, X, flag f = epdfview -- "$@"
|
|
||||||
ext pdf, has qpdfview, X, flag f = qpdfview "$@"
|
|
||||||
ext pdf, has open, X, flag f = open "$@"
|
|
||||||
|
|
||||||
ext docx?, has catdoc, terminal = catdoc -- "$@" | "$PAGER"
|
|
||||||
|
|
||||||
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f = gnumeric -- "$@"
|
|
||||||
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has kspread, X, flag f = kspread -- "$@"
|
|
||||||
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@"
|
|
||||||
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f = soffice "$@"
|
|
||||||
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@"
|
|
||||||
|
|
||||||
ext djvu, has zathura,X, flag f = zathura -- "$@"
|
|
||||||
ext djvu, has evince, X, flag f = evince -- "$@"
|
|
||||||
ext djvu, has atril, X, flag f = atril -- "$@"
|
|
||||||
ext djvu, has djview, X, flag f = djview -- "$@"
|
|
||||||
|
|
||||||
ext epub, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
|
|
||||||
ext epub, has zathura, X, flag f = zathura -- "$@"
|
|
||||||
ext epub, has mupdf, X, flag f = mupdf -- "$@"
|
|
||||||
ext mobi, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
|
|
||||||
|
|
||||||
ext cbr, has zathura, X, flag f = zathura -- "$@"
|
|
||||||
ext cbz, has zathura, X, flag f = zathura -- "$@"
|
|
||||||
|
|
||||||
#-------------------------------------------
|
|
||||||
# Images
|
|
||||||
#-------------------------------------------
|
|
||||||
mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
|
|
||||||
mime ^image/svg, has display, X, flag f = display -- "$@"
|
|
||||||
|
|
||||||
mime ^image, has imv, X, flag f = imv -- "$@"
|
|
||||||
mime ^image, has pqiv, X, flag f = pqiv -- "$@"
|
|
||||||
mime ^image, has sxiv, X, flag f = sxiv -- "$@"
|
|
||||||
mime ^image, has feh, X, flag f = feh -- "$@"
|
|
||||||
mime ^image, has mirage, X, flag f = mirage -- "$@"
|
|
||||||
mime ^image, has ristretto, X, flag f = ristretto "$@"
|
|
||||||
mime ^image, has eog, X, flag f = eog -- "$@"
|
|
||||||
mime ^image, has eom, X, flag f = eom -- "$@"
|
|
||||||
mime ^image, has nomacs, X, flag f = nomacs -- "$@"
|
|
||||||
mime ^image, has geeqie, X, flag f = geeqie -- "$@"
|
|
||||||
mime ^image, has gpicview, X, flag f = gpicview -- "$@"
|
|
||||||
mime ^image, has gwenview, X, flag f = gwenview -- "$@"
|
|
||||||
mime ^image, has gimp, X, flag f = gimp -- "$@"
|
|
||||||
ext xcf, X, flag f = gimp -- "$@"
|
|
||||||
|
|
||||||
#-------------------------------------------
|
|
||||||
# Archives
|
|
||||||
#-------------------------------------------
|
|
||||||
|
|
||||||
# avoid password prompt by providing empty password
|
|
||||||
ext 7z, has 7z = 7z -p l "$@" | "$PAGER"
|
|
||||||
# This requires atool
|
|
||||||
ext ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --list --each -- "$@" | "$PAGER"
|
|
||||||
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --list --each -- "$@" | "$PAGER"
|
|
||||||
ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --extract --each -- "$@"
|
|
||||||
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --extract --each -- "$@"
|
|
||||||
|
|
||||||
# Listing and extracting archives without atool:
|
|
||||||
ext tar|gz|bz2|xz, has tar = tar vvtf "$1" | "$PAGER"
|
|
||||||
ext tar|gz|bz2|xz, has tar = for file in "$@"; do tar vvxf "$file"; done
|
|
||||||
ext bz2, has bzip2 = for file in "$@"; do bzip2 -dk "$file"; done
|
|
||||||
ext zip, has unzip = unzip -l "$1" | "$PAGER"
|
|
||||||
ext zip, has unzip = for file in "$@"; do unzip -d "${file%.*}" "$file"; done
|
|
||||||
ext ace, has unace = unace l "$1" | "$PAGER"
|
|
||||||
ext ace, has unace = for file in "$@"; do unace e "$file"; done
|
|
||||||
ext rar, has unrar = unrar l "$1" | "$PAGER"
|
|
||||||
ext rar, has unrar = for file in "$@"; do unrar x "$file"; done
|
|
||||||
|
|
||||||
#-------------------------------------------
|
|
||||||
# Fonts
|
|
||||||
#-------------------------------------------
|
|
||||||
mime ^font, has fontforge, X, flag f = fontforge "$@"
|
|
||||||
|
|
||||||
#-------------------------------------------
|
|
||||||
# Flag t fallback terminals
|
|
||||||
#-------------------------------------------
|
|
||||||
# Rarely installed terminal emulators get higher priority; It is assumed that
|
|
||||||
# if you install a rare terminal emulator, you probably use it.
|
|
||||||
# gnome-terminal/konsole/xterm on the other hand are often installed as part of
|
|
||||||
# a desktop environment or as fallback terminal emulators.
|
|
||||||
mime ^ranger/x-terminal-emulator, has terminology = terminology -e "$@"
|
|
||||||
mime ^ranger/x-terminal-emulator, has kitty = kitty -- "$@"
|
|
||||||
mime ^ranger/x-terminal-emulator, has alacritty = alacritty -e "$@"
|
|
||||||
mime ^ranger/x-terminal-emulator, has sakura = sakura -e "$@"
|
|
||||||
mime ^ranger/x-terminal-emulator, has lilyterm = lilyterm -e "$@"
|
|
||||||
#mime ^ranger/x-terminal-emulator, has cool-retro-term = cool-retro-term -e "$@"
|
|
||||||
mime ^ranger/x-terminal-emulator, has termite = termite -x '"$@"'
|
|
||||||
#mime ^ranger/x-terminal-emulator, has yakuake = yakuake -e "$@"
|
|
||||||
mime ^ranger/x-terminal-emulator, has guake = guake -ne "$@"
|
|
||||||
mime ^ranger/x-terminal-emulator, has tilda = tilda -c "$@"
|
|
||||||
mime ^ranger/x-terminal-emulator, has st = st -e "$@"
|
|
||||||
mime ^ranger/x-terminal-emulator, has terminator = terminator -x "$@"
|
|
||||||
mime ^ranger/x-terminal-emulator, has urxvt = urxvt -e "$@"
|
|
||||||
mime ^ranger/x-terminal-emulator, has pantheon-terminal = pantheon-terminal -e "$@"
|
|
||||||
mime ^ranger/x-terminal-emulator, has lxterminal = lxterminal -e "$@"
|
|
||||||
mime ^ranger/x-terminal-emulator, has mate-terminal = mate-terminal -x "$@"
|
|
||||||
mime ^ranger/x-terminal-emulator, has xfce4-terminal = xfce4-terminal -x "$@"
|
|
||||||
mime ^ranger/x-terminal-emulator, has konsole = konsole -e "$@"
|
|
||||||
mime ^ranger/x-terminal-emulator, has gnome-terminal = gnome-terminal -- "$@"
|
|
||||||
mime ^ranger/x-terminal-emulator, has xterm = xterm -e "$@"
|
|
||||||
|
|
||||||
#-------------------------------------------
|
|
||||||
# Misc
|
|
||||||
#-------------------------------------------
|
|
||||||
label wallpaper, number 11, mime ^image, has feh, X = feh --bg-scale "$1"
|
|
||||||
label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1"
|
|
||||||
label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1"
|
|
||||||
label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1"
|
|
||||||
|
|
||||||
#-------------------------------------------
|
|
||||||
# Generic file openers
|
|
||||||
#-------------------------------------------
|
|
||||||
label open, has xdg-open = xdg-open -- "$@"
|
|
||||||
label open, has open = open -- "$@"
|
|
||||||
|
|
||||||
# Define the editor for non-text files + pager as last action
|
|
||||||
!mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ask
|
|
||||||
label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@"
|
|
||||||
label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
|
|
||||||
|
|
||||||
|
|
||||||
######################################################################
|
|
||||||
# The actions below are left so low down in this file on purpose, so #
|
|
||||||
# they are never triggered accidentally. #
|
|
||||||
######################################################################
|
|
||||||
|
|
||||||
# Execute a file as program/script.
|
|
||||||
mime application/x-executable = "$1"
|
|
||||||
|
|
||||||
# Move the file to trash using trash-cli.
|
|
||||||
label trash, has trash-put = trash-put -- "$@"
|
|
||||||
label trash = mkdir -p -- ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash; mv -- "$@" ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash
|
|
|
@ -1,350 +0,0 @@
|
||||||
#!/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.
|
|
||||||
|
|
||||||
## Because of some automated testing we do on the script #'s for comments need
|
|
||||||
## to be doubled up. Code that is commented out, because it's an alternative for
|
|
||||||
## example, gets only one #.
|
|
||||||
|
|
||||||
## 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)
|
|
||||||
## shellcheck disable=SC2034 # PV_HEIGHT is provided for convenience and unused
|
|
||||||
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="$(printf "%s" "${FILE_EXTENSION}" | tr '[:upper:]' '[:lower:]')"
|
|
||||||
|
|
||||||
## Settings
|
|
||||||
HIGHLIGHT_SIZE_MAX=262143 # 256KiB
|
|
||||||
HIGHLIGHT_TABWIDTH=${HIGHLIGHT_TABWIDTH:-8}
|
|
||||||
HIGHLIGHT_STYLE=${HIGHLIGHT_STYLE:-pablo}
|
|
||||||
HIGHLIGHT_OPTIONS="--replace-tabs=${HIGHLIGHT_TABWIDTH} --style=${HIGHLIGHT_STYLE} ${HIGHLIGHT_OPTIONS:-}"
|
|
||||||
PYGMENTIZE_STYLE=${PYGMENTIZE_STYLE:-autumn}
|
|
||||||
OPENSCAD_IMGSIZE=${RNGR_OPENSCAD_IMGSIZE:-1000,1000}
|
|
||||||
OPENSCAD_COLORSCHEME=${RNGR_OPENSCAD_COLORSCHEME:-Tomorrow Night}
|
|
||||||
|
|
||||||
handle_extension() {
|
|
||||||
case "${FILE_EXTENSION_LOWER}" in
|
|
||||||
## Archive
|
|
||||||
a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\
|
|
||||||
rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)
|
|
||||||
atool --list -- "${FILE_PATH}" && exit 5
|
|
||||||
bsdtar --list --file "${FILE_PATH}" && exit 5
|
|
||||||
exit 1;;
|
|
||||||
rar)
|
|
||||||
## Avoid password prompt by providing empty password
|
|
||||||
unrar lt -p- -- "${FILE_PATH}" && exit 5
|
|
||||||
exit 1;;
|
|
||||||
7z)
|
|
||||||
## Avoid password prompt by providing empty password
|
|
||||||
7z l -p -- "${FILE_PATH}" && exit 5
|
|
||||||
exit 1;;
|
|
||||||
|
|
||||||
## PDF
|
|
||||||
pdf)
|
|
||||||
## Preview as text conversion
|
|
||||||
pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | \
|
|
||||||
fmt -w "${PV_WIDTH}" && exit 5
|
|
||||||
mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | \
|
|
||||||
fmt -w "${PV_WIDTH}" && exit 5
|
|
||||||
exiftool "${FILE_PATH}" && exit 5
|
|
||||||
exit 1;;
|
|
||||||
|
|
||||||
## BitTorrent
|
|
||||||
torrent)
|
|
||||||
transmission-show -- "${FILE_PATH}" && exit 5
|
|
||||||
exit 1;;
|
|
||||||
|
|
||||||
## OpenDocument
|
|
||||||
odt|ods|odp|sxw)
|
|
||||||
## Preview as text conversion
|
|
||||||
odt2txt "${FILE_PATH}" && exit 5
|
|
||||||
## Preview as markdown conversion
|
|
||||||
pandoc -s -t markdown -- "${FILE_PATH}" && exit 5
|
|
||||||
exit 1;;
|
|
||||||
|
|
||||||
## XLSX
|
|
||||||
xlsx)
|
|
||||||
## Preview as csv conversion
|
|
||||||
## Uses: https://github.com/dilshod/xlsx2csv
|
|
||||||
xlsx2csv -- "${FILE_PATH}" && exit 5
|
|
||||||
exit 1;;
|
|
||||||
|
|
||||||
## HTML
|
|
||||||
htm|html|xhtml)
|
|
||||||
## Preview as text conversion
|
|
||||||
w3m -dump "${FILE_PATH}" && exit 5
|
|
||||||
lynx -dump -- "${FILE_PATH}" && exit 5
|
|
||||||
elinks -dump "${FILE_PATH}" && exit 5
|
|
||||||
pandoc -s -t markdown -- "${FILE_PATH}" && exit 5
|
|
||||||
;;
|
|
||||||
|
|
||||||
## JSON
|
|
||||||
json)
|
|
||||||
jq --color-output . "${FILE_PATH}" && exit 5
|
|
||||||
python -m json.tool -- "${FILE_PATH}" && exit 5
|
|
||||||
;;
|
|
||||||
|
|
||||||
## Direct Stream Digital/Transfer (DSDIFF) and wavpack aren't detected
|
|
||||||
## by file(1).
|
|
||||||
dff|dsf|wv|wvc)
|
|
||||||
mediainfo "${FILE_PATH}" && exit 5
|
|
||||||
exiftool "${FILE_PATH}" && exit 5
|
|
||||||
;; # Continue with next handler on failure
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
handle_image() {
|
|
||||||
## Size of the preview if there are multiple options or it has to be
|
|
||||||
## rendered from vector graphics. If the conversion program allows
|
|
||||||
## specifying only one dimension while keeping the aspect ratio, the width
|
|
||||||
## will be used.
|
|
||||||
local DEFAULT_SIZE="1920x1080"
|
|
||||||
|
|
||||||
local mimetype="${1}"
|
|
||||||
case "${mimetype}" in
|
|
||||||
## SVG
|
|
||||||
# image/svg+xml|image/svg)
|
|
||||||
# convert -- "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6
|
|
||||||
# exit 1;;
|
|
||||||
|
|
||||||
## DjVu
|
|
||||||
# image/vnd.djvu)
|
|
||||||
# ddjvu -format=tiff -quality=90 -page=1 -size="${DEFAULT_SIZE}" \
|
|
||||||
# - "${IMAGE_CACHE_PATH}" < "${FILE_PATH}" \
|
|
||||||
# && exit 6 || exit 1;;
|
|
||||||
|
|
||||||
## Image
|
|
||||||
image/*)
|
|
||||||
local orientation
|
|
||||||
orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )"
|
|
||||||
## If orientation data is present and the image actually
|
|
||||||
## needs rotating ("1" means no rotation)...
|
|
||||||
if [[ -n "$orientation" && "$orientation" != 1 ]]; then
|
|
||||||
## ...auto-rotate the image according to the EXIF data.
|
|
||||||
convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6
|
|
||||||
fi
|
|
||||||
|
|
||||||
## `w3mimgdisplay` will be called for all images (unless overriden
|
|
||||||
## as above), but might fail for unsupported types.
|
|
||||||
exit 7;;
|
|
||||||
|
|
||||||
## Video
|
|
||||||
# video/*)
|
|
||||||
# # Thumbnail
|
|
||||||
# ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6
|
|
||||||
# exit 1;;
|
|
||||||
|
|
||||||
## PDF
|
|
||||||
# application/pdf)
|
|
||||||
# pdftoppm -f 1 -l 1 \
|
|
||||||
# -scale-to-x "${DEFAULT_SIZE%x*}" \
|
|
||||||
# -scale-to-y -1 \
|
|
||||||
# -singlefile \
|
|
||||||
# -jpeg -tiffcompression jpeg \
|
|
||||||
# -- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \
|
|
||||||
# && exit 6 || exit 1;;
|
|
||||||
|
|
||||||
|
|
||||||
## ePub, MOBI, FB2 (using Calibre)
|
|
||||||
# application/epub+zip|application/x-mobipocket-ebook|\
|
|
||||||
# application/x-fictionbook+xml)
|
|
||||||
# # ePub (using https://github.com/marianosimone/epub-thumbnailer)
|
|
||||||
# epub-thumbnailer "${FILE_PATH}" "${IMAGE_CACHE_PATH}" \
|
|
||||||
# "${DEFAULT_SIZE%x*}" && exit 6
|
|
||||||
# ebook-meta --get-cover="${IMAGE_CACHE_PATH}" -- "${FILE_PATH}" \
|
|
||||||
# >/dev/null && exit 6
|
|
||||||
# exit 1;;
|
|
||||||
|
|
||||||
## Font
|
|
||||||
application/font*|application/*opentype)
|
|
||||||
preview_png="/tmp/$(basename "${IMAGE_CACHE_PATH%.*}").png"
|
|
||||||
if fontimage -o "${preview_png}" \
|
|
||||||
--pixelsize "120" \
|
|
||||||
--fontname \
|
|
||||||
--pixelsize "80" \
|
|
||||||
--text " ABCDEFGHIJKLMNOPQRSTUVWXYZ " \
|
|
||||||
--text " abcdefghijklmnopqrstuvwxyz " \
|
|
||||||
--text " 0123456789.:,;(*!?') ff fl fi ffi ffl " \
|
|
||||||
--text " The quick brown fox jumps over the lazy dog. " \
|
|
||||||
"${FILE_PATH}";
|
|
||||||
then
|
|
||||||
convert -- "${preview_png}" "${IMAGE_CACHE_PATH}" \
|
|
||||||
&& rm "${preview_png}" \
|
|
||||||
&& exit 6
|
|
||||||
else
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
## Preview archives using the first image inside.
|
|
||||||
## (Very useful for comic book collections for example.)
|
|
||||||
# application/zip|application/x-rar|application/x-7z-compressed|\
|
|
||||||
# application/x-xz|application/x-bzip2|application/x-gzip|application/x-tar)
|
|
||||||
# local fn=""; local fe=""
|
|
||||||
# local zip=""; local rar=""; local tar=""; local bsd=""
|
|
||||||
# case "${mimetype}" in
|
|
||||||
# application/zip) zip=1 ;;
|
|
||||||
# application/x-rar) rar=1 ;;
|
|
||||||
# application/x-7z-compressed) ;;
|
|
||||||
# *) tar=1 ;;
|
|
||||||
# esac
|
|
||||||
# { [ "$tar" ] && fn=$(tar --list --file "${FILE_PATH}"); } || \
|
|
||||||
# { fn=$(bsdtar --list --file "${FILE_PATH}") && bsd=1 && tar=""; } || \
|
|
||||||
# { [ "$rar" ] && fn=$(unrar lb -p- -- "${FILE_PATH}"); } || \
|
|
||||||
# { [ "$zip" ] && fn=$(zipinfo -1 -- "${FILE_PATH}"); } || return
|
|
||||||
#
|
|
||||||
# fn=$(echo "$fn" | python -c "import sys; import mimetypes as m; \
|
|
||||||
# [ print(l, end='') for l in sys.stdin if \
|
|
||||||
# (m.guess_type(l[:-1])[0] or '').startswith('image/') ]" |\
|
|
||||||
# sort -V | head -n 1)
|
|
||||||
# [ "$fn" = "" ] && return
|
|
||||||
# [ "$bsd" ] && fn=$(printf '%b' "$fn")
|
|
||||||
#
|
|
||||||
# [ "$tar" ] && tar --extract --to-stdout \
|
|
||||||
# --file "${FILE_PATH}" -- "$fn" > "${IMAGE_CACHE_PATH}" && exit 6
|
|
||||||
# fe=$(echo -n "$fn" | sed 's/[][*?\]/\\\0/g')
|
|
||||||
# [ "$bsd" ] && bsdtar --extract --to-stdout \
|
|
||||||
# --file "${FILE_PATH}" -- "$fe" > "${IMAGE_CACHE_PATH}" && exit 6
|
|
||||||
# [ "$bsd" ] || [ "$tar" ] && rm -- "${IMAGE_CACHE_PATH}"
|
|
||||||
# [ "$rar" ] && unrar p -p- -inul -- "${FILE_PATH}" "$fn" > \
|
|
||||||
# "${IMAGE_CACHE_PATH}" && exit 6
|
|
||||||
# [ "$zip" ] && unzip -pP "" -- "${FILE_PATH}" "$fe" > \
|
|
||||||
# "${IMAGE_CACHE_PATH}" && exit 6
|
|
||||||
# [ "$rar" ] || [ "$zip" ] && rm -- "${IMAGE_CACHE_PATH}"
|
|
||||||
# ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# openscad_image() {
|
|
||||||
# TMPPNG="$(mktemp -t XXXXXX.png)"
|
|
||||||
# openscad --colorscheme="${OPENSCAD_COLORSCHEME}" \
|
|
||||||
# --imgsize="${OPENSCAD_IMGSIZE/x/,}" \
|
|
||||||
# -o "${TMPPNG}" "${1}"
|
|
||||||
# mv "${TMPPNG}" "${IMAGE_CACHE_PATH}"
|
|
||||||
# }
|
|
||||||
|
|
||||||
# case "${FILE_EXTENSION_LOWER}" in
|
|
||||||
# ## 3D models
|
|
||||||
# ## OpenSCAD only supports png image output, and ${IMAGE_CACHE_PATH}
|
|
||||||
# ## is hardcoded as jpeg. So we make a tempfile.png and just
|
|
||||||
# ## move/rename it to jpg. This works because image libraries are
|
|
||||||
# ## smart enough to handle it.
|
|
||||||
# csg|scad)
|
|
||||||
# openscad_image "${FILE_PATH}" && exit 6
|
|
||||||
# ;;
|
|
||||||
# 3mf|amf|dxf|off|stl)
|
|
||||||
# openscad_image <(echo "import(\"${FILE_PATH}\");") && exit 6
|
|
||||||
# ;;
|
|
||||||
# esac
|
|
||||||
}
|
|
||||||
|
|
||||||
handle_mime() {
|
|
||||||
local mimetype="${1}"
|
|
||||||
case "${mimetype}" in
|
|
||||||
## RTF and DOC
|
|
||||||
text/rtf|*msword)
|
|
||||||
## Preview as text conversion
|
|
||||||
## note: catdoc does not always work for .doc files
|
|
||||||
## catdoc: http://www.wagner.pp.ru/~vitus/software/catdoc/
|
|
||||||
catdoc -- "${FILE_PATH}" && exit 5
|
|
||||||
exit 1;;
|
|
||||||
|
|
||||||
## DOCX, ePub, FB2 (using markdown)
|
|
||||||
## You might want to remove "|epub" and/or "|fb2" below if you have
|
|
||||||
## uncommented other methods to preview those formats
|
|
||||||
*wordprocessingml.document|*/epub+zip|*/x-fictionbook+xml)
|
|
||||||
## Preview as markdown conversion
|
|
||||||
pandoc -s -t markdown -- "${FILE_PATH}" && exit 5
|
|
||||||
exit 1;;
|
|
||||||
|
|
||||||
## XLS
|
|
||||||
*ms-excel)
|
|
||||||
## Preview as csv conversion
|
|
||||||
## xls2csv comes with catdoc:
|
|
||||||
## http://www.wagner.pp.ru/~vitus/software/catdoc/
|
|
||||||
xls2csv -- "${FILE_PATH}" && exit 5
|
|
||||||
exit 1;;
|
|
||||||
|
|
||||||
## Text
|
|
||||||
text/* | */xml)
|
|
||||||
## Syntax highlight
|
|
||||||
if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
if [[ "$( tput colors )" -ge 256 ]]; then
|
|
||||||
local pygmentize_format='terminal256'
|
|
||||||
local highlight_format='xterm256'
|
|
||||||
else
|
|
||||||
local pygmentize_format='terminal'
|
|
||||||
local highlight_format='ansi'
|
|
||||||
fi
|
|
||||||
env HIGHLIGHT_OPTIONS="${HIGHLIGHT_OPTIONS}" highlight \
|
|
||||||
--out-format="${highlight_format}" \
|
|
||||||
--force -- "${FILE_PATH}" && exit 5
|
|
||||||
env COLORTERM=8bit bat --color=always --style="plain" \
|
|
||||||
-- "${FILE_PATH}" && exit 5
|
|
||||||
pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}"\
|
|
||||||
-- "${FILE_PATH}" && exit 5
|
|
||||||
exit 2;;
|
|
||||||
|
|
||||||
## DjVu
|
|
||||||
image/vnd.djvu)
|
|
||||||
## Preview as text conversion (requires djvulibre)
|
|
||||||
djvutxt "${FILE_PATH}" | fmt -w "${PV_WIDTH}" && exit 5
|
|
||||||
exiftool "${FILE_PATH}" && exit 5
|
|
||||||
exit 1;;
|
|
||||||
|
|
||||||
## Image
|
|
||||||
image/*)
|
|
||||||
## Preview as text conversion
|
|
||||||
# img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4
|
|
||||||
exiftool "${FILE_PATH}" && exit 5
|
|
||||||
exit 1;;
|
|
||||||
|
|
||||||
## Video and audio
|
|
||||||
video/* | 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
|
|
|
@ -1,81 +0,0 @@
|
||||||
local wezterm = require "wezterm"
|
|
||||||
local act = wezterm.action
|
|
||||||
|
|
||||||
return {
|
|
||||||
copy_mode = {
|
|
||||||
{ key = "Tab", mods = "NONE", action = act.CopyMode "MoveForwardWord" },
|
|
||||||
{ key = "Tab", mods = "SHIFT", action = act.CopyMode "MoveBackwardWord" },
|
|
||||||
{ key = "Enter", mods = "NONE", action = act.CopyMode "MoveToStartOfNextLine" },
|
|
||||||
{ key = "Escape", mods = "NONE", action = act.CopyMode "Close" },
|
|
||||||
{ key = "Space", mods = "NONE", action = act.CopyMode { SetSelectionMode = "Cell" } },
|
|
||||||
{ key = "$", mods = "NONE", action = act.CopyMode "MoveToEndOfLineContent" },
|
|
||||||
{ key = "$", mods = "SHIFT", action = act.CopyMode "MoveToEndOfLineContent" },
|
|
||||||
{ key = ",", mods = "NONE", action = act.CopyMode "JumpReverse" },
|
|
||||||
{ key = "0", mods = "NONE", action = act.CopyMode "MoveToStartOfLine" },
|
|
||||||
{ key = ";", mods = "NONE", action = act.CopyMode "JumpAgain" },
|
|
||||||
{ key = "F", mods = "NONE", action = act.CopyMode { JumpBackward = { prev_char = false } } },
|
|
||||||
{ key = "F", mods = "SHIFT", action = act.CopyMode { JumpBackward = { prev_char = false } } },
|
|
||||||
{ key = "G", mods = "NONE", action = act.CopyMode "MoveToScrollbackBottom" },
|
|
||||||
{ key = "G", mods = "SHIFT", action = act.CopyMode "MoveToScrollbackBottom" },
|
|
||||||
{ key = "H", mods = "NONE", action = act.CopyMode "MoveToViewportTop" },
|
|
||||||
{ key = "H", mods = "SHIFT", action = act.CopyMode "MoveToViewportTop" },
|
|
||||||
{ key = "L", mods = "NONE", action = act.CopyMode "MoveToViewportBottom" },
|
|
||||||
{ key = "L", mods = "SHIFT", action = act.CopyMode "MoveToViewportBottom" },
|
|
||||||
{ key = "M", mods = "NONE", action = act.CopyMode "MoveToViewportMiddle" },
|
|
||||||
{ key = "M", mods = "SHIFT", action = act.CopyMode "MoveToViewportMiddle" },
|
|
||||||
{ key = "O", mods = "NONE", action = act.CopyMode "MoveToSelectionOtherEndHoriz" },
|
|
||||||
{ key = "O", mods = "SHIFT", action = act.CopyMode "MoveToSelectionOtherEndHoriz" },
|
|
||||||
{ key = "T", mods = "NONE", action = act.CopyMode { JumpBackward = { prev_char = true } } },
|
|
||||||
{ key = "T", mods = "SHIFT", action = act.CopyMode { JumpBackward = { prev_char = true } } },
|
|
||||||
{ key = "V", mods = "NONE", action = act.CopyMode { SetSelectionMode = "Line" } },
|
|
||||||
{ key = "V", mods = "SHIFT", action = act.CopyMode { SetSelectionMode = "Line" } },
|
|
||||||
{ key = "^", mods = "NONE", action = act.CopyMode "MoveToStartOfLineContent" },
|
|
||||||
{ key = "^", mods = "SHIFT", action = act.CopyMode "MoveToStartOfLineContent" },
|
|
||||||
{ key = "b", mods = "NONE", action = act.CopyMode "MoveBackwardWord" },
|
|
||||||
{ key = "b", mods = "ALT", action = act.CopyMode "MoveBackwardWord" },
|
|
||||||
{ key = "b", mods = "CTRL", action = act.CopyMode "PageUp" },
|
|
||||||
{ key = "c", mods = "CTRL", action = act.CopyMode "Close" },
|
|
||||||
{ key = "f", mods = "NONE", action = act.CopyMode { JumpForward = { prev_char = false } } },
|
|
||||||
{ key = "f", mods = "ALT", action = act.CopyMode "MoveForwardWord" },
|
|
||||||
{ key = "f", mods = "CTRL", action = act.CopyMode "PageDown" },
|
|
||||||
{ key = "g", mods = "NONE", action = act.CopyMode "MoveToScrollbackTop" },
|
|
||||||
{ key = "g", mods = "CTRL", action = act.CopyMode "Close" },
|
|
||||||
{ key = "h", mods = "NONE", action = act.CopyMode "MoveLeft" },
|
|
||||||
{ key = "j", mods = "NONE", action = act.CopyMode "MoveDown" },
|
|
||||||
{ key = "k", mods = "NONE", action = act.CopyMode "MoveUp" },
|
|
||||||
{ key = "l", mods = "NONE", action = act.CopyMode "MoveRight" },
|
|
||||||
{ key = "m", mods = "ALT", action = act.CopyMode "MoveToStartOfLineContent" },
|
|
||||||
{ key = "o", mods = "NONE", action = act.CopyMode "MoveToSelectionOtherEnd" },
|
|
||||||
{ key = "q", mods = "NONE", action = act.CopyMode "Close" },
|
|
||||||
{ key = "t", mods = "NONE", action = act.CopyMode { JumpForward = { prev_char = true } } },
|
|
||||||
{ key = "v", mods = "NONE", action = act.CopyMode { SetSelectionMode = "Cell" } },
|
|
||||||
{ key = "v", mods = "CTRL", action = act.CopyMode { SetSelectionMode = "Block" } },
|
|
||||||
{ key = "w", mods = "NONE", action = act.CopyMode "MoveForwardWord" },
|
|
||||||
{
|
|
||||||
key = "y",
|
|
||||||
mods = "NONE",
|
|
||||||
action = act.Multiple { { CopyTo = "ClipboardAndPrimarySelection" }, { CopyMode = "Close" } },
|
|
||||||
},
|
|
||||||
{ key = "PageUp", mods = "NONE", action = act.CopyMode "PageUp" },
|
|
||||||
{ key = "PageDown", mods = "NONE", action = act.CopyMode "PageDown" },
|
|
||||||
{ key = "LeftArrow", mods = "NONE", action = act.CopyMode "MoveLeft" },
|
|
||||||
{ key = "LeftArrow", mods = "ALT", action = act.CopyMode "MoveBackwardWord" },
|
|
||||||
{ key = "RightArrow", mods = "NONE", action = act.CopyMode "MoveRight" },
|
|
||||||
{ key = "RightArrow", mods = "ALT", action = act.CopyMode "MoveForwardWord" },
|
|
||||||
{ key = "UpArrow", mods = "NONE", action = act.CopyMode "MoveUp" },
|
|
||||||
{ key = "DownArrow", mods = "NONE", action = act.CopyMode "MoveDown" },
|
|
||||||
},
|
|
||||||
|
|
||||||
search_mode = {
|
|
||||||
{ key = "Enter", mods = "NONE", action = act.CopyMode "PriorMatch" },
|
|
||||||
{ key = "Escape", mods = "NONE", action = act.CopyMode "Close" },
|
|
||||||
{ key = "n", mods = "CTRL", action = act.CopyMode "NextMatch" },
|
|
||||||
{ key = "p", mods = "CTRL", action = act.CopyMode "PriorMatch" },
|
|
||||||
{ key = "r", mods = "CTRL", action = act.CopyMode "CycleMatchType" },
|
|
||||||
{ key = "u", mods = "CTRL", action = act.CopyMode "ClearPattern" },
|
|
||||||
{ key = "PageUp", mods = "NONE", action = act.CopyMode "PriorMatchPage" },
|
|
||||||
{ key = "PageDown", mods = "NONE", action = act.CopyMode "NextMatchPage" },
|
|
||||||
{ key = "UpArrow", mods = "NONE", action = act.CopyMode "PriorMatch" },
|
|
||||||
{ key = "DownArrow", mods = "NONE", action = act.CopyMode "NextMatch" },
|
|
||||||
},
|
|
||||||
}
|
|
|
@ -1,124 +0,0 @@
|
||||||
local wezterm = require "wezterm"
|
|
||||||
local act = wezterm.action
|
|
||||||
|
|
||||||
return {
|
|
||||||
{ key = "h", mods = "ALT", action = act.EmitEvent "ActivatePaneDirection-left" },
|
|
||||||
{ key = "j", mods = "ALT", action = act.EmitEvent "ActivatePaneDirection-down" },
|
|
||||||
{ key = "k", mods = "ALT", action = act.EmitEvent "ActivatePaneDirection-up" },
|
|
||||||
{ key = "l", mods = "ALT", action = act.EmitEvent "ActivatePaneDirection-right" },
|
|
||||||
{ key = "1", mods = "ALT", action = act.ActivateTab(0) },
|
|
||||||
{ key = "2", mods = "ALT", action = act.ActivateTab(1) },
|
|
||||||
{ key = "3", mods = "ALT", action = act.ActivateTab(2) },
|
|
||||||
{ key = "4", mods = "ALT", action = act.ActivateTab(3) },
|
|
||||||
{ key = "5", mods = "ALT", action = act.ActivateTab(4) },
|
|
||||||
{ key = "6", mods = "ALT", action = act.ActivateTab(5) },
|
|
||||||
{ key = "7", mods = "ALT", action = act.ActivateTab(6) },
|
|
||||||
{ key = "8", mods = "ALT", action = act.ActivateTab(7) },
|
|
||||||
{ key = "9", mods = "ALT", action = act.ActivateTab(8) },
|
|
||||||
{ key = "0", mods = "ALT", action = act.ActivateTab(-1) },
|
|
||||||
{ key = "Enter", mods = "ALT", action = act.SplitVertical { domain = "CurrentPaneDomain" } },
|
|
||||||
{ key = "Enter", mods = "SHIFT|ALT", action = act.SplitHorizontal { domain = "CurrentPaneDomain" } },
|
|
||||||
{ key = "Tab", mods = "CTRL", action = act.ActivateTabRelative(1) },
|
|
||||||
{ key = "Tab", mods = "SHIFT|CTRL", action = act.ActivateTabRelative(-1) },
|
|
||||||
{ key = "Enter", mods = "SUPER", action = act.ToggleFullScreen },
|
|
||||||
{ key = ")", mods = "CTRL", action = act.ResetFontSize },
|
|
||||||
{ key = ")", mods = "SHIFT|CTRL", action = act.ResetFontSize },
|
|
||||||
{ key = "0", mods = "CTRL", action = act.ResetFontSize },
|
|
||||||
{ key = "0", mods = "SHIFT|CTRL", action = act.ResetFontSize },
|
|
||||||
{ key = "+", mods = "CTRL", action = act.IncreaseFontSize },
|
|
||||||
{ key = "+", mods = "SHIFT|CTRL", action = act.IncreaseFontSize },
|
|
||||||
{ key = "-", mods = "CTRL", action = act.DecreaseFontSize },
|
|
||||||
{ key = "-", mods = "SHIFT|CTRL", action = act.DecreaseFontSize },
|
|
||||||
{ key = "=", mods = "CTRL", action = act.IncreaseFontSize },
|
|
||||||
{ key = "=", mods = "SHIFT|CTRL", action = act.IncreaseFontSize },
|
|
||||||
{ key = "C", mods = "CTRL", action = act.CopyTo "Clipboard" },
|
|
||||||
{ key = "C", mods = "SHIFT|CTRL", action = act.CopyTo "Clipboard" },
|
|
||||||
{ key = "F", mods = "CTRL", action = act.Search "CurrentSelectionOrEmptyString" },
|
|
||||||
{ key = "F", mods = "SHIFT|CTRL", action = act.Search "CurrentSelectionOrEmptyString" },
|
|
||||||
{ key = "K", mods = "CTRL", action = act.ClearScrollback "ScrollbackOnly" },
|
|
||||||
{ key = "K", mods = "SHIFT|CTRL", action = act.ClearScrollback "ScrollbackOnly" },
|
|
||||||
{ key = "L", mods = "CTRL", action = act.ShowDebugOverlay },
|
|
||||||
{ key = "L", mods = "SHIFT|CTRL", action = act.ShowDebugOverlay },
|
|
||||||
{ key = "M", mods = "CTRL", action = act.Hide },
|
|
||||||
{ key = "M", mods = "SHIFT|CTRL", action = act.Hide },
|
|
||||||
{ key = "N", mods = "CTRL", action = act.SpawnWindow },
|
|
||||||
{ key = "N", mods = "SHIFT|CTRL", action = act.SpawnWindow },
|
|
||||||
{ key = "P", mods = "CTRL", action = act.PaneSelect { alphabet = "", mode = "Activate" } },
|
|
||||||
{ key = "P", mods = "SHIFT|CTRL", action = act.PaneSelect { alphabet = "", mode = "Activate" } },
|
|
||||||
{ key = "R", mods = "CTRL", action = act.ReloadConfiguration },
|
|
||||||
{ key = "R", mods = "SHIFT|CTRL", action = act.ReloadConfiguration },
|
|
||||||
{ key = "T", mods = "CTRL", action = act.SpawnTab "CurrentPaneDomain" },
|
|
||||||
{ key = "T", mods = "SHIFT|CTRL", action = act.SpawnTab "CurrentPaneDomain" },
|
|
||||||
{
|
|
||||||
key = "U",
|
|
||||||
mods = "CTRL",
|
|
||||||
action = act.CharSelect { copy_on_select = true, copy_to = "ClipboardAndPrimarySelection" },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key = "U",
|
|
||||||
mods = "SHIFT|CTRL",
|
|
||||||
action = act.CharSelect { copy_on_select = true, copy_to = "ClipboardAndPrimarySelection" },
|
|
||||||
},
|
|
||||||
{ key = "V", mods = "CTRL", action = act.PasteFrom "Clipboard" },
|
|
||||||
{ key = "V", mods = "SHIFT|CTRL", action = act.PasteFrom "Clipboard" },
|
|
||||||
{ key = "W", mods = "CTRL", action = act.CloseCurrentTab { confirm = true } },
|
|
||||||
{ key = "W", mods = "SHIFT|CTRL", action = act.CloseCurrentTab { confirm = true } },
|
|
||||||
{ key = "X", mods = "CTRL", action = act.ActivateCopyMode },
|
|
||||||
{ key = "X", mods = "SHIFT|CTRL", action = act.ActivateCopyMode },
|
|
||||||
{ key = "Z", mods = "CTRL", action = act.TogglePaneZoomState },
|
|
||||||
{ key = "Z", mods = "SHIFT|CTRL", action = act.TogglePaneZoomState },
|
|
||||||
{ key = "[", mods = "SHIFT|SUPER", action = act.ActivateTabRelative(-1) },
|
|
||||||
{ key = "]", mods = "SHIFT|SUPER", action = act.ActivateTabRelative(1) },
|
|
||||||
{ key = "_", mods = "CTRL", action = act.DecreaseFontSize },
|
|
||||||
{ key = "_", mods = "SHIFT|CTRL", action = act.DecreaseFontSize },
|
|
||||||
{ key = "c", mods = "SHIFT|CTRL", action = act.CopyTo "Clipboard" },
|
|
||||||
{ key = "c", mods = "SUPER", action = act.CopyTo "Clipboard" },
|
|
||||||
{ key = "f", mods = "SHIFT|CTRL", action = act.Search "CurrentSelectionOrEmptyString" },
|
|
||||||
{ key = "f", mods = "SUPER", action = act.Search "CurrentSelectionOrEmptyString" },
|
|
||||||
{ key = "k", mods = "SHIFT|CTRL", action = act.ClearScrollback "ScrollbackOnly" },
|
|
||||||
{ key = "k", mods = "SUPER", action = act.ClearScrollback "ScrollbackOnly" },
|
|
||||||
{ key = "l", mods = "SHIFT|CTRL", action = act.ShowDebugOverlay },
|
|
||||||
{ key = "m", mods = "SHIFT|CTRL", action = act.Hide },
|
|
||||||
{ key = "m", mods = "SUPER", action = act.Hide },
|
|
||||||
{ key = "n", mods = "SHIFT|CTRL", action = act.SpawnWindow },
|
|
||||||
{ key = "n", mods = "SUPER", action = act.SpawnWindow },
|
|
||||||
{ key = "p", mods = "SHIFT|CTRL", action = act.PaneSelect { alphabet = "", mode = "Activate" } },
|
|
||||||
{ key = "r", mods = "SHIFT|CTRL", action = act.ReloadConfiguration },
|
|
||||||
{ key = "r", mods = "SUPER", action = act.ReloadConfiguration },
|
|
||||||
{ key = "t", mods = "SHIFT|CTRL", action = act.SpawnTab "CurrentPaneDomain" },
|
|
||||||
{ key = "t", mods = "SUPER", action = act.SpawnTab "CurrentPaneDomain" },
|
|
||||||
{
|
|
||||||
key = "u",
|
|
||||||
mods = "SHIFT|CTRL",
|
|
||||||
action = act.CharSelect { copy_on_select = true, copy_to = "ClipboardAndPrimarySelection" },
|
|
||||||
},
|
|
||||||
{ key = "v", mods = "SHIFT|CTRL", action = act.PasteFrom "Clipboard" },
|
|
||||||
{ key = "v", mods = "SUPER", action = act.PasteFrom "Clipboard" },
|
|
||||||
{ key = "w", mods = "SHIFT|CTRL", action = act.CloseCurrentTab { confirm = true } },
|
|
||||||
{ key = "w", mods = "SUPER", action = act.CloseCurrentTab { confirm = true } },
|
|
||||||
{ key = "x", mods = "SHIFT|CTRL", action = act.ActivateCopyMode },
|
|
||||||
{ key = "z", mods = "SHIFT|CTRL", action = act.TogglePaneZoomState },
|
|
||||||
{ key = "{", mods = "SUPER", action = act.ActivateTabRelative(-1) },
|
|
||||||
{ key = "{", mods = "SHIFT|SUPER", action = act.ActivateTabRelative(-1) },
|
|
||||||
{ key = "}", mods = "SUPER", action = act.ActivateTabRelative(1) },
|
|
||||||
{ key = "}", mods = "SHIFT|SUPER", action = act.ActivateTabRelative(1) },
|
|
||||||
{ key = "phys:Space", mods = "SHIFT|CTRL", action = act.QuickSelect },
|
|
||||||
{ key = "PageUp", mods = "SHIFT", action = act.ScrollByPage(-1) },
|
|
||||||
{ key = "PageUp", mods = "CTRL", action = act.ActivateTabRelative(-1) },
|
|
||||||
{ key = "PageUp", mods = "SHIFT|CTRL", action = act.MoveTabRelative(-1) },
|
|
||||||
{ key = "PageDown", mods = "SHIFT", action = act.ScrollByPage(1) },
|
|
||||||
{ key = "PageDown", mods = "CTRL", action = act.ActivateTabRelative(1) },
|
|
||||||
{ key = "PageDown", mods = "SHIFT|CTRL", action = act.MoveTabRelative(1) },
|
|
||||||
{ key = "LeftArrow", mods = "SHIFT|CTRL", action = act.ActivatePaneDirection "Left" },
|
|
||||||
{ key = "LeftArrow", mods = "SHIFT|ALT|CTRL", action = act.AdjustPaneSize { "Left", 1 } },
|
|
||||||
{ key = "RightArrow", mods = "SHIFT|CTRL", action = act.ActivatePaneDirection "Right" },
|
|
||||||
{ key = "RightArrow", mods = "SHIFT|ALT|CTRL", action = act.AdjustPaneSize { "Right", 1 } },
|
|
||||||
{ key = "UpArrow", mods = "SHIFT|CTRL", action = act.ActivatePaneDirection "Up" },
|
|
||||||
{ key = "UpArrow", mods = "SHIFT|ALT|CTRL", action = act.AdjustPaneSize { "Up", 1 } },
|
|
||||||
{ key = "DownArrow", mods = "SHIFT|CTRL", action = act.ActivatePaneDirection "Down" },
|
|
||||||
{ key = "DownArrow", mods = "SHIFT|ALT|CTRL", action = act.AdjustPaneSize { "Down", 1 } },
|
|
||||||
{ key = "Insert", mods = "SHIFT", action = act.PasteFrom "PrimarySelection" },
|
|
||||||
{ key = "Insert", mods = "CTRL", action = act.CopyTo "PrimarySelection" },
|
|
||||||
{ key = "Copy", mods = "NONE", action = act.CopyTo "Clipboard" },
|
|
||||||
{ key = "Paste", mods = "NONE", action = act.PasteFrom "Clipboard" },
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
local wezterm = require "wezterm"
|
|
||||||
local act = wezterm.action
|
|
||||||
|
|
||||||
local function isViProcess(pane)
|
|
||||||
-- get_foreground_process_name On Linux, macOS and Windows,
|
|
||||||
-- the process can be queried to determine this path. Other operating systems
|
|
||||||
-- (notably, FreeBSD and other unix systems) are not currently supported
|
|
||||||
return pane:get_foreground_process_name():find "n?vim" ~= nil
|
|
||||||
-- return pane:get_title():find("n?vim") ~= nil
|
|
||||||
end
|
|
||||||
|
|
||||||
local function conditionalActivatePane(window, pane, pane_direction, vim_direction)
|
|
||||||
if isViProcess(pane) then
|
|
||||||
window:perform_action(
|
|
||||||
-- This should match the keybinds you set in Neovim.
|
|
||||||
act.SendKey { key = vim_direction, mods = "ALT" },
|
|
||||||
pane
|
|
||||||
)
|
|
||||||
else
|
|
||||||
window:perform_action(act.ActivatePaneDirection(pane_direction), pane)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
wezterm.on(
|
|
||||||
"ActivatePaneDirection-right",
|
|
||||||
function(window, pane) conditionalActivatePane(window, pane, "Right", "l") end
|
|
||||||
)
|
|
||||||
wezterm.on("ActivatePaneDirection-left", function(window, pane) conditionalActivatePane(window, pane, "Left", "h") end)
|
|
||||||
wezterm.on("ActivatePaneDirection-up", function(window, pane) conditionalActivatePane(window, pane, "Up", "k") end)
|
|
||||||
wezterm.on("ActivatePaneDirection-down", function(window, pane) conditionalActivatePane(window, pane, "Down", "j") end)
|
|
|
@ -1,77 +0,0 @@
|
||||||
local wezterm = require "wezterm"
|
|
||||||
|
|
||||||
-- The filled in variant of the powerline ( symbol
|
|
||||||
local SOLID_LEFT_SEP = require("utf8").char(0xe0b6)
|
|
||||||
|
|
||||||
local M = {}
|
|
||||||
M.setup = function(scheme)
|
|
||||||
wezterm.on("update-right-status", function(window, _)
|
|
||||||
-- Each element holds the text for a cell in a "powerline" style << fade
|
|
||||||
local cells = {}
|
|
||||||
|
|
||||||
-- Show current active key table
|
|
||||||
local name = window:active_key_table()
|
|
||||||
if name then
|
|
||||||
name = "TABLE: " .. name
|
|
||||||
table.insert(cells, name)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- I like my date/time in this style: "Wed Mar 3 08:14"
|
|
||||||
-- local date = wezterm.strftime("%a %b %-d %H:%M")
|
|
||||||
local date = wezterm.strftime "%Y-%m-%d"
|
|
||||||
table.insert(cells, date)
|
|
||||||
local time = wezterm.strftime "%H:%M"
|
|
||||||
table.insert(cells, time)
|
|
||||||
|
|
||||||
-- Get current hostname to track which device I'm on
|
|
||||||
table.insert(cells, wezterm.hostname())
|
|
||||||
|
|
||||||
-- An entry for each battery (typically 0 or 1 battery)
|
|
||||||
for _, b in ipairs(wezterm.battery_info()) do
|
|
||||||
table.insert(cells, string.format("%.0f%%", b.state_of_charge * 100))
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Foreground color for the text across the fade
|
|
||||||
local text_fg = scheme.tab_bar.active_tab.fg_color
|
|
||||||
-- Tab bar background to complete fade
|
|
||||||
local tab_bar_bg = scheme.tab_bar.background
|
|
||||||
-- Color palette for the backgrounds of each cell
|
|
||||||
local colours = wezterm.color.gradient({
|
|
||||||
colors = {
|
|
||||||
scheme.tab_bar.new_tab.bg_color,
|
|
||||||
scheme.tab_bar.active_tab.bg_color,
|
|
||||||
},
|
|
||||||
}, #cells + 1)
|
|
||||||
|
|
||||||
-- The elements to be formatted
|
|
||||||
local elements = {}
|
|
||||||
-- How many cells have been formatted
|
|
||||||
local num_cells = 0
|
|
||||||
|
|
||||||
-- Translate a cell into elements
|
|
||||||
local function push(text, is_last)
|
|
||||||
local cell_no = num_cells + 1
|
|
||||||
table.insert(elements, { Foreground = { Color = text_fg } })
|
|
||||||
table.insert(elements, { Background = { Color = colours[cell_no + 1] } })
|
|
||||||
table.insert(elements, { Text = text })
|
|
||||||
if not is_last then
|
|
||||||
table.insert(elements, { Foreground = { Color = colours[cell_no + 2] } })
|
|
||||||
table.insert(elements, { Text = " " .. SOLID_LEFT_SEP })
|
|
||||||
end
|
|
||||||
num_cells = num_cells + 1
|
|
||||||
end
|
|
||||||
|
|
||||||
table.insert(elements, { Foreground = { Color = colours[num_cells + 2] } })
|
|
||||||
table.insert(elements, { Background = { Color = tab_bar_bg } })
|
|
||||||
table.insert(elements, { Text = SOLID_LEFT_SEP })
|
|
||||||
while #cells > 0 do
|
|
||||||
local cell = table.remove(cells, 1)
|
|
||||||
push(cell, #cells == 0)
|
|
||||||
end
|
|
||||||
|
|
||||||
if os.getenv("XDG_CURRENT_DESKTOP") ~= "i3" then
|
|
||||||
window:set_right_status(wezterm.format(elements))
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
end
|
|
||||||
return M
|
|
|
@ -1,60 +0,0 @@
|
||||||
local wezterm = require "wezterm"
|
|
||||||
|
|
||||||
-- The filled in variant of the powerline ) symbol
|
|
||||||
local SOLID_RIGHT_SEP = require("utf8").char(0xe0b4)
|
|
||||||
|
|
||||||
local M = {}
|
|
||||||
M.setup = function(scheme)
|
|
||||||
wezterm.on("format-tab-title", function(tab, tabs, _, _, hover, max_width)
|
|
||||||
local text_fg
|
|
||||||
if tab.is_active then
|
|
||||||
text_fg = scheme.tab_bar.active_tab.fg_color
|
|
||||||
else
|
|
||||||
text_fg = scheme.tab_bar.inactive_tab.fg_color
|
|
||||||
end
|
|
||||||
local title = wezterm.truncate_right(tab.active_pane.title, max_width - 2)
|
|
||||||
local colours = wezterm.color.gradient({
|
|
||||||
colors = { scheme.tab_bar.active_tab.bg_color, scheme.tab_bar.new_tab.bg_color },
|
|
||||||
}, #tabs + 1)
|
|
||||||
local elements = {}
|
|
||||||
table.insert(elements, "ResetAttributes")
|
|
||||||
table.insert(elements, { Background = { Color = colours[tab.tab_index + 1] } })
|
|
||||||
table.insert(elements, { Foreground = { Color = text_fg } })
|
|
||||||
table.insert(elements, { Text = " " })
|
|
||||||
if tab.is_active then
|
|
||||||
table.insert(elements, { Attribute = { Underline = "Single" } })
|
|
||||||
table.insert(elements, { Attribute = { Intensity = "Bold" } })
|
|
||||||
end
|
|
||||||
if hover then table.insert(elements, { Attribute = { Italic = true } }) end
|
|
||||||
table.insert(elements, { Text = title })
|
|
||||||
table.insert(elements, "ResetAttributes")
|
|
||||||
table.insert(elements, { Background = { Color = colours[tab.tab_index + 2] } })
|
|
||||||
table.insert(elements, { Foreground = { Color = colours[tab.tab_index + 1] } })
|
|
||||||
table.insert(elements, { Text = SOLID_RIGHT_SEP })
|
|
||||||
table.insert(elements, "ResetAttributes")
|
|
||||||
return elements
|
|
||||||
end)
|
|
||||||
end
|
|
||||||
|
|
||||||
M._new_tab_format = function(scheme)
|
|
||||||
return {
|
|
||||||
{ Background = { Color = scheme.tab_bar.new_tab.bg_color } },
|
|
||||||
{ Foreground = { Color = scheme.tab_bar.new_tab.fg_color } },
|
|
||||||
{ Text = " +" },
|
|
||||||
"ResetAttributes",
|
|
||||||
{ Background = { Color = scheme.tab_bar.background } },
|
|
||||||
{ Foreground = { Color = scheme.tab_bar.new_tab.bg_color } },
|
|
||||||
{ Text = SOLID_RIGHT_SEP },
|
|
||||||
"ResetAttributes",
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
M.new_tab = function(scheme) return wezterm.format(M._new_tab_format(scheme)) end
|
|
||||||
|
|
||||||
M.new_tab_hover = function(scheme)
|
|
||||||
local format = M._new_tab_format(scheme)
|
|
||||||
table.insert(format, 1, { Attribute = { Italic = true } })
|
|
||||||
return wezterm.format(format)
|
|
||||||
end
|
|
||||||
|
|
||||||
return M
|
|
|
@ -1,22 +0,0 @@
|
||||||
local wezterm = require "wezterm"
|
|
||||||
local tab_bar_style = require "tab_bar_style"
|
|
||||||
local scheme_name = "Catppuccin Macchiato"
|
|
||||||
local scheme = wezterm.color.get_builtin_schemes()[scheme_name]
|
|
||||||
tab_bar_style.setup(scheme)
|
|
||||||
require("status").setup(scheme)
|
|
||||||
require "navigator"
|
|
||||||
|
|
||||||
return {
|
|
||||||
audible_bell = "Disabled",
|
|
||||||
font_size = 14,
|
|
||||||
-- window_background_opacity = 0.90,
|
|
||||||
color_scheme = scheme_name,
|
|
||||||
use_fancy_tab_bar = false,
|
|
||||||
tab_max_width = 79,
|
|
||||||
tab_bar_style = { new_tab = tab_bar_style.new_tab(scheme), new_tab_hover = tab_bar_style.new_tab_hover(scheme) },
|
|
||||||
hide_tab_bar_if_only_one_tab = true,
|
|
||||||
disable_default_key_bindings = true,
|
|
||||||
keys = require "keys",
|
|
||||||
key_tables = require "key_tables",
|
|
||||||
use_dead_keys = false,
|
|
||||||
}
|
|
|
@ -1,58 +0,0 @@
|
||||||
; xfce4-terminal GtkAccelMap rc-file -*- scheme -*-
|
|
||||||
; this file is an automated accelerator map dump
|
|
||||||
;
|
|
||||||
(gtk_accel_path "<Actions>/terminal-window/goto-tab-2" "<Alt>2")
|
|
||||||
(gtk_accel_path "<Actions>/terminal-window/goto-tab-6" "<Alt>6")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/copy-input" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/close-other-tabs" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/move-tab-right" "<Primary><Shift>Page_Down")
|
|
||||||
(gtk_accel_path "<Actions>/terminal-window/goto-tab-7" "<Alt>7")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/set-title-color" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/edit-menu" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/zoom-menu" "")
|
|
||||||
(gtk_accel_path "<Actions>/terminal-window/goto-tab-1" "<Alt>1")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/fullscreen" "F11")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/read-only" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/preferences" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/reset-and-clear" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/about" "")
|
|
||||||
(gtk_accel_path "<Actions>/terminal-window/goto-tab-5" "<Alt>5")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/close-window" "<Primary><Shift>q")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/reset" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/save-contents" "")
|
|
||||||
(gtk_accel_path "<Actions>/terminal-window/toggle-menubar" "F10")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/copy" "<Primary><Shift>c")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/copy-html" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/last-active-tab" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/show-borders" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/view-menu" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/detach-tab" "<Primary><Shift>d")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/scroll-on-output" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/show-toolbar" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/next-tab" "<Primary>Page_Down")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/tabs-menu" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/search-next" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/search-prev" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/undo-close-tab" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/set-title" "<Primary><Shift>s")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/contents" "F1")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/zoom-reset" "<Primary>0")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/close-tab" "<Primary><Shift>w")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/new-tab" "<Primary><Shift>t")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/new-window" "<Primary><Shift>n")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/terminal-menu" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/show-menubar" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/select-all" "<Primary><Shift>a")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/paste" "<Primary><Shift>v")
|
|
||||||
(gtk_accel_path "<Actions>/terminal-window/goto-tab-9" "<Alt>9")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/move-tab-left" "<Primary><Shift>Page_Up")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/search" "<Primary><Shift>f")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/file-menu" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/prev-tab" "<Primary>Page_Up")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/paste-selection" "")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/zoom-in" "<Primary>plus")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/zoom-out" "<Primary>minus")
|
|
||||||
(gtk_accel_path "<Actions>/terminal-window/goto-tab-8" "<Alt>8")
|
|
||||||
; (gtk_accel_path "<Actions>/terminal-window/help-menu" "")
|
|
||||||
(gtk_accel_path "<Actions>/terminal-window/goto-tab-4" "<Alt>4")
|
|
||||||
(gtk_accel_path "<Actions>/terminal-window/goto-tab-3" "<Alt>3")
|
|
|
@ -1,44 +0,0 @@
|
||||||
[Configuration]
|
|
||||||
BackgroundDarkness=0.920000
|
|
||||||
MiscSearchDialogOpacity=100
|
|
||||||
MiscShowUnsafePasteDialog=FALSE
|
|
||||||
BackgroundMode=TERMINAL_BACKGROUND_TRANSPARENT
|
|
||||||
MiscAlwaysShowTabs=FALSE
|
|
||||||
MiscBell=FALSE
|
|
||||||
MiscBellUrgent=FALSE
|
|
||||||
MiscBordersDefault=TRUE
|
|
||||||
MiscCursorBlinks=FALSE
|
|
||||||
MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
|
|
||||||
MiscDefaultGeometry=100x30
|
|
||||||
MiscInheritGeometry=FALSE
|
|
||||||
MiscMenubarDefault=FALSE
|
|
||||||
MiscMouseAutohide=FALSE
|
|
||||||
MiscMouseWheelZoom=TRUE
|
|
||||||
MiscToolbarDefault=FALSE
|
|
||||||
MiscConfirmClose=TRUE
|
|
||||||
MiscCycleTabs=TRUE
|
|
||||||
MiscTabCloseButtons=TRUE
|
|
||||||
MiscTabCloseMiddleClick=TRUE
|
|
||||||
MiscTabPosition=GTK_POS_TOP
|
|
||||||
MiscHighlightUrls=TRUE
|
|
||||||
MiscMiddleClickOpensUri=FALSE
|
|
||||||
MiscCopyOnSelect=FALSE
|
|
||||||
MiscShowRelaunchDialog=TRUE
|
|
||||||
MiscRewrapOnResize=TRUE
|
|
||||||
MiscUseShiftArrowsToScroll=FALSE
|
|
||||||
MiscSlimTabs=FALSE
|
|
||||||
MiscNewTabAdjacent=FALSE
|
|
||||||
ColorForeground=#CAD3F5
|
|
||||||
ColorBackground=#24273A
|
|
||||||
ColorCursor=#F4DBD6
|
|
||||||
TabActivityColor=#F5A97F
|
|
||||||
ColorCursorUseDefault=FALSE
|
|
||||||
ScrollingUnlimited=TRUE
|
|
||||||
FontName=Fira Mono 12
|
|
||||||
ColorPalette=#494D64;#ED8796;#A6DA95;#EED49F;#8AADF4;#F5BDE6;#8BD5CA;#B8C0E0;#5B6078;#ED8796;#A6DA95;#EED49F;#8AADF4;#F5BDE6;#8BD5CA;#A5ADCB
|
|
||||||
ScrollingBar=TERMINAL_SCROLLBAR_NONE
|
|
||||||
MiscRightClickAction=TERMINAL_RIGHT_CLICK_ACTION_CONTEXT_MENU
|
|
||||||
ColorSelection=#24273A
|
|
||||||
ColorSelectionBackground=#F4DBD6
|
|
||||||
ColorSelectionUseDefault=FALSE
|
|
||||||
|
|
|
@ -1,104 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
#
|
|
||||||
# Copyright (C) 2015 James Murphy
|
|
||||||
# Licensed under the terms of the GNU GPL v2 only.
|
|
||||||
#
|
|
||||||
# i3blocks blocklet script to monitor bandwidth usage
|
|
||||||
|
|
||||||
iface="${BLOCK_INSTANCE}"
|
|
||||||
iface="${IFACE:-$iface}"
|
|
||||||
dt="${DT:-3}"
|
|
||||||
unit="${UNIT:-MB}"
|
|
||||||
LABEL="${LABEL:-<span font='FontAwesome'> </span>}" # down arrow up arrow
|
|
||||||
printf_command="${PRINTF_COMMAND:-"printf \"${LABEL}%1.0f/%1.0f %s/s\\n\", rx, wx, unit;"}"
|
|
||||||
|
|
||||||
function default_interface {
|
|
||||||
ip route | awk '/^default via/ {print $5; exit}'
|
|
||||||
}
|
|
||||||
|
|
||||||
function check_proc_net_dev {
|
|
||||||
if [ ! -f "/proc/net/dev" ]; then
|
|
||||||
echo "/proc/net/dev not found"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function list_interfaces {
|
|
||||||
check_proc_net_dev
|
|
||||||
echo "Interfaces in /proc/net/dev:"
|
|
||||||
grep -o "^[^:]\\+:" /proc/net/dev | tr -d " :"
|
|
||||||
}
|
|
||||||
|
|
||||||
while getopts i:t:u:p:lh opt; do
|
|
||||||
case "$opt" in
|
|
||||||
i) iface="$OPTARG" ;;
|
|
||||||
t) dt="$OPTARG" ;;
|
|
||||||
u) unit="$OPTARG" ;;
|
|
||||||
p) printf_command="$OPTARG" ;;
|
|
||||||
l) list_interfaces && exit 0 ;;
|
|
||||||
h) printf \
|
|
||||||
"Usage: bandwidth3 [-i interface] [-t time] [-u unit] [-p printf_command] [-l] [-h]
|
|
||||||
Options:
|
|
||||||
-i\tNetwork interface to measure. Default determined using \`ip route\`.
|
|
||||||
-t\tTime interval in seconds between measurements. Default: 3
|
|
||||||
-u\tUnits to measure bytes in. Default: Mb
|
|
||||||
\tAllowed units: Kb, KB, Mb, MB, Gb, GB, Tb, TB
|
|
||||||
\tUnits may have optional it/its/yte/ytes on the end, e.g. Mbits, KByte
|
|
||||||
-p\tAwk command to be called after a measurement is made.
|
|
||||||
\tDefault: printf \"<span font='FontAwesome'> </span>%%-5.1f/%%5.1f %%s/s\\\\n\", rx, wx, unit;
|
|
||||||
\tExposed variables: rx, wx, tx, unit, iface
|
|
||||||
-l\tList available interfaces in /proc/net/dev
|
|
||||||
-h\tShow this help text
|
|
||||||
" && exit 0;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
check_proc_net_dev
|
|
||||||
|
|
||||||
iface="${iface:-$(default_interface)}"
|
|
||||||
while [ -z "$iface" ]; do
|
|
||||||
echo No default interface
|
|
||||||
sleep "$dt"
|
|
||||||
iface=$(default_interface)
|
|
||||||
done
|
|
||||||
|
|
||||||
case "$unit" in
|
|
||||||
Kb|Kbit|Kbits) bytes_per_unit=$((1024 / 8));;
|
|
||||||
KB|KByte|KBytes) bytes_per_unit=$((1024));;
|
|
||||||
Mb|Mbit|Mbits) bytes_per_unit=$((1024 * 1024 / 8));;
|
|
||||||
MB|MByte|MBytes) bytes_per_unit=$((1024 * 1024));;
|
|
||||||
Gb|Gbit|Gbits) bytes_per_unit=$((1024 * 1024 * 1024 / 8));;
|
|
||||||
GB|GByte|GBytes) bytes_per_unit=$((1024 * 1024 * 1024));;
|
|
||||||
Tb|Tbit|Tbits) bytes_per_unit=$((1024 * 1024 * 1024 * 1024 / 8));;
|
|
||||||
TB|TByte|TBytes) bytes_per_unit=$((1024 * 1024 * 1024 * 1024));;
|
|
||||||
*) echo Bad unit "$unit" && exit 1;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
scalar=$((bytes_per_unit * dt))
|
|
||||||
init_line=$(cat /proc/net/dev | grep "^[ ]*$iface:")
|
|
||||||
if [ -z "$init_line" ]; then
|
|
||||||
echo Interface not found in /proc/net/dev: "$iface"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
init_received=$(awk '{print $2}' <<< $init_line)
|
|
||||||
init_sent=$(awk '{print $10}' <<< $init_line)
|
|
||||||
|
|
||||||
(while true; do cat /proc/net/dev; sleep "$dt"; done) |\
|
|
||||||
stdbuf -oL grep "^[ ]*$iface:" |\
|
|
||||||
awk -v scalar="$scalar" -v unit="$unit" -v iface="$iface" '
|
|
||||||
BEGIN{old_received='"$init_received"';old_sent='"$init_sent"'}
|
|
||||||
{
|
|
||||||
received=$2
|
|
||||||
sent=$10
|
|
||||||
rx=(received-old_received)/scalar;
|
|
||||||
wx=(sent-old_sent)/scalar;
|
|
||||||
tx=rx+wr;
|
|
||||||
old_received=received;
|
|
||||||
old_sent=sent;
|
|
||||||
if(rx >= 0 && wx >= 0){
|
|
||||||
'"$printf_command"';
|
|
||||||
fflush(stdout);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
'
|
|
|
@ -1,18 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
#simple Shellscript for i3blocks on Pinebook pro
|
|
||||||
#05012020 geri123@gmx.net Gerhard S.
|
|
||||||
#battery-symbols: on Manjaro you need the awesome-terminal-fonts package installed!
|
|
||||||
PERCENT=$(cat /sys/class/power_supply/cw2015-battery/capacity)
|
|
||||||
STATUS=$(cat /sys/class/power_supply/cw2015-battery/status)
|
|
||||||
case $((
|
|
||||||
$PERCENT >= 0 && $PERCENT <= 20 ? 1 :
|
|
||||||
$PERCENT > 20 && $PERCENT <= 40 ? 2 :
|
|
||||||
$PERCENT > 40 && $PERCENT <= 60 ? 3 :
|
|
||||||
$PERCENT > 60 && $PERCENT <= 80 ? 4 : 5)) in
|
|
||||||
#
|
|
||||||
(1) echo $STATUS:"" :$PERCENT%;;
|
|
||||||
(2) echo $STATUS:"" :$PERCENT%;;
|
|
||||||
(3) echo $STATUS:"" :$PERCENT%;;
|
|
||||||
(4) echo $STATUS:"" :$PERCENT%;;
|
|
||||||
(5) echo $STATUS:"" :$PERCENT%;;
|
|
||||||
esac
|
|
|
@ -1,114 +0,0 @@
|
||||||
#!/usr/bin/perl
|
|
||||||
#
|
|
||||||
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
|
|
||||||
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
|
|
||||||
#
|
|
||||||
# Licensed under the terms of the GNU GPL v3, or any later version.
|
|
||||||
#
|
|
||||||
# This script is meant to use with i3blocks. It parses the output of the "acpi"
|
|
||||||
# command (often provided by a package of the same name) to read the status of
|
|
||||||
# the battery, and eventually its remaining time (to full charge or discharge).
|
|
||||||
#
|
|
||||||
# The color will gradually change for a percentage below 85%, and the urgency
|
|
||||||
# (exit code 33) is set if there is less that 5% remaining.
|
|
||||||
|
|
||||||
# Edited by Andreas Lindlbauer <endeavouros.mousily@aleeas.com>
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
use utf8;
|
|
||||||
|
|
||||||
# otherwise we get in console "Wide character in print at"
|
|
||||||
binmode(STDOUT, ':utf8');
|
|
||||||
|
|
||||||
# my $acpi;
|
|
||||||
my $upower;
|
|
||||||
my $percent;
|
|
||||||
my $bat_state;
|
|
||||||
my $status;
|
|
||||||
my $ac_adapt;
|
|
||||||
my $full_text;
|
|
||||||
my $short_text;
|
|
||||||
my $label = '😅';
|
|
||||||
my $bat_number = $ENV{BLOCK_INSTANCE} || 0;
|
|
||||||
|
|
||||||
open (UPOWER, "upower -i /org/freedesktop/UPower/devices/battery_BAT$bat_number | grep 'percentage' |") or die;
|
|
||||||
$upower = <UPOWER>;
|
|
||||||
close(UPOWER);
|
|
||||||
|
|
||||||
# fail on unexpected output
|
|
||||||
if ($upower !~ /: (\d+)%/) {
|
|
||||||
die "$upower\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
$percent = $1;
|
|
||||||
$full_text = "$percent%";
|
|
||||||
|
|
||||||
open (BAT_STATE, "upower -i /org/freedesktop/UPower/devices/battery_BAT$bat_number | grep 'state' |") or die;
|
|
||||||
$bat_state = <BAT_STATE>;
|
|
||||||
close(BAT_STATE);
|
|
||||||
|
|
||||||
if ($bat_state !~ /: (\w+)/) {
|
|
||||||
die "$bat_state\n";
|
|
||||||
}
|
|
||||||
$status = $1;
|
|
||||||
|
|
||||||
if ($status eq 'discharging') {
|
|
||||||
$full_text .= ' ';
|
|
||||||
} elsif ($status eq 'charging') {
|
|
||||||
$full_text .= ' ';
|
|
||||||
} elsif ($status eq 'Unknown') {
|
|
||||||
open (AC_ADAPTER, "acpi -a |") or die;
|
|
||||||
$ac_adapt = <AC_ADAPTER>;
|
|
||||||
close(AC_ADAPTER);
|
|
||||||
|
|
||||||
if ($ac_adapt =~ /: ([\w-]+)/) {
|
|
||||||
$ac_adapt = $1;
|
|
||||||
|
|
||||||
if ($ac_adapt eq 'on-line') {
|
|
||||||
$full_text .= ' CHR';
|
|
||||||
} elsif ($ac_adapt eq 'off-line') {
|
|
||||||
$full_text .= ' DIS';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$short_text = $full_text;
|
|
||||||
|
|
||||||
if ($percent < 20) {
|
|
||||||
$label = '';
|
|
||||||
} elsif ($percent < 45) {
|
|
||||||
$label = '';
|
|
||||||
} elsif ($percent < 70) {
|
|
||||||
$label = '';
|
|
||||||
} elsif ($percent < 95) {
|
|
||||||
$label = '';
|
|
||||||
} else {
|
|
||||||
$label = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
# print text
|
|
||||||
print " ${label}";
|
|
||||||
print " $full_text\n";
|
|
||||||
print " ${label}";
|
|
||||||
print " $short_text\n";
|
|
||||||
|
|
||||||
# consider color and urgent flag only on discharge
|
|
||||||
if ($status eq 'discharging') {
|
|
||||||
|
|
||||||
if ($percent < 20) {
|
|
||||||
print "#FF0000\n";
|
|
||||||
} elsif ($percent < 40) {
|
|
||||||
print "#FFAE00\n";
|
|
||||||
} elsif ($percent < 60) {
|
|
||||||
print "#FFF600\n";
|
|
||||||
} elsif ($percent < 85) {
|
|
||||||
print "#A8FF00\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($percent < 5) {
|
|
||||||
exit(33);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
exit(0);
|
|
|
@ -1,106 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
#
|
|
||||||
# Copyright (C) 2016 James Murphy
|
|
||||||
# Licensed under the GPL version 2 only
|
|
||||||
#
|
|
||||||
# A battery indicator blocklet script for i3blocks
|
|
||||||
|
|
||||||
from subprocess import check_output
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
|
|
||||||
config = dict(os.environ)
|
|
||||||
status = check_output(['acpi'], universal_newlines=True)
|
|
||||||
|
|
||||||
if not status:
|
|
||||||
# stands for no battery found
|
|
||||||
color = config.get("color_10", "red")
|
|
||||||
fulltext = "<span color='{}'><span font='FontAwesome'>\uf00d \uf240</span></span>".format(color)
|
|
||||||
percentleft = 100
|
|
||||||
else:
|
|
||||||
# if there is more than one battery in one laptop, the percentage left is
|
|
||||||
# available for each battery separately, although state and remaining
|
|
||||||
# time for overall block is shown in the status of the first battery
|
|
||||||
batteries = status.split("\n")
|
|
||||||
state_batteries=[]
|
|
||||||
commasplitstatus_batteries=[]
|
|
||||||
percentleft_batteries=[]
|
|
||||||
time = ""
|
|
||||||
for battery in batteries:
|
|
||||||
if battery!='':
|
|
||||||
state_batteries.append(battery.split(": ")[1].split(", ")[0])
|
|
||||||
commasplitstatus = battery.split(", ")
|
|
||||||
if not time:
|
|
||||||
time = commasplitstatus[-1].strip()
|
|
||||||
# check if it matches a time
|
|
||||||
time = re.match(r"(\d+):(\d+)", time)
|
|
||||||
if time:
|
|
||||||
time = ":".join(time.groups())
|
|
||||||
timeleft = " ({})".format(time)
|
|
||||||
else:
|
|
||||||
timeleft = ""
|
|
||||||
|
|
||||||
p = int(commasplitstatus[1].rstrip("%\n"))
|
|
||||||
if p>0:
|
|
||||||
percentleft_batteries.append(p)
|
|
||||||
commasplitstatus_batteries.append(commasplitstatus)
|
|
||||||
state = state_batteries[0]
|
|
||||||
commasplitstatus = commasplitstatus_batteries[0]
|
|
||||||
if percentleft_batteries:
|
|
||||||
percentleft = int(sum(percentleft_batteries)/len(percentleft_batteries))
|
|
||||||
else:
|
|
||||||
percentleft = 0
|
|
||||||
|
|
||||||
# stands for charging
|
|
||||||
color = config.get("color_charging", "yellow")
|
|
||||||
FA_LIGHTNING = "<span color='{}'><span font='FontAwesome'>\uf0e7</span></span>".format(color)
|
|
||||||
|
|
||||||
# stands for plugged in
|
|
||||||
FA_PLUG = "<span font='FontAwesome'>\uf1e6</span>"
|
|
||||||
|
|
||||||
# stands for using battery
|
|
||||||
FA_BATTERY = "<span font='FontAwesome'>\uf240</span>"
|
|
||||||
|
|
||||||
# stands for unknown status of battery
|
|
||||||
FA_QUESTION = "<span font='FontAwesome'>\uf128</span>"
|
|
||||||
|
|
||||||
|
|
||||||
if state == "Discharging":
|
|
||||||
fulltext = FA_BATTERY + " "
|
|
||||||
elif state == "Full":
|
|
||||||
fulltext = FA_PLUG + " "
|
|
||||||
timeleft = ""
|
|
||||||
elif state == "Unknown":
|
|
||||||
fulltext = FA_QUESTION + " " + FA_BATTERY + " "
|
|
||||||
timeleft = ""
|
|
||||||
else:
|
|
||||||
fulltext = FA_LIGHTNING + " " + FA_PLUG + " "
|
|
||||||
|
|
||||||
def color(percent):
|
|
||||||
if percent < 10:
|
|
||||||
# exit code 33 will turn background red
|
|
||||||
return config.get("color_10", "#FFFFFF")
|
|
||||||
if percent < 20:
|
|
||||||
return config.get("color_20", "#FF3300")
|
|
||||||
if percent < 30:
|
|
||||||
return config.get("color_30", "#FF6600")
|
|
||||||
if percent < 40:
|
|
||||||
return config.get("color_40", "#FF9900")
|
|
||||||
if percent < 50:
|
|
||||||
return config.get("color_50", "#FFCC00")
|
|
||||||
if percent < 60:
|
|
||||||
return config.get("color_60", "#FFFF00")
|
|
||||||
if percent < 70:
|
|
||||||
return config.get("color_70", "#FFFF33")
|
|
||||||
if percent < 80:
|
|
||||||
return config.get("color_80", "#FFFF66")
|
|
||||||
return config.get("color_full", "#FFFFFF")
|
|
||||||
|
|
||||||
form = '<span color="{}">{}%</span>'
|
|
||||||
fulltext += form.format(color(percentleft), percentleft)
|
|
||||||
#fulltext += timeleft
|
|
||||||
|
|
||||||
print(fulltext)
|
|
||||||
print(fulltext)
|
|
||||||
if percentleft < 10:
|
|
||||||
exit(33)
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
PICTURE=/tmp/i3lock.png
|
|
||||||
SCREENSHOT="scrot -z $PICTURE"
|
|
||||||
|
|
||||||
BLUR="15x12"
|
|
||||||
|
|
||||||
$SCREENSHOT
|
|
||||||
convert $PICTURE -blur $BLUR $PICTURE
|
|
||||||
i3lock -i $PICTURE
|
|
||||||
rm $PICTURE
|
|
|
@ -1,62 +0,0 @@
|
||||||
#!/usr/bin/perl
|
|
||||||
#
|
|
||||||
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
|
|
||||||
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
|
|
||||||
# Copyright 2014 Andreas Guldstrand <andreas.guldstrand@gmail.com>
|
|
||||||
#
|
|
||||||
# Licensed under the terms of the GNU GPL v3, or any later version.
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
use utf8;
|
|
||||||
use Getopt::Long;
|
|
||||||
|
|
||||||
# default values
|
|
||||||
my $t_warn = $ENV{T_WARN} // 50;
|
|
||||||
my $t_crit = $ENV{T_CRIT} // 80;
|
|
||||||
my $cpu_usage = -1;
|
|
||||||
my $decimals = $ENV{DECIMALS} // 0;
|
|
||||||
my $label = $ENV{LABEL} // "";
|
|
||||||
|
|
||||||
sub help {
|
|
||||||
print "Usage: cpu_usage [-w <warning>] [-c <critical>] [-d <decimals>]\n";
|
|
||||||
print "-w <percent>: warning threshold to become yellow\n";
|
|
||||||
print "-c <percent>: critical threshold to become red\n";
|
|
||||||
print "-d <decimals>: Use <decimals> decimals for percentage (default is $decimals) \n";
|
|
||||||
exit 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
GetOptions("help|h" => \&help,
|
|
||||||
"w=i" => \$t_warn,
|
|
||||||
"c=i" => \$t_crit,
|
|
||||||
"d=i" => \$decimals,
|
|
||||||
);
|
|
||||||
|
|
||||||
# Get CPU usage
|
|
||||||
$ENV{LC_ALL}="en_US"; # if mpstat is not run under en_US locale, things may break, so make sure it is
|
|
||||||
open (MPSTAT, 'mpstat 1 1 |') or die;
|
|
||||||
while (<MPSTAT>) {
|
|
||||||
if (/^.*\s+(\d+\.\d+)[\s\x00]?$/) {
|
|
||||||
$cpu_usage = 100 - $1; # 100% - %idle
|
|
||||||
last;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
close(MPSTAT);
|
|
||||||
|
|
||||||
$cpu_usage eq -1 and die 'Can\'t find CPU information';
|
|
||||||
|
|
||||||
# Print short_text, full_text
|
|
||||||
print "${label}";
|
|
||||||
printf "%02.${decimals}f%%\n", $cpu_usage;
|
|
||||||
print "${label}";
|
|
||||||
printf "%02.${decimals}f%%\n", $cpu_usage;
|
|
||||||
|
|
||||||
# Print color, if needed
|
|
||||||
if ($cpu_usage >= $t_crit) {
|
|
||||||
print "#FF0000\n";
|
|
||||||
exit 33;
|
|
||||||
} elsif ($cpu_usage >= $t_warn) {
|
|
||||||
print "#FFFC00\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
exit 0;
|
|
|
@ -1,48 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
|
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
DIR="${DIR:-$BLOCK_INSTANCE}"
|
|
||||||
DIR="${DIR:-$HOME}"
|
|
||||||
ALERT_LOW="${ALERT_LOW:-$1}"
|
|
||||||
ALERT_LOW="${ALERT_LOW:-10}" # color will turn red under this value (default: 10%)
|
|
||||||
|
|
||||||
LOCAL_FLAG="-l"
|
|
||||||
if [ "$1" = "-n" ] || [ "$2" = "-n" ]; then
|
|
||||||
LOCAL_FLAG=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
df -h -P $LOCAL_FLAG "$DIR" | awk -v label="$LABEL" -v alert_low=$ALERT_LOW '
|
|
||||||
/\/.*/ {
|
|
||||||
# full text
|
|
||||||
print label $4
|
|
||||||
|
|
||||||
# short text
|
|
||||||
print label $4
|
|
||||||
|
|
||||||
use=$5
|
|
||||||
|
|
||||||
# no need to continue parsing
|
|
||||||
exit 0
|
|
||||||
}
|
|
||||||
|
|
||||||
END {
|
|
||||||
gsub(/%$/,"",use)
|
|
||||||
if (100 - use < alert_low) {
|
|
||||||
# color
|
|
||||||
print "#FF0000"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
'
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
MAX_DESKTOPS=20
|
|
||||||
|
|
||||||
WORKSPACES=$(seq -s '\n' 1 1 ${MAX_DESKTOPS})
|
|
||||||
|
|
||||||
EMPTY_WORKSPACE=$( (i3-msg -t get_workspaces | tr ',' '\n' | grep num | awk -F: '{print int($2)}' ; \
|
|
||||||
echo -e ${WORKSPACES} ) | sort -n | uniq -u | head -n 1)
|
|
||||||
|
|
||||||
i3-msg workspace ${EMPTY_WORKSPACE}
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
KBD=$(/usr/bin/xkblayout-state print '%s')
|
|
||||||
echo $KBD
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
Main() {
|
|
||||||
source /usr/share/endeavouros/scripts/eos-script-lib-yad || return 1
|
|
||||||
|
|
||||||
local command=(
|
|
||||||
eos_yad --title="EndeavourOS i3-wm keybindings:" --no-buttons --geometry=400x345-15-400 --list
|
|
||||||
--column=key: --column=description: --column=command:
|
|
||||||
"ESC" "close this app" ""
|
|
||||||
"=" "modkey" "(set mod Mod4)"
|
|
||||||
"+enter" "open a terminal" ""
|
|
||||||
"+Shift+n" "new empty workspace" ""
|
|
||||||
"+w" "open Browser" ""
|
|
||||||
"+n" "open Filebrowser" ""
|
|
||||||
"+d" "app menu" ""
|
|
||||||
"+q" "close focused app" ""
|
|
||||||
"Print-key" "screenshot" ""
|
|
||||||
"+Shift+e" "logout menu" ""
|
|
||||||
"F1" "open keybinding helper" ""
|
|
||||||
)
|
|
||||||
|
|
||||||
"${command[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
Main "$@"
|
|
|
@ -1,6 +0,0 @@
|
||||||
I3_CONFIG=$HOME/.config/i3/config
|
|
||||||
mod_key=$(sed -nre 's/^set \$mod (.*)/\1/p' ${I3_CONFIG})
|
|
||||||
grep "^bindsym" ${I3_CONFIG} \
|
|
||||||
| sed "s/-\(-\w\+\)\+//g;s/\$mod/${mod_key}/g;s/Mod1/Alt/g;s/exec //;s/bindsym //;s/^\s\+//;s/^\([^ ]\+\) \(.\+\)$/\2: \1/;s/^\s\+//" \
|
|
||||||
| tr -s ' ' \
|
|
||||||
| rofi -dmenu -theme ~/.config/rofi/rofikeyhint.rasi
|
|
|
@ -1,69 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
|
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
TYPE="${BLOCK_INSTANCE:-mem}"
|
|
||||||
|
|
||||||
awk -v type=$TYPE '
|
|
||||||
/^MemTotal:/ {
|
|
||||||
mem_total=$2
|
|
||||||
}
|
|
||||||
/^MemFree:/ {
|
|
||||||
mem_free=$2
|
|
||||||
}
|
|
||||||
/^Buffers:/ {
|
|
||||||
mem_free+=$2
|
|
||||||
}
|
|
||||||
/^Cached:/ {
|
|
||||||
mem_free+=$2
|
|
||||||
}
|
|
||||||
/^SwapTotal:/ {
|
|
||||||
swap_total=$2
|
|
||||||
}
|
|
||||||
/^SwapFree:/ {
|
|
||||||
swap_free=$2
|
|
||||||
}
|
|
||||||
END {
|
|
||||||
if (type == "swap") {
|
|
||||||
free=swap_free/1024/1024
|
|
||||||
used=(swap_total-swap_free)/1024/1024
|
|
||||||
total=swap_total/1024/1024
|
|
||||||
} else {
|
|
||||||
free=mem_free/1024/1024
|
|
||||||
used=(mem_total-mem_free)/1024/1024
|
|
||||||
total=mem_total/1024/1024
|
|
||||||
}
|
|
||||||
|
|
||||||
pct=0
|
|
||||||
if (total > 0) {
|
|
||||||
pct=used/total*100
|
|
||||||
}
|
|
||||||
|
|
||||||
# full text
|
|
||||||
# printf("%.1fG/%.1fG (%.f%%)\n", used, total, pct)
|
|
||||||
|
|
||||||
# short text
|
|
||||||
printf("%.f%%\n", pct)
|
|
||||||
|
|
||||||
# color
|
|
||||||
if (pct > 90) {
|
|
||||||
print("#FF0000")
|
|
||||||
} else if (pct > 80) {
|
|
||||||
print("#FFAE00")
|
|
||||||
} else if (pct > 70) {
|
|
||||||
print("#FFF600")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
' /proc/meminfo
|
|
|
@ -1,93 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# Edited by Andreas Lindlbauer <endeavouros.mousily@aleeas.com>
|
|
||||||
|
|
||||||
temps=("#0600FF" "#0500FF" "#0400FF" "#0300FF" "#0200FF" "#0100FF" "#0000FF" "#0002FF" "#0012FF" "#0022FF" "#0032FF" "#0044FF" "#0054FF" "#0064FF" "#0074FF" "#0084FF" "#0094FF" "#00A4FF" "#00B4FF" "#00C4FF" "#00D4FF" "#00E4FF" "#00FFF4" "#00FFD0" "#00FFA8" "#00FF83" "#00FF5C" "#00FF36" "#00FF10" "#17FF00" "#3EFF00" "#65FF00" "#B0FF00" "#FDFF00" "#FFF000" "#FFDC00" "#FFC800" "#FFB400" "#FFA000" "#FF8C00" "#FF7800" "#FF6400" "#FF5000" "#FF3C00" "#FF2800" "#FF1400" "#FF0000")
|
|
||||||
|
|
||||||
command -v jq >/dev/null 2>&1 || { echo >&2 "Program 'jq' required but it is not installed.
|
|
||||||
Aborting."; exit 1; }
|
|
||||||
command -v wget >/dev/null 2>&1 || { echo >&2 "Program 'wget' required but is not installed.
|
|
||||||
Aborting."; exit 1; }
|
|
||||||
|
|
||||||
# To use this script you need to create an API key here https://home.openweathermap.org
|
|
||||||
# You need to put your Open Weather APIKEY here:
|
|
||||||
APIKEY="keykeykey"
|
|
||||||
# And get your Latitute and Longitudes to put in here:
|
|
||||||
LAT="XX.XXXX"
|
|
||||||
LON="XX.XXXX"
|
|
||||||
URL="http://api.openweathermap.org/data/2.5/onecall?lat=${LAT}&lon=${LON}&units=metric&exclude=minutely,hourly,daily&APPID=${APIKEY}"
|
|
||||||
WEATHER_RESPONSE=$(wget -qO- "${URL}")
|
|
||||||
|
|
||||||
WEATHER_CONDITION=$(echo "$WEATHER_RESPONSE" | jq '.current.weather[0].main' | sed 's/"//g')
|
|
||||||
WEATHER_TEMP=$(echo "$WEATHER_RESPONSE" | jq '.current.feels_like')
|
|
||||||
WEATHER_INT=${WEATHER_TEMP%.*}
|
|
||||||
|
|
||||||
TIME_NOW=$( echo "$WEATHER_RESPONSE" | jq '.current.dt')
|
|
||||||
SUNRISE=$( echo "$WEATHER_RESPONSE" | jq '.current.sunrise')
|
|
||||||
SUNSET=$( echo "$WEATHER_RESPONSE" | jq '.current.sunset')
|
|
||||||
DESCRIPTION=$( echo "$WEATHER_RESPONSE" | jq '.current.weather[0].description' | sed 's/"//g')
|
|
||||||
WEATHER_ALERT=$( echo "$WEATHER_RESPONSE" | jq '.alerts[0].event' | sed 's/"//g')
|
|
||||||
DAYTIME="n"
|
|
||||||
|
|
||||||
if [[ "$TIME_NOW" > "$SUNRISE" ]] && [[ "$TIME_NOW" < "$SUNSET" ]]; then
|
|
||||||
DAYTIME="d"
|
|
||||||
fi
|
|
||||||
|
|
||||||
case $WEATHER_CONDITION in
|
|
||||||
'Clouds')
|
|
||||||
if [ "$DAYTIME" == "d" ]; then
|
|
||||||
WEATHER_ICON=""
|
|
||||||
else
|
|
||||||
WEATHER_ICON=""
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
'Rain')
|
|
||||||
WEATHER_ICON=""
|
|
||||||
;;
|
|
||||||
'Drizzle')
|
|
||||||
if [ "$DAYTIME" == "d" ]; then
|
|
||||||
WEATHER_ICON=""
|
|
||||||
else
|
|
||||||
WEATHER_ICON=""
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
'Thunderstorm')
|
|
||||||
WEATHER_ICON=""
|
|
||||||
;;
|
|
||||||
'Snow')
|
|
||||||
WEATHER_ICON=""
|
|
||||||
;;
|
|
||||||
'Clear')
|
|
||||||
if [ "$DAYTIME" == "d" ]; then
|
|
||||||
WEATHER_ICON=""
|
|
||||||
else
|
|
||||||
WEATHER_ICON=""
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
WEATHER_ICON="🌫"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
WEATHER_COLOR="#FFFFFF"
|
|
||||||
if [ "$WEATHER_INT" -lt "-11" ]; then
|
|
||||||
WEATHER_COLOR="#0000FF"
|
|
||||||
elif [ "$WEATHER_INT" -gt 35 ]; then
|
|
||||||
WEATHER_COLOR="#FF0000"
|
|
||||||
else
|
|
||||||
WEATHER_INT=$(( WEATHER_INT + 11 ))
|
|
||||||
WEATHER_COLOR="${temps[$WEATHER_INT]}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
full_text="${WEATHER_ICON} ${WEATHER_TEMP}°C: ${DESCRIPTION} "
|
|
||||||
if [ "$WEATHER_ALERT" != "null" ]; then
|
|
||||||
WARN_START=$(echo "$WEATHER_RESPONSE" | jq '.alerts[0].start')
|
|
||||||
WARN_END=$(echo "$WEATHER_RESPONSE" | jq '.alerts[0].end')
|
|
||||||
WARN_START=$(date -d @"$WARN_START" +%a_%k:%M)
|
|
||||||
WARN_END=$(date -d @"$WARN_END" +%a_%k:%M)
|
|
||||||
full_text="${WEATHER_ICON} ${WEATHER_TEMP}°C: ${DESCRIPTION} ${WEATHER_ALERT} from ${WARN_START} to ${WARN_END} "
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
echo "${full_text}"
|
|
||||||
echo "${WEATHER_TEMP}°C "
|
|
||||||
echo "${WEATHER_COLOR}"
|
|
|
@ -1,43 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
command -v jq >/dev/null 2>&1 || { echo >&2 "Program 'jq' required but it is not installed.
|
|
||||||
Aborting."; exit 1; }
|
|
||||||
command -v wget >/dev/null 2>&1 || { echo >&2 "Program 'wget' required but is not installed.
|
|
||||||
Aborting."; exit 1; }
|
|
||||||
|
|
||||||
# To use this script you need to create an API key here https://home.openweathermap.org
|
|
||||||
# You need to put your Open Weather APIKEY here:
|
|
||||||
APIKEY="keykey"
|
|
||||||
# find your City ID here: https://openweathermap.org/
|
|
||||||
# search for your city and copy the ID from the URL inside the browser.
|
|
||||||
CITY_ID="idid"
|
|
||||||
URL="http://api.openweathermap.org/data/2.5/weather?id=${CITY_ID}&units=metric&APPID=${APIKEY}"
|
|
||||||
|
|
||||||
WEATHER_RESPONSE=$(wget -qO- "${URL}")
|
|
||||||
|
|
||||||
WEATHER_CONDITION=$(echo $WEATHER_RESPONSE | jq '.weather[0].main' | sed 's/"//g')
|
|
||||||
WEATHER_TEMP=$(echo $WEATHER_RESPONSE | jq '.main.temp')
|
|
||||||
WIND_DIR=$( echo "$WEATHER_RESPONSE" | jq '.wind.deg')
|
|
||||||
WIND_SPEED=$( echo "$WEATHER_RESPONSE" | jq '.wind.speed')
|
|
||||||
|
|
||||||
WIND_SPEED=$(awk "BEGIN {print 60*60*$WIND_SPEED/1000}")
|
|
||||||
WIND_DIR=$(awk "BEGIN {print int(($WIND_DIR % 360)/22.5)}")
|
|
||||||
DIR_ARRAY=( N NNE NE ENE E ESE SE SSE S SSW SW WSW W WNW NW NNW N )
|
|
||||||
WIND_DIR=${DIR_ARRAY[WIND_DIR]}
|
|
||||||
|
|
||||||
case $WEATHER_CONDITION in
|
|
||||||
'Clouds')
|
|
||||||
WEATHER_ICON=""
|
|
||||||
;;
|
|
||||||
'Rain')
|
|
||||||
WEATHER_ICON=""
|
|
||||||
;;
|
|
||||||
'Snow')
|
|
||||||
WEATHER_ICON=""
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
WEATHER_ICON=""
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo "${WEATHER_ICON} ${WEATHER_TEMP}°C: ${WIND_SPEED} km/h ${WIND_DIR}"
|
|
|
@ -1,5 +0,0 @@
|
||||||
# Weather
|
|
||||||
[Weather]
|
|
||||||
command=~/.config/i3/scripts/openweather
|
|
||||||
interval=1800
|
|
||||||
color=#7275b3
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
#
|
|
||||||
# power-profiles-daemon implementation:
|
|
||||||
# needs package power-profiles-daemon installed and the service running see here:
|
|
||||||
# https://wiki.archlinux.org/title/CPU_frequency_scaling#power-profiles-daemon
|
|
||||||
# used in i3-blocks: ~/.config/i3/i3blocks.conf together with: ~/.config/i3/scripts/power-profiles
|
|
||||||
|
|
||||||
# script to show current power profile
|
|
||||||
|
|
||||||
current_profile=$(/usr/bin/powerprofilesctl get)
|
|
||||||
echo "$current_profile"
|
|
|
@ -1,86 +0,0 @@
|
||||||
#!/usr/bin/env perl
|
|
||||||
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
|
|
||||||
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
|
|
||||||
# Copyright 2014 Andreas Guldstrand <andreas.guldstrand@gmail.com>
|
|
||||||
# Copyright 2014 Benjamin Chretien <chretien at lirmm dot fr>
|
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
# Edited by Andreas Lindlbauer <endeavouros.mousily@aleeas.com>
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
use utf8;
|
|
||||||
use Getopt::Long;
|
|
||||||
|
|
||||||
binmode(STDOUT, ":utf8");
|
|
||||||
|
|
||||||
# default values
|
|
||||||
my $t_warn = $ENV{T_WARN} || 70;
|
|
||||||
my $t_crit = $ENV{T_CRIT} || 90;
|
|
||||||
my $chip = $ENV{SENSOR_CHIP} || "";
|
|
||||||
my $temperature = -9999;
|
|
||||||
my $label = "😀 ";
|
|
||||||
|
|
||||||
sub help {
|
|
||||||
print "Usage: temperature [-w <warning>] [-c <critical>] [--chip <chip>]\n";
|
|
||||||
print "-w <percent>: warning threshold to become yellow\n";
|
|
||||||
print "-c <percent>: critical threshold to become red\n";
|
|
||||||
print "--chip <chip>: sensor chip\n";
|
|
||||||
exit 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
GetOptions("help|h" => \&help,
|
|
||||||
"w=i" => \$t_warn,
|
|
||||||
"c=i" => \$t_crit,
|
|
||||||
"chip=s" => \$chip);
|
|
||||||
|
|
||||||
# Get chip temperature
|
|
||||||
open (SENSORS, "sensors -u $chip |") or die;
|
|
||||||
while (<SENSORS>) {
|
|
||||||
if (/^\s+temp1_input:\s+[\+]*([\-]*\d+\.\d)/) {
|
|
||||||
$temperature = $1;
|
|
||||||
last;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
close(SENSORS);
|
|
||||||
|
|
||||||
$temperature eq -9999 and die 'Cannot find temperature';
|
|
||||||
|
|
||||||
if ($temperature < 45) {
|
|
||||||
$label = '';
|
|
||||||
} elsif ($temperature < 55) {
|
|
||||||
$label = '';
|
|
||||||
} elsif ($temperature < 65) {
|
|
||||||
$label = '';
|
|
||||||
} elsif ($temperature < 75) {
|
|
||||||
$label = '';
|
|
||||||
} else {
|
|
||||||
$label = '';
|
|
||||||
}
|
|
||||||
# Print short_text, full_text
|
|
||||||
print "${label}";
|
|
||||||
print " $temperature°C\n";
|
|
||||||
print "${label}";
|
|
||||||
print " $temperature°C\n";
|
|
||||||
|
|
||||||
# Print color, if needed
|
|
||||||
if ($temperature >= $t_crit) {
|
|
||||||
print "#FF0000\n";
|
|
||||||
exit 33;
|
|
||||||
} elsif ($temperature >= $t_warn) {
|
|
||||||
print "#FFFC00\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
exit 0;
|
|