Add files via upload
This commit is contained in:
@@ -0,0 +1,117 @@
|
|||||||
|
; thunar GtkAccelMap rc-file -*- scheme -*-
|
||||||
|
; this file is an automated accelerator map dump
|
||||||
|
;
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/restore" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/undo" "<Primary>z")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/select-all-files" "<Primary>a")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-dtime" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-last-modified" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/invert-selection" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-display-name" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/cut" "<Primary>x")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/restore-show" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in" "<Primary>KP_Add")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-ascending" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/empty-trash" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/reload" "<Primary>r")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/toggle-image-preview" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/cut-2" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-menu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/trash-delete" "Delete")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/open-network" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/trash-delete-2" "KP_Delete")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/contents/help-menu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/delete" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/set-default-app" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/back-alt" "BackSpace")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/open-in-new-tab" "<Primary><Shift>p")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/switch-next-tab" "<Primary>Page_Down")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/open-file-menu" "F10")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-compact-list" "<Primary>3")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/about" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/open-computer" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/clear-directory-specific-settings" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/open-file-system" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/open-parent" "<Alt>Up")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/view-menu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/copy" "<Primary>c")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/properties" "<Alt>Return")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/back" "<Alt>Left")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/sendto-menu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-mtime" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/open-location" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/bookmarks-menu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/reload-alt" "F5")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-buttons" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-size-in-bytes" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/unselect-all-files" "Escape")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/copy-2" "<Primary>Insert")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out-alt" "<Primary>minus")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/cancel-search" "Escape")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/select-by-pattern" "<Primary>s")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/rename" "F2")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/configure-columns" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/create-document" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarShortcutsPane/sendto-shortcuts" "<Primary>d")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/move-to-trash" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/close-tab" "<Primary>w")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-tree" "<Primary>e")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/open" "<Primary>o")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/toggle-side-pane" "F9")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-entry" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/open-recent" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/open-home" "<Alt>Home")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/toggle-split-view" "F3")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/open-templates" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/open-location-alt" "<Alt>d")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/create-folder" "<Primary><Shift>n")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/search" "<Primary>f")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-type" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/paste-2" "<Shift>Insert")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in-alt2" "<Primary>equal")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/duplicate" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/remove-from-recent" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out" "<Primary>KP_Subtract")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/close-window" "<Primary>q")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/edit-menu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-shortcuts" "<Primary>b")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/show-highlight" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/contents" "F1")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/preferences" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/switch-previous-tab" "<Primary>Page_Up")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in-alt1" "<Primary>plus")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/toggle-sort-order" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/open-in-new-window" "<Primary><Shift>o")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/view-configure-toolbar" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-menu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/view-statusbar" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/close-all-windows" "<Primary><Shift>w")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/open-trash" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/paste" "<Primary>v")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/delete-3" "<Shift>KP_Delete")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/execute" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/open-desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/open-with-other" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-size" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/sendto-desktop" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/open-location" "<Primary>l")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/view-menubar" "<Primary>m")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-reset-alt" "<Primary>0")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-detailed-list" "<Primary>2")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-icons" "<Primary>1")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/new-window" "<Primary>n")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/forward" "<Alt>Right")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/redo" "<Primary><Shift>z")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-descending" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/file-menu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/make-link" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarActionManager/delete-2" "<Shift>Delete")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/new-tab" "<Primary>t")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/go-menu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-size" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/arrange-items-menu" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/show-hidden" "<Primary>h")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-name" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-reset" "<Primary>KP_0")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-filetype" "")
|
||||||
|
; (gtk_accel_path "<Actions>/ThunarWindow/detach-tab" "")
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<actions>
|
||||||
|
<action>
|
||||||
|
<icon>utilities-terminal</icon>
|
||||||
|
<name>Open Terminal Here</name>
|
||||||
|
<unique-id>1670685745741788-1</unique-id>
|
||||||
|
<command>exo-open --working-directory %f --launch TerminalEmulator</command>
|
||||||
|
<description>Example for a custom action</description>
|
||||||
|
<patterns>*</patterns>
|
||||||
|
<startup-notify/>
|
||||||
|
<directories/>
|
||||||
|
</action>
|
||||||
|
</actions>
|
||||||
@@ -0,0 +1,811 @@
|
|||||||
|
# Configuration for Alacritty, the GPU enhanced terminal emulator.
|
||||||
|
|
||||||
|
# Import additional configuration files
|
||||||
|
#
|
||||||
|
# Imports are loaded in order, skipping all missing files, with the importing
|
||||||
|
# file being loaded last. If a field is already present in a previous import, it
|
||||||
|
# will be replaced.
|
||||||
|
#
|
||||||
|
# All imports must either be absolute paths starting with `/`, or paths relative
|
||||||
|
# to the user's home directory starting with `~/`.
|
||||||
|
#import:
|
||||||
|
# - /path/to/alacritty.yml
|
||||||
|
|
||||||
|
# Any items in the `env` entry below will be added as
|
||||||
|
# environment variables. Some entries may override variables
|
||||||
|
# set by alacritty itself.
|
||||||
|
#env:
|
||||||
|
# TERM variable
|
||||||
|
#
|
||||||
|
# This value is used to set the `$TERM` environment variable for
|
||||||
|
# each instance of Alacritty. If it is not present, alacritty will
|
||||||
|
# check the local terminfo database and use `alacritty` if it is
|
||||||
|
# available, otherwise `xterm-256color` is used.
|
||||||
|
#TERM: alacritty
|
||||||
|
|
||||||
|
window:
|
||||||
|
# Window dimensions (changes require restart)
|
||||||
|
#
|
||||||
|
# Number of lines/columns (not pixels) in the terminal. The number of columns
|
||||||
|
# must be at least `2`, while using a value of `0` for columns and lines will
|
||||||
|
# fall back to the window manager's recommended size.
|
||||||
|
#dimensions:
|
||||||
|
# columns: 0
|
||||||
|
# lines: 0
|
||||||
|
|
||||||
|
# Window position (changes require restart)
|
||||||
|
#
|
||||||
|
# Specified in number of pixels.
|
||||||
|
# If the position is not set, the window manager will handle the placement.
|
||||||
|
#position:
|
||||||
|
# x: 0
|
||||||
|
# y: 0
|
||||||
|
|
||||||
|
# Window padding (changes require restart)
|
||||||
|
#
|
||||||
|
# Blank space added around the window in pixels. This padding is scaled
|
||||||
|
# by DPI and the specified value is always added at both opposing sides.
|
||||||
|
padding:
|
||||||
|
x: 6
|
||||||
|
y: 5
|
||||||
|
|
||||||
|
# Spread additional padding evenly around the terminal content.
|
||||||
|
dynamic_padding: true
|
||||||
|
|
||||||
|
# Window decorations
|
||||||
|
#
|
||||||
|
# Values for `decorations`:
|
||||||
|
# - full: Borders and title bar
|
||||||
|
# - none: Neither borders nor title bar
|
||||||
|
#
|
||||||
|
# Values for `decorations` (macOS only):
|
||||||
|
# - transparent: Title bar, transparent background and title bar buttons
|
||||||
|
# - buttonless: Title bar, transparent background and no title bar buttons
|
||||||
|
decorations: full
|
||||||
|
|
||||||
|
# Startup Mode (changes require restart)
|
||||||
|
#
|
||||||
|
# Values for `startup_mode`:
|
||||||
|
# - Windowed
|
||||||
|
# - Maximized
|
||||||
|
# - Fullscreen
|
||||||
|
#
|
||||||
|
# Values for `startup_mode` (macOS only):
|
||||||
|
# - SimpleFullscreen
|
||||||
|
#startup_mode: Windowed
|
||||||
|
|
||||||
|
# Window title
|
||||||
|
#title: Alacritty
|
||||||
|
|
||||||
|
# Allow terminal applications to change Alacritty's window title.
|
||||||
|
#dynamic_title: true
|
||||||
|
|
||||||
|
# Window class (Linux/BSD only):
|
||||||
|
#class:
|
||||||
|
# Application instance name
|
||||||
|
#instance: Alacritty
|
||||||
|
# General application class
|
||||||
|
#general: Alacritty
|
||||||
|
|
||||||
|
# GTK theme variant (Linux/BSD only)
|
||||||
|
#
|
||||||
|
# Override the variant of the GTK theme. Commonly supported values are `dark`
|
||||||
|
# and `light`. Set this to `None` to use the default theme variant.
|
||||||
|
#gtk_theme_variant: None
|
||||||
|
|
||||||
|
#scrolling:
|
||||||
|
# Maximum number of lines in the scrollback buffer.
|
||||||
|
# Specifying '0' will disable scrolling.
|
||||||
|
#history: 10000
|
||||||
|
|
||||||
|
# Scrolling distance multiplier.
|
||||||
|
#multiplier: 3
|
||||||
|
|
||||||
|
# Font configuration
|
||||||
|
font:
|
||||||
|
|
||||||
|
|
||||||
|
# Normal (roman) font face
|
||||||
|
normal:
|
||||||
|
# Font family
|
||||||
|
#
|
||||||
|
# Default:
|
||||||
|
# - (macOS) Menlo
|
||||||
|
# - (Linux/BSD) monospace
|
||||||
|
# - (Windows) Consolas
|
||||||
|
family: Source Code Pro
|
||||||
|
size: 14.0
|
||||||
|
|
||||||
|
# The `style` can be specified to pick a specific face.
|
||||||
|
#style: Regular
|
||||||
|
|
||||||
|
# Bold font face
|
||||||
|
#bold:
|
||||||
|
# Font family
|
||||||
|
#
|
||||||
|
# If the bold family is not specified, it will fall back to the
|
||||||
|
# value specified for the normal font.
|
||||||
|
#family: monospace
|
||||||
|
|
||||||
|
# The `style` can be specified to pick a specific face.
|
||||||
|
#style: Bold
|
||||||
|
|
||||||
|
# Italic font face
|
||||||
|
#italic:
|
||||||
|
# Font family
|
||||||
|
#
|
||||||
|
# If the italic family is not specified, it will fall back to the
|
||||||
|
# value specified for the normal font.
|
||||||
|
#family: monospace
|
||||||
|
|
||||||
|
# The `style` can be specified to pick a specific face.
|
||||||
|
#style: Italic
|
||||||
|
|
||||||
|
# Bold italic font face
|
||||||
|
#bold_italic:
|
||||||
|
# Font family
|
||||||
|
#
|
||||||
|
# If the bold italic family is not specified, it will fall back to the
|
||||||
|
# value specified for the normal font.
|
||||||
|
#family: monospace
|
||||||
|
|
||||||
|
# The `style` can be specified to pick a specific face.
|
||||||
|
#style: Bold Italic
|
||||||
|
|
||||||
|
# Point size
|
||||||
|
size: 9.0
|
||||||
|
|
||||||
|
# Offset is the extra space around each character. `offset.y` can be thought
|
||||||
|
# of as modifying the line spacing, and `offset.x` as modifying the letter
|
||||||
|
# spacing.
|
||||||
|
#offset:
|
||||||
|
# x: 0
|
||||||
|
# y: 0
|
||||||
|
|
||||||
|
# Glyph offset determines the locations of the glyphs within their cells with
|
||||||
|
# the default being at the bottom. Increasing `x` moves the glyph to the
|
||||||
|
# right, increasing `y` moves the glyph upward.
|
||||||
|
#glyph_offset:
|
||||||
|
# x: 0
|
||||||
|
# y: 0
|
||||||
|
|
||||||
|
# Thin stroke font rendering (macOS only)
|
||||||
|
#
|
||||||
|
# Thin strokes are suitable for retina displays, but for non-retina screens
|
||||||
|
# it is recommended to set `use_thin_strokes` to `false`.
|
||||||
|
#use_thin_strokes: true
|
||||||
|
|
||||||
|
# If `true`, bold text is drawn using the bright color variants.
|
||||||
|
#draw_bold_text_with_bright_colors: false
|
||||||
|
|
||||||
|
|
||||||
|
colors:
|
||||||
|
primary:
|
||||||
|
background: '0x282828'
|
||||||
|
foreground: '0xdfbf8e'
|
||||||
|
|
||||||
|
normal:
|
||||||
|
black: '0x665c54'
|
||||||
|
red: '0xea6962'
|
||||||
|
green: '0xa9b665'
|
||||||
|
yellow: '0xe78a4e'
|
||||||
|
blue: '0x7daea3'
|
||||||
|
magenta: '0xd3869b'
|
||||||
|
cyan: '0x89b482'
|
||||||
|
white: '0xdfbf8e'
|
||||||
|
|
||||||
|
bright:
|
||||||
|
black: '0x928374'
|
||||||
|
red: '0xea6962'
|
||||||
|
green: '0xa9b665'
|
||||||
|
yellow: '0xe3a84e'
|
||||||
|
blue: '0x7daea3'
|
||||||
|
magenta: '0xd3869b'
|
||||||
|
cyan: '0x89b482'
|
||||||
|
white: '0xdfbf8e'
|
||||||
|
|
||||||
|
# Line indicator
|
||||||
|
#
|
||||||
|
# Color used for the indicator displaying the position in history during
|
||||||
|
# search and vi mode.
|
||||||
|
#
|
||||||
|
# By default, these will use the opposing primary color.
|
||||||
|
#line_indicator:
|
||||||
|
# foreground: None
|
||||||
|
# background: None
|
||||||
|
|
||||||
|
# Selection colors
|
||||||
|
#
|
||||||
|
# Colors which should be used to draw the selection area.
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#selection:
|
||||||
|
# text: CellBackground
|
||||||
|
# background: CellForeground
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
#normal:
|
||||||
|
# black: '#1d1f21'
|
||||||
|
# red: '#cc6666'
|
||||||
|
# green: '#b5bd68'
|
||||||
|
# yellow: '#f0c674'
|
||||||
|
# blue: '#81a2be'
|
||||||
|
# magenta: '#b294bb'
|
||||||
|
# cyan: '#8abeb7'
|
||||||
|
# white: '#c5c8c6'
|
||||||
|
|
||||||
|
# Bright colors
|
||||||
|
#bright:
|
||||||
|
# black: '#666666'
|
||||||
|
# red: '#d54e53'
|
||||||
|
# green: '#b9ca4a'
|
||||||
|
# yellow: '#e7c547'
|
||||||
|
# blue: '#7aa6da'
|
||||||
|
# magenta: '#c397d8'
|
||||||
|
# cyan: '#70c0b1'
|
||||||
|
# white: '#eaeaea'
|
||||||
|
|
||||||
|
# Dim colors
|
||||||
|
#
|
||||||
|
# If the dim colors are not set, they will be calculated automatically based
|
||||||
|
# on the `normal` colors.
|
||||||
|
#dim:
|
||||||
|
# black: '#131415'
|
||||||
|
# red: '#864343'
|
||||||
|
# green: '#777c44'
|
||||||
|
# yellow: '#9e824c'
|
||||||
|
# blue: '#556a7d'
|
||||||
|
# magenta: '#75617b'
|
||||||
|
# cyan: '#5b7d78'
|
||||||
|
# white: '#828482'
|
||||||
|
|
||||||
|
# Indexed Colors
|
||||||
|
#
|
||||||
|
# The indexed colors include all colors from 16 to 256.
|
||||||
|
# When these are not set, they're filled with sensible defaults.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# `- { index: 16, color: '#ff00ff' }`
|
||||||
|
#
|
||||||
|
#indexed_colors: []
|
||||||
|
|
||||||
|
# Bell
|
||||||
|
#
|
||||||
|
# The bell is rung every time the BEL control character is received.
|
||||||
|
#bell:
|
||||||
|
# Visual Bell Animation
|
||||||
|
#
|
||||||
|
# Animation effect for flashing the screen when the visual bell is rung.
|
||||||
|
#
|
||||||
|
# Values for `animation`:
|
||||||
|
# - Ease
|
||||||
|
# - EaseOut
|
||||||
|
# - EaseOutSine
|
||||||
|
# - EaseOutQuad
|
||||||
|
# - EaseOutCubic
|
||||||
|
# - EaseOutQuart
|
||||||
|
# - EaseOutQuint
|
||||||
|
# - EaseOutExpo
|
||||||
|
# - EaseOutCirc
|
||||||
|
# - Linear
|
||||||
|
#animation: EaseOutExpo
|
||||||
|
|
||||||
|
# Duration of the visual bell flash in milliseconds. A `duration` of `0` will
|
||||||
|
# disable the visual bell animation.
|
||||||
|
#duration: 0
|
||||||
|
|
||||||
|
# Visual bell animation color.
|
||||||
|
#color: '#ffffff'
|
||||||
|
|
||||||
|
# Bell Command
|
||||||
|
#
|
||||||
|
# This program is executed whenever the bell is rung.
|
||||||
|
#
|
||||||
|
# When set to `command: None`, no command will be executed.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# command:
|
||||||
|
# program: notify-send
|
||||||
|
# args: ["Hello, World!"]
|
||||||
|
#
|
||||||
|
#command: None
|
||||||
|
|
||||||
|
# Background opacity
|
||||||
|
#
|
||||||
|
# Window opacity as a floating point number from `0.0` to `1.0`.
|
||||||
|
# The value `0.0` is completely transparent and `1.0` is opaque.
|
||||||
|
|
||||||
|
#selection:
|
||||||
|
# This string contains all characters that are used as separators for
|
||||||
|
# "semantic words" in Alacritty.
|
||||||
|
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
||||||
|
|
||||||
|
# When set to `true`, selected text will be copied to the primary clipboard.
|
||||||
|
#save_to_clipboard: false
|
||||||
|
|
||||||
|
cursor:
|
||||||
|
# Cursor style
|
||||||
|
style:
|
||||||
|
# Cursor shape
|
||||||
|
#
|
||||||
|
# Values for `shape`:
|
||||||
|
# - ▇ Block
|
||||||
|
# - _ Underline
|
||||||
|
# - | Beam
|
||||||
|
shape: Block
|
||||||
|
|
||||||
|
# Cursor blinking state
|
||||||
|
#
|
||||||
|
# Values for `blinking`:
|
||||||
|
# - Never: Prevent the cursor from ever blinking
|
||||||
|
# - Off: Disable blinking by default
|
||||||
|
# - On: Enable blinking by default
|
||||||
|
# - Always: Force the cursor to always blink
|
||||||
|
#blinking: Off
|
||||||
|
|
||||||
|
# Vi mode cursor style
|
||||||
|
#
|
||||||
|
# If the vi mode cursor style is `None` or not specified, it will fall back to
|
||||||
|
# the style of the active value of the normal cursor.
|
||||||
|
#
|
||||||
|
# See `cursor.style` for available options.
|
||||||
|
#vi_mode_style: None
|
||||||
|
|
||||||
|
# Cursor blinking interval in milliseconds.
|
||||||
|
#blink_interval: 750
|
||||||
|
|
||||||
|
# If this is `true`, the cursor will be rendered as a hollow box when the
|
||||||
|
# window is not focused.
|
||||||
|
#unfocused_hollow: true
|
||||||
|
|
||||||
|
# Thickness of the cursor relative to the cell width as floating point number
|
||||||
|
# from `0.0` to `1.0`.
|
||||||
|
#thickness: 0.15
|
||||||
|
|
||||||
|
# Live config reload (changes require restart)
|
||||||
|
#live_config_reload: true
|
||||||
|
|
||||||
|
# Shell
|
||||||
|
#
|
||||||
|
# You can set `shell.program` to the path of your favorite shell, e.g.
|
||||||
|
# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
|
||||||
|
# shell.
|
||||||
|
#
|
||||||
|
# Default:
|
||||||
|
# - (macOS) /bin/bash --login
|
||||||
|
# - (Linux/BSD) user login shell
|
||||||
|
# - (Windows) powershell
|
||||||
|
shell:
|
||||||
|
program: /usr/bin/zsh
|
||||||
|
# args:
|
||||||
|
# - --login
|
||||||
|
|
||||||
|
# Startup directory
|
||||||
|
#
|
||||||
|
# Directory the shell is started in. If this is unset, or `None`, the working
|
||||||
|
# directory of the parent process will be used.
|
||||||
|
#working_directory: None
|
||||||
|
|
||||||
|
# Send ESC (\x1b) before characters when alt is pressed.
|
||||||
|
#alt_send_esc: true
|
||||||
|
|
||||||
|
#mouse:
|
||||||
|
# Click settings
|
||||||
|
#
|
||||||
|
# The `double_click` and `triple_click` settings control the time
|
||||||
|
# alacritty should wait for accepting multiple clicks as one double
|
||||||
|
# or triple click.
|
||||||
|
#double_click: { threshold: 300 }
|
||||||
|
#triple_click: { threshold: 300 }
|
||||||
|
|
||||||
|
# If this is `true`, the cursor is temporarily hidden when typing.
|
||||||
|
#hide_when_typing: false
|
||||||
|
|
||||||
|
# Regex hints
|
||||||
|
#
|
||||||
|
# Terminal hints can be used to find text in the visible part of the terminal
|
||||||
|
# and pipe it to other applications.
|
||||||
|
#hints:
|
||||||
|
# Keys used for the hint labels.
|
||||||
|
#alphabet: "jfkdls;ahgurieowpq"
|
||||||
|
|
||||||
|
# List with all available hints
|
||||||
|
#
|
||||||
|
# Each hint must have a `regex` and either an `action` or a `command` field.
|
||||||
|
# The fields `mouse`, `binding` and `post_processing` are optional.
|
||||||
|
#
|
||||||
|
# The fields `command`, `binding.key`, `binding.mods` and `mouse.mods` accept
|
||||||
|
# the same values as they do in the `key_bindings` section.
|
||||||
|
#
|
||||||
|
# The `mouse.enabled` field controls if the hint should be underlined while
|
||||||
|
# the mouse with all `mouse.mods` keys held or the vi mode cursor is above it.
|
||||||
|
#
|
||||||
|
# If the `post_processing` field is set to `true`, heuristics will be used to
|
||||||
|
# shorten the match if there are characters likely not to be part of the hint
|
||||||
|
# (e.g. a trailing `.`). This is most useful for URIs.
|
||||||
|
#
|
||||||
|
# Values for `action`:
|
||||||
|
# - Copy
|
||||||
|
# Copy the hint's text to the clipboard.
|
||||||
|
# - Paste
|
||||||
|
# Paste the hint's text to the terminal or search.
|
||||||
|
# - Select
|
||||||
|
# Select the hint's text.
|
||||||
|
# - MoveViModeCursor
|
||||||
|
# Move the vi mode cursor to the beginning of the hint.
|
||||||
|
#enabled:
|
||||||
|
# - regex: "(mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
|
||||||
|
# [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
|
||||||
|
# command: xdg-open
|
||||||
|
# post_processing: true
|
||||||
|
# mouse:
|
||||||
|
# enabled: true
|
||||||
|
# mods: None
|
||||||
|
# binding:
|
||||||
|
# key: U
|
||||||
|
# mods: Control|Shift
|
||||||
|
|
||||||
|
# Mouse bindings
|
||||||
|
#
|
||||||
|
# Mouse bindings are specified as a list of objects, much like the key
|
||||||
|
# bindings further below.
|
||||||
|
#
|
||||||
|
# To trigger mouse bindings when an application running within Alacritty
|
||||||
|
# captures the mouse, the `Shift` modifier is automatically added as a
|
||||||
|
# requirement.
|
||||||
|
#
|
||||||
|
# Each mouse binding will specify a:
|
||||||
|
#
|
||||||
|
# - `mouse`:
|
||||||
|
#
|
||||||
|
# - Middle
|
||||||
|
# - Left
|
||||||
|
# - Right
|
||||||
|
# - Numeric identifier such as `5`
|
||||||
|
#
|
||||||
|
# - `action` (see key bindings)
|
||||||
|
#
|
||||||
|
# And optionally:
|
||||||
|
#
|
||||||
|
# - `mods` (see key bindings)
|
||||||
|
#mouse_bindings:
|
||||||
|
# - { mouse: Middle, action: PasteSelection }
|
||||||
|
|
||||||
|
# Key bindings
|
||||||
|
#
|
||||||
|
# Key bindings are specified as a list of objects. For example, this is the
|
||||||
|
# default paste binding:
|
||||||
|
#
|
||||||
|
# `- { key: V, mods: Control|Shift, action: Paste }`
|
||||||
|
#
|
||||||
|
# Each key binding will specify a:
|
||||||
|
#
|
||||||
|
# - `key`: Identifier of the key pressed
|
||||||
|
#
|
||||||
|
# - A-Z
|
||||||
|
# - F1-F24
|
||||||
|
# - Key0-Key9
|
||||||
|
#
|
||||||
|
# A full list with available key codes can be found here:
|
||||||
|
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
|
||||||
|
#
|
||||||
|
# Instead of using the name of the keys, the `key` field also supports using
|
||||||
|
# the scancode of the desired key. Scancodes have to be specified as a
|
||||||
|
# decimal number. This command will allow you to display the hex scancodes
|
||||||
|
# for certain keys:
|
||||||
|
#
|
||||||
|
# `showkey --scancodes`.
|
||||||
|
#
|
||||||
|
# Then exactly one of:
|
||||||
|
#
|
||||||
|
# - `chars`: Send a byte sequence to the running application
|
||||||
|
#
|
||||||
|
# The `chars` field writes the specified string to the terminal. This makes
|
||||||
|
# it possible to pass escape sequences. To find escape codes for bindings
|
||||||
|
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
|
||||||
|
# of tmux. Note that applications use terminfo to map escape sequences back
|
||||||
|
# to keys. It is therefore required to update the terminfo when changing an
|
||||||
|
# escape sequence.
|
||||||
|
#
|
||||||
|
# - `action`: Execute a predefined action
|
||||||
|
#
|
||||||
|
# - ToggleViMode
|
||||||
|
# - SearchForward
|
||||||
|
# Start searching toward the right of the search origin.
|
||||||
|
# - SearchBackward
|
||||||
|
# Start searching toward the left of the search origin.
|
||||||
|
# - Copy
|
||||||
|
# - Paste
|
||||||
|
# - IncreaseFontSize
|
||||||
|
# - DecreaseFontSize
|
||||||
|
# - ResetFontSize
|
||||||
|
# - ScrollPageUp
|
||||||
|
# - ScrollPageDown
|
||||||
|
# - ScrollHalfPageUp
|
||||||
|
# - ScrollHalfPageDown
|
||||||
|
# - ScrollLineUp
|
||||||
|
# - ScrollLineDown
|
||||||
|
# - ScrollToTop
|
||||||
|
# - ScrollToBottom
|
||||||
|
# - ClearHistory
|
||||||
|
# Remove the terminal's scrollback history.
|
||||||
|
# - Hide
|
||||||
|
# Hide the Alacritty window.
|
||||||
|
# - Minimize
|
||||||
|
# Minimize the Alacritty window.
|
||||||
|
# - Quit
|
||||||
|
# Quit Alacritty.
|
||||||
|
# - ToggleFullscreen
|
||||||
|
# - SpawnNewInstance
|
||||||
|
# Spawn a new instance of Alacritty.
|
||||||
|
# - ClearLogNotice
|
||||||
|
# Clear Alacritty's UI warning and error notice.
|
||||||
|
# - ClearSelection
|
||||||
|
# Remove the active selection.
|
||||||
|
# - ReceiveChar
|
||||||
|
# - None
|
||||||
|
#
|
||||||
|
# - Vi mode exclusive actions:
|
||||||
|
#
|
||||||
|
# - Open
|
||||||
|
# Perform the action of the first matching hint under the vi mode cursor
|
||||||
|
# with `mouse.enabled` set to `true`.
|
||||||
|
# - ToggleNormalSelection
|
||||||
|
# - ToggleLineSelection
|
||||||
|
# - ToggleBlockSelection
|
||||||
|
# - ToggleSemanticSelection
|
||||||
|
# Toggle semantic selection based on `selection.semantic_escape_chars`.
|
||||||
|
#
|
||||||
|
# - Vi mode exclusive cursor motion actions:
|
||||||
|
#
|
||||||
|
# - Up
|
||||||
|
# One line up.
|
||||||
|
# - Down
|
||||||
|
# One line down.
|
||||||
|
# - Left
|
||||||
|
# One character left.
|
||||||
|
# - Right
|
||||||
|
# One character right.
|
||||||
|
# - First
|
||||||
|
# First column, or beginning of the line when already at the first column.
|
||||||
|
# - Last
|
||||||
|
# Last column, or beginning of the line when already at the last column.
|
||||||
|
# - FirstOccupied
|
||||||
|
# First non-empty cell in this terminal row, or first non-empty cell of
|
||||||
|
# the line when already at the first cell of the row.
|
||||||
|
# - High
|
||||||
|
# Top of the screen.
|
||||||
|
# - Middle
|
||||||
|
# Center of the screen.
|
||||||
|
# - Low
|
||||||
|
# Bottom of the screen.
|
||||||
|
# - SemanticLeft
|
||||||
|
# Start of the previous semantically separated word.
|
||||||
|
# - SemanticRight
|
||||||
|
# Start of the next semantically separated word.
|
||||||
|
# - SemanticLeftEnd
|
||||||
|
# End of the previous semantically separated word.
|
||||||
|
# - SemanticRightEnd
|
||||||
|
# End of the next semantically separated word.
|
||||||
|
# - WordLeft
|
||||||
|
# Start of the previous whitespace separated word.
|
||||||
|
# - WordRight
|
||||||
|
# Start of the next whitespace separated word.
|
||||||
|
# - WordLeftEnd
|
||||||
|
# End of the previous whitespace separated word.
|
||||||
|
# - WordRightEnd
|
||||||
|
# End of the next whitespace separated word.
|
||||||
|
# - Bracket
|
||||||
|
# Character matching the bracket at the cursor's location.
|
||||||
|
# - SearchNext
|
||||||
|
# Beginning of the next match.
|
||||||
|
# - SearchPrevious
|
||||||
|
# Beginning of the previous match.
|
||||||
|
# - SearchStart
|
||||||
|
# Start of the match to the left of the vi mode cursor.
|
||||||
|
# - SearchEnd
|
||||||
|
# End of the match to the right of the vi mode cursor.
|
||||||
|
#
|
||||||
|
# - Search mode exclusive actions:
|
||||||
|
# - SearchFocusNext
|
||||||
|
# Move the focus to the next search match.
|
||||||
|
# - SearchFocusPrevious
|
||||||
|
# Move the focus to the previous search match.
|
||||||
|
# - SearchConfirm
|
||||||
|
# - SearchCancel
|
||||||
|
# - SearchClear
|
||||||
|
# Reset the search regex.
|
||||||
|
# - SearchDeleteWord
|
||||||
|
# Delete the last word in the search regex.
|
||||||
|
# - SearchHistoryPrevious
|
||||||
|
# Go to the previous regex in the search history.
|
||||||
|
# - SearchHistoryNext
|
||||||
|
# Go to the next regex in the search history.
|
||||||
|
#
|
||||||
|
# - macOS exclusive actions:
|
||||||
|
# - ToggleSimpleFullscreen
|
||||||
|
# Enter fullscreen without occupying another space.
|
||||||
|
#
|
||||||
|
# - Linux/BSD exclusive actions:
|
||||||
|
#
|
||||||
|
# - CopySelection
|
||||||
|
# Copy from the selection buffer.
|
||||||
|
# - PasteSelection
|
||||||
|
# Paste from the selection buffer.
|
||||||
|
#
|
||||||
|
# - `command`: Fork and execute a specified command plus arguments
|
||||||
|
#
|
||||||
|
# The `command` field must be a map containing a `program` string and an
|
||||||
|
# `args` array of command line parameter strings. For example:
|
||||||
|
# `{ program: "alacritty", args: ["-e", "vttest"] }`
|
||||||
|
#
|
||||||
|
# And optionally:
|
||||||
|
#
|
||||||
|
# - `mods`: Key modifiers to filter binding actions
|
||||||
|
#
|
||||||
|
# - Command
|
||||||
|
# - Control
|
||||||
|
# - Option
|
||||||
|
# - Super
|
||||||
|
# - Shift
|
||||||
|
# - Alt
|
||||||
|
#
|
||||||
|
# Multiple `mods` can be combined using `|` like this:
|
||||||
|
# `mods: Control|Shift`.
|
||||||
|
# Whitespace and capitalization are relevant and must match the example.
|
||||||
|
#
|
||||||
|
# - `mode`: Indicate a binding for only specific terminal reported modes
|
||||||
|
#
|
||||||
|
# This is mainly used to send applications the correct escape sequences
|
||||||
|
# when in different modes.
|
||||||
|
#
|
||||||
|
# - AppCursor
|
||||||
|
# - AppKeypad
|
||||||
|
# - Search
|
||||||
|
# - Alt
|
||||||
|
# - Vi
|
||||||
|
#
|
||||||
|
# A `~` operator can be used before a mode to apply the binding whenever
|
||||||
|
# the mode is *not* active, e.g. `~Alt`.
|
||||||
|
#
|
||||||
|
# Bindings are always filled by default, but will be replaced when a new
|
||||||
|
# binding with the same triggers is defined. To unset a default binding, it can
|
||||||
|
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
|
||||||
|
# a no-op if you do not wish to receive input characters for that binding.
|
||||||
|
#
|
||||||
|
# If the same trigger is assigned to multiple actions, all of them are executed
|
||||||
|
# in the order they were defined in.
|
||||||
|
#key_bindings:
|
||||||
|
#- { key: Paste, action: Paste }
|
||||||
|
#- { key: Copy, action: Copy }
|
||||||
|
#- { key: L, mods: Control, action: ClearLogNotice }
|
||||||
|
#- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
|
||||||
|
#- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp, }
|
||||||
|
#- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
|
||||||
|
#- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop, }
|
||||||
|
#- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
|
||||||
|
|
||||||
|
# Vi Mode
|
||||||
|
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
|
||||||
|
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
|
||||||
|
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: I, mode: Vi|~Search, action: ScrollToBottom }
|
||||||
|
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
|
||||||
|
#- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
|
||||||
|
#- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
|
||||||
|
#- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
|
||||||
|
#- { key: G, mode: Vi|~Search, action: ScrollToTop }
|
||||||
|
#- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
|
||||||
|
#- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
|
||||||
|
#- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
|
||||||
|
#- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
|
||||||
|
#- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
|
||||||
|
#- { key: Y, mode: Vi|~Search, action: Copy }
|
||||||
|
#- { key: Y, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: Copy, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
|
||||||
|
#- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
|
||||||
|
#- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
|
||||||
|
#- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
|
||||||
|
#- { key: Return, mode: Vi|~Search, action: Open }
|
||||||
|
#- { key: K, mode: Vi|~Search, action: Up }
|
||||||
|
#- { key: J, mode: Vi|~Search, action: Down }
|
||||||
|
#- { key: H, mode: Vi|~Search, action: Left }
|
||||||
|
#- { key: L, mode: Vi|~Search, action: Right }
|
||||||
|
#- { key: Up, mode: Vi|~Search, action: Up }
|
||||||
|
#- { key: Down, mode: Vi|~Search, action: Down }
|
||||||
|
#- { key: Left, mode: Vi|~Search, action: Left }
|
||||||
|
#- { key: Right, mode: Vi|~Search, action: Right }
|
||||||
|
#- { key: Key0, mode: Vi|~Search, action: First }
|
||||||
|
#- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last }
|
||||||
|
#- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied }
|
||||||
|
#- { key: H, mods: Shift, mode: Vi|~Search, action: High }
|
||||||
|
#- { key: M, mods: Shift, mode: Vi|~Search, action: Middle }
|
||||||
|
#- { key: L, mods: Shift, mode: Vi|~Search, action: Low }
|
||||||
|
#- { key: B, mode: Vi|~Search, action: SemanticLeft }
|
||||||
|
#- { key: W, mode: Vi|~Search, action: SemanticRight }
|
||||||
|
#- { key: E, mode: Vi|~Search, action: SemanticRightEnd }
|
||||||
|
#- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft }
|
||||||
|
#- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight }
|
||||||
|
#- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd }
|
||||||
|
#- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket }
|
||||||
|
#- { key: Slash, mode: Vi|~Search, action: SearchForward }
|
||||||
|
#- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward }
|
||||||
|
#- { key: N, mode: Vi|~Search, action: SearchNext }
|
||||||
|
#- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious }
|
||||||
|
|
||||||
|
# Search Mode
|
||||||
|
#- { key: Return, mode: Search|Vi, action: SearchConfirm }
|
||||||
|
#- { key: Escape, mode: Search, action: SearchCancel }
|
||||||
|
#- { key: C, mods: Control, mode: Search, action: SearchCancel }
|
||||||
|
#- { key: U, mods: Control, mode: Search, action: SearchClear }
|
||||||
|
#- { key: W, mods: Control, mode: Search, action: SearchDeleteWord }
|
||||||
|
#- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious }
|
||||||
|
#- { key: N, mods: Control, mode: Search, action: SearchHistoryNext }
|
||||||
|
#- { key: Up, mode: Search, action: SearchHistoryPrevious }
|
||||||
|
#- { key: Down, mode: Search, action: SearchHistoryNext }
|
||||||
|
#- { key: Return, mode: Search|~Vi, action: SearchFocusNext }
|
||||||
|
#- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious }
|
||||||
|
|
||||||
|
# (Windows, Linux, and BSD only)
|
||||||
|
#- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
|
||||||
|
#- { key: C, mods: Control|Shift, action: Copy }
|
||||||
|
#- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward }
|
||||||
|
#- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward }
|
||||||
|
#- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: Insert, mods: Shift, action: PasteSelection }
|
||||||
|
#- { key: Key0, mods: Control, action: ResetFontSize }
|
||||||
|
#- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||||
|
#- { key: Plus, mods: Control, action: IncreaseFontSize }
|
||||||
|
#- { key: NumpadAdd, mods: Control, action: IncreaseFontSize }
|
||||||
|
#- { key: Minus, mods: Control, action: DecreaseFontSize }
|
||||||
|
#- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize }
|
||||||
|
|
||||||
|
# (Windows only)
|
||||||
|
#- { key: Return, mods: Alt, action: ToggleFullscreen }
|
||||||
|
|
||||||
|
# (macOS only)
|
||||||
|
#- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" }
|
||||||
|
#- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory }
|
||||||
|
#- { key: Key0, mods: Command, action: ResetFontSize }
|
||||||
|
#- { key: Equals, mods: Command, action: IncreaseFontSize }
|
||||||
|
#- { key: Plus, mods: Command, action: IncreaseFontSize }
|
||||||
|
#- { key: NumpadAdd, mods: Command, action: IncreaseFontSize }
|
||||||
|
#- { key: Minus, mods: Command, action: DecreaseFontSize }
|
||||||
|
#- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize }
|
||||||
|
#- { key: V, mods: Command, action: Paste }
|
||||||
|
#- { key: C, mods: Command, action: Copy }
|
||||||
|
#- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: H, mods: Command, action: Hide }
|
||||||
|
#- { key: H, mods: Command|Alt, action: HideOtherApplications }
|
||||||
|
#- { key: M, mods: Command, action: Minimize }
|
||||||
|
#- { key: Q, mods: Command, action: Quit }
|
||||||
|
#- { key: W, mods: Command, action: Quit }
|
||||||
|
#- { key: N, mods: Command, action: SpawnNewInstance }
|
||||||
|
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
|
||||||
|
#- { key: F, mods: Command, mode: ~Search, action: SearchForward }
|
||||||
|
#- { key: B, mods: Command, mode: ~Search, action: SearchBackward }
|
||||||
|
|
||||||
|
#debug:
|
||||||
|
# Display the time it takes to redraw each frame.
|
||||||
|
#render_timer: false
|
||||||
|
|
||||||
|
# Keep the log file after quitting Alacritty.
|
||||||
|
#persistent_logging: false
|
||||||
|
|
||||||
|
# Log level
|
||||||
|
#
|
||||||
|
# Values for `log_level`:
|
||||||
|
# - Off
|
||||||
|
# - Error
|
||||||
|
# - Warn
|
||||||
|
# - Info
|
||||||
|
# - Debug
|
||||||
|
# - Trace
|
||||||
|
#log_level: Warn
|
||||||
|
|
||||||
|
# Print all received window events.
|
||||||
|
#print_events: false
|
||||||
|
window:
|
||||||
|
opacity: 1.0
|
||||||
+183
@@ -0,0 +1,183 @@
|
|||||||
|
## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
|
||||||
|
|
||||||
|
|
||||||
|
[general]
|
||||||
|
|
||||||
|
# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
|
||||||
|
; mode = normal
|
||||||
|
;mode = scientific
|
||||||
|
|
||||||
|
# Accepts only non-negative values.
|
||||||
|
; framerate = 60
|
||||||
|
|
||||||
|
# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
|
||||||
|
# new as of 0.6.0 autosens of low values (dynamic range)
|
||||||
|
# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
|
||||||
|
; autosens = 0
|
||||||
|
; overshoot = 20
|
||||||
|
|
||||||
|
# Manual sensitivity in %. If autosens is enabled, this will only be the initial value.
|
||||||
|
# 200 means double height. Accepts only non-negative values.
|
||||||
|
sensitivity = 75
|
||||||
|
|
||||||
|
# The number of bars (0-200). 0 sets it to auto (fill up console).
|
||||||
|
# Bars' width and space between bars in number of characters.
|
||||||
|
bars = 200
|
||||||
|
; bar_width = 2
|
||||||
|
; bar_spacing = 1
|
||||||
|
|
||||||
|
|
||||||
|
# Lower and higher cutoff frequencies for lowest and highest bars
|
||||||
|
# the bandwidth of the visualizer.
|
||||||
|
# Note: there is a minimum total bandwidth of 43Mhz x number of bars.
|
||||||
|
# Cava will automatically increase the higher cutoff if a too low band is specified.
|
||||||
|
; lower_cutoff_freq = 50
|
||||||
|
; higher_cutoff_freq = 10000
|
||||||
|
|
||||||
|
|
||||||
|
# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
|
||||||
|
# only check for input once per second. Cava will wake up once input is detected. 0 = disable.
|
||||||
|
; sleep_timer = 0
|
||||||
|
|
||||||
|
|
||||||
|
[input]
|
||||||
|
|
||||||
|
# Audio capturing method. Possible methods are: 'pulse', 'alsa', 'fifo', 'sndio' or 'shmem'
|
||||||
|
# Defaults to 'pulse', 'alsa' or 'fifo', in that order, dependent on what support cava was built with.
|
||||||
|
#
|
||||||
|
# All input methods uses the same config variable 'source'
|
||||||
|
# to define where it should get the audio.
|
||||||
|
#
|
||||||
|
# For pulseaudio 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
|
||||||
|
# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
|
||||||
|
#
|
||||||
|
# For alsa 'source' will be the capture device.
|
||||||
|
# For fifo 'source' will be the path to fifo-file.
|
||||||
|
# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
|
||||||
|
; method = pulse
|
||||||
|
; source = auto
|
||||||
|
|
||||||
|
; method = alsa
|
||||||
|
; source = hw:Loopback,1
|
||||||
|
|
||||||
|
; method = fifo
|
||||||
|
; source = /tmp/mpd.fifo
|
||||||
|
; sample_rate = 44100
|
||||||
|
; sample_bits = 16
|
||||||
|
|
||||||
|
; method = shmem
|
||||||
|
; source = /squeezelite-AA:BB:CC:DD:EE:FF
|
||||||
|
|
||||||
|
; method = portaudio
|
||||||
|
; source = auto
|
||||||
|
|
||||||
|
|
||||||
|
[output]
|
||||||
|
|
||||||
|
# Output method. Can be 'ncurses', 'noncurses' or 'raw'.
|
||||||
|
# 'noncurses' uses a custom framebuffer technique and draws only changes
|
||||||
|
# from frame to frame. 'ncurses' is default if supported
|
||||||
|
#
|
||||||
|
# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data
|
||||||
|
# stream of the bar heights that can be used to send to other applications.
|
||||||
|
# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
|
||||||
|
method = ncurses
|
||||||
|
|
||||||
|
# Visual channels. Can be 'stereo' or 'mono'.
|
||||||
|
# 'stereo' mirrors both channels with low frequencies in center.
|
||||||
|
# 'mono' outputs left to right lowest to highest frequencies.
|
||||||
|
# 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
|
||||||
|
channels = stereo
|
||||||
|
; mono_option = average
|
||||||
|
|
||||||
|
# Raw output target. A fifo will be created if target does not exist.
|
||||||
|
; raw_target = /dev/stdout
|
||||||
|
|
||||||
|
# Raw data format. Can be 'binary' or 'ascii'.
|
||||||
|
; data_format = binary
|
||||||
|
|
||||||
|
# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
|
||||||
|
; bit_format = 16bit
|
||||||
|
|
||||||
|
# Ascii max value. In 'ascii' mode range will run from 0 to value specified here
|
||||||
|
; ascii_max_range = 1000
|
||||||
|
|
||||||
|
# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
|
||||||
|
# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
|
||||||
|
; bar_delimiter = 59
|
||||||
|
; frame_delimiter = 10
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[color]
|
||||||
|
|
||||||
|
# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
|
||||||
|
# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
|
||||||
|
# ncurses output method and a terminal that can change color definitions such as Gnome-terminal or rxvt.
|
||||||
|
# if supported, ncurses mode will be forced on if user defined colors are used.
|
||||||
|
# default is to keep current terminal color
|
||||||
|
background = default
|
||||||
|
foreground = '#fbf1c7'
|
||||||
|
|
||||||
|
# Gradient mode, only hex defined colors (and thereby ncurses mode) are supported,
|
||||||
|
# background must also be defined in hex or remain commented out. 1 = on, 0 = off.
|
||||||
|
# You can define as many as 8 different colors. They range from bottom to top of screen
|
||||||
|
|
||||||
|
gradient = 1
|
||||||
|
|
||||||
|
gradient_color_1 = '#eeeeee'
|
||||||
|
gradient_color_2 = '#ccc5b7'
|
||||||
|
gradient_color_3 = '#847f79'
|
||||||
|
gradient_color_4 = '#937b73'
|
||||||
|
gradient_color_5 = '#957064'
|
||||||
|
gradient_color_6 = '#df8746'
|
||||||
|
gradient_color_7 = '#dc7244'
|
||||||
|
gradient_color_8 = '#c46b3c'
|
||||||
|
gradient_color_9 = '#dc4b4c'
|
||||||
|
gradient_color_10 ='#60837c'
|
||||||
|
|
||||||
|
#eeeeee
|
||||||
|
#dee2e1
|
||||||
|
#ced6d5
|
||||||
|
#bfcac8
|
||||||
|
#afbebb
|
||||||
|
#9fb3af
|
||||||
|
#8fa7a2
|
||||||
|
#809b95
|
||||||
|
#708f89
|
||||||
|
#60837c
|
||||||
|
|
||||||
|
|
||||||
|
[smoothing]
|
||||||
|
|
||||||
|
# Percentage value for integral smoothing. Takes values from 0 - 100.
|
||||||
|
# Higher values means smoother, but less precise. 0 to disable.
|
||||||
|
# integral = 32
|
||||||
|
|
||||||
|
# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.
|
||||||
|
# monstercat = 1
|
||||||
|
# waves = 1
|
||||||
|
|
||||||
|
# Set gravity percentage for "drop off". Higher values means bars will drop faster.
|
||||||
|
# Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off".
|
||||||
|
gravity = 100
|
||||||
|
|
||||||
|
|
||||||
|
# In bar height, bars that would have been lower that this will not be drawn.
|
||||||
|
; ignore = 0
|
||||||
|
|
||||||
|
|
||||||
|
[eq]
|
||||||
|
|
||||||
|
# This one is tricky. You can have as much keys as you want.
|
||||||
|
# Remember to uncomment more then one key! More keys = more precision.
|
||||||
|
# Look at readme.md on github for further explanations and examples.
|
||||||
|
# 1 = 1 # bass
|
||||||
|
# 2 = 1
|
||||||
|
# 3 = 1 # midtone
|
||||||
|
# 4 = 1
|
||||||
|
# 5 = 1 # treble
|
||||||
|
|
||||||
|
# 6 = 1
|
||||||
|
# 7 = 1
|
||||||
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
~/.conky/Bioshock2/Hermoso_Rc
|
||||||
|
~/.conky/Bioshock2/wallpaper.jpg
|
||||||
|
wallpaper-scaling:scaled
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
#Conky By Jesse Avalos See me on Eye candy Linux (Google +) for more conkys.
|
||||||
|
background yes
|
||||||
|
update_interval 1
|
||||||
|
|
||||||
|
cpu_avg_samples 2
|
||||||
|
net_avg_samples 2
|
||||||
|
temperature_unit celsius
|
||||||
|
|
||||||
|
double_buffer yes
|
||||||
|
no_buffers yes
|
||||||
|
text_buffer_size 2048
|
||||||
|
alignment top_middle
|
||||||
|
gap_x -50
|
||||||
|
gap_y 85
|
||||||
|
minimum_size 550 550
|
||||||
|
maximum_width 550
|
||||||
|
own_window yes
|
||||||
|
own_window_type normal
|
||||||
|
own_window_transparent yes
|
||||||
|
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
|
||||||
|
own_window_argb_visual yes
|
||||||
|
own_window_argb_value 0
|
||||||
|
|
||||||
|
border_inner_margin 0
|
||||||
|
border_outer_margin 0
|
||||||
|
|
||||||
|
|
||||||
|
draw_shades no
|
||||||
|
draw_outline no
|
||||||
|
draw_borders no
|
||||||
|
draw_graph_borders no
|
||||||
|
default_shade_color 112422
|
||||||
|
|
||||||
|
override_utf8_locale yes
|
||||||
|
use_xft yes
|
||||||
|
xftfont Feena Casual:size=10
|
||||||
|
xftalpha 1
|
||||||
|
uppercase yes
|
||||||
|
|
||||||
|
default_color D6D5D4
|
||||||
|
#E87E3C
|
||||||
|
own_window_colour 000000
|
||||||
|
TEXT
|
||||||
|
|
||||||
|
|
||||||
|
${font Anurati:size=75}${color D6D5D4}${time %A}#${color yellow}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
@@ -0,0 +1,45 @@
|
|||||||
|
use_xft yes
|
||||||
|
xftfont 123:size=8
|
||||||
|
xftalpha 0.1
|
||||||
|
update_interval 1
|
||||||
|
total_run_times 0
|
||||||
|
|
||||||
|
own_window yes
|
||||||
|
own_window_type override
|
||||||
|
background yes
|
||||||
|
own_window_transparent yes
|
||||||
|
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
|
||||||
|
own_window_colour 000000
|
||||||
|
own_window_argb_visual no
|
||||||
|
own_window_argb_value 0
|
||||||
|
|
||||||
|
double_buffer yes
|
||||||
|
#minimum_size 250 5
|
||||||
|
#maximum_width 500
|
||||||
|
draw_shades no
|
||||||
|
draw_outline no
|
||||||
|
draw_borders no
|
||||||
|
draw_graph_borders no
|
||||||
|
default_color white
|
||||||
|
default_shade_color red
|
||||||
|
default_outline_color green
|
||||||
|
alignment top_right
|
||||||
|
gap_x 0
|
||||||
|
gap_y 20
|
||||||
|
no_buffers yes
|
||||||
|
uppercase no
|
||||||
|
cpu_avg_samples 2
|
||||||
|
net_avg_samples 1
|
||||||
|
override_utf8_locale yes
|
||||||
|
use_spacer yes
|
||||||
|
|
||||||
|
|
||||||
|
minimum_size 0 0
|
||||||
|
TEXT
|
||||||
|
${voffset 10}${color EAEAEA}${font GE Inspira:pixelsize=120}${time %I:%M}${font}${voffset -84}${offset 10}${color FFA300}${font GE Inspira:pixelsize=42}${time %d} ${voffset -15}${color EAEAEA}${font GE Inspira:pixelsize=22}${time %B} ${time %Y}${font}${voffset 24}${font GE Inspira:pixelsize=58}${offset -148}${time %A}${font}
|
||||||
|
${voffset 1}${offset 12}${font Ubuntu:pixelsize=12}${color FFA300}HD ${offset 9}$color${fs_free /} / ${fs_size /}${offset 30}${color FFA300}RAM ${offset 9}$color$mem / $memmax${offset 30}${color FFA300}CPU ${offset 9}$color${cpu cpu0}%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
http://psyjunta.deviantart.com/art/Gotham-Conky-config-205465419
|
||||||
@@ -0,0 +1,162 @@
|
|||||||
|
### Neuromask connky config
|
||||||
|
|
||||||
|
conky.config = {
|
||||||
|
|
||||||
|
-- COLORS
|
||||||
|
|
||||||
|
color1 = '0db9d7', -- Debian Red
|
||||||
|
color2 = 'fa7ef8', -- Tan 1
|
||||||
|
color3 = 'ede410', -- Orange
|
||||||
|
|
||||||
|
--set to = true if you want Conky to be forked in the background
|
||||||
|
background = false, -- set to false when editing for errors
|
||||||
|
|
||||||
|
own_window = true,
|
||||||
|
own_window_type = 'override',
|
||||||
|
own_window_transparent = true,
|
||||||
|
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
|
||||||
|
own_window_argb_visual = true,
|
||||||
|
own_window_argb_value = 128,
|
||||||
|
out_to_console = false,
|
||||||
|
use_xft = true,
|
||||||
|
|
||||||
|
font = 'Hack:size=9:antialias=true',
|
||||||
|
font2 = 'Hack:size=10:antialias=true',
|
||||||
|
font3 = 'Hack:size=8:antialias=true',
|
||||||
|
update_interval = 1,
|
||||||
|
|
||||||
|
--This is the number of times Conky will update before quitting
|
||||||
|
--Set to zero to run forever.
|
||||||
|
--total_run_times 0
|
||||||
|
|
||||||
|
--Create own window instead of using desktop (required in nautilus)
|
||||||
|
own_window = true,
|
||||||
|
|
||||||
|
--Use double buffering (reduces flicker, may not work for everyone)
|
||||||
|
double_buffer = true,
|
||||||
|
maximum_width = 320,
|
||||||
|
|
||||||
|
draw_shades = false,
|
||||||
|
|
||||||
|
--Draw outlines?
|
||||||
|
draw_outline = false,
|
||||||
|
|
||||||
|
--Draw borders around text
|
||||||
|
draw_borders = false,
|
||||||
|
|
||||||
|
--Stippled borders?
|
||||||
|
stippled_borders = 1,
|
||||||
|
|
||||||
|
--border width
|
||||||
|
border_width = 20,
|
||||||
|
|
||||||
|
--Default colors and also border colors
|
||||||
|
default_color = 'white',
|
||||||
|
default_shade_color = 'white',
|
||||||
|
default_outline_color = 'white',
|
||||||
|
|
||||||
|
--Text alignment, other possible values are commented
|
||||||
|
alignment = 'top_right',
|
||||||
|
|
||||||
|
--Gap between borders of screen and text
|
||||||
|
gap_x = 48,
|
||||||
|
gap_y = 64,
|
||||||
|
|
||||||
|
--Add spaces to keep things from moving about? This only affects certain objects.
|
||||||
|
use_spacer = 'left',
|
||||||
|
|
||||||
|
--Subtract file system buffers from used memory?
|
||||||
|
no_buffers = true,
|
||||||
|
--no_buffers = false,
|
||||||
|
|
||||||
|
--set to = true if you want all text to be in uppercase
|
||||||
|
uppercase = false,
|
||||||
|
|
||||||
|
default_bar_width = 140,
|
||||||
|
default_bar_height = 6
|
||||||
|
}
|
||||||
|
|
||||||
|
conky.text = [[
|
||||||
|
${alignc}${font Hack:size=64}${color3}${time %R}${font}
|
||||||
|
${alignc}${font Hack:size=16}${color3}${execi 300 date +"%x"}${color} ${time %A}${font}
|
||||||
|
|
||||||
|
#
|
||||||
|
### WEATHER
|
||||||
|
#
|
||||||
|
${color1}${stippled_hr}${color}
|
||||||
|
${font2}${color1}WEATHER${font}
|
||||||
|
${color3}${texeci 900 curl -s wttr.in/Tallinn?format=%l:+%C+%t+%w+%p}${color}
|
||||||
|
${texeci 900 curl -s wttr.in/Moscow?format=%l:+%C+%t+%w+%p}
|
||||||
|
${texeci 900 curl -s wttr.in/London?format=%l:+%C+%t+%w+%p}
|
||||||
|
|
||||||
|
#
|
||||||
|
### NET
|
||||||
|
#
|
||||||
|
${color1}${stippled_hr}${color}
|
||||||
|
${font2}${color1}ID/NET$color${alignr}$sysname ${color3}$kernel$color ${machine}${font}
|
||||||
|
${color3}${execi 9000 whoami}$color @ $nodename ${alignr}Desktop ${color3}${desktop}$color of ${desktop_number}
|
||||||
|
|
||||||
|
BCST:${color3}${texeci 60 curl -s https://icanhazip.com}$color ${alignr}${wireless_mode wlo1} BASE
|
||||||
|
MAC :${COLOR3}${wireless_ap wlo1}$COLOR ${alignr}${COLOR3}${wireless_essid wlo1}$COLOR
|
||||||
|
|
||||||
|
${color3}WiFi:$color${addr wlo1} ${alignr}${color3}SIG:$color${wireless_link_qual_perc wlo1} %
|
||||||
|
${color black}${upspeedgraph wlo1 24, 150 f FFA500}$color ${color black}$alignr${downspeedgraph wlo1 24, 150 000000 FFA500}$color
|
||||||
|
UP:${color3} ${upspeed wlo1}/s$color ${alignr}${color3}${downspeed wlo1}/s$color :DN
|
||||||
|
${if_match "${addr enp10s0}"!="No Address"}
|
||||||
|
ETH0:${addr enp10s0} ${alignr}${color3}SPD:$color${downspeedf enp10s0}kB/s
|
||||||
|
${color black}${upspeedgraph enp10s0 24, 150 000000 FFA500}$color ${color black}$alignr${downspeedgraph enp10s0 24, 150 000000 FFA500}$color
|
||||||
|
UP:${color3} ${upspeed enp10s0}/s$color ${alignr}${color3}${downspeed enp10s0}/s$color :DN
|
||||||
|
${else}${endif}
|
||||||
|
#
|
||||||
|
### CPU
|
||||||
|
#
|
||||||
|
${color1}$stippled_hr$color
|
||||||
|
${font2}${color1}CPU ${color} ${alignr}${execi 300 grep -i 'Model name' /proc/cpuinfo | grep 'model name' | sed -e 's/model name.*: //'| uniq | cut -c 1-18} @ ${color3}${freq_g} GHz$color${font}
|
||||||
|
|
||||||
|
Cores ▼
|
||||||
|
${alignc}01 ${color3}${cpubar cpu1 6,50}$color 02 ${color3}${cpubar cpu2 6,50}$color 03 ${color3}${cpubar cpu3 6,50}$color 04 ${color3}${cpubar cpu4 6,50}$color
|
||||||
|
${alignc}05 ${color3}${cpubar cpu5 6,50}$color 06 ${color3}${cpubar cpu6 6,50}$color 07 ${color3}${cpubar cpu7 6,50}$color 08 ${color3}${cpubar cpu8 6,50}$color
|
||||||
|
${alignc}09 ${color3}${cpubar cpu9 6,50}$color 10 ${color3}${cpubar cpu10 6,50}$color 11 ${color3}${cpubar cpu11 6,50}$color 12 ${color3}${cpubar cpu12 6,50}$color
|
||||||
|
${alignc}13 ${color3}${cpubar cpu13 6,50}$color 14 ${color3}${cpubar cpu14 6,50}$color 15 ${color3}${cpubar cpu15 6,50}$color 16 ${color3}${cpubar cpu16 6,50}$color
|
||||||
|
${alignc}17 ${color3}${cpubar cpu17 6,50}$color 18 ${color3}${cpubar cpu18 6,50}$color 19 ${color3}${cpubar cpu19 6,50}$color 20 ${color3}${cpubar cpu20 6,50}$color
|
||||||
|
${alignc}21 ${color3}${cpubar cpu21 6,50}$color 22 ${color3}${cpubar cpu22 6,50}$color 23 ${color3}${cpubar cpu23 6,50}$color 24 ${color3}${cpubar cpu24 6,50}$color
|
||||||
|
|
||||||
|
Usage: ${color3}${cpu cpu0}%${color} ${alignr}Fan: ${color3}${execi 10 sensors | grep 'Fan'|tr -s ' '|cut -d' ' -f3,4}${color}
|
||||||
|
${color3}${cpubar cpu0 6,155}${color} ${alignr}Temp: ${color3}${acpitemp} °C${color}
|
||||||
|
$alignc${color black}${cpugraph 24,320 000000 FFA500}$color
|
||||||
|
#
|
||||||
|
### GPU
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
### RAM STORAGE
|
||||||
|
#
|
||||||
|
${color1}$stippled_hr$color
|
||||||
|
${font2}${color1}MEM / HDD / IO$color ${alignr}${font}
|
||||||
|
|
||||||
|
${color3}Memory$color
|
||||||
|
RAM ${color3}${membar 5,100}$color ${alignr}${mem}/${memmax}
|
||||||
|
${color3}Internal Storage$color
|
||||||
|
/ ${color3}${fs_bar 5,100 /}$color ${alignr}${fs_used /}/${fs_size /}
|
||||||
|
Home ${color3}${fs_bar 5,100 /home/}$color ${alignr}${fs_used /home/}/${fs_size /home/}
|
||||||
|
|
||||||
|
#
|
||||||
|
### USAGE
|
||||||
|
#
|
||||||
|
${color1}$stippled_hr$color
|
||||||
|
${color1}USAGE$color ${alignr}${color3}Uptime:${color} $uptime_short
|
||||||
|
${color3}Proc${color}${processes}${alignc} | ${color3}Running${color}${running_processes} | ${alignr}${color3}Avg:${color} $loadavg
|
||||||
|
|
||||||
|
${font3}By CPU MEM CPU% ${alignr}USER PID
|
||||||
|
${color3}${top name 1} ${top mem_res 1}${top cpu 1} $alignr${top user 1} ${top pid 1}$color
|
||||||
|
${top name 2} ${top mem_res 2}${top cpu 2} $alignr ${top user 2} ${top pid 2}
|
||||||
|
${top name 3} ${top mem_res 3}${top cpu 3} $alignr ${top user 3} ${top pid 3}
|
||||||
|
By MEM MEM CPU% ${alignr}USER PID
|
||||||
|
${color3}${top_mem name 1} ${top_mem mem_res 1}${top_mem cpu 1} $alignr ${top_mem user 1} ${top_mem pid 1}$color
|
||||||
|
${top_mem name 2} ${top_mem mem_res 2}${top_mem cpu 2} $alignr ${top_mem user 2} ${top_mem pid 2}
|
||||||
|
${top_mem name 3} ${top_mem mem_res 3}${top_mem cpu 3} $alignr ${top_mem user 3} ${top_mem pid 3}
|
||||||
|
By I/O MEM CPU% ${alignr}USER PID
|
||||||
|
${color3}${top_io name 1} ${top_io mem_res 1}${top_io cpu 1} $alignr ${top_io user 1} ${top_io pid 1}$color
|
||||||
|
${top_io name 2} ${top_io mem_res 2}${top_io cpu 2} $alignr ${top_io user 2} ${top_io pid 2}
|
||||||
|
${top_io name 3} ${top_io mem_res 3}${top_io cpu 3} $alignr ${top_io user 3} ${top_io pid 3}${font}
|
||||||
|
]]
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
-- vim: ts=4 sw=4 noet ai cindent syntax=lua
|
||||||
|
--[[
|
||||||
|
Conky, a system monitor, based on torsmo
|
||||||
|
|
||||||
|
Any original torsmo code is licensed under the BSD license
|
||||||
|
|
||||||
|
All code written since the fork of torsmo is licensed under the GPL
|
||||||
|
|
||||||
|
Please see COPYING for details
|
||||||
|
|
||||||
|
Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
|
||||||
|
Copyright (c) 2005-2012 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS)
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
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/>.
|
||||||
|
]]
|
||||||
|
|
||||||
|
conky.config = {
|
||||||
|
alignment = 'top_left',
|
||||||
|
background = true,
|
||||||
|
own_window = true,
|
||||||
|
own_window_type = 'override',
|
||||||
|
own_window_class = Conky,
|
||||||
|
double_buffer = true,
|
||||||
|
own_window_transparent = true,
|
||||||
|
border_width = 1,
|
||||||
|
cpu_avg_samples = 2,
|
||||||
|
default_color = 'white',
|
||||||
|
default_outline_color = 'white',
|
||||||
|
default_shade_color = 'white',
|
||||||
|
draw_borders = false,
|
||||||
|
draw_graph_borders = true,
|
||||||
|
draw_outline = false,
|
||||||
|
draw_shades = false,
|
||||||
|
use_xft = true,
|
||||||
|
font = 'DejaVu Sans Mono:size=12',
|
||||||
|
gap_x = 5,
|
||||||
|
gap_y = 60,
|
||||||
|
minimum_height = 5,
|
||||||
|
minimum_width = 5,
|
||||||
|
net_avg_samples = 2,
|
||||||
|
no_buffers = true,
|
||||||
|
out_to_console = false,
|
||||||
|
out_to_stderr = false,
|
||||||
|
extra_newline = false,
|
||||||
|
own_window = true,
|
||||||
|
own_window_class = 'Conky',
|
||||||
|
own_window_type = 'desktop',
|
||||||
|
stippled_borders = 0,
|
||||||
|
update_interval = 1.0,
|
||||||
|
uppercase = false,
|
||||||
|
use_spacer = 'none',
|
||||||
|
show_graph_scale = false,
|
||||||
|
show_graph_range = false
|
||||||
|
}
|
||||||
|
|
||||||
|
conky.text = [[
|
||||||
|
${scroll 16 $nodename - $sysname $kernel on $machine | }
|
||||||
|
$hr
|
||||||
|
${color grey}Uptime:$color $uptime
|
||||||
|
${color grey}Frequency (in MHz):$color $freq
|
||||||
|
${color grey}Frequency (in GHz):$color $freq_g
|
||||||
|
${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4}
|
||||||
|
${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4}
|
||||||
|
${color grey}CPU Usage:$color $cpu% ${cpubar 4}
|
||||||
|
${color grey}Processes:$color $processes ${color grey}Running:$color $running_processes
|
||||||
|
$hr
|
||||||
|
${color grey}File systems:
|
||||||
|
/ $color${fs_used /}/${fs_size /} ${fs_bar 6 /}
|
||||||
|
${color grey}Networking:
|
||||||
|
Up:$color ${upspeed eth0} ${color grey} - Down:$color ${downspeed eth0}
|
||||||
|
$hr
|
||||||
|
${color grey}Name PID CPU% MEM%
|
||||||
|
${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
|
||||||
|
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
|
||||||
|
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
|
||||||
|
${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
|
||||||
|
]]
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
-- vim: ts=4 sw=4 noet ai cindent syntax=lua
|
||||||
|
--[[
|
||||||
|
Conky, a system monitor, based on torsmo
|
||||||
|
|
||||||
|
Any original torsmo code is licensed under the BSD license
|
||||||
|
|
||||||
|
All code written since the fork of torsmo is licensed under the GPL
|
||||||
|
|
||||||
|
Please see COPYING for details
|
||||||
|
|
||||||
|
Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
|
||||||
|
Copyright (c) 2005-2012 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS)
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
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/>.
|
||||||
|
]]
|
||||||
|
|
||||||
|
conky.config = {
|
||||||
|
alignment = 'top_left',
|
||||||
|
background = true,
|
||||||
|
own_window = true,
|
||||||
|
own_window_type = 'override',
|
||||||
|
own_window_class = 'Conky',
|
||||||
|
double_buffer = true,
|
||||||
|
own_window_transparent = true,
|
||||||
|
border_width = 1,
|
||||||
|
cpu_avg_samples = 2,
|
||||||
|
default_color = 'white',
|
||||||
|
default_outline_color = 'white',
|
||||||
|
default_shade_color = 'white',
|
||||||
|
draw_borders = false,
|
||||||
|
draw_graph_borders = true,
|
||||||
|
draw_outline = false,
|
||||||
|
draw_shades = false,
|
||||||
|
use_xft = true,
|
||||||
|
font = 'DejaVu Sans Mono:size=12',
|
||||||
|
gap_x = 5,
|
||||||
|
gap_y = 60,
|
||||||
|
minimum_height = 5,
|
||||||
|
minimum_width = 5,
|
||||||
|
net_avg_samples = 2,
|
||||||
|
no_buffers = true,
|
||||||
|
out_to_console = false,
|
||||||
|
out_to_stderr = false,
|
||||||
|
extra_newline = false,
|
||||||
|
stippled_borders = 0,
|
||||||
|
update_interval = 1.0,
|
||||||
|
uppercase = false,
|
||||||
|
use_spacer = 'none',
|
||||||
|
show_graph_scale = false,
|
||||||
|
show_graph_range = false
|
||||||
|
}
|
||||||
|
|
||||||
|
conky.text = [[
|
||||||
|
${scroll 16 $nodename - $sysname $kernel on $machine | }
|
||||||
|
$hr
|
||||||
|
${color grey}Uptime:$color $uptime
|
||||||
|
${color grey}Frequency (in MHz):$color $freq
|
||||||
|
${color grey}Frequency (in GHz):$color $freq_g
|
||||||
|
${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4}
|
||||||
|
${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4}
|
||||||
|
${color grey}CPU Usage:$color $cpu% ${cpubar 4}
|
||||||
|
${color grey}Processes:$color $processes ${color grey}Running:$color $running_processes
|
||||||
|
$hr
|
||||||
|
${color grey}File systems:
|
||||||
|
/ $color${fs_used /}/${fs_size /} ${fs_bar 6 /}
|
||||||
|
${color grey}Networking:
|
||||||
|
Up:$color ${upspeed eth0} ${color grey} - Down:$color ${downspeed eth0}
|
||||||
|
$hr
|
||||||
|
${color grey}Name PID CPU% MEM%
|
||||||
|
${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
|
||||||
|
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
|
||||||
|
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
|
||||||
|
${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
|
||||||
|
]]
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
#Conky By Jesse Avalos See me on Eye candy Linux (Google +) for more conkys.
|
||||||
|
background yes
|
||||||
|
update_interval 1
|
||||||
|
|
||||||
|
cpu_avg_samples 2
|
||||||
|
net_avg_samples 2
|
||||||
|
temperature_unit celsius
|
||||||
|
|
||||||
|
double_buffer yes
|
||||||
|
no_buffers yes
|
||||||
|
text_buffer_size 2048
|
||||||
|
alignment top_middle
|
||||||
|
gap_x -50
|
||||||
|
gap_y 300
|
||||||
|
minimum_size 550 550
|
||||||
|
maximum_width 550
|
||||||
|
own_window yes
|
||||||
|
own_window_type override
|
||||||
|
own_window_transparent yes
|
||||||
|
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
|
||||||
|
own_window_argb_visual yes
|
||||||
|
own_window_argb_value 0
|
||||||
|
|
||||||
|
border_inner_margin 0
|
||||||
|
border_outer_margin 0
|
||||||
|
|
||||||
|
|
||||||
|
draw_shades no
|
||||||
|
draw_outline no
|
||||||
|
draw_borders no
|
||||||
|
draw_graph_borders no
|
||||||
|
default_shade_color 112422
|
||||||
|
|
||||||
|
override_utf8_locale yes
|
||||||
|
use_xft yes
|
||||||
|
xftfont Feena Casual:size=10
|
||||||
|
xftalpha 1
|
||||||
|
uppercase yes
|
||||||
|
|
||||||
|
default_color fbf1c7
|
||||||
|
#E87E3C
|
||||||
|
own_window_colour 000000
|
||||||
|
TEXT
|
||||||
|
|
||||||
|
|
||||||
|
${font Anurati:size=75}${color fbf1c7}${time %A}#${color yellow}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
use_xft yes
|
||||||
|
xftfont 123:size=8
|
||||||
|
xftalpha 0.1
|
||||||
|
update_interval 1
|
||||||
|
total_run_times 0
|
||||||
|
|
||||||
|
own_window yes
|
||||||
|
own_window_type override
|
||||||
|
background yes
|
||||||
|
own_window_transparent yes
|
||||||
|
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
|
||||||
|
own_window_colour 000000
|
||||||
|
own_window_argb_visual no
|
||||||
|
own_window_argb_value 0
|
||||||
|
|
||||||
|
double_buffer yes
|
||||||
|
#minimum_size 250 5
|
||||||
|
maximum_width 600
|
||||||
|
draw_shades no
|
||||||
|
draw_outline no
|
||||||
|
draw_borders no
|
||||||
|
draw_graph_borders no
|
||||||
|
default_color white
|
||||||
|
default_shade_color red
|
||||||
|
default_outline_color green
|
||||||
|
alignment top_right
|
||||||
|
gap_x 0
|
||||||
|
gap_y 20
|
||||||
|
no_buffers yes
|
||||||
|
uppercase no
|
||||||
|
cpu_avg_samples 2
|
||||||
|
net_avg_samples 1
|
||||||
|
override_utf8_locale yes
|
||||||
|
use_spacer yes
|
||||||
|
|
||||||
|
|
||||||
|
minimum_size 0 0
|
||||||
|
TEXT
|
||||||
|
${voffset 10}${color EAEAEA}${font GE Inspira:pixelsize=120}${time %H:%M}${font}${voffset -84}${offset 10}${color FFA300}${font GE Inspira:pixelsize=42}${time %d} ${voffset -15}${color EAEAEA}${font GE Inspira:pixelsize=22}${time %B} ${time %Y}${font}${voffset 24}${font GE Inspira:pixelsize=58}${offset -148}${time %A}${font}
|
||||||
|
${voffset 1}${offset 12}${font Ubuntu:pixelsize=12}${color FFA300}HD ${offset 9}$color${fs_free /} / ${fs_size /}${offset 30}${color FFA300}RAM ${offset 9}$color$mem / $memmax${offset 30}${color FFA300}CPU ${offset 9}$color${cpu cpu0}%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
-- vim: ts=4 sw=4 noet ai cindent syntax=lua
|
||||||
|
--[[
|
||||||
|
Panel for left side of screen
|
||||||
|
|
||||||
|
Hostname * Kernel * Uptime
|
||||||
|
Load * IOWait (?)
|
||||||
|
CPU bar * RAM bar
|
||||||
|
CPU graph * RAM graph
|
||||||
|
|
||||||
|
]]
|
||||||
|
|
||||||
|
conky.config = {
|
||||||
|
-- i3 gaps config
|
||||||
|
alignment = 'tl',
|
||||||
|
background = true,
|
||||||
|
own_window = true,
|
||||||
|
own_window_type = 'override',
|
||||||
|
own_window_class = 'Conky',
|
||||||
|
own_window_transparent = true,
|
||||||
|
double_buffer = true,
|
||||||
|
-- Color info
|
||||||
|
default_color = 'white',
|
||||||
|
default_outline_color = 'white',
|
||||||
|
default_shade_color = 'white',
|
||||||
|
-- Draw
|
||||||
|
use_xft = true,
|
||||||
|
font = 'DejaVu Sans Mono:size=10',
|
||||||
|
border_width = 1,
|
||||||
|
draw_borders = false,
|
||||||
|
draw_graph_borders = true,
|
||||||
|
draw_outline = false,
|
||||||
|
draw_shades = false,
|
||||||
|
stippled_borders = 0,
|
||||||
|
show_graph_scale = false,
|
||||||
|
show_graph_range = false,
|
||||||
|
extra_newline = false,
|
||||||
|
uppercase = false,
|
||||||
|
use_spacer = 'none',
|
||||||
|
-- Size
|
||||||
|
minimum_height = 5,
|
||||||
|
minimum_width = 350,
|
||||||
|
maximum_width = 350,
|
||||||
|
gap_x = 5,
|
||||||
|
gap_y = 30,
|
||||||
|
-- Output
|
||||||
|
no_buffers = true,
|
||||||
|
out_to_console = false,
|
||||||
|
out_to_stderr = false,
|
||||||
|
-- Update
|
||||||
|
cpu_avg_samples = 2,
|
||||||
|
net_avg_samples = 2,
|
||||||
|
update_interval = 1.0
|
||||||
|
}
|
||||||
|
|
||||||
|
conky.text = [[
|
||||||
|
$nodename ${alignc}$kernel ${alignr}$uptime
|
||||||
|
$hr
|
||||||
|
Load: $loadavg Procs: $processes Run: $running_processes
|
||||||
|
CPU: ${cpu}% ${cpubar 10,}
|
||||||
|
${cpugraph cpu1 32,170 104e8b 0077ff -l -t} ${alignr}${cpugraph cpu2 32,170 104e8b 0077ff -l -t}
|
||||||
|
RAM: $mem/$memmax $memperc% ${membar 10,}
|
||||||
|
Swap: $swap/$swapmax $swapperc% ${swapbar 10,}
|
||||||
|
#${memgraph 32,170 104e8b 0077ff -l -t} ${alignr}${swapgraph 32,170 10438b 0077ff -l -t}
|
||||||
|
Entropy: ${entropy_avail}/${entropy_poolsize} ${entropy_bar 10,}
|
||||||
|
$hr
|
||||||
|
${alignc}Public IP: ${curl wtfismyip.com/text 5}
|
||||||
|
]]
|
||||||
|
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
# Create own window instead of using desktop (required in nautilus)
|
||||||
|
own_window yes
|
||||||
|
own_window_type override
|
||||||
|
own_window_transparent yes
|
||||||
|
own_window_hints undecorated,below,skip_taskbar,skip_pager
|
||||||
|
|
||||||
|
# Use double buffering (reduces flicker, may not work for everyone)
|
||||||
|
double_buffer yes
|
||||||
|
|
||||||
|
# fiddle with window
|
||||||
|
use_spacer yes
|
||||||
|
use_xft yes
|
||||||
|
|
||||||
|
# Update interval in seconds
|
||||||
|
update_interval 3
|
||||||
|
|
||||||
|
# Minimum size of text area
|
||||||
|
minimum_size 200 700
|
||||||
|
maximum_width 350
|
||||||
|
|
||||||
|
override_utf8_locale yes
|
||||||
|
|
||||||
|
# Draw shades?
|
||||||
|
draw_shades yes
|
||||||
|
|
||||||
|
# Text stuff
|
||||||
|
draw_outline yes # amplifies text if yes
|
||||||
|
draw_borders no
|
||||||
|
#font freesans -12
|
||||||
|
xftfont Arial:size=9
|
||||||
|
uppercase no # set to yes if you want all text to be in uppercase
|
||||||
|
|
||||||
|
# Stippled borders?
|
||||||
|
stippled_borders 3
|
||||||
|
|
||||||
|
# border margins
|
||||||
|
border_margin 9
|
||||||
|
|
||||||
|
# border width
|
||||||
|
border_width 10
|
||||||
|
|
||||||
|
# Default colors and also border colors, grey90 == #e5e5e5
|
||||||
|
default_color cbcbcb
|
||||||
|
|
||||||
|
own_window_colour brown
|
||||||
|
own_window_transparent yes
|
||||||
|
|
||||||
|
# Text alignment, other possible values are commented
|
||||||
|
#alignment top_left
|
||||||
|
alignment top_right
|
||||||
|
#alignment bottom_left
|
||||||
|
#alignment bottom_right
|
||||||
|
|
||||||
|
# Gap between borders of screen and text
|
||||||
|
gap_x 10
|
||||||
|
gap_y 10
|
||||||
|
|
||||||
|
imlib_cache_size 0
|
||||||
|
# stuff after 'TEXT' will be formatted on screen
|
||||||
|
|
||||||
|
TEXT
|
||||||
|
${hr 2}
|
||||||
|
$alignc ${color 48bcff}PRISTINA WEATHER $color${execi 600 bash /home/altin/.fluxbox/conky/accu/Accuweather_RSS/acc_rss}
|
||||||
|
${hr 2}
|
||||||
|
${font conkyweather:size=30}${execpi 600 sed -n '2p' /home/altin/.fluxbox/conky/accu/Accuweather_RSS/weather}${font}${goto 75}${voffset -25}${execpi 600 sed -n '1p' /home/altin/.fluxbox/conky/accu/Accuweather_RSS/weather|cut -c1-20}
|
||||||
|
${goto 75}${execpi 600 sed -n '1p' /home/altin/.fluxbox/conky/accu/Accuweather_RSS/weather|cut -c21-40}
|
||||||
|
${goto 75}${execpi 600 sed -n '1p' /home/altin/.fluxbox/conky/accu/Accuweather_RSS/weather|cut -c41-60}
|
||||||
|
|
||||||
|
${execi 600 sed -n '3p' /home/altin/.fluxbox/conky/accu/Accuweather_RSS/weather}
|
||||||
|
${font conkyweather:size=30}${execpi 600 sed -n '5p' /home/altin/.fluxbox/conky/accu/Accuweather_RSS/weather}${font}${goto 75}${voffset -25}${execpi 600 sed -n '4p' /home/altin/.fluxbox/conky/accu/Accuweather_RSS/weather|cut -c1-20}
|
||||||
|
${goto 75}${execpi 600 sed -n '4p' /home/altin/.fluxbox/conky/accu/Accuweather_RSS/weather|cut -c21-40}
|
||||||
|
${goto 75}${execpi 600 sed -n '4p' /home/altin/.fluxbox/conky/accu/Accuweather_RSS/weather|cut -c41-60}
|
||||||
|
|
||||||
|
${execi 600 sed -n '6p' /home/altin/.fluxbox/conky/accu/Accuweather_RSS/weather}
|
||||||
|
${font conkyweather:size=30}${execpi 600 sed -n '8p' /home/altin/.fluxbox/conky/accu/Accuweather_RSS/weather}${font}${goto 75}${voffset -25}${execpi 600 sed -n '4p' /home/altin/.fluxbox/conky/accu/Accuweather_RSS/weather|cut -c1-20}
|
||||||
|
${goto 75}${execpi 600 sed -n '7p' /home/altin/.fluxbox/conky/accu/Accuweather_RSS/weather|cut -c21-40}
|
||||||
|
${goto 75}${execpi 600 sed -n '7p' /home/altin/.fluxbox/conky/accu/Accuweather_RSS/weather|cut -c41-60}
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#function: test_image
|
||||||
|
test_image () {
|
||||||
|
case $1 in
|
||||||
|
1|01)
|
||||||
|
echo a
|
||||||
|
;;
|
||||||
|
2|02)
|
||||||
|
echo b
|
||||||
|
;;
|
||||||
|
3|03)
|
||||||
|
echo c
|
||||||
|
;;
|
||||||
|
4|04)
|
||||||
|
echo c
|
||||||
|
;;
|
||||||
|
5|05)
|
||||||
|
echo c
|
||||||
|
;;
|
||||||
|
6|06)
|
||||||
|
echo d
|
||||||
|
;;
|
||||||
|
7|07)
|
||||||
|
echo e
|
||||||
|
;;
|
||||||
|
8|08)
|
||||||
|
echo e
|
||||||
|
;;
|
||||||
|
11)
|
||||||
|
echo 0
|
||||||
|
;;
|
||||||
|
12)
|
||||||
|
echo h
|
||||||
|
;;
|
||||||
|
13|14)
|
||||||
|
echo g
|
||||||
|
;;
|
||||||
|
15)
|
||||||
|
echo l
|
||||||
|
;;
|
||||||
|
16|17)
|
||||||
|
echo k
|
||||||
|
;;
|
||||||
|
18|26)
|
||||||
|
echo i
|
||||||
|
;;
|
||||||
|
19)
|
||||||
|
echo p
|
||||||
|
;;
|
||||||
|
20|21|23)
|
||||||
|
echo o
|
||||||
|
;;
|
||||||
|
22)
|
||||||
|
echo r
|
||||||
|
;;
|
||||||
|
24|31)
|
||||||
|
echo E
|
||||||
|
;;
|
||||||
|
25)
|
||||||
|
echo u
|
||||||
|
;;
|
||||||
|
29)
|
||||||
|
echo v
|
||||||
|
;;
|
||||||
|
30)
|
||||||
|
echo 5
|
||||||
|
;;
|
||||||
|
32)
|
||||||
|
echo 6
|
||||||
|
;;
|
||||||
|
33)
|
||||||
|
echo A
|
||||||
|
;;
|
||||||
|
34|36|37)
|
||||||
|
echo B
|
||||||
|
;;
|
||||||
|
35|38)
|
||||||
|
echo C
|
||||||
|
;;
|
||||||
|
39|40)
|
||||||
|
echo G
|
||||||
|
;;
|
||||||
|
41|42)
|
||||||
|
echo K
|
||||||
|
;;
|
||||||
|
43|44)
|
||||||
|
echo O
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
#put your accuweather rss address here
|
||||||
|
address="http://rss.accuweather.com/rss/liveweather_rss.asp?metric=1&locCode=EUR|XK|298740|PRISTINA"
|
||||||
|
|
||||||
|
killall wget
|
||||||
|
wget -O ./weather_raw $address
|
||||||
|
|
||||||
|
|
||||||
|
if [[ -s ./weather_raw ]]; then
|
||||||
|
|
||||||
|
egrep 'Currently|Forecast<\/title>|_31x31.gif' ./weather_raw > ./weather
|
||||||
|
sed -i '/AccuWeather\|Currently in/d' ./weather
|
||||||
|
sed -i -e 's/^[ \t]*//g' -e 's/<title>\|<\/title>\|<description>\|<\/description>//g' ./weather
|
||||||
|
sed -i -e 's/<img src="/\n/g' ./weather
|
||||||
|
sed -i '/^$/d' ./weather
|
||||||
|
sed -i -e 's/_31x31.*$//g' -e 's/^.*\/icons\///g' ./weather
|
||||||
|
sed -i -e '1s/.$//' -e '3s/.$//' -e '6s/.$//' ./weather
|
||||||
|
for (( i=2; i<=8; i+=3 ))
|
||||||
|
do
|
||||||
|
im=$(sed -n ${i}p ./weather)
|
||||||
|
sed -i $i"s/^.*$/$(test_image $im)/" ./weather
|
||||||
|
done
|
||||||
|
|
||||||
|
fi
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
Currently: Partly Sunny: 25C
|
||||||
|
c
|
||||||
|
7/22/2012 Forecast
|
||||||
|
High: 29 C Low: 13 C Some sun, a t-storm; cooler
|
||||||
|
k
|
||||||
|
7/23/2012 Forecast
|
||||||
|
High: 28 C Low: 14 C Variable clouds with t-storms
|
||||||
|
k
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
<?xml version = "1.0"?>
|
||||||
|
<rss version="2.0">
|
||||||
|
<channel>
|
||||||
|
<title>Pristina, XK - AccuWeather.com Forecast</title>
|
||||||
|
<link>http://www.accuweather.com/en/xk/pristina/298740/%pagename%/298740</link>
|
||||||
|
|
||||||
|
<description>AccuWeather.com Forecast & Current Conditions</description>
|
||||||
|
<ttl>60</ttl>
|
||||||
|
<copyright>Copyright 2012, AccuWeather, Inc., All rights reserved. For personal use only.</copyright>
|
||||||
|
<pubDate>Sun, 22 Jul 2012 09:38:43 GMT</pubDate>
|
||||||
|
<language>en-us</language>
|
||||||
|
<image>
|
||||||
|
<title>Pristina, XK - AccuWeather.com Forecast</title>
|
||||||
|
<link>/en/xk/pristina/298740/weather-forecast/298740</link>
|
||||||
|
|
||||||
|
<description>AccuWeather.com The Best Weather on the Web!</description>
|
||||||
|
<url>http://vortex.accuweather.com/adc2004/pub/images/logos/adc_logo_187.gif</url>
|
||||||
|
<width>144</width>
|
||||||
|
<height>19</height>
|
||||||
|
</image>
|
||||||
|
<item>
|
||||||
|
<title>Currently: Partly Sunny: 25C</title>
|
||||||
|
<link>http://www.accuweather.com/en/xk/pristina/298740/weather-forecast/298740</link>
|
||||||
|
<guid isPermaLink="false">http://www.accuweather.com/en/xk/pristina/298740/weather-forecast/298740</guid>
|
||||||
|
|
||||||
|
<description>Currently in Pristina, XK: 25 °C and Partly Sunny
|
||||||
|
<img src="http://vortex.accuweather.com/phoenix2/images/common/icons/03_31x31.gif">
|
||||||
|
</description>
|
||||||
|
|
||||||
|
<pubDate>Sun, 22 Jul 2012 09:38:43 GMT</pubDate>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>7/22/2012 Forecast</title>
|
||||||
|
<link>http://www.accuweather.com/en/xk/pristina/298740/daily-weather-forecast/298740?day=1</link>
|
||||||
|
<guid isPermaLink="false">http://www.accuweather.com/en/xk/pristina/298740/daily-weather-forecast/298740?day=1</guid>
|
||||||
|
<description>High: 29 C Low: 13 C Some sun, a t-storm; cooler <img src="http://vortex.accuweather.com/phoenix2/images/common/icons/17_31x31.gif" ></description>
|
||||||
|
<pubDate>Sun, 22 Jul 2012 09:38:43 GMT</pubDate>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>7/23/2012 Forecast</title>
|
||||||
|
<link>http://www.accuweather.com/en/xk/pristina/298740/daily-weather-forecast/298740?day=2</link>
|
||||||
|
<guid isPermaLink="false">http://www.accuweather.com/en/xk/pristina/298740/daily-weather-forecast/298740?day=2</guid>
|
||||||
|
<description>High: 28 C Low: 14 C Variable clouds with t-storms <img src="http://vortex.accuweather.com/phoenix2/images/common/icons/16_31x31.gif" ></description>
|
||||||
|
<pubDate>Sun, 22 Jul 2012 09:38:43 GMT</pubDate>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>The AccuWeather.com RSS Center</title>
|
||||||
|
<description>To discover additional weather feeds, visit the AccuWeather.com RSS Center at http://www.accuweather.com/en/downloads</description>
|
||||||
|
<link>http://www.accuweather.com/en/downloads</link>
|
||||||
|
<guid isPermaLink="false">http://www.accuweather.com/en/downloads</guid>
|
||||||
|
<pubDate>Sun, 22 Jul 2012 09:38:43 GMT</pubDate>
|
||||||
|
</item>
|
||||||
|
</channel>
|
||||||
|
</rss>
|
||||||
@@ -0,0 +1,348 @@
|
|||||||
|
--[[
|
||||||
|
# Clock Rings by Linux Mint (2012) reEdited by Altin.
|
||||||
|
#
|
||||||
|
# This script draws percentage meters as rings, and also draws clock hands if you want! It is fully customisable; all options are described in the script.
|
||||||
|
# This script is based off a combination of my clock.lua script and my rings.lua script.
|
||||||
|
#
|
||||||
|
# IMPORTANT: If you are using the 'cpu' function, it will cause a segmentation fault if it tries to draw a ring straight away.
|
||||||
|
# The if statement on line 324 uses a delay to make sure that this doesn't happen.
|
||||||
|
# It calculates the length of the delay by the number of updates since Conky started.
|
||||||
|
# Generally, a value of 5s is long enough, so if you update Conky every 1s,
|
||||||
|
# use update_num>5 in that if statement (the default).
|
||||||
|
# If you only update Conky every 2s, you should change it to update_num>3;
|
||||||
|
# conversely if you update Conky every 0.5s, you should use update_num>10.
|
||||||
|
# ALSO, if you change your Conky, is it best to use "killall conky; conky" to update it,
|
||||||
|
# otherwise the update_num will not be reset and you will get an error.
|
||||||
|
#
|
||||||
|
# To call this script in Conky, use the following in your conkyrc:
|
||||||
|
#
|
||||||
|
# lua_load ~/.conky/clock01_rings.lua
|
||||||
|
# lua_draw_hook_pre clock_rings
|
||||||
|
#
|
||||||
|
# Changelog:
|
||||||
|
# * v1.0 --> Original release (30.09.2009)
|
||||||
|
# * v1.1p --> Jpope edit londonali1010 (05.10.2009)
|
||||||
|
# * vX 2011mint --> reEdit despot77 (18.02.2011)
|
||||||
|
# * vX 2012 --> Altin reEdit (22.07.2012)
|
||||||
|
# * Added weather function (Accu Weather)
|
||||||
|
# * Added battery monitoring
|
||||||
|
# * Syslog monitoring
|
||||||
|
# * Running processes monitoring
|
||||||
|
# * Rearanged rings
|
||||||
|
# * Exctra network functions/monitoring
|
||||||
|
# * Changed Fonts
|
||||||
|
]]
|
||||||
|
|
||||||
|
settings_table = {
|
||||||
|
{
|
||||||
|
-- Edit this table to customise your rings.
|
||||||
|
-- You can create more rings simply by adding more elements to settings_table.
|
||||||
|
-- "name" is the type of stat to display; you can choose from 'cpu', 'memperc', 'fs_used_perc', 'battery_used_perc'.
|
||||||
|
name='time',
|
||||||
|
-- "arg" is the argument to the stat type, e.g. if in Conky you would write ${cpu cpu0}, 'cpu0' would be the argument. If you would not use an argument in the Conky variable, use ''.
|
||||||
|
arg='%I.%M',
|
||||||
|
-- "max" is the maximum value of the ring. If the Conky variable outputs a percentage, use 100.
|
||||||
|
max=12,
|
||||||
|
-- "bg_colour" is the colour of the base ring.
|
||||||
|
bg_colour=0xffffff,
|
||||||
|
-- "bg_alpha" is the alpha value of the base ring.
|
||||||
|
bg_alpha=0.15,
|
||||||
|
-- "fg_colour" is the colour of the indicator part of the ring.
|
||||||
|
fg_colour=0x8fbcbb,
|
||||||
|
-- "fg_alpha" is the alpha value of the indicator part of the ring.
|
||||||
|
fg_alpha=0.3,
|
||||||
|
-- "x" and "y" are the x and y coordinates of the centre of the ring, relative to the top left corner of the Conky window.
|
||||||
|
x=100, y=175,
|
||||||
|
-- "radius" is the radius of the ring.
|
||||||
|
radius=50,
|
||||||
|
-- "thickness" is the thickness of the ring, centred around the radius.
|
||||||
|
thickness=5,
|
||||||
|
-- "start_angle" is the starting angle of the ring, in degrees, clockwise from top. Value can be either positive or negative.
|
||||||
|
start_angle=0,
|
||||||
|
-- "end_angle" is the ending angle of the ring, in degrees, clockwise from top. Value can be either positive or negative, but must be larger than start_angle.
|
||||||
|
end_angle=360
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
name='battery_percent',
|
||||||
|
arg='',
|
||||||
|
max=100,
|
||||||
|
bg_colour=0xffffff,
|
||||||
|
bg_alpha=0.2,
|
||||||
|
fg_colour=0x8fbcbb,
|
||||||
|
fg_alpha=0.8,
|
||||||
|
x=222, y=110,
|
||||||
|
radius=27,
|
||||||
|
thickness=5,
|
||||||
|
start_angle=-90,
|
||||||
|
end_angle=270
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
name='time',
|
||||||
|
arg='%M.%S',
|
||||||
|
max=60,
|
||||||
|
bg_colour=0xffffff,
|
||||||
|
bg_alpha=0.1,
|
||||||
|
fg_colour=0x8fbcbb,
|
||||||
|
fg_alpha=0.4,
|
||||||
|
x=100, y=175,
|
||||||
|
radius=66,
|
||||||
|
thickness=5,
|
||||||
|
start_angle=0,
|
||||||
|
end_angle=360
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name='time',
|
||||||
|
arg='%S',
|
||||||
|
max=60,
|
||||||
|
bg_colour=0xffffff,
|
||||||
|
bg_alpha=0.1,
|
||||||
|
fg_colour=0x8fbcbb,
|
||||||
|
fg_alpha=0.6,
|
||||||
|
x=100, y=175,
|
||||||
|
radius=72,
|
||||||
|
thickness=5,
|
||||||
|
start_angle=0,
|
||||||
|
end_angle=360
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name='time',
|
||||||
|
arg='%d',
|
||||||
|
max=31,
|
||||||
|
bg_colour=0xffffff,
|
||||||
|
bg_alpha=0.1,
|
||||||
|
fg_colour=0x8fbcbb,
|
||||||
|
fg_alpha=0.8,
|
||||||
|
x=100, y=175,
|
||||||
|
radius=80,
|
||||||
|
thickness=5,
|
||||||
|
start_angle=-90,
|
||||||
|
end_angle=90
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name='time',
|
||||||
|
arg='%m',
|
||||||
|
max=12,
|
||||||
|
bg_colour=0xffffff,
|
||||||
|
bg_alpha=0.1,
|
||||||
|
fg_colour=0x8fbcbb,
|
||||||
|
fg_alpha=1,
|
||||||
|
x=100, y=175,
|
||||||
|
radius=86,
|
||||||
|
thickness=5,
|
||||||
|
start_angle=-90,
|
||||||
|
end_angle=90
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name='cpu',
|
||||||
|
arg='cpu0',
|
||||||
|
max=100,
|
||||||
|
bg_colour=0xffffff,
|
||||||
|
bg_alpha=0.3,
|
||||||
|
fg_colour=0x8fbcbb,
|
||||||
|
fg_alpha=0.8,
|
||||||
|
x=145, y=337,
|
||||||
|
radius=25,
|
||||||
|
thickness=5,
|
||||||
|
start_angle=-90,
|
||||||
|
end_angle=180
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name='cpu',
|
||||||
|
arg='cpu1',
|
||||||
|
max=100,
|
||||||
|
bg_colour=0xffffff,
|
||||||
|
bg_alpha=0.3,
|
||||||
|
fg_colour=0x8fbcbb,
|
||||||
|
fg_alpha=0.8,
|
||||||
|
x=220, y=337,
|
||||||
|
radius=25,
|
||||||
|
thickness=5,
|
||||||
|
start_angle=-90,
|
||||||
|
end_angle=180
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name='fs_used_perc',
|
||||||
|
arg='/',
|
||||||
|
max=100,
|
||||||
|
bg_colour=0xffffff,
|
||||||
|
bg_alpha=0.2,
|
||||||
|
fg_colour=0x8fbcbb,
|
||||||
|
fg_alpha=0.8,
|
||||||
|
x=35, y=590,
|
||||||
|
radius=25,
|
||||||
|
thickness=5,
|
||||||
|
start_angle=-90,
|
||||||
|
end_angle=180
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name='memperc',
|
||||||
|
arg='',
|
||||||
|
max=100,
|
||||||
|
bg_colour=0xffffff,
|
||||||
|
bg_alpha=0.2,
|
||||||
|
fg_colour=0x8fbcbb,
|
||||||
|
fg_alpha=0.8,
|
||||||
|
x=130, y=590,
|
||||||
|
radius=25,
|
||||||
|
thickness=5,
|
||||||
|
start_angle=-90,
|
||||||
|
end_angle=180
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name='swapperc',
|
||||||
|
arg='',
|
||||||
|
max=100,
|
||||||
|
bg_colour=0xffffff,
|
||||||
|
bg_alpha=0.2,
|
||||||
|
fg_colour=0x8fbcbb,
|
||||||
|
fg_alpha=0.8,
|
||||||
|
x=220, y=590,
|
||||||
|
radius=25,
|
||||||
|
thickness=5,
|
||||||
|
start_angle=-90,
|
||||||
|
end_angle=172
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Use these settings to define the origin and extent of your clock.
|
||||||
|
|
||||||
|
clock_r=65
|
||||||
|
|
||||||
|
-- "clock_x" and "clock_y" are the coordinates of the centre of the clock, in pixels, from the top left of the Conky window.
|
||||||
|
|
||||||
|
clock_x=100
|
||||||
|
clock_y=175
|
||||||
|
|
||||||
|
show_seconds=true -- Change to true if you want the seconds hand
|
||||||
|
|
||||||
|
require 'cairo'
|
||||||
|
|
||||||
|
function rgb_to_r_g_b(colour,alpha)
|
||||||
|
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
|
||||||
|
end
|
||||||
|
|
||||||
|
function window_background(colour,alpha)
|
||||||
|
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
|
||||||
|
end
|
||||||
|
|
||||||
|
function draw_ring(cr,t,pt)
|
||||||
|
local w,h=conky_window.width,conky_window.height
|
||||||
|
|
||||||
|
local xc,yc,ring_r,ring_w,sa,ea=pt['x'],pt['y'],pt['radius'],pt['thickness'],pt['start_angle'],pt['end_angle']
|
||||||
|
local bgc, bga, fgc, fga=pt['bg_colour'], pt['bg_alpha'], pt['fg_colour'], pt['fg_alpha']
|
||||||
|
|
||||||
|
local angle_0=sa*(2*math.pi/360)-math.pi/2
|
||||||
|
local angle_f=ea*(2*math.pi/360)-math.pi/2
|
||||||
|
local t_arc=t*(angle_f-angle_0)
|
||||||
|
|
||||||
|
-- Draw background ring
|
||||||
|
|
||||||
|
cairo_arc(cr,xc,yc,ring_r,angle_0,angle_f)
|
||||||
|
cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))
|
||||||
|
cairo_set_line_width(cr,ring_w)
|
||||||
|
cairo_stroke(cr)
|
||||||
|
|
||||||
|
-- Draw indicator ring
|
||||||
|
|
||||||
|
cairo_arc(cr,xc,yc,ring_r,angle_0,angle_0+t_arc)
|
||||||
|
cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))
|
||||||
|
cairo_stroke(cr)
|
||||||
|
end
|
||||||
|
|
||||||
|
function draw_clock_hands(cr,xc,yc)
|
||||||
|
local secs,mins,hours,secs_arc,mins_arc,hours_arc
|
||||||
|
local xh,yh,xm,ym,xs,ys
|
||||||
|
|
||||||
|
secs=os.date("%S")
|
||||||
|
mins=os.date("%M")
|
||||||
|
hours=os.date("%I")
|
||||||
|
|
||||||
|
secs_arc=(2*math.pi/60)*secs
|
||||||
|
mins_arc=(2*math.pi/60)*mins+secs_arc/60
|
||||||
|
hours_arc=(2*math.pi/12)*hours+mins_arc/12
|
||||||
|
|
||||||
|
-- Draw hour hand
|
||||||
|
|
||||||
|
xh=xc+0.76*clock_r*math.sin(hours_arc)
|
||||||
|
yh=yc-0.72*clock_r*math.cos(hours_arc)
|
||||||
|
cairo_move_to(cr,xc,yc)
|
||||||
|
cairo_line_to(cr,xh,yh)
|
||||||
|
|
||||||
|
cairo_set_line_cap(cr,CAIRO_LINE_CAP_ROUND)
|
||||||
|
cairo_set_line_width(cr,5)
|
||||||
|
cairo_set_source_rgba(cr,1.0,1.0,1.0,1.0)
|
||||||
|
cairo_stroke(cr)
|
||||||
|
|
||||||
|
-- Draw minute hand
|
||||||
|
|
||||||
|
xm=xc+0.98*clock_r*math.sin(mins_arc)
|
||||||
|
ym=yc-1.02*clock_r*math.cos(mins_arc)
|
||||||
|
cairo_move_to(cr,xc,yc)
|
||||||
|
cairo_line_to(cr,xm,ym)
|
||||||
|
|
||||||
|
cairo_set_line_width(cr,3)
|
||||||
|
cairo_stroke(cr)
|
||||||
|
|
||||||
|
-- Draw seconds hand
|
||||||
|
|
||||||
|
if show_seconds then
|
||||||
|
xs=xc+1.1*clock_r*math.sin(secs_arc)
|
||||||
|
ys=yc-clock_r*math.cos(secs_arc)
|
||||||
|
cairo_move_to(cr,xc,yc)
|
||||||
|
cairo_line_to(cr,xs,ys)
|
||||||
|
|
||||||
|
cairo_set_line_width(cr,1)
|
||||||
|
cairo_stroke(cr)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function conky_clock_rings()
|
||||||
|
local function setup_rings(cr,pt)
|
||||||
|
local str=''
|
||||||
|
local value=0
|
||||||
|
|
||||||
|
if pt['name'] == 'time' then
|
||||||
|
if pt['arg'] == '%I.%M' then
|
||||||
|
value = math.fmod(os.date("%I"),12) + os.date("%M")/60
|
||||||
|
elseif pt['arg'] == '%M.%S' then
|
||||||
|
value = os.date("%M") + os.date("%S")/60
|
||||||
|
else
|
||||||
|
value = os.date(pt['arg'])
|
||||||
|
end
|
||||||
|
elseif pt['name'] == 'battery_percent' then
|
||||||
|
|
||||||
|
str='${if_existing /sys/class/power_supply/BAT0}${battery_percent BAT0}${else}${if_existing /sys/class/power_supply/BAT1}${battery_percent BAT1}${else}0${endif}${endif}'
|
||||||
|
str=conky_parse(str)
|
||||||
|
value=tonumber(str)
|
||||||
|
|
||||||
|
else
|
||||||
|
str=string.format('${%s %s}',pt['name'],pt['arg'])
|
||||||
|
str=conky_parse(str)
|
||||||
|
value=tonumber(str)
|
||||||
|
end
|
||||||
|
|
||||||
|
pct=value/pt['max']
|
||||||
|
|
||||||
|
draw_ring(cr,pct,pt)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Check that Conky has been running for at least 5s
|
||||||
|
|
||||||
|
if conky_window==nil then return end
|
||||||
|
local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height)
|
||||||
|
|
||||||
|
local cr=cairo_create(cs)
|
||||||
|
|
||||||
|
local updates=conky_parse('${updates}')
|
||||||
|
update_num=tonumber(updates)
|
||||||
|
|
||||||
|
if update_num>5 then
|
||||||
|
for i in pairs(settings_table) do
|
||||||
|
setup_rings(cr,settings_table[i])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
draw_clock_hands(cr,clock_x,clock_y)
|
||||||
|
end
|
||||||
@@ -0,0 +1,146 @@
|
|||||||
|
conky.config = {
|
||||||
|
-- Conky settings #
|
||||||
|
background = false,
|
||||||
|
update_interval = 1,
|
||||||
|
|
||||||
|
cpu_avg_samples = 2,
|
||||||
|
net_avg_samples = 2,
|
||||||
|
|
||||||
|
override_utf8_locale = true,
|
||||||
|
|
||||||
|
double_buffer = true,
|
||||||
|
no_buffers = true,
|
||||||
|
|
||||||
|
text_buffer_size = 2048,
|
||||||
|
--imlib_cache_size 0
|
||||||
|
|
||||||
|
|
||||||
|
-- Window specifications #
|
||||||
|
own_window = true,
|
||||||
|
own_window_type = 'override',
|
||||||
|
own_window_transparent = true,
|
||||||
|
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
|
||||||
|
|
||||||
|
border_inner_margin = 0,
|
||||||
|
border_outer_margin = 5,
|
||||||
|
|
||||||
|
minimum_width = 280, minimum_height = 1080,
|
||||||
|
maximum_width = 520, minimum_height = 1080,
|
||||||
|
|
||||||
|
alignment = 'middle_right',
|
||||||
|
gap_x = 10,
|
||||||
|
gap_y = -80,
|
||||||
|
|
||||||
|
-- Graphics settings #
|
||||||
|
draw_shades = false,
|
||||||
|
draw_outline = false,
|
||||||
|
draw_borders = false,
|
||||||
|
draw_graph_borders = true,
|
||||||
|
|
||||||
|
-- Text settings #
|
||||||
|
use_xft = true,
|
||||||
|
font = 'Roboto:style=Medium:size=10',
|
||||||
|
xftalpha = 0.5,
|
||||||
|
|
||||||
|
uppercase = false,
|
||||||
|
|
||||||
|
-- temperature_unit = 'fahrenheit',
|
||||||
|
temperature_unit = 'celsius',
|
||||||
|
|
||||||
|
-- default_color = 'fbf1c7',
|
||||||
|
-- color0 = 'fbf1c7',
|
||||||
|
-- color1 = 'fbf1c7',
|
||||||
|
default_color = 'fbf1c7',
|
||||||
|
color0 = 'fbf1c7',
|
||||||
|
color1 = 'fbf1c7',
|
||||||
|
|
||||||
|
|
||||||
|
-- network templates
|
||||||
|
if_up_strictness = 'address',
|
||||||
|
|
||||||
|
template0 = [[${color1}\1: $color$alignr${addr \1}
|
||||||
|
${color1}Current: $color${alignr}${execi 10 test -e /sys/class/net/\1 && /sbin/iwconfig \1 | awk '/Bit Rate=/ { sub(/Rate=/,"", $2); print $2 }'} Mbits/sec]],
|
||||||
|
|
||||||
|
template1 = [[
|
||||||
|
${color1}\1: $color$alignr${addr \1}\n]],
|
||||||
|
|
||||||
|
template2 = [[${color1}Down: $color${downspeed \1} k/s ${alignr}${color1}Up:$color ${upspeed \1} k/s
|
||||||
|
${downspeedgraph \1 30,120 000000 88c0d0} ${alignr}${upspeedgraph \1 30,120 000000 88c0d0}$color
|
||||||
|
${color1}Total:$color ${totaldown \1} ${alignr}${color1}\1 ${alignr}${color1}Total:$color ${totalup \1}]],
|
||||||
|
|
||||||
|
template4 = 'ens33',
|
||||||
|
template5 = 'eth1',
|
||||||
|
template6 = 'wlan0',
|
||||||
|
template7 = 'wlan1',
|
||||||
|
|
||||||
|
|
||||||
|
-- wheather templates
|
||||||
|
|
||||||
|
template8 = '~/.conky/nordcore/weather',
|
||||||
|
template9 = '~/.conky/nordcore/weather_raw',
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
-- fluxbox adjustment``
|
||||||
|
return_code = os.execute('pidof -q fluxbox')
|
||||||
|
if _VERSION == 'Lua 5.1' and math.floor(return_code/256) == 0 or
|
||||||
|
_VERSION ~= 'Lua 5.1' and return_code then
|
||||||
|
conky.config.own_window_transparent = true
|
||||||
|
conky.config.own_window_argb_visual = false
|
||||||
|
end
|
||||||
|
|
||||||
|
conky.text = [[
|
||||||
|
#----------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
$font${color1}User:$color${alignr}$font$USER
|
||||||
|
# Time and date
|
||||||
|
#----------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
#----------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
# Battery Circle
|
||||||
|
#----------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
#----------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
# Weather
|
||||||
|
#----------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# DISK/RAM/SWAP usage
|
||||||
|
#----------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
${color FFFFFF}${goto 7}${voffset 32}${fs_used_perc /}%
|
||||||
|
${color1}${goto 7}DISK
|
||||||
|
${color FFFFFF}${goto 102}${voffset -36}${memperc}%
|
||||||
|
${color1}${goto 102}RAM
|
||||||
|
${color FFFFFF}${goto 192}${voffset -37}${swapperc}%
|
||||||
|
${color1}${goto 191}SWAP
|
||||||
|
|
||||||
|
${color1}Root Directory: ${alignr}$color${fs_used /} / ${fs_size /}(${fs_used_perc}%)
|
||||||
|
${color1}${fs_bar 30 /}
|
||||||
|
${color1}Home Directory : ${alignr}$color${fs_used /home} / ${fs_size /home}(${fs_used_perc}%)
|
||||||
|
${color1}${fs_bar 30 /home}
|
||||||
|
#${color1}CPU 1${alignr}$color${cpu cpu1 \1}%
|
||||||
|
#${cpugraph cpu1 \1 000000 88c0d0}
|
||||||
|
#${color1}CPU 2${alignr}$color${cpu cpu2 \1}%
|
||||||
|
#${cpugraph cpu2 \1 000000 88c0d0}
|
||||||
|
#----------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
# Running processes
|
||||||
|
#----------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
${color1}${voffset 5}NAME${goto 122}PID${goto 163}CPU%${goto 210}MEM%$color${voffset 5}
|
||||||
|
${top name 1}${goto 115}${top pid 1}${goto 160}${top cpu 1}${goto 205}${top mem 1}
|
||||||
|
${top name 2}${goto 115}${top pid 2}${goto 160}${top cpu 2}${goto 205}${top mem 2}
|
||||||
|
${top name 3}${goto 115}${top pid 3}${goto 160}${top cpu 3}${goto 205}${top mem 3}
|
||||||
|
${top name 4}${goto 115}${top pid 3}${goto 160}${top cpu 4}${goto 205}${top mem 4}
|
||||||
|
${top name 5}${goto 115}${top pid 3}${goto 160}${top cpu 5}${goto 205}${top mem 5}
|
||||||
|
${top name 6}${goto 115}${top pid 6}${goto 160}${top cpu 6}${goto 205}${top mem 6}
|
||||||
|
${top name 7}${goto 115}${top pid 7}${goto 160}${top cpu 7}${goto 205}${top mem 7}
|
||||||
|
${top name 8}${goto 115}${top pid 8}${goto 160}${top cpu 8}${goto 205}${top mem 8}
|
||||||
|
${top name 9}${goto 115}${top pid 9}${goto 160}${top cpu 9}${goto 205}${top mem 9}
|
||||||
|
${top name 10}${goto 115}${top pid 10}${goto 160}${top cpu 10}${goto 205}${top mem 10}
|
||||||
|
#----------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
# Computer info
|
||||||
|
#----------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
${color1}${voffset 2}${hr 1}${voffset 5}
|
||||||
|
${color1}Hostname:$color${alignr}${nodename}
|
||||||
|
${color1}OS:$color${alignr}${exec cat /etc/issue}${color1}Machine:$color${alignr}${machine}
|
||||||
|
${color1}Kernel:$color${alignr}${kernel}
|
||||||
|
]];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 140 KiB |
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
https://github.com/MX-Linux/mx-conky-data/tree/master/MX-CoreBlue
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
sleep 10
|
||||||
|
conky -c ~/.conky/nordcore/conkyrc2core
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Exec=/home/linuxscoop/.conky/nordcore/start_conky.sh
|
||||||
|
Hidden=false
|
||||||
|
NoDisplay=false
|
||||||
|
X-GNOME-Autostart-enabled=true
|
||||||
|
Name[en_US]=conky
|
||||||
|
Name=conky
|
||||||
|
Comment[en_US]=conky
|
||||||
|
Comment=conky
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
Currently: Partly Sunny: 25C
|
||||||
|
c
|
||||||
|
7/5/2013 Forecast
|
||||||
|
High: 27 C Low: 13 C A couple of thunderstorms
|
||||||
|
k
|
||||||
|
7/6/2013 Forecast
|
||||||
|
High: 24 C Low: 14 C Rain and a thunderstorm
|
||||||
|
i
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
<?xml version = "1.0"?>
|
||||||
|
<rss version="2.0">
|
||||||
|
<channel>
|
||||||
|
<title>Pristina, XK - AccuWeather.com Forecast</title>
|
||||||
|
<link>http://www.accuweather.com/en/xk/pristina/298740/%pagename%/298740</link>
|
||||||
|
|
||||||
|
<description>AccuWeather.com Forecast & Current Conditions</description>
|
||||||
|
<ttl>60</ttl>
|
||||||
|
<copyright>Copyright 2013, AccuWeather, Inc., All rights reserved. For personal use only.</copyright>
|
||||||
|
<pubDate>Fri, 05 Jul 2013 09:12:00 GMT</pubDate>
|
||||||
|
<language>en-us</language>
|
||||||
|
<image>
|
||||||
|
<title>Pristina, XK - AccuWeather.com Forecast</title>
|
||||||
|
<link>/en/xk/pristina/298740/weather-forecast/298740</link>
|
||||||
|
|
||||||
|
<description>AccuWeather.com The Best Weather on the Web!</description>
|
||||||
|
<url>http://vortex.accuweather.com/adc2004/pub/images/logos/adc_logo_187.gif</url>
|
||||||
|
<width>144</width>
|
||||||
|
<height>19</height>
|
||||||
|
</image>
|
||||||
|
<item>
|
||||||
|
<title>Currently: Partly Sunny: 25C</title>
|
||||||
|
<link>http://www.accuweather.com/en/xk/pristina/298740/weather-forecast/298740</link>
|
||||||
|
<guid isPermaLink="false">http://www.accuweather.com/en/xk/pristina/298740/weather-forecast/298740</guid>
|
||||||
|
|
||||||
|
<description>Currently in Pristina, XK: 25 °C and Partly Sunny
|
||||||
|
<img src="http://vortex.accuweather.com/phoenix2/images/common/icons/03_31x31.gif">
|
||||||
|
</description>
|
||||||
|
|
||||||
|
<pubDate>Fri, 05 Jul 2013 09:12:00 GMT</pubDate>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>7/5/2013 Forecast</title>
|
||||||
|
<link>http://www.accuweather.com/en/xk/pristina/298740/daily-weather-forecast/298740?day=1</link>
|
||||||
|
<guid isPermaLink="false">http://www.accuweather.com/en/xk/pristina/298740/daily-weather-forecast/298740?day=1</guid>
|
||||||
|
<description>High: 27 C Low: 13 C A couple of thunderstorms <img src="http://vortex.accuweather.com/phoenix2/images/common/icons/17_31x31.gif" ></description>
|
||||||
|
<pubDate>Fri, 05 Jul 2013 09:12:00 GMT</pubDate>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>7/6/2013 Forecast</title>
|
||||||
|
<link>http://www.accuweather.com/en/xk/pristina/298740/daily-weather-forecast/298740?day=2</link>
|
||||||
|
<guid isPermaLink="false">http://www.accuweather.com/en/xk/pristina/298740/daily-weather-forecast/298740?day=2</guid>
|
||||||
|
<description>High: 24 C Low: 14 C Rain and a thunderstorm <img src="http://vortex.accuweather.com/phoenix2/images/common/icons/18_31x31.gif" ></description>
|
||||||
|
<pubDate>Fri, 05 Jul 2013 09:12:00 GMT</pubDate>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<title>The AccuWeather.com RSS Center</title>
|
||||||
|
<description>To discover additional weather feeds, visit the AccuWeather.com RSS Center at http://www.accuweather.com/en/downloads</description>
|
||||||
|
<link>http://www.accuweather.com/en/downloads</link>
|
||||||
|
<guid isPermaLink="false">http://www.accuweather.com/en/downloads</guid>
|
||||||
|
<pubDate>Fri, 05 Jul 2013 09:12:00 GMT</pubDate>
|
||||||
|
</item>
|
||||||
|
</channel>
|
||||||
|
</rss>
|
||||||
BIN
Binary file not shown.
@@ -0,0 +1,51 @@
|
|||||||
|
[global]
|
||||||
|
font = "Hack 12"
|
||||||
|
markup = full
|
||||||
|
format = "<b>%s</b>\n%b"
|
||||||
|
sort = yes
|
||||||
|
indicate_hidden = yes
|
||||||
|
alignment = center
|
||||||
|
stack_duplicates = true
|
||||||
|
bounce_freq = 0
|
||||||
|
show_age_threshold = 60
|
||||||
|
word_wrap = yes
|
||||||
|
ignore_newline = no
|
||||||
|
geometry = "200x5-6+30"
|
||||||
|
browser = /usr/bin/firefox -new-tab
|
||||||
|
transparency = 0
|
||||||
|
idle_threshold = 120
|
||||||
|
monitor = 0
|
||||||
|
follow = mouse
|
||||||
|
sticky_history = yes
|
||||||
|
line_height = 0
|
||||||
|
separator_height = 2
|
||||||
|
padding = 8
|
||||||
|
horizontal_padding = 8
|
||||||
|
separator_color = "#585858"
|
||||||
|
startup_notification = false
|
||||||
|
# https://github.com/knopwob/dunst/issues/26#issuecomment-36159395
|
||||||
|
#icon_position = left
|
||||||
|
frame_width = 1
|
||||||
|
icon_folders = /usr/share/icons/breeze/apps/48/:/usr/share/icons/breeze/actions/48/:/usr/share/icons/breeze/places/48/:/usr/share/icons/breeze/status/48/
|
||||||
|
frame_color = "#fbf1c7"
|
||||||
|
|
||||||
|
[shortcuts]
|
||||||
|
close = ctrl+space
|
||||||
|
close_all = ctrl+shift+space
|
||||||
|
history = ctrl+grave
|
||||||
|
context = ctrl+shift+period
|
||||||
|
|
||||||
|
[urgency_low]
|
||||||
|
background = "#1D282828"
|
||||||
|
foreground = "#ebdbb2"
|
||||||
|
timeout = 5
|
||||||
|
|
||||||
|
[urgency_normal]
|
||||||
|
background = "#1D282828"
|
||||||
|
foreground = "#ebdbb2"
|
||||||
|
timeout = 10
|
||||||
|
|
||||||
|
[urgency_critical]
|
||||||
|
background = "#1D282828"
|
||||||
|
foreground = "#ebdbb2"
|
||||||
|
timeout = 20
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Source: http://www.onlamp.com/pub/a/linux/2000/11/16/LinuxAdmin.html
|
||||||
|
|
||||||
|
INSTANCE="${BLOCK_INSTANCE}"
|
||||||
|
# If you don't like you can use any other IP
|
||||||
|
INTERFACE="$(ip route get 8.8.8.8 | grep -Po '(?<=(dev )).*(?= src)')"
|
||||||
|
|
||||||
|
if [[ "${INSTANCE}" = "" ]]; then
|
||||||
|
INSTANCE="${INTERFACE};both"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DISPLAY=$(echo "${INSTANCE}" | awk -F ';' '{print $2}')
|
||||||
|
INSTANCE=$(echo "${INSTANCE}" | awk -F ';' '{print $1}')
|
||||||
|
|
||||||
|
if [[ "${DISPLAY}" = "" ]]; then
|
||||||
|
DISPLAY="both"
|
||||||
|
fi
|
||||||
|
|
||||||
|
ONE_KB=1024
|
||||||
|
ONE_MB=$(echo "${ONE_KB}*1024" | bc -l)
|
||||||
|
TEN_MB=$(echo "${ONE_MB}*10" | bc -l)
|
||||||
|
OHD_MB=$(echo "${TEN_MB}*10" | bc -l)
|
||||||
|
|
||||||
|
URGENT_VALUE="${ONE_MB}"
|
||||||
|
|
||||||
|
PREV_IN=0
|
||||||
|
PREV_OUT=0
|
||||||
|
|
||||||
|
PREV_FILE="/tmp/.bandwidth"
|
||||||
|
|
||||||
|
if [[ -f "${PREV_FILE}" ]]; then
|
||||||
|
PREV_CONT=$(cat "${PREV_FILE}")
|
||||||
|
PREV_IN=$(echo "${PREV_CONT}" | head -n 1)
|
||||||
|
PREV_OUT=$(echo "${PREV_CONT}" | tail -n 1)
|
||||||
|
fi
|
||||||
|
|
||||||
|
BANDWIDTH=$(grep "${INSTANCE}" /proc/net/dev | awk -F: '{print $2}' | awk '{print $1" "$9}')
|
||||||
|
|
||||||
|
if [[ "${BANDWIDTH}" = "" ]]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
BYTES_IN=$(echo "${BANDWIDTH}" | awk -F ' ' '{print $1}')
|
||||||
|
BYTES_OUT=$(echo "${BANDWIDTH}" | awk -F ' ' '{print $2}')
|
||||||
|
|
||||||
|
function FormatNumber() {
|
||||||
|
if [[ "${1}" -ge "${OHD_MB}" ]]; then
|
||||||
|
printf "%03d" $(echo "scale=0;${1}/${ONE_MB}" | bc -l)
|
||||||
|
echo "m"
|
||||||
|
elif [[ "${1}" -ge "${TEN_MB}" ]]; then
|
||||||
|
printf "%03d" $(echo "scale=1;${1}/${ONE_MB}" | bc -l)
|
||||||
|
echo "m"
|
||||||
|
elif [[ "${1}" -ge "${ONE_MB}" ]]; then
|
||||||
|
printf "%03d" $(echo "scale=2;${1}/${ONE_MB}" | bc -l)
|
||||||
|
echo "m"
|
||||||
|
elif [[ "${1}" -ge "${ONE_KB}" ]]; then
|
||||||
|
printf "%03d" $(echo "scale=0;${1}/${ONE_KB}" | bc -l)
|
||||||
|
echo "k"
|
||||||
|
else
|
||||||
|
printf "%03d" "$1"
|
||||||
|
echo "b"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ "${PREV_IN}" != "" ]] && [[ "${PREV_OUT}" != "" ]]; then
|
||||||
|
# Calculate the CPU usage since we last checked.
|
||||||
|
DIFF_IN=$(echo "scale=0;${BYTES_IN} - ${PREV_IN}" | bc -l)
|
||||||
|
DIFF_OUT=$(echo "scale=0;${BYTES_OUT} - ${PREV_OUT}" | bc -l)
|
||||||
|
DIFF_TOTAL=0
|
||||||
|
|
||||||
|
USAGE_IN=$(FormatNumber "${DIFF_IN}")
|
||||||
|
USAGE_OUT=$(FormatNumber "${DIFF_OUT}")
|
||||||
|
|
||||||
|
if [[ "${DISPLAY}" = "both" ]]; then
|
||||||
|
echo "${USAGE_IN} : ${USAGE_OUT}"
|
||||||
|
echo "${USAGE_IN} : ${USAGE_OUT}"
|
||||||
|
echo ""
|
||||||
|
DIFF_TOTAL=$((DIFF_TOTAL+DIFF_IN))
|
||||||
|
DIFF_TOTAL=$((DIFF_TOTAL+DIFF_OUT))
|
||||||
|
elif [[ "${DISPLAY}" = "in" ]]; then
|
||||||
|
echo "${USAGE_IN}"
|
||||||
|
echo "${USAGE_IN}"
|
||||||
|
echo ""
|
||||||
|
DIFF_TOTAL=$((DIFF_TOTAL+DIFF_IN))
|
||||||
|
elif [[ "${DISPLAY}" = "out" ]]; then
|
||||||
|
echo "${USAGE_OUT}"
|
||||||
|
echo "${USAGE_OUT}"
|
||||||
|
echo ""
|
||||||
|
DIFF_TOTAL=$((DIFF_TOTAL+DIFF_OUT))
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "?"
|
||||||
|
echo "?"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remember the total and idle CPU times for the next check.
|
||||||
|
echo "${BYTES_IN}" > "${PREV_FILE}"
|
||||||
|
echo "${BYTES_OUT}" >> "${PREV_FILE}"
|
||||||
|
|
||||||
|
if [[ "${DIFF_TOTAL}" -ge "${URGENT_VALUE}" ]]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
BATTERY=0
|
||||||
|
BATTERY_INFO=$(acpi -b | grep "Battery ${BATTERY}")
|
||||||
|
BATTERY_STATE=$(echo "${BATTERY_INFO}" | grep -wo "Full\|Charging\|Not")
|
||||||
|
BATTERY_POWER=$(echo "${BATTERY_INFO}" | grep -o '[0-9]\+%' | tr -d '%')
|
||||||
|
|
||||||
|
URGENT_VALUE=10
|
||||||
|
|
||||||
|
if [[ "${BATTERY_STATE}" = "Charging" ]]; then
|
||||||
|
echo "${BATTERY_POWER}%+"
|
||||||
|
echo "${BATTERY_POWER}%+"
|
||||||
|
echo ""
|
||||||
|
elif [[ "${BATTERY_STATE}" = "Not" ]]; then
|
||||||
|
echo "${BATTERY_POWER}%-"
|
||||||
|
echo "${BATTERY_POWER}%-"
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
echo "${BATTERY_POWER}%"
|
||||||
|
echo "${BATTERY_POWER}%"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${BATTERY_POWER}" -le "${URGENT_VALUE}" ]]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# One of the following: xrandr, xbacklight, kernel
|
||||||
|
METHOD="xbacklight"
|
||||||
|
|
||||||
|
# Left click
|
||||||
|
if [[ "${BLOCK_BUTTON}" -eq 1 ]]; then
|
||||||
|
~/.Scripts/ChangeWallpapers.sh
|
||||||
|
#elif [[ "${BLOCK_BUTTON}" -eq 2 ]]; then
|
||||||
|
# ~/.Scripts/ChangeWallpapers.sh
|
||||||
|
#elif [[ "${BLOCK_BUTTON}" -eq 3 ]]; then
|
||||||
|
# xbacklight -dec 10
|
||||||
|
elif [[ "${BLOCK_BUTTON}" -eq 4 ]]; then
|
||||||
|
xbacklight -inc 5
|
||||||
|
elif [[ "${BLOCK_BUTTON}" -eq 5 ]]; then
|
||||||
|
xbacklight -dec 5
|
||||||
|
fi
|
||||||
|
|
||||||
|
URGENT_VALUE=10
|
||||||
|
|
||||||
|
if [[ "${METHOD}" = "xrandr" ]]; then
|
||||||
|
device="${BLOCK_INSTANCE:-primary}"
|
||||||
|
xrandrOutput=$(xrandr --verbose)
|
||||||
|
|
||||||
|
if [[ "${device}" = "primary" ]]; then
|
||||||
|
device=$(echo "${xrandrOutput}" | grep 'primary' | head -n 1 | awk -F ' ' '{print $1}')
|
||||||
|
fi
|
||||||
|
|
||||||
|
curBrightness=$(echo "${xrandrOutput}" | grep "${device}" -A 5 | grep -i "Brightness" | awk -F ':' '{print $2}')
|
||||||
|
elif [[ "${METHOD}" = "kernel" ]]; then
|
||||||
|
device="${BLOCK_INSTANCE:-intel_backlight}"
|
||||||
|
maxBrightness=$(cat /sys/class/backlight/${device}/max_brightness)
|
||||||
|
curBrightness=$(cat /sys/class/backlight/${device}/brightness)
|
||||||
|
elif [[ "${METHOD}" = "xbacklight" ]]; then
|
||||||
|
curBrightness=$(xbacklight -get)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${curBrightness}" -le 0 ]]; then
|
||||||
|
echo "X"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${METHOD}" = "xrandr" ]]; then
|
||||||
|
percent=$(echo "scale=0;${curBrightness} * 100" | bc -l)
|
||||||
|
elif [[ "${METHOD}" = "kernel" ]]; then
|
||||||
|
percent=$(echo "scale=0;${curBrightness} / ${maxBrightness} * 100" | bc -l)
|
||||||
|
elif [[ "${METHOD}" = "xbacklight" ]]; then
|
||||||
|
percent=$(echo "scale=0;${curBrightness}" | bc -l)
|
||||||
|
fi
|
||||||
|
|
||||||
|
percent=${percent%.*}
|
||||||
|
|
||||||
|
if [[ "${percent}" -le 0 ]]; then
|
||||||
|
echo "X"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "${percent}%"
|
||||||
|
echo "${percent}%"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
if [[ "${percent}" -le "${URGENT_VALUE}" ]]; then
|
||||||
|
exit 33
|
||||||
|
fi
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Source: http://askubuntu.com/a/450136
|
||||||
|
|
||||||
|
URGENT_VALUE=90
|
||||||
|
|
||||||
|
PREV_TOTAL=0
|
||||||
|
PREV_IDLE=0
|
||||||
|
|
||||||
|
cpuFile="/tmp/.cpu"
|
||||||
|
|
||||||
|
if [[ -f "${cpuFile}" ]]; then
|
||||||
|
fileCont=$(cat "${cpuFile}")
|
||||||
|
PREV_TOTAL=$(echo "${fileCont}" | head -n 1)
|
||||||
|
PREV_IDLE=$(echo "${fileCont}" | tail -n 1)
|
||||||
|
fi
|
||||||
|
|
||||||
|
CPU=(`cat /proc/stat | grep '^cpu '`) # Get the total CPU statistics.
|
||||||
|
unset CPU[0] # Discard the "cpu" prefix.
|
||||||
|
IDLE=${CPU[4]} # Get the idle CPU time.
|
||||||
|
|
||||||
|
# Calculate the total CPU time.
|
||||||
|
TOTAL=0
|
||||||
|
|
||||||
|
for VALUE in "${CPU[@]:0:4}"; do
|
||||||
|
let "TOTAL=$TOTAL+$VALUE"
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ "${PREV_TOTAL}" != "" ]] && [[ "${PREV_IDLE}" != "" ]]; then
|
||||||
|
# Calculate the CPU usage since we last checked.
|
||||||
|
let "DIFF_IDLE=$IDLE-$PREV_IDLE"
|
||||||
|
let "DIFF_TOTAL=$TOTAL-$PREV_TOTAL"
|
||||||
|
let "DIFF_USAGE=(1000*($DIFF_TOTAL-$DIFF_IDLE)/$DIFF_TOTAL+5)/10"
|
||||||
|
echo "${DIFF_USAGE}%"
|
||||||
|
echo "${DIFF_USAGE}%"
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
echo "?"
|
||||||
|
echo "?"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remember the total and idle CPU times for the next check.
|
||||||
|
echo "${TOTAL}" > "${cpuFile}"
|
||||||
|
echo "${IDLE}" >> "${cpuFile}"
|
||||||
|
|
||||||
|
if [[ "${DIFF_USAGE}" -gt 0 ]] && [[ "${DIFF_USAGE}" -gt "${URGENT_VALUE}" ]]; then
|
||||||
|
exit 33
|
||||||
|
fi
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
SSPID=$(pgrep -l fcitx |awk -F ' ' '{print $1}')
|
||||||
|
|
||||||
|
if [[ "${SSPID}" != "" ]]; then
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Left click
|
||||||
|
if [[ "${BLOCK_BUTTON}" -eq 1 ]]; then
|
||||||
|
sudo ufw enable
|
||||||
|
# Middle click
|
||||||
|
elif [[ "${BLOCK_BUTTON}" -eq 2 ]]; then
|
||||||
|
sudo ufw reload
|
||||||
|
# Right click
|
||||||
|
elif [[ "${BLOCK_BUTTON}" -eq 3 ]]; then
|
||||||
|
sudo ufw disable
|
||||||
|
fi
|
||||||
|
|
||||||
|
status=$(sudo ufw status 2>/dev/null)
|
||||||
|
|
||||||
|
if [[ $? -gt 0 ]]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${status}" != *inactive* ]]; then
|
||||||
|
echo "on"
|
||||||
|
echo "on"
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
echo "off"
|
||||||
|
echo "off"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#if [[ "${BLOCK_BUTTON}" -eq 1 ]]; then
|
||||||
|
# termite -e alsamixer
|
||||||
|
#elif [[ "${BLOCK_BUTTON}" -eq 4 ]]; then
|
||||||
|
# amixer -q sset Master 2%+
|
||||||
|
#elif [[ "${BLOCK_BUTTON}" -eq 5 ]]; then
|
||||||
|
# amixer -q sset Master 2%-
|
||||||
|
#fi
|
||||||
|
VALUE=$(amixer -c 0 contents | \
|
||||||
|
awk -F"," '
|
||||||
|
$1 == "numid=14" {
|
||||||
|
c=1
|
||||||
|
} c && /: values/ {
|
||||||
|
split($0, a, "=")
|
||||||
|
print a[2];
|
||||||
|
exit
|
||||||
|
}')
|
||||||
|
|
||||||
|
if [[ "${VALUE}" == "on" ]]; then
|
||||||
|
echo ""
|
||||||
|
#else
|
||||||
|
# echo ""
|
||||||
|
# echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
#from https://unix.stackexchange.com/questions/76375/how-do-i-detect-wheter-the-audio-cable-is-connected
|
||||||
|
#One way could perhaps be to use amixer.
|
||||||
|
|
||||||
|
#Jack plugged in:
|
||||||
|
|
||||||
|
#$ amixer -c 0 contents
|
||||||
|
#numid=29,iface=CARD,name='Front Headphone Jack'
|
||||||
|
# ; type=BOOLEAN,access=r-------,values=1
|
||||||
|
# : values=on
|
||||||
|
#...
|
||||||
|
#Jack not plugged in:
|
||||||
|
|
||||||
|
#$ amixer -c 0 contents
|
||||||
|
#numid=29,iface=CARD,name='Front Headphone Jack'
|
||||||
|
# ; type=BOOLEAN,access=r-------,values=1
|
||||||
|
# : values=off
|
||||||
|
#...
|
||||||
|
#So for that specific one I could do:
|
||||||
|
|
||||||
|
#amixer -c 0 contents | \
|
||||||
|
#awk -F"," '
|
||||||
|
#$1 == "numid=own" { 此處的own的序號必須自己尋找
|
||||||
|
# c=1
|
||||||
|
#} c && /: values/ {
|
||||||
|
# split($0, a, "=")
|
||||||
|
# print a[2];
|
||||||
|
# exit
|
||||||
|
#}'
|
||||||
|
#giving output of on or off.
|
||||||
|
#
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
TYPE="${BLOCK_INSTANCE:-caps}"
|
||||||
|
|
||||||
|
lockLine=$(xset -q | grep "Num Lock")
|
||||||
|
|
||||||
|
capsLock=$(echo "${lockLine}" | awk -F ' ' '{print $4}')
|
||||||
|
numLock=$(echo "${lockLine}" | awk -F ' ' '{print $8}')
|
||||||
|
|
||||||
|
if [[ "${capsLock}" == "on" && "${numLock}" == "on" ]]; then
|
||||||
|
echo " "
|
||||||
|
echo ""
|
||||||
|
elif [[ "${capsLock}" == "on" ]]; then
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
elif [[ "${numLock}" == "on" ]]; then
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
exit
|
||||||
|
fi
|
||||||
@@ -0,0 +1,154 @@
|
|||||||
|
#!/usr/bin/env perl
|
||||||
|
# Copyright (C) 2014 Tony Crisci <tony@dubstepdish.com>
|
||||||
|
# Copyright (C) 2015 Thiago Perrotta <perrotta dot thiago at poli dot ufrj dot br>
|
||||||
|
|
||||||
|
# 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/>.
|
||||||
|
|
||||||
|
# Requires playerctl binary to be in your path (except cmus)
|
||||||
|
# See: https://github.com/acrisci/playerctl
|
||||||
|
|
||||||
|
# Set instance=NAME in the i3blocks configuration to specify a music player
|
||||||
|
# (playerctl will attempt to connect to org.mpris.MediaPlayer2.[NAME] on your
|
||||||
|
# DBus session).
|
||||||
|
|
||||||
|
use Time::HiRes qw(usleep);
|
||||||
|
use Env qw(BLOCK_INSTANCE);
|
||||||
|
|
||||||
|
use constant DELAY => 50; # Delay in ms to let network-based players (spotify) reflect new data.
|
||||||
|
use constant SPOTIFY_STR => 'spotify';
|
||||||
|
|
||||||
|
my @metadata = ();
|
||||||
|
my $player_arg = "";
|
||||||
|
|
||||||
|
if ($BLOCK_INSTANCE) {
|
||||||
|
$player_arg = "--player='$BLOCK_INSTANCE'";
|
||||||
|
}
|
||||||
|
|
||||||
|
sub buttons {
|
||||||
|
my $method = shift;
|
||||||
|
|
||||||
|
if($method eq 'mpd') {
|
||||||
|
if ($ENV{'BLOCK_BUTTON'} == 1) {
|
||||||
|
system("mpc prev");
|
||||||
|
} elsif ($ENV{'BLOCK_BUTTON'} == 2) {
|
||||||
|
system("mpc toggle");
|
||||||
|
} elsif ($ENV{'BLOCK_BUTTON'} == 3) {
|
||||||
|
system("mpc next");
|
||||||
|
} elsif ($ENV{'BLOCK_BUTTON'} == 4) {
|
||||||
|
system("mpc volume +10");
|
||||||
|
} elsif ($ENV{'BLOCK_BUTTON'} == 5) {
|
||||||
|
system("mpc volume -10");
|
||||||
|
}
|
||||||
|
} elsif ($method eq 'cmus') {
|
||||||
|
if ($ENV{'BLOCK_BUTTON'} == 1) {
|
||||||
|
system("cmus-remote --prev");
|
||||||
|
} elsif ($ENV{'BLOCK_BUTTON'} == 2) {
|
||||||
|
system("cmus-remote --pause");
|
||||||
|
} elsif ($ENV{'BLOCK_BUTTON'} == 3) {
|
||||||
|
system("cmus-remote --next");
|
||||||
|
}
|
||||||
|
} elsif ($method eq 'playerctl') {
|
||||||
|
if ($ENV{'BLOCK_BUTTON'} == 1) {
|
||||||
|
system("playerctl $player_arg previous");
|
||||||
|
usleep(DELAY * 1000) if $BLOCK_INSTANCE eq SPOTIFY_STR;
|
||||||
|
} elsif ($ENV{'BLOCK_BUTTON'} == 2) {
|
||||||
|
system("playerctl $player_arg play-pause");
|
||||||
|
} elsif ($ENV{'BLOCK_BUTTON'} == 3) {
|
||||||
|
system("playerctl $player_arg next");
|
||||||
|
usleep(DELAY * 1000) if $BLOCK_INSTANCE eq SPOTIFY_STR;
|
||||||
|
} elsif ($ENV{'BLOCK_BUTTON'} == 4) {
|
||||||
|
system("playerctl $player_arg volume 0.01+");
|
||||||
|
} elsif ($ENV{'BLOCK_BUTTON'} == 5) {
|
||||||
|
system("playerctl $player_arg volume 0.01-");
|
||||||
|
}
|
||||||
|
} elsif ($method eq 'rhythmbox') {
|
||||||
|
if ($ENV{'BLOCK_BUTTON'} == 1) {
|
||||||
|
system("rhythmbox-client --previous");
|
||||||
|
} elsif ($ENV{'BLOCK_BUTTON'} == 2) {
|
||||||
|
system("rhythmbox-client --play-pause");
|
||||||
|
} elsif ($ENV{'BLOCK_BUTTON'} == 3) {
|
||||||
|
system("rhythmbox-client --next");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sub cmus {
|
||||||
|
my @cmus = split /^/, qx(cmus-remote -Q);
|
||||||
|
if ($? == 0) {
|
||||||
|
foreach my $line (@cmus) {
|
||||||
|
my @data = split /\s/, $line;
|
||||||
|
if (shift @data eq 'tag') {
|
||||||
|
my $key = shift @data;
|
||||||
|
my $value = join ' ', @data;
|
||||||
|
|
||||||
|
@metadata[0] = $value if $key eq 'artist';
|
||||||
|
@metadata[1] = $value if $key eq 'title';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (@metadata) {
|
||||||
|
buttons('cmus');
|
||||||
|
|
||||||
|
# metadata found so we are done
|
||||||
|
print(join ' - ', @metadata);
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sub mpd {
|
||||||
|
my $data = qx(mpc current);
|
||||||
|
if (not $data eq '') {
|
||||||
|
buttons("mpd");
|
||||||
|
print($data);
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sub playerctl {
|
||||||
|
buttons('playerctl');
|
||||||
|
|
||||||
|
my $artist = qx(playerctl $player_arg metadata artist);
|
||||||
|
# exit status will be nonzero when playerctl cannot find your player
|
||||||
|
exit(0) if $? || $artist eq '(null)';
|
||||||
|
|
||||||
|
push(@metadata, $artist) if $artist;
|
||||||
|
|
||||||
|
my $title = qx(playerctl $player_arg metadata title);
|
||||||
|
exit(0) if $? || $title eq '(null)';
|
||||||
|
|
||||||
|
push(@metadata, $title) if $title;
|
||||||
|
|
||||||
|
print(join(" - ", @metadata)) if @metadata;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub rhythmbox {
|
||||||
|
buttons('rhythmbox');
|
||||||
|
|
||||||
|
my $data = qx(rhythmbox-client --print-playing --no-start);
|
||||||
|
print($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($player_arg eq '' or $player_arg =~ /mpd/) {
|
||||||
|
mpd;
|
||||||
|
}
|
||||||
|
elsif ($player_arg =~ /cmus/) {
|
||||||
|
cmus;
|
||||||
|
}
|
||||||
|
elsif ($player_arg =~ /rhythmbox/) {
|
||||||
|
rhythmbox;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
playerctl;
|
||||||
|
}
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# 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("%.f%%\n",pct)
|
||||||
|
|
||||||
|
# short text
|
||||||
|
printf("%.f%%\n", pct)
|
||||||
|
|
||||||
|
# color
|
||||||
|
if (pct > 90) {
|
||||||
|
print("#FF0000\n")
|
||||||
|
} else if (pct > 80) {
|
||||||
|
print("#FFAE00\n")
|
||||||
|
} else if (pct > 70) {
|
||||||
|
print("#FFF600\n")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
' /proc/meminfo
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Left click
|
||||||
|
if [[ "${BLOCK_BUTTON}" -eq 1 ]]; then
|
||||||
|
amixer -q sset Capture 5%+
|
||||||
|
# Middle click
|
||||||
|
elif [[ "${BLOCK_BUTTON}" -eq 2 ]]; then
|
||||||
|
amixer -q sset Capture toggle
|
||||||
|
# Right click
|
||||||
|
elif [[ "${BLOCK_BUTTON}" -eq 3 ]]; then
|
||||||
|
amixer -q sset Capture 5%-
|
||||||
|
fi
|
||||||
|
|
||||||
|
statusLine=$(amixer get Capture | tail -n 1)
|
||||||
|
status=$(echo "${statusLine}" | grep -wo "on")
|
||||||
|
volume=$(echo "${statusLine}" | awk -F ' ' '{print $5}' | tr -d '[]%')
|
||||||
|
|
||||||
|
if [[ "${status}" == "on" ]]; then
|
||||||
|
echo "${volume}%"
|
||||||
|
echo "${volume}%"
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
echo "off"
|
||||||
|
echo "off"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
@@ -0,0 +1,188 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# IMPORTANT:
|
||||||
|
# To make this block work, you have to edit your block-command.
|
||||||
|
# It should point to this file. For best performance, only use it on blocks
|
||||||
|
# you want to monitor.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# command=~/.i3-blocks/blocks/notifier $BLOCK_NAME
|
||||||
|
echo "ss"
|
||||||
|
echo "ss"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
BLOCK_NAME="${1}"
|
||||||
|
|
||||||
|
if [[ "${BLOCK_NAME}" == "" ]] || [[ "${BLOCK_NAME}" == "notifier" ]]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
BLOCK_PATH="${SCRIPT_DIR}/${BLOCK_NAME}"
|
||||||
|
|
||||||
|
if [[ ! -f "${BLOCK_PATH}" ]]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
BLOCK_OUT=$(bash "${BLOCK_PATH}")
|
||||||
|
BLOCK_URGENT=$?
|
||||||
|
|
||||||
|
# Nothing to display.
|
||||||
|
if [[ "${BLOCK_OUT}" == "" ]]; then
|
||||||
|
exit "${BLOCK_URGENT}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
NOTIFY=0
|
||||||
|
|
||||||
|
NOTIFY_CHANGES="weather display"
|
||||||
|
NOTIFY_ALWAYS=""
|
||||||
|
NOTIFY_NEVER="launcher playerctl scroll"
|
||||||
|
|
||||||
|
if [[ "${NOTIFY_NEVER}" != *${BLOCK_NAME}* ]]; then
|
||||||
|
BLOCK_UCFIRST=$(echo "${BLOCK_NAME}" | head -c 1 | tr [a-z] [A-Z]; echo "${BLOCK_NAME}" | tail -c +2)
|
||||||
|
|
||||||
|
CHECK_SUM=$(echo "${BLOCK_NAME}-${BLOCK_INSTANCE}" | md5sum | awk '{print $1}')
|
||||||
|
CACHE_FILE="/tmp/.notify-cache-${CHECK_SUM}"
|
||||||
|
|
||||||
|
BLOCK_DESC=$(echo "${BLOCK_OUT}" | head -n 1)
|
||||||
|
BLOCK_VALUE=$(echo "${BLOCK_OUT}" | tail -n 1)
|
||||||
|
BLOCK_ICON=""
|
||||||
|
|
||||||
|
if [[ "${NOTIFY_ALWAYS}" == *${BLOCK_NAME}* ]]; then
|
||||||
|
NOTIFY=1
|
||||||
|
elif [[ "${BLOCK_URGENT}" -gt 0 ]]; then
|
||||||
|
NOTIFY=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
VALUE_CHANGED=0
|
||||||
|
HAS_CACHEFILE=0
|
||||||
|
if [[ -f "${CACHE_FILE}" ]]; then
|
||||||
|
HAS_CACHEFILE=1
|
||||||
|
CACHED_VALUE=$(cat "${CACHE_FILE}")
|
||||||
|
#MODIFIED_TIME=$(stat -c '%Y' "${CACHE_FILE}")
|
||||||
|
#CURRENT_TIME=$(date +%s)
|
||||||
|
#ELAPSED_TIME=$((MODIFIED_TIME - CURRENT_TIME))
|
||||||
|
if [[ "${BLOCK_VALUE}" != "${CACHED_VALUE}" ]]; then
|
||||||
|
VALUE_CHANGED=1
|
||||||
|
if [[ "${NOTIFY_CHANGES}" == *${BLOCK_NAME}* ]]; then
|
||||||
|
NOTIFY=1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
elif [[ "${NOTIFY_CHANGES}" == *${BLOCK_NAME}* ]]; then
|
||||||
|
NOTIFY=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${NOTIFY}" -eq 1 ]]; then
|
||||||
|
if [[ "${BLOCK_NAME}" == "audio" ]]; then
|
||||||
|
BLOCK_MESSAGE="Audio level changed to ${BLOCK_VALUE}."
|
||||||
|
elif [[ "${BLOCK_NAME}" == "bandwidth" ]]; then
|
||||||
|
BLOCK_MESSAGE="Traffic went to ${BLOCK_VALUE}."
|
||||||
|
elif [[ "${BLOCK_NAME}" == "battery" ]]; then
|
||||||
|
BLOCK_MESSAGE="Energy changed to ${BLOCK_VALUE}."
|
||||||
|
elif [[ "${BLOCK_NAME}" == "countdown" ]]; then
|
||||||
|
BLOCK_MESSAGE="Remaining time is now ${BLOCK_VALUE}."
|
||||||
|
elif [[ "${BLOCK_NAME}" == "cpu" ]]; then
|
||||||
|
BLOCK_MESSAGE="CPU utilization is now ${BLOCK_VALUE}."
|
||||||
|
elif [[ "${BLOCK_NAME}" == "feed" ]]; then
|
||||||
|
BLOCK_MESSAGE="Newest article is ${BLOCK_VALUE}."
|
||||||
|
elif [[ "${BLOCK_NAME}" == "mail" ]]; then
|
||||||
|
BLOCK_MESSAGE="Unread emails went to ${BLOCK_VALUE}."
|
||||||
|
elif [[ "${BLOCK_NAME}" == "memory" ]]; then
|
||||||
|
BLOCK_MESSAGE="Memory utilization is now ${BLOCK_VALUE}."
|
||||||
|
elif [[ "${BLOCK_NAME}" == "packages" ]]; then
|
||||||
|
BLOCK_MESSAGE="${BLOCK_VALUE} packages are now ready to update."
|
||||||
|
elif [[ "${BLOCK_NAME}" == "space" ]]; then
|
||||||
|
BLOCK_MESSAGE="Space utilization is now ${BLOCK_INSTANCE}."
|
||||||
|
elif [[ "${BLOCK_NAME}" == "ssid" ]]; then
|
||||||
|
BLOCK_MESSAGE="SSID changed to ${BLOCK_VALUE}."
|
||||||
|
elif [[ "${BLOCK_NAME}" == "temperature" ]]; then
|
||||||
|
BLOCK_MESSAGE="Sensor temperature changed to ${BLOCK_VALUE}."
|
||||||
|
elif [[ "${BLOCK_NAME}" == "trash" ]]; then
|
||||||
|
BLOCK_MESSAGE="${BLOCK_VALUE} items are now in the trash."
|
||||||
|
else
|
||||||
|
BLOCK_MESSAGE="${BLOCK_UCFIRST} is now ${BLOCK_VALUE}."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${BLOCK_NAME}" == "audio" ]]; then
|
||||||
|
BLOCK_ICON="audio-volume-high-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "bandwidth" ]]; then
|
||||||
|
BLOCK_ICON="network-wireless-acquiring-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "battery" ]]; then
|
||||||
|
BLOCK_ICON="battery-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "bluetooth" ]]; then
|
||||||
|
BLOCK_ICON="bluetooth-active-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "brightness" ]]; then
|
||||||
|
BLOCK_ICON="display-brightness-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "cmus" ]]; then
|
||||||
|
BLOCK_ICON="emblem-music-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "countdown" ]]; then
|
||||||
|
BLOCK_ICON="document-open-recent-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "cpu" ]]; then
|
||||||
|
BLOCK_ICON="indicator-cpufreq"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "datetime" ]]; then
|
||||||
|
BLOCK_ICON="system-run-symbolic" # TODO
|
||||||
|
elif [[ "${BLOCK_NAME}" == "device" ]]; then
|
||||||
|
BLOCK_ICON="system-run-symbolic" # TODO
|
||||||
|
elif [[ "${BLOCK_NAME}" == "display" ]]; then
|
||||||
|
BLOCK_ICON="video-display-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "feed" ]]; then
|
||||||
|
BLOCK_ICON="folder-documents-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "firewall" ]]; then
|
||||||
|
BLOCK_ICON="changes-prevent-symbolic.svg" # TODO
|
||||||
|
elif [[ "${BLOCK_NAME}" == "ip-address" ]]; then
|
||||||
|
BLOCK_ICON="avatar-default-symbolic" # TODO
|
||||||
|
elif [[ "${BLOCK_NAME}" == "keystate" ]]; then
|
||||||
|
BLOCK_ICON="format-text-underline-symbolic" # TODO
|
||||||
|
elif [[ "${BLOCK_NAME}" == "launcher" ]]; then
|
||||||
|
BLOCK_ICON="system-run-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "load" ]]; then
|
||||||
|
BLOCK_ICON="indicator-cpufreq" # TODO
|
||||||
|
elif [[ "${BLOCK_NAME}" == "locale" ]]; then
|
||||||
|
BLOCK_ICON="format-text-larger-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "mail" ]]; then
|
||||||
|
BLOCK_ICON="mail-send-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "memory" ]]; then
|
||||||
|
BLOCK_ICON="drive-harddisk-solidstate-symbolic" # TODO
|
||||||
|
elif [[ "${BLOCK_NAME}" == "microphone" ]]; then
|
||||||
|
BLOCK_ICON="audio-input-microphone-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "network" ]]; then
|
||||||
|
BLOCK_ICON="network-wireless-connected-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "packages" ]]; then
|
||||||
|
BLOCK_ICON="view-refresh-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "playerctl" ]]; then
|
||||||
|
BLOCK_ICON="emblem-music-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "process" ]]; then
|
||||||
|
BLOCK_ICON="process-stop-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "space" ]]; then
|
||||||
|
BLOCK_ICON="drive-harddisk-solidstate-symbolic" # TODO
|
||||||
|
elif [[ "${BLOCK_NAME}" == "ssid" ]]; then
|
||||||
|
BLOCK_ICON="system-users-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "temperature" ]]; then
|
||||||
|
BLOCK_ICON="object-inverse" # TODO
|
||||||
|
elif [[ "${BLOCK_NAME}" == "trash" ]]; then
|
||||||
|
BLOCK_ICON="user-trash-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "usb" ]]; then
|
||||||
|
BLOCK_ICON="drive-removable-media-usb-symbolic-1"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "vpn" ]]; then
|
||||||
|
BLOCK_ICON="dialog-password-symbolic" # TODO
|
||||||
|
elif [[ "${BLOCK_NAME}" == "weather" ]]; then
|
||||||
|
BLOCK_ICON="weather-few-clouds-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "webcam" ]]; then
|
||||||
|
BLOCK_ICON="camera-web-symbolic"
|
||||||
|
elif [[ "${BLOCK_NAME}" == "window" ]]; then
|
||||||
|
BLOCK_ICON="view-dual-symbolic" # TODO
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${BLOCK_URGENT}" -gt 0 ]]; then
|
||||||
|
notify-send -u critical -t 5000 -i "${BLOCK_ICON}" -a "i3block-${BLOCK_NAME}" "${BLOCK_UCFIRST}" "${BLOCK_MESSAGE}"
|
||||||
|
else
|
||||||
|
notify-send -u normal -t 3500 -i "${BLOCK_ICON}" -a "i3block-${BLOCK_NAME}" "${BLOCK_UCFIRST}" "${BLOCK_MESSAGE}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${VALUE_CHANGED}" -eq 1 ]] || [[ "${HAS_CACHEFILE}" -eq 0 ]]; then
|
||||||
|
echo "${BLOCK_VALUE}" > "${CACHE_FILE}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "${BLOCK_OUT}"
|
||||||
|
exit "${BLOCK_URGENT}"
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Based on https://aur.archlinux.org/packages/playerctl/
|
||||||
|
|
||||||
|
INSTANCE="${BLOCK_INSTANCE}"
|
||||||
|
if [[ "${INSTANCE}" != "" ]]; then
|
||||||
|
ARGUMENTS="--player ${INSTANCE}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
ICON_PLAY="➤"
|
||||||
|
ICON_PAUSE="Ⅱ"
|
||||||
|
ICON_STOP="≠"
|
||||||
|
CUR_ICON=""
|
||||||
|
|
||||||
|
if [[ "${BLOCK_BUTTON}" -eq 1 ]]; then
|
||||||
|
$(playerctl ${ARGUMENTS} previous)
|
||||||
|
elif [[ "${BLOCK_BUTTON}" -eq 2 ]]; then
|
||||||
|
$(playerctl ${ARGUMENTS} play-pause)
|
||||||
|
elif [[ "${BLOCK_BUTTON}" -eq 3 ]]; then
|
||||||
|
$(playerctl ${ARGUMENTS} next)
|
||||||
|
elif [[ "${BLOCK_BUTTON}" -eq 4 ]]; then
|
||||||
|
$(playerctl ${ARGUMENTS} volume 0.2+)
|
||||||
|
elif [[ "${BLOCK_BUTTON}" -eq 5 ]]; then
|
||||||
|
$(playerctl ${ARGUMENTS} volume 0.2-)
|
||||||
|
fi
|
||||||
|
|
||||||
|
PLAYER_STATUS=$(playerctl ${ARGUMENTS} status)
|
||||||
|
INFO_TITLE=$(playerctl ${ARGUMENTS} metadata title)
|
||||||
|
INFO_ALBUM=$(playerctl ${ARGUMENTS} metadata album)
|
||||||
|
INFO_ARTIST=$(playerctl ${ARGUMENTS} metadata artist)
|
||||||
|
|
||||||
|
if [[ "${PLAYER_STATUS}" = "Paused" ]]; then
|
||||||
|
CUR_ICON="${ICON_PAUSE}"
|
||||||
|
elif [[ "${PLAYER_STATUS}" = "Playing" ]]; then
|
||||||
|
CUR_ICON="${ICON_PLAY}"
|
||||||
|
else
|
||||||
|
CUR_ICON="${ICON_STOP}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${INFO_TITLE}" != "" ]] && [[ "${INFO_ARTIST}" != "" ]]; then
|
||||||
|
echo "${INFO_ARTIST} - ${INFO_TITLE} ${CUR_ICON}"
|
||||||
|
echo "${INFO_ARTIST} - ${INFO_TITLE} ${CUR_ICON}"
|
||||||
|
fi
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [[ "${BLOCK_BUTTON}" -eq 1 ]]; then
|
||||||
|
termite -e nmtui
|
||||||
|
fi
|
||||||
|
|
||||||
|
SSID_NAME=$(iwgetid -r)
|
||||||
|
|
||||||
|
# You can put any urgent name so the block will give warning
|
||||||
|
# if a network with this name is used, like public wifi or alike.
|
||||||
|
# You can separate multiple values with \|
|
||||||
|
URGENT_VALUE=""
|
||||||
|
|
||||||
|
if [[ "${SSID_NAME}" != "" ]]; then
|
||||||
|
echo "${SSID_NAME}"
|
||||||
|
echo "${SSID_NAME}"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
if [[ "${URGENT_VALUE}" != "" ]] && [[ $(echo "${SSID_NAME}" | grep -we "${URGENT_VALUE}") != "" ]]; then
|
||||||
|
exit 33
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "x"
|
||||||
|
echo "x"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
SSPID=$(pgrep -l sslocal |awk -F ' ' '{print $1}')
|
||||||
|
|
||||||
|
if [[ "${SSPID}" != "" ]]; then
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
#!/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/>.
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use utf8;
|
||||||
|
use Getopt::Long;
|
||||||
|
|
||||||
|
binmode(STDOUT, ":utf8");
|
||||||
|
|
||||||
|
# default values
|
||||||
|
my $t_warn = 70;
|
||||||
|
my $t_crit = 90;
|
||||||
|
my $chip = "";
|
||||||
|
my $temperature = -9999;
|
||||||
|
|
||||||
|
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';
|
||||||
|
|
||||||
|
# Print short_text, full_text
|
||||||
|
print "$temperature°C\n" x2;
|
||||||
|
|
||||||
|
# Print color, if needed
|
||||||
|
if ($temperature >= $t_crit) {
|
||||||
|
print "#FF0000\n";
|
||||||
|
exit 33;
|
||||||
|
} elsif ($temperature >= $t_warn) {
|
||||||
|
print "#FFFC00\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
exit 0;
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
TIME=$(date '+%a %b %d %H:%M')
|
||||||
|
|
||||||
|
echo "${TIME}"
|
||||||
|
echo "${TIME}"
|
||||||
|
echo ""
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
DEVICE_NAME="${BLOCK_INSTANCE:-Keyboard}"
|
||||||
|
|
||||||
|
DEVICE_INFO=$(lsusb | grep -i kingston)
|
||||||
|
|
||||||
|
if [[ "${DEVICE_INFO}" != "" ]]; then
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Left click
|
||||||
|
if [[ "${BLOCK_BUTTON}" -eq 1 ]]; then
|
||||||
|
termite -e alsamixer
|
||||||
|
# amixer -q sset Master 10%+
|
||||||
|
# Middle click
|
||||||
|
elif [[ "${BLOCK_BUTTON}" -eq 2 ]]; then
|
||||||
|
amixer -q sset Master toggle
|
||||||
|
# Right click
|
||||||
|
#elif [[ "${BLOCK_BUTTON}" -eq 2 ]]; then
|
||||||
|
# amixer -q sset Master 10%-
|
||||||
|
elif [[ "${BLOCK_BUTTON}" -eq 4 ]]; then
|
||||||
|
amixer -q sset Master 2%+
|
||||||
|
elif [[ "${BLOCK_BUTTON}" -eq 5 ]]; then
|
||||||
|
amixer -q sset Master 2%-
|
||||||
|
fi
|
||||||
|
|
||||||
|
statusLine=$(amixer get Master | tail -n 1)
|
||||||
|
status=$(echo "${statusLine}" | grep -wo "on")
|
||||||
|
|
||||||
|
volume=$(echo "${statusLine}" | awk -F ' ' '{print $4}' | tr -d '[]%')
|
||||||
|
|
||||||
|
VALUE=$(amixer -c 0 contents | \
|
||||||
|
awk -F"," '
|
||||||
|
$1 == "numid=14" {
|
||||||
|
c=1s
|
||||||
|
} c && /: values/ {
|
||||||
|
split($0, a, "=")
|
||||||
|
print a[2];
|
||||||
|
exit
|
||||||
|
}')
|
||||||
|
|
||||||
|
|
||||||
|
if [[ "${status}" = "on" && "${VALUE}" = "on" ]]; then
|
||||||
|
# if [[ "${VALUE}" = "on" ]]; then
|
||||||
|
echo " ${volume}%"
|
||||||
|
echo " ${volume}%"
|
||||||
|
echo ""
|
||||||
|
# elif
|
||||||
|
# echo " ${volume}%"
|
||||||
|
# echo " ${volume}%"
|
||||||
|
# echo ""
|
||||||
|
# fi
|
||||||
|
elif [[ "${status}" = "on" && "${VALUE}" = "off" ]]; then
|
||||||
|
echo " ${volume}%"
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
echo " 00%"
|
||||||
|
echo " 00%"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Based on http://openweathermap.org/current
|
||||||
|
|
||||||
|
API_KEY="8ca3ef456139c165488fb6a6f00739ed"
|
||||||
|
|
||||||
|
# Check on http://openweathermap.org/find
|
||||||
|
CITY_ID="${BLOCK_INSTANCE}"
|
||||||
|
|
||||||
|
URGENT_LOWER=0
|
||||||
|
URGENT_HIGHER=30
|
||||||
|
|
||||||
|
ICON_SUNNY=""
|
||||||
|
ICON_CLOUDY=""
|
||||||
|
ICON_RAINY=""
|
||||||
|
ICON_STORM=""
|
||||||
|
ICON_SNOW=""
|
||||||
|
ICON_FOG=""
|
||||||
|
|
||||||
|
SYMBOL_CELSIUS="℃"
|
||||||
|
# WEATHER_URL="http://api.openweathermap.org/data/2.5/weather?id="1808773"&appid="44db6a862fba0b067b1930da0d769e98"$&units=metric"
|
||||||
|
WEATHER_URL="https://api.openweathermap.org/data/2.5/weather?id=${CITY_ID}&appid=${API_KEY}&units=metric"
|
||||||
|
|
||||||
|
WEATHER_INFO=$(wget -qO- "${WEATHER_URL}")
|
||||||
|
WEATHER_MAIN=$(echo "${WEATHER_INFO}" | grep -o -e '\"main\":\"[a-Z]*\"' | awk -F ':' '{print $2}' | tr -d '"')
|
||||||
|
WEATHER_TEMP=$(echo "${WEATHER_INFO}" | grep -o -e '\"temp\":\-\?[0-9]*' | awk -F ':' '{print $2}' | tr -d '"')
|
||||||
|
|
||||||
|
if [[ "${WEATHER_MAIN}" = *Snow* ]]; then
|
||||||
|
echo "${ICON_SNOW} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
|
||||||
|
echo "${ICON_SNOW} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
|
||||||
|
echo ""
|
||||||
|
elif [[ "${WEATHER_MAIN}" = *Rain* ]] || [[ "${WEATHER_MAIN}" = *Drizzle* ]]; then
|
||||||
|
echo "${ICON_RAINY} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
|
||||||
|
echo "${ICON_RAINY} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
|
||||||
|
echo ""
|
||||||
|
elif [[ "${WEATHER_MAIN}" = *Cloud* ]]; then
|
||||||
|
echo "${ICON_CLOUDY} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
|
||||||
|
echo "${ICON_CLOUDY} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
|
||||||
|
echo ""
|
||||||
|
elif [[ "${WEATHER_MAIN}" = *Clear* ]]; then
|
||||||
|
echo "${ICON_SUNNY} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
|
||||||
|
echo "${ICON_SUNNY} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
|
||||||
|
echo ""
|
||||||
|
elif [[ "${WEATHER_MAIN}" = *Fog* ]] || [[ "${WEATHER_MAIN}" = *Mist* ]]; then
|
||||||
|
echo "${ICON_FOG} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
|
||||||
|
echo "${ICON_FOG} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
echo "${WEATHER_MAIN} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
|
||||||
|
echo "${WEATHER_MAIN} ${WEATHER_TEMP}${SYMBOL_CELSIUS}"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${WEATHER_TEMP}" -lt "${URGENT_LOWER}" ]] || [[ "${WEATHER_TEMP}" -gt "${URGENT_HIGHER}" ]]; then
|
||||||
|
exit 33
|
||||||
|
fi
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [[ -c /dev/video0 ]]; then
|
||||||
|
if [[ "$(fuser /dev/video0)" != "" ]]; then
|
||||||
|
echo "rec"
|
||||||
|
echo "rec"
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
echo "on"
|
||||||
|
echo "on"
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
echo "off"
|
||||||
|
echo "off"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
fi
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
ACTIVE_WINDOW=$(xprop -id $(xprop -root _NET_ACTIVE_WINDOW | cut -d ' ' -f 5) WM_NAME | cut -d '"' -f 2)
|
||||||
|
|
||||||
|
if [[ "${ACTIVE_WINDOW}" != "" ]]; then
|
||||||
|
echo "${ACTIVE_WINDOW}"
|
||||||
|
echo "${ACTIVE_WINDOW}"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# Rice
|
||||||
|
# Rice
|
||||||
@@ -0,0 +1,478 @@
|
|||||||
|
#####################################################################################################################
|
||||||
|
################# Define the $mod variable/key #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
# Key to rule them all : Super(Windows) or Alt key?
|
||||||
|
|
||||||
|
# Mod4 = Windows or Super key on keyboard
|
||||||
|
# Mod1 = Alt key on keyboard
|
||||||
|
|
||||||
|
#Set Alt key
|
||||||
|
#set $mod Mod1
|
||||||
|
|
||||||
|
#set Super key
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# Define the movements keys - variables #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
#This is setup for qwerty
|
||||||
|
set $up l
|
||||||
|
set $down k
|
||||||
|
set $left j
|
||||||
|
set $right semicolon
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# Single and Dual screen #################
|
||||||
|
#####################################################################################################################
|
||||||
|
exec --no-startup-id xrandr --output eDP-1-1 --mode 1920x1080 --rate 60.00
|
||||||
|
exec xrandr --setprovideroutputsource modesetting NVIDIA-0
|
||||||
|
exec xrandr --auto
|
||||||
|
exec --no-startup-id ~/.config/i3/scripts/conky_start.sh
|
||||||
|
exec --no-startup-id ~/.config/i3/scripts/conky_two.sh
|
||||||
|
#exec --no-startup-id ~/.config/i3/scripts/glavastart.sh
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace 1
|
||||||
|
bindsym $mod+2 workspace 2
|
||||||
|
bindsym $mod+3 workspace 3
|
||||||
|
bindsym $mod+4 workspace 4
|
||||||
|
bindsym $mod+5 workspace 5
|
||||||
|
bindsym $mod+6 workspace 6
|
||||||
|
bindsym $mod+7 workspace 7
|
||||||
|
bindsym $mod+8 workspace 8
|
||||||
|
bindsym $mod+9 workspace 9
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace 1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace 2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace 3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace 4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace 5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace 6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace 7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace 8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace 9
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# 3 menu's in arcolinux #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
# start dmenu
|
||||||
|
bindsym $mod+shift+d exec --no-startup-id dmenu_run -i -nb '#2E3440' -nf '#81a1c1' -sb '#81a1c1' -sf '#2E3440' -fn 'SourceCodePro:bold:pixelsize=16'
|
||||||
|
|
||||||
|
# start rofi full
|
||||||
|
bindsym $mod+d exec --no-startup-id rofi -show drun -font "Source Code Pro 14"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# how to exit, logoff, suspend, ... #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
#Backup exit
|
||||||
|
#Press ctrl+alt+x - check toolbar for next choices
|
||||||
|
bindsym $mod+0 mode "$mode_system"
|
||||||
|
|
||||||
|
set $mode_system System (k) lock, (l) logout, (u) suspend, (h) hibernate, (r) reboot, (s) shutdown
|
||||||
|
mode "$mode_system" {
|
||||||
|
|
||||||
|
bindsym k exec --no-startup-id ~/.config/i3/scripts/i3exit.sh lock, mode "default"
|
||||||
|
# bindsym k exec i3lock -i ~/Pictures/walls/waterfall2.jpg
|
||||||
|
bindsym l exec --no-startup-id ~/.config/i3/scripts/i3exit.sh logout, mode "default"
|
||||||
|
bindsym u exec --no-startup-id ~/.config/i3/scripts/i3exit.sh suspend, mode "default"
|
||||||
|
bindsym h exec --no-startup-id ~/.config/i3/scripts/i3exit.sh hibernate, mode "default"
|
||||||
|
bindsym r exec --no-startup-id ~/.config/i3/scripts/i3exit.sh reboot, mode "default"
|
||||||
|
bindsym s exec --no-startup-id ~/.config/i3/scripts/i3exit.sh shutdown, mode "default"
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# ArcoLinux Logout
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# reload changed configuration #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# Stopping an application #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
#bindsym $mod+Shift+q kill
|
||||||
|
bindsym $mod+q kill
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# Moving around in i3 #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+$left focus left
|
||||||
|
bindsym $mod+$down focus down
|
||||||
|
bindsym $mod+$up focus up
|
||||||
|
bindsym $mod+$right 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+$left move left
|
||||||
|
bindsym $mod+Shift+$down move down
|
||||||
|
bindsym $mod+Shift+$up move up
|
||||||
|
bindsym $mod+Shift+$right 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
|
||||||
|
|
||||||
|
#shortcuts
|
||||||
|
bindsym $mod+F1 exec --no-startup-id firefox
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# moving around workspaces #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
# next/previous workspace
|
||||||
|
|
||||||
|
bindsym Mod1+Tab workspace next
|
||||||
|
bindsym Mod1+Shift+Tab workspace prev
|
||||||
|
bindsym $mod+Tab workspace back_and_forth
|
||||||
|
|
||||||
|
#navigate workspaces next / previous
|
||||||
|
bindsym Mod1+Ctrl+Right workspace next
|
||||||
|
bindsym Mod1+Ctrl+Left workspace prev
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# Scratchpad #################
|
||||||
|
#####################################################################################################################
|
||||||
|
# Make the currently focused window a scratchpad
|
||||||
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
|
|
||||||
|
# Show the first scratchpad window
|
||||||
|
bindsym $mod+minus scratchpad show
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# Tiling parameters #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
# orientation for new workspaces
|
||||||
|
default_orientation horizontal
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# Super + F in arcolinux is execute thunar
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
# qwerty/azerty issue for letter z
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
#autotiling
|
||||||
|
exec_always --no-startup-id autotiling
|
||||||
|
|
||||||
|
####################################################################################################################
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
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 $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
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# choose the font #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
# choose your font
|
||||||
|
#font pango:Noto Mono Regular 13
|
||||||
|
font pango:Source Code Pro 13
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# autostart - execute applications at boot time #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
#Authentication dialog
|
||||||
|
# exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# applications keyboard shortcuts #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
bindsym $mod+Return exec --no-startup-id xfce4-terminal;focus
|
||||||
|
|
||||||
|
bindsym control+mod1+u exec --no-startup-id pavucontrol
|
||||||
|
|
||||||
|
bindsym $mod+Shift+Return exec --no-startup-id thunar;focus
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# screenshots #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
bindsym Print exec gnome-screenshot
|
||||||
|
bindsym $mod+Print exec gnome-screenshot -i
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# audio settings #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
||||||
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
||||||
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||||
|
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# light #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
# Sreen brightness controls
|
||||||
|
bindsym XF86MonBrightnessUp exec light -A 1 # increase screen brightness
|
||||||
|
bindsym XF86MonBrightnessDown exec light -U 1 # decrease screen brightness
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# bar toggle #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
# bar toggle, hide or show
|
||||||
|
bindsym $mod+b bar mode toggle
|
||||||
|
|
||||||
|
bindsym $mod+i bar mode invisible
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# Popups control #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
#Popups during fullscreen mode
|
||||||
|
popup_during_fullscreen smart
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# i3 gaps next #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
for_window [class="^.*"] border pixel 2
|
||||||
|
gaps inner 24
|
||||||
|
gaps outer 10
|
||||||
|
#smart_gaps on
|
||||||
|
#smart_borders on
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# i3 gaps change #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
set $mode_gaps Gaps: (o) outer, (i) inner
|
||||||
|
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
|
||||||
|
set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
|
||||||
|
bindsym $mod+Shift+g mode "$mode_gaps"
|
||||||
|
|
||||||
|
mode "$mode_gaps" {
|
||||||
|
bindsym o mode "$mode_gaps_outer"
|
||||||
|
bindsym i mode "$mode_gaps_inner"
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
mode "$mode_gaps_inner" {
|
||||||
|
bindsym plus gaps inner current plus 5
|
||||||
|
bindsym minus gaps inner current minus 5
|
||||||
|
bindsym 0 gaps inner current set 0
|
||||||
|
|
||||||
|
bindsym Shift+plus gaps inner all plus 5
|
||||||
|
bindsym Shift+minus gaps inner all minus 5
|
||||||
|
bindsym Shift+0 gaps inner all set 0
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
mode "$mode_gaps_outer" {
|
||||||
|
bindsym plus gaps outer current plus 5
|
||||||
|
bindsym minus gaps outer current minus 5
|
||||||
|
bindsym 0 gaps outer current set 0
|
||||||
|
|
||||||
|
bindsym Shift+plus gaps outer all plus 5
|
||||||
|
bindsym Shift+minus gaps outer all minus 5
|
||||||
|
bindsym Shift+0 gaps outer all set 0
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
################# picom of i3wm #################
|
||||||
|
#####################################################################################################################
|
||||||
|
|
||||||
|
#if you want transparency on non-focused windows, ...
|
||||||
|
exec_always --no-startup-id picom --config ~/.config/picom/picom.sample.conf
|
||||||
|
exec_always --no-startup-id ~/.config/i3/scripts/mouse.sh
|
||||||
|
exec_always feh --bg-fill /home/quinta/Downloads/735.png
|
||||||
|
exec_always --no-startup-id i3-auto-layout
|
||||||
|
exec_always --no-startup-id $HOME/.config/polybar/launch.sh dark
|
||||||
|
exec_always --no-startup-id i3-auto-layout
|
||||||
|
exec_always --no-startup-id dunst -config $HOME/.config/dunst/base16-nord.dunstrc
|
||||||
|
#note: my custom dunst configuration can be found here https://pastebin.com/P4i1N8ub curl it to $HOME/.config/dunst/base16-nord.dunstrc
|
||||||
|
exec_always --no-startup-id /usr/lib/kdeconnectd
|
||||||
|
|
||||||
|
bindsym Mod4+Mod1+Shift+minus exec \
|
||||||
|
i3-msg "gaps outer current minus 5" && \
|
||||||
|
i3-msg "gaps inner current minus 5"
|
||||||
|
|
||||||
|
bindsym Mod4+Mod1+Shift+plus exec \
|
||||||
|
i3-msg "gaps outer current plus 5" && \
|
||||||
|
i3-msg "gaps inner current plus 5"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
#####################################################################################################################
|
||||||
|
#####################################################################################################################
|
||||||
|
################# bar appearance #################
|
||||||
|
#####################################################################################################################
|
||||||
|
#####################################################################################################################
|
||||||
|
#####################################################################################################################
|
||||||
|
set $base00 #101218
|
||||||
|
set $base01 #1f222d
|
||||||
|
set $base02 #252936
|
||||||
|
set $base03 #5e81ac
|
||||||
|
set $base04 #C0C5CE
|
||||||
|
set $base05 #d1d4e0
|
||||||
|
set $base06 #C9CCDB
|
||||||
|
set $base07 #ffffff
|
||||||
|
set $base08 #ee829f
|
||||||
|
set $base09 #f99170
|
||||||
|
set $base0A #ffefcc
|
||||||
|
set $base0B #a5ffe1
|
||||||
|
set $base0C #97e0ff
|
||||||
|
set $base0D #97bbf7
|
||||||
|
set $base0E #c0b7f9
|
||||||
|
set $base0F #fcc09e
|
||||||
|
#its neon blue #4666FF
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
##START THEMING WM
|
||||||
|
|
||||||
|
# Window color settings
|
||||||
|
# class border backgr. text indicator
|
||||||
|
client.focused #fbf1c7 #fbf1c7 #ffffff #fbf1c7
|
||||||
|
client.unfocused #32302f #282828 #888888 #32302f
|
||||||
|
client.focused_inactive #282828 #282828 #888888 #282828
|
||||||
|
client.placeholder #282828 # #888888 #82828
|
||||||
|
client.urgent #900000 #900000 #ffffff #900000
|
||||||
|
|
||||||
|
client.background #242424
|
||||||
|
|
||||||
|
##STOP THEMING WM
|
||||||
|
|
||||||
|
#####################################################################################################################
|
||||||
|
#####################################################################################################################
|
||||||
|
#####################################################################################################################
|
||||||
|
#####################################################################################################################
|
||||||
|
#####################################################################################################################
|
||||||
|
######################################## THE END ###########################################
|
||||||
|
#####################################################################################################################
|
||||||
|
#####################################################################################################################
|
||||||
|
#####################################################################################################################
|
||||||
|
#####################################################################################################################
|
||||||
|
#####################################################################################################################
|
||||||
@@ -0,0 +1,190 @@
|
|||||||
|
# This file has been auto-generated by i3-config-wizard(1).
|
||||||
|
# It will not be overwritten, so edit it as you like.
|
||||||
|
#
|
||||||
|
# Should you change your keyboard layout some time, delete
|
||||||
|
# this file and re-run i3-config-wizard(1).
|
||||||
|
#
|
||||||
|
|
||||||
|
# i3 config file (v4)
|
||||||
|
#
|
||||||
|
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
font pango:monospace 8
|
||||||
|
|
||||||
|
# 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:DejaVu Sans Mono 8
|
||||||
|
|
||||||
|
# Start XDG autostart .desktop files using dex. See also
|
||||||
|
# https://wiki.archlinux.org/index.php/XDG_Autostart
|
||||||
|
exec --no-startup-id dex --autostart --environment i3
|
||||||
|
|
||||||
|
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
||||||
|
# they are included here as an example. Modify as you see fit.
|
||||||
|
|
||||||
|
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||||
|
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||||
|
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
||||||
|
|
||||||
|
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
||||||
|
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
||||||
|
exec --no-startup-id nm-applet
|
||||||
|
|
||||||
|
# Use pactl to adjust volume in PulseAudio.
|
||||||
|
set $refresh_i3status killall -SIGUSR1 i3status
|
||||||
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
||||||
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
||||||
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||||
|
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec termite
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+q kill
|
||||||
|
|
||||||
|
# start dmenu (a program launcher)
|
||||||
|
bindsym $mod+d exec --no-startup-id dmenu_run
|
||||||
|
# A more modern dmenu replacement is rofi:
|
||||||
|
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
|
||||||
|
# There also is i3-dmenu-desktop which only displays applications shipping a
|
||||||
|
# .desktop file. It is a wrapper around dmenu, so you need that installed.
|
||||||
|
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+j focus left
|
||||||
|
bindsym $mod+k focus down
|
||||||
|
bindsym $mod+l focus up
|
||||||
|
bindsym $mod+semicolon 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+j move left
|
||||||
|
bindsym $mod+Shift+k move down
|
||||||
|
bindsym $mod+Shift+l move up
|
||||||
|
bindsym $mod+Shift+semicolon 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+w 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
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
#bindsym $mod+d focus child
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
set $ws7 "7"
|
||||||
|
set $ws8 "8"
|
||||||
|
set $ws9 "9"
|
||||||
|
set $ws10 "10"
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace number $ws1
|
||||||
|
bindsym $mod+2 workspace number $ws2
|
||||||
|
bindsym $mod+3 workspace number $ws3
|
||||||
|
bindsym $mod+4 workspace number $ws4
|
||||||
|
bindsym $mod+5 workspace number $ws5
|
||||||
|
bindsym $mod+6 workspace number $ws6
|
||||||
|
bindsym $mod+7 workspace number $ws7
|
||||||
|
bindsym $mod+8 workspace number $ws8
|
||||||
|
bindsym $mod+9 workspace number $ws9
|
||||||
|
bindsym $mod+0 workspace number $ws10
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
# exit i3 (logs you out of your X session)
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
||||||
|
|
||||||
|
# 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 j resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym k resize grow height 10 px or 10 ppt
|
||||||
|
bindsym l resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym semicolon 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 or $mod+r
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindsym $mod+r mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||||
|
# finds out, if available)
|
||||||
|
#bar {
|
||||||
|
# status_command i3status
|
||||||
|
#}
|
||||||
|
|
||||||
|
#polybar
|
||||||
|
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
|
||||||
|
exec_always feh --bg-fill /home/theglitchh/Pictures/arch.png
|
||||||
@@ -0,0 +1,120 @@
|
|||||||
|
# i3blocks config file
|
||||||
|
#
|
||||||
|
# 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=center
|
||||||
|
# color
|
||||||
|
command=$HOME/.config/i3/Blocks/$BLOCK_NAME
|
||||||
|
# full_text
|
||||||
|
# instance
|
||||||
|
# interval
|
||||||
|
# label
|
||||||
|
markup=none
|
||||||
|
# min_widt
|
||||||
|
# name
|
||||||
|
separator=false
|
||||||
|
separator_block_width=18
|
||||||
|
# short_text
|
||||||
|
# signal
|
||||||
|
# urgent
|
||||||
|
|
||||||
|
|
||||||
|
#plugins
|
||||||
|
|
||||||
|
#[firewall]
|
||||||
|
#interval=10
|
||||||
|
#label=F
|
||||||
|
|
||||||
|
#[window]
|
||||||
|
#interval=1
|
||||||
|
|
||||||
|
#[notifier]
|
||||||
|
#label=
|
||||||
|
#interval=1
|
||||||
|
|
||||||
|
#[microphone]
|
||||||
|
#label=m
|
||||||
|
#interval=100
|
||||||
|
|
||||||
|
[playerctl2]
|
||||||
|
label=
|
||||||
|
interval=5
|
||||||
|
|
||||||
|
[mediaplayer]
|
||||||
|
label=
|
||||||
|
interval=1
|
||||||
|
|
||||||
|
#[weather]
|
||||||
|
#instance=1808773
|
||||||
|
#label=寨
|
||||||
|
#interval=2
|
||||||
|
|
||||||
|
#[weather]
|
||||||
|
#instance=1792947
|
||||||
|
#label=津
|
||||||
|
#interval=300
|
||||||
|
|
||||||
|
[bandwidth]
|
||||||
|
instance=wlp2s0;in
|
||||||
|
label=
|
||||||
|
interval=1
|
||||||
|
|
||||||
|
[bandwidth]
|
||||||
|
instance=wlp2s0;out
|
||||||
|
label=
|
||||||
|
interval=1
|
||||||
|
|
||||||
|
[ssid]
|
||||||
|
label=
|
||||||
|
interval=60
|
||||||
|
|
||||||
|
[volume]
|
||||||
|
interval=1
|
||||||
|
|
||||||
|
[brightness]
|
||||||
|
label=
|
||||||
|
interval=1
|
||||||
|
|
||||||
|
[battery]
|
||||||
|
label=
|
||||||
|
instance=0
|
||||||
|
interval=5
|
||||||
|
|
||||||
|
|
||||||
|
[temperature]
|
||||||
|
instance=Core
|
||||||
|
label=
|
||||||
|
interval=5
|
||||||
|
|
||||||
|
[memory]
|
||||||
|
label=
|
||||||
|
interval=30
|
||||||
|
|
||||||
|
[cpu]
|
||||||
|
label=
|
||||||
|
interval=2
|
||||||
|
|
||||||
|
[time]
|
||||||
|
interval=1
|
||||||
|
label=
|
||||||
|
|
||||||
|
[usb]
|
||||||
|
instance=kingston
|
||||||
|
interval=10
|
||||||
|
separator_block_width=10
|
||||||
|
|
||||||
|
[fcitx]
|
||||||
|
interval=10
|
||||||
|
separator_block_width=10
|
||||||
|
|
||||||
|
[sslocal]
|
||||||
|
interval=300
|
||||||
|
separator_block_width=10
|
||||||
|
|
||||||
|
[keystate]
|
||||||
|
interval=3
|
||||||
|
|
||||||
|
|
||||||
+226
@@ -0,0 +1,226 @@
|
|||||||
|
# Thank you code_nomad: http://9m.no/ꪯ鵞
|
||||||
|
# and Arch Wiki contributors: https://wiki.archlinux.org/index.php/Compton
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# Backend
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Backend to use: "xrender" or "glx".
|
||||||
|
# GLX backend is typically much faster but depends on a sane driver.
|
||||||
|
backend = "glx";
|
||||||
|
#backend = "xrender"
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# GLX backend
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
glx-no-stencil = true;
|
||||||
|
|
||||||
|
# GLX backend: Copy unmodified regions from front buffer instead of redrawing them all.
|
||||||
|
# My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified,
|
||||||
|
# but a 20% increase when only 1/4 is.
|
||||||
|
# My tests on nouveau show terrible slowdown.
|
||||||
|
glx-copy-from-front = false;
|
||||||
|
|
||||||
|
# GLX backend: Use MESA_copy_sub_buffer to do partial screen update.
|
||||||
|
# My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated.
|
||||||
|
# May break VSync and is not available on some drivers.
|
||||||
|
# Overrides --glx-copy-from-front.
|
||||||
|
# glx-use-copysubbuffermesa = true;
|
||||||
|
|
||||||
|
# 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).
|
||||||
|
# Recommended if it works.
|
||||||
|
glx-no-rebind-pixmap = true;
|
||||||
|
|
||||||
|
# GLX backend: GLX buffer swap method we assume.
|
||||||
|
# Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1).
|
||||||
|
# undefined is the slowest and the safest, and the default value.
|
||||||
|
# copy is fastest, but may fail on some drivers,
|
||||||
|
# 2-6 are gradually slower but safer (6 is still faster than 0).
|
||||||
|
# Usually, double buffer means 2, triple buffer means 3.
|
||||||
|
# buffer-age means auto-detect using GLX_EXT_buffer_age, supported by some drivers.
|
||||||
|
# Useless with --glx-use-copysubbuffermesa.
|
||||||
|
# Partially breaks --resize-damage.
|
||||||
|
# Defaults to undefined.
|
||||||
|
#glx-swap-method = "undefined";
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# Shadows
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Enabled client-side shadows on windows.
|
||||||
|
shadow = true;
|
||||||
|
# The blur radius for shadows. (default 12)
|
||||||
|
shadow-radius = 9;
|
||||||
|
# The left offset for shadows. (default -15)
|
||||||
|
shadow-offset-x = -9.5;
|
||||||
|
# The top offset for shadows. (default -15)
|
||||||
|
shadow-offset-y = -9;
|
||||||
|
# The translucency for shadows. (default .75)
|
||||||
|
shadow-opacity = 1;
|
||||||
|
|
||||||
|
log-level = "warn";
|
||||||
|
#change your username here
|
||||||
|
#log-file = "/home/erik/.config/compton.log";
|
||||||
|
|
||||||
|
# Set if you want different colour shadows
|
||||||
|
# shadow-red = 0.0;
|
||||||
|
# shadow-green = 0.0;
|
||||||
|
# shadow-blue = 0.0;
|
||||||
|
|
||||||
|
# The shadow exclude options are helpful if you have shadows enabled. Due to the way compton draws its shadows, certain applications will have visual glitches
|
||||||
|
# (most applications are fine, only apps that do weird things with xshapes or argb are affected).
|
||||||
|
# This list includes all the affected apps I found in my testing. The "! name~=''" part excludes shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher.
|
||||||
|
shadow-exclude = [
|
||||||
|
"! name~=''",
|
||||||
|
"name = 'Notification'",
|
||||||
|
"name = 'Plank'",
|
||||||
|
"name = 'Docky'",
|
||||||
|
"name = 'Kupfer'",
|
||||||
|
"name = 'xfce4-notifyd'",
|
||||||
|
"name *= 'VLC'",
|
||||||
|
"name *= 'compton'",
|
||||||
|
"class_g = 'Firefox' && argb",
|
||||||
|
"class_g = 'Conky'",
|
||||||
|
"class_g = 'Kupfer'",
|
||||||
|
"class_g = 'Synapse'",
|
||||||
|
"class_g ?= 'Notify-osd'",
|
||||||
|
"class_g ?= 'Cairo-dock'",
|
||||||
|
"class_g = 'Cairo-clock'",
|
||||||
|
"class_g ?= 'Xfce4-notifyd'",
|
||||||
|
"class_g ?= 'Xfce4-power-manager'",
|
||||||
|
"_GTK_FRAME_EXTENTS@:c",
|
||||||
|
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
|
||||||
|
];
|
||||||
|
# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners)
|
||||||
|
shadow-ignore-shaped = false;
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# Opacity
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
inactive-opacity = 1;
|
||||||
|
active-opacity = 1;
|
||||||
|
frame-opacity = 1;
|
||||||
|
inactive-opacity-override = false;
|
||||||
|
|
||||||
|
# Dim inactive windows. (0.0 - 1.0)
|
||||||
|
# inactive-dim = 0.2;
|
||||||
|
# Do not let dimness adjust based on window opacity.
|
||||||
|
# inactive-dim-fixed = true;
|
||||||
|
# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred.
|
||||||
|
# blur-background = true;
|
||||||
|
# Blur background of opaque windows with transparent frames as well.
|
||||||
|
# blur-background-frame = true;
|
||||||
|
# Do not let blur radius adjust based on window opacity.
|
||||||
|
blur-background-fixed = false;
|
||||||
|
blur-background-exclude = [
|
||||||
|
"window_type = 'dock'",
|
||||||
|
"window_type = 'desktop'",
|
||||||
|
"_GTK_FRAME_EXTENTS@:c"
|
||||||
|
];
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# Fading
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Fade windows during opacity changes.
|
||||||
|
fading = true;
|
||||||
|
# The time between steps in a fade in milliseconds. (default 10).
|
||||||
|
fade-delta = 5;
|
||||||
|
# Opacity change between steps while fading in. (default 0.028).
|
||||||
|
fade-in-step = 0.03;
|
||||||
|
# Opacity change between steps while fading out. (default 0.03).
|
||||||
|
fade-out-step = 0.03;
|
||||||
|
# Fade windows in/out when opening/closing
|
||||||
|
# no-fading-openclose = true;
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should not be faded.
|
||||||
|
fade-exclude = [ ];
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# Other
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Try to detect WM windows and mark them as active.
|
||||||
|
mark-wmwin-focused = true;
|
||||||
|
# Mark all non-WM but override-redirect windows active (e.g. menus).
|
||||||
|
mark-ovredir-focused = true;
|
||||||
|
# Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused instead of using FocusIn/Out events.
|
||||||
|
# Usually more reliable but depends on a EWMH-compliant WM.
|
||||||
|
use-ewmh-active-win = true;
|
||||||
|
# Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on.
|
||||||
|
detect-rounded-corners = false;
|
||||||
|
|
||||||
|
# Detect _NET_WM_OPACITY on client windows, useful for window managers not passing _NET_WM_OPACITY of client windows to frame windows.
|
||||||
|
# This prevents opacity being ignored for some apps.
|
||||||
|
# For example without this enabled my xfce4-notifyd is 100% opacity no matter what.
|
||||||
|
detect-client-opacity = true;
|
||||||
|
|
||||||
|
# Specify refresh rate of the screen.
|
||||||
|
# If not specified or 0, compton will try detecting this with X RandR extension.
|
||||||
|
#refresh-rate = 48;
|
||||||
|
|
||||||
|
# Vertical synchronization: match the refresh rate of the monitor
|
||||||
|
# this breaks transparency in virtualbox - put a "#" before next line to fix that
|
||||||
|
vsync = true;
|
||||||
|
|
||||||
|
# Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing.
|
||||||
|
# Reported to have no effect, though.
|
||||||
|
dbe = true;
|
||||||
|
|
||||||
|
# Limit compton to repaint at most once every 1 / refresh_rate second to boost performance.
|
||||||
|
# This should not be used with --vsync drm/opengl/opengl-oml as they essentially does --sw-opti's job already,
|
||||||
|
# unless you wish to specify a lower refresh rate than the actual value.
|
||||||
|
#sw-opti = true;
|
||||||
|
|
||||||
|
# Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games.
|
||||||
|
# Known to cause flickering when redirecting/unredirecting windows.
|
||||||
|
unredir-if-possible = false;
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should always be considered focused.
|
||||||
|
focus-exclude = [ ];
|
||||||
|
|
||||||
|
# Use WM_TRANSIENT_FOR to group windows, and consider windows in the same group focused at the same time.
|
||||||
|
detect-transient = true;
|
||||||
|
# Use WM_CLIENT_LEADER to group windows, and consider windows in the same group focused at the same time.
|
||||||
|
# WM_TRANSIENT_FOR has higher priority if --detect-transient is enabled, too.
|
||||||
|
detect-client-leader = true;
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# Window type settings
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
wintypes:
|
||||||
|
{
|
||||||
|
tooltip = { fade = true; shadow = true; opacity = 0.9; focus = true;};
|
||||||
|
dock = { shadow = true; }
|
||||||
|
dnd = { shadow = false; }
|
||||||
|
popup_menu = { opacity = 1; }
|
||||||
|
dropdown_menu = { opacity = 1; }
|
||||||
|
};
|
||||||
|
|
||||||
|
######################
|
||||||
|
#
|
||||||
|
# XSync
|
||||||
|
# See: https://github.com/yshui/compton/commit/b18d46bcbdc35a3b5620d817dd46fbc76485c20d
|
||||||
|
#
|
||||||
|
######################
|
||||||
|
|
||||||
|
# Use X Sync fence to sync clients' draw calls. Needed on nvidia-drivers with GLX backend for some users.
|
||||||
|
xrender-sync-fence = true;
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
lock)
|
||||||
|
i3lock -i ~/Pictures/walls/waterfall2.jpg
|
||||||
|
;;
|
||||||
|
logout)
|
||||||
|
i3-msg exit
|
||||||
|
;;
|
||||||
|
suspend)
|
||||||
|
systemctl suspend
|
||||||
|
;;
|
||||||
|
hibernate)
|
||||||
|
systemctl hibernate
|
||||||
|
;;
|
||||||
|
reboot)
|
||||||
|
systemctl reboot
|
||||||
|
;;
|
||||||
|
shutdown)
|
||||||
|
systemctl poweroff
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {lock|logout|suspend|hibernate|reboot|shutdown}"
|
||||||
|
exit 2
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Version 0.1 Tuesday, 07 May 2013
|
||||||
|
# Comments and complaints http://www.nicknorton.net
|
||||||
|
# GUI for mouse wheel speed using imwheel in Gnome
|
||||||
|
# imwheel needs to be installed for this script to work
|
||||||
|
# sudo apt-get install imwheel
|
||||||
|
# Pretty much hard wired to only use a mouse with
|
||||||
|
# left, right and wheel in the middle.
|
||||||
|
# If you have a mouse with complications or special needs,
|
||||||
|
# use the command xev to find what your wheel does.
|
||||||
|
#
|
||||||
|
### see if imwheel config exists, if not create it ###
|
||||||
|
if [ ! -f ~/.imwheelrc ]
|
||||||
|
then
|
||||||
|
|
||||||
|
cat >~/.imwheelrc<<EOF
|
||||||
|
".*"
|
||||||
|
None, Up, Button4, 1
|
||||||
|
None, Down, Button5, 1
|
||||||
|
Control_L, Up, Control_L|Button4
|
||||||
|
Control_L, Down, Control_L|Button5
|
||||||
|
Shift_L, Up, Shift_L|Button4
|
||||||
|
Shift_L, Down, Shift_L|Button5
|
||||||
|
EOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
##########################################################
|
||||||
|
|
||||||
|
CURRENT_VALUE=$(awk -F 'Button4,' '{print $2}' ~/.imwheelrc)
|
||||||
|
|
||||||
|
NEW_VALUE=3
|
||||||
|
|
||||||
|
if [ "$NEW_VALUE" == "" ];
|
||||||
|
then exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
sed -i "s/\($TARGET_KEY *Button4, *\).*/\1$NEW_VALUE/" ~/.imwheelrc # find the string Button4, and write new value.
|
||||||
|
sed -i "s/\($TARGET_KEY *Button5, *\).*/\1$NEW_VALUE/" ~/.imwheelrc # find the string Button5, and write new value.
|
||||||
|
|
||||||
|
cat ~/.imwheelrc
|
||||||
|
imwheel -kill
|
||||||
|
|
||||||
|
# END OF SCRIPT FILE
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# If ACPI was not installed, this probably is a battery-less computer.
|
||||||
|
ACPI_RES=$(acpi -b)
|
||||||
|
ACPI_CODE=$?
|
||||||
|
if [ $ACPI_CODE -eq 0 ]
|
||||||
|
then
|
||||||
|
# Get essential information. Due to som bug with some versions of acpi it is
|
||||||
|
# worth filtering the ACPI result from all lines containing "unavailable".
|
||||||
|
BAT_LEVEL_ALL=$(echo "$ACPI_RES" | grep -v "unavailable" | grep -E -o "[0-9][0-9]?[0-9]?%")
|
||||||
|
BAT_LEVEL=$(echo "$BAT_LEVEL_ALL" | awk -F"%" 'BEGIN{tot=0;i=0} {i++; tot+=$1} END{printf("%d%%\n", tot/i)}')
|
||||||
|
TIME_LEFT=$(echo "$ACPI_RES" | grep -v "unavailable" | grep -E -o "[0-9]{2}:[0-9]{2}:[0-9]{2}")
|
||||||
|
IS_CHARGING=$(echo "$ACPI_RES" | grep -v "unavailable" | awk '{ printf("%s\n", substr($3, 0, length($3)-1) ) }')
|
||||||
|
|
||||||
|
# If there is no 'time left' information (when almost fully charged) we
|
||||||
|
# provide information ourselvs.
|
||||||
|
if [ -z "$TIME_LEFT" ]
|
||||||
|
then
|
||||||
|
TIME_LEFT="00:00:00"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Print full text. The charging data.
|
||||||
|
TIME_LEFT=$(echo $TIME_LEFT | awk '{ printf("%s\n", substr($1, 0, 5)) }')
|
||||||
|
echo "🔋$BAT_LEVEL ⏳$TIME_LEFT "
|
||||||
|
|
||||||
|
# Print the short text.
|
||||||
|
echo "BAT: $BAT_LEVEL"
|
||||||
|
|
||||||
|
# Change the font color, depending on the situation.
|
||||||
|
if [ "$IS_CHARGING" = "Charging" ]
|
||||||
|
then
|
||||||
|
# Charging yellow color.
|
||||||
|
echo "#D0D000"
|
||||||
|
else
|
||||||
|
if [ "${BAT_LEVEL%?}" -le 15 ]
|
||||||
|
then
|
||||||
|
# Battery very low. Red color.
|
||||||
|
echo "#FA1E44"
|
||||||
|
else
|
||||||
|
# Battery not charging but at decent level. Green color.
|
||||||
|
echo "#007872"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
[WEATHER_SIGNALER]
|
||||||
|
command=~/.config/i3blocks/weather/weather_signaler
|
||||||
|
interval=once
|
||||||
|
|
||||||
|
[WEATHER]
|
||||||
|
command=~/.config/i3blocks/weather/weather_info.sh
|
||||||
|
interval=300
|
||||||
|
color=#FEC925
|
||||||
|
signal=2
|
||||||
|
|
||||||
|
[DISK]
|
||||||
|
command=df -h / | awk '/\//{ printf(" 💾 %4s/%s \n", $4, $2) }'
|
||||||
|
interval=2
|
||||||
|
color=#C9E3DB
|
||||||
|
|
||||||
|
[BATTERY]
|
||||||
|
command=~/.config/i3blocks/battery/battery_info.sh
|
||||||
|
interval=3
|
||||||
|
|
||||||
|
[CPU]
|
||||||
|
full_text= CPU: 0.00% @ +00.0°C
|
||||||
|
command=~/.config/i3blocks/cpu/cpu_info.sh
|
||||||
|
interval=repeat
|
||||||
|
color=#00B4EB
|
||||||
|
|
||||||
|
[MEM]
|
||||||
|
command=free -h | awk '/Mem:/ { printf(" 🐏 %5s/%s \n", $3, $2) }'
|
||||||
|
interval=1
|
||||||
|
color=#FEC925
|
||||||
|
|
||||||
|
[SOUND_BURST]
|
||||||
|
command=~/.config/i3blocks/sound/sound_burst.sh
|
||||||
|
interval=once
|
||||||
|
|
||||||
|
[SOUND]
|
||||||
|
full_text= 🔇: 0%
|
||||||
|
command=~/.config/i3blocks/sound/sound_info.sh
|
||||||
|
interval=0
|
||||||
|
signal=1
|
||||||
|
|
||||||
|
[TIME_DATE]
|
||||||
|
command=date +" %a, %d %b - %H:%M:%S"
|
||||||
|
interval=1
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
TEMP=$(sensors | grep 'Package id 0:\|Tdie' | grep ':[ ]*+[0-9]*.[0-9]*°C' -o | grep '+[0-9]*.[0-9]*°C' -o)
|
||||||
|
CPU_USAGE=$(mpstat 1 1 | awk '/Average:/ {printf("%s\n", $(NF-9))}')
|
||||||
|
echo "$CPU_USAGE $TEMP" | awk '{ printf(" CPU:%6s% @ %s \n"), $1, $2 }'
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
for i in $(seq 1 10)
|
||||||
|
do
|
||||||
|
sleep 0.2
|
||||||
|
pkill -RTMIN+1 i3blocks
|
||||||
|
done
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
VOLUME_MUTE="🔇"
|
||||||
|
VOLUME_LOW="🔈"
|
||||||
|
VOLUME_MID="🔉"
|
||||||
|
VOLUME_HIGH="🔊"
|
||||||
|
SOUND_LEVEL=$(amixer -M get Master | awk -F"[][]" '/%/ { print $2 }' | awk -F"%" 'BEGIN{tot=0; i=0} {i++; tot+=$1} END{printf("%s\n", tot/i) }')
|
||||||
|
MUTED=$(amixer get Master | awk ' /%/{print ($NF=="[off]" ? 1 : 0); exit;}')
|
||||||
|
|
||||||
|
ICON=$VOLUME_MUTE
|
||||||
|
if [ "$MUTED" = "1" ]
|
||||||
|
then
|
||||||
|
ICON="$VOLUME_MUTE"
|
||||||
|
else
|
||||||
|
if [ "$SOUND_LEVEL" -lt 34 ]
|
||||||
|
then
|
||||||
|
ICON="$VOLUME_LOW"
|
||||||
|
elif [ "$SOUND_LEVEL" -lt 67 ]
|
||||||
|
then
|
||||||
|
ICON="$VOLUME_MID"
|
||||||
|
else
|
||||||
|
ICON="$VOLUME_HIGH"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$ICON" "$SOUND_LEVEL" | awk '{ printf(" %s:%3s%% \n", $1, $2) }'
|
||||||
|
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
CC = gcc
|
||||||
|
CFLAGS = -O2 -Wall -Wextra -Wpedantic
|
||||||
|
LINKFLAGS = -lrt
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
|
||||||
|
weather_signaler: weather_signaler.c
|
||||||
|
$(CC) $(CFLAGS) $< -o weather_signaler $(LINKFLAGS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@rm -v weather_signaler
|
||||||
@@ -0,0 +1,417 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<weatherdata>
|
||||||
|
<apiChanges>
|
||||||
|
<!--NB!!! Since we have no other options to contact our users of forecast.xml, we have decided to use this method to get your attention to some major changes with our API-->
|
||||||
|
<!--This summer, forecast.xml and forecast_hour_by_hour.xml will be discontinued in favour of a newer JSON API. An exactly date is not set yet.-->
|
||||||
|
<!--Vi encourage you already now to switch to the new API.-->
|
||||||
|
<!--There are a lot of changes, and you can read all the technical details in our new developer portal https://developer.yr.no-->
|
||||||
|
</apiChanges>
|
||||||
|
<location>
|
||||||
|
<name>Linköping</name>
|
||||||
|
<type>Regional capital</type>
|
||||||
|
<country>Sweden</country>
|
||||||
|
<timezone id="Europe/Stockholm" utcoffsetMinutes="60" />
|
||||||
|
<location altitude="58" latitude="58.41086" longitude="15.62157" geobase="geonames" geobaseid="2694762" />
|
||||||
|
</location>
|
||||||
|
<credit>
|
||||||
|
<!--In order to use the free weather data from yr no, you HAVE to display
|
||||||
|
the following text clearly visible on your web page. The text should be a
|
||||||
|
link to the specified URL.-->
|
||||||
|
<!--Please read more about our conditions and guidelines at http://om.yr.no/verdata/ English explanation at http://om.yr.no/verdata/free-weather-data/-->
|
||||||
|
<link text="Weather forecast from Yr, delivered by the Norwegian Meteorological Institute and the NRK" url="http://www.yr.no/place/Sweden/Östergötland/Linköping/" />
|
||||||
|
</credit>
|
||||||
|
<links>
|
||||||
|
<link id="xmlSource" url="http://www.yr.no/place/Sweden/Östergötland/Linköping/forecast.xml" />
|
||||||
|
<link id="xmlSourceHourByHour" url="http://www.yr.no/place/Sweden/Östergötland/Linköping/forecast_hour_by_hour.xml" />
|
||||||
|
<link id="overview" url="http://www.yr.no/place/Sweden/Östergötland/Linköping/" />
|
||||||
|
<link id="hourByHour" url="http://www.yr.no/place/Sweden/Östergötland/Linköping/hour_by_hour" />
|
||||||
|
<link id="longTermForecast" url="http://www.yr.no/place/Sweden/Östergötland/Linköping/long" />
|
||||||
|
<link id="nowcast" url="http://www.yr.no/place/Sweden/Östergötland/Linköping/varsel_nu.xml" />
|
||||||
|
</links>
|
||||||
|
<meta>
|
||||||
|
<lastupdate>2022-01-07T17:14:00</lastupdate>
|
||||||
|
<nextupdate>2022-01-07T18:14:00</nextupdate>
|
||||||
|
</meta>
|
||||||
|
<sun rise="2022-01-07T08:42:34" set="2022-01-07T15:25:27" />
|
||||||
|
<forecast>
|
||||||
|
<tabular>
|
||||||
|
<time from="2022-01-07T17:00:00" to="2022-01-07T18:00:00" period="2">
|
||||||
|
<!-- Valid from 2022-01-07T17:00:00 to 2022-01-07T18:00:00 -->
|
||||||
|
<symbol number="13" numberEx="13" name="Snow" var="13" />
|
||||||
|
<precipitation value="0.3" minvalue="0.2" maxvalue="0.6" />
|
||||||
|
<!-- Valid at 2022-01-07T17:00:00 -->
|
||||||
|
<windDirection deg="132.7" code="SE" name="Southeast" />
|
||||||
|
<windSpeed mps="3.0" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="-1" />
|
||||||
|
<pressure unit="hPa" value="1005.3" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-07T18:00:00" to="2022-01-08T00:00:00" period="3">
|
||||||
|
<!-- Valid from 2022-01-07T18:00:00 to 2022-01-08T00:00:00 -->
|
||||||
|
<symbol number="13" numberEx="13" name="Snow" var="13" />
|
||||||
|
<precipitation value="3.5" minvalue="1.2" maxvalue="4.3" />
|
||||||
|
<!-- Valid at 2022-01-07T18:00:00 -->
|
||||||
|
<windDirection deg="130.9" code="SE" name="Southeast" />
|
||||||
|
<windSpeed mps="2.7" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="-1" />
|
||||||
|
<pressure unit="hPa" value="1005.1" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-08T00:00:00" to="2022-01-08T06:00:00" period="0">
|
||||||
|
<!-- Valid from 2022-01-08T00:00:00 to 2022-01-08T06:00:00 -->
|
||||||
|
<symbol number="13" numberEx="13" name="Snow" var="13" />
|
||||||
|
<precipitation value="1.3" minvalue="0" maxvalue="3.0" />
|
||||||
|
<!-- Valid at 2022-01-08T00:00:00 -->
|
||||||
|
<windDirection deg="148.3" code="SSE" name="South-southeast" />
|
||||||
|
<windSpeed mps="2.2" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="0" />
|
||||||
|
<pressure unit="hPa" value="1004.3" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-08T06:00:00" to="2022-01-08T12:00:00" period="1">
|
||||||
|
<!-- Valid from 2022-01-08T06:00:00 to 2022-01-08T12:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" minvalue="0" maxvalue="0.8" />
|
||||||
|
<!-- Valid at 2022-01-08T06:00:00 -->
|
||||||
|
<windDirection deg="198.4" code="SSW" name="South-southwest" />
|
||||||
|
<windSpeed mps="1.7" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="-2" />
|
||||||
|
<pressure unit="hPa" value="1002.8" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-08T12:00:00" to="2022-01-08T18:00:00" period="2">
|
||||||
|
<!-- Valid from 2022-01-08T12:00:00 to 2022-01-08T18:00:00 -->
|
||||||
|
<symbol number="3" numberEx="3" name="Partly cloudy" var="03d" />
|
||||||
|
<precipitation value="0" minvalue="0" maxvalue="0.8" />
|
||||||
|
<!-- Valid at 2022-01-08T12:00:00 -->
|
||||||
|
<windDirection deg="186.1" code="S" name="South" />
|
||||||
|
<windSpeed mps="1.8" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="1" />
|
||||||
|
<pressure unit="hPa" value="1001.6" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-08T18:00:00" to="2022-01-09T00:00:00" period="3">
|
||||||
|
<!-- Valid from 2022-01-08T18:00:00 to 2022-01-09T00:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" minvalue="0" maxvalue="1.2" />
|
||||||
|
<!-- Valid at 2022-01-08T18:00:00 -->
|
||||||
|
<windDirection deg="134.3" code="SE" name="Southeast" />
|
||||||
|
<windSpeed mps="1.8" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="-3" />
|
||||||
|
<pressure unit="hPa" value="999.3" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-09T00:00:00" to="2022-01-09T06:00:00" period="0">
|
||||||
|
<!-- Valid from 2022-01-09T00:00:00 to 2022-01-09T06:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-09T00:00:00 -->
|
||||||
|
<windDirection deg="52.4" code="NE" name="Northeast" />
|
||||||
|
<windSpeed mps="2.1" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="-2" />
|
||||||
|
<pressure unit="hPa" value="998.2" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-09T06:00:00" to="2022-01-09T12:00:00" period="1">
|
||||||
|
<!-- Valid from 2022-01-09T06:00:00 to 2022-01-09T12:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-09T06:00:00 -->
|
||||||
|
<windDirection deg="55.3" code="NE" name="Northeast" />
|
||||||
|
<windSpeed mps="3.0" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="-2" />
|
||||||
|
<pressure unit="hPa" value="999.5" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-09T12:00:00" to="2022-01-09T18:00:00" period="2">
|
||||||
|
<!-- Valid from 2022-01-09T12:00:00 to 2022-01-09T18:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-09T12:00:00 -->
|
||||||
|
<windDirection deg="44.7" code="NE" name="Northeast" />
|
||||||
|
<windSpeed mps="2.6" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="-1" />
|
||||||
|
<pressure unit="hPa" value="1003.6" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-09T18:00:00" to="2022-01-10T00:00:00" period="3">
|
||||||
|
<!-- Valid from 2022-01-09T18:00:00 to 2022-01-10T00:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" minvalue="0" maxvalue="0.9" />
|
||||||
|
<!-- Valid at 2022-01-09T18:00:00 -->
|
||||||
|
<windDirection deg="53.3" code="NE" name="Northeast" />
|
||||||
|
<windSpeed mps="2.1" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="-2" />
|
||||||
|
<pressure unit="hPa" value="1008.8" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-10T01:00:00" to="2022-01-10T07:00:00" period="0">
|
||||||
|
<!-- Valid from 2022-01-10T01:00:00 to 2022-01-10T07:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-10T01:00:00 -->
|
||||||
|
<windDirection deg="53.0" code="NE" name="Northeast" />
|
||||||
|
<windSpeed mps="2.0" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="-3" />
|
||||||
|
<pressure unit="hPa" value="1016.7" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-10T07:00:00" to="2022-01-10T13:00:00" period="1">
|
||||||
|
<!-- Valid from 2022-01-10T07:00:00 to 2022-01-10T13:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-10T07:00:00 -->
|
||||||
|
<windDirection deg="61.4" code="ENE" name="East-northeast" />
|
||||||
|
<windSpeed mps="2.0" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="0" />
|
||||||
|
<pressure unit="hPa" value="1021.3" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-10T13:00:00" to="2022-01-10T19:00:00" period="2">
|
||||||
|
<!-- Valid from 2022-01-10T13:00:00 to 2022-01-10T19:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-10T13:00:00 -->
|
||||||
|
<windDirection deg="77.3" code="ENE" name="East-northeast" />
|
||||||
|
<windSpeed mps="2.1" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="0" />
|
||||||
|
<pressure unit="hPa" value="1027.0" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-10T19:00:00" to="2022-01-11T01:00:00" period="3">
|
||||||
|
<!-- Valid from 2022-01-10T19:00:00 to 2022-01-11T01:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-10T19:00:00 -->
|
||||||
|
<windDirection deg="87.6" code="E" name="East" />
|
||||||
|
<windSpeed mps="2.0" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="-1" />
|
||||||
|
<pressure unit="hPa" value="1030.7" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-11T01:00:00" to="2022-01-11T07:00:00" period="0">
|
||||||
|
<!-- Valid from 2022-01-11T01:00:00 to 2022-01-11T07:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-11T01:00:00 -->
|
||||||
|
<windDirection deg="169.9" code="S" name="South" />
|
||||||
|
<windSpeed mps="1.7" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="-1" />
|
||||||
|
<pressure unit="hPa" value="1031.8" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-11T07:00:00" to="2022-01-11T13:00:00" period="1">
|
||||||
|
<!-- Valid from 2022-01-11T07:00:00 to 2022-01-11T13:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-11T07:00:00 -->
|
||||||
|
<windDirection deg="179.0" code="S" name="South" />
|
||||||
|
<windSpeed mps="3.0" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="-1" />
|
||||||
|
<pressure unit="hPa" value="1031.4" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-11T13:00:00" to="2022-01-11T19:00:00" period="2">
|
||||||
|
<!-- Valid from 2022-01-11T13:00:00 to 2022-01-11T19:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-11T13:00:00 -->
|
||||||
|
<windDirection deg="195.1" code="SSW" name="South-southwest" />
|
||||||
|
<windSpeed mps="3.7" name="Gentle breeze" />
|
||||||
|
<temperature unit="celsius" value="0" />
|
||||||
|
<pressure unit="hPa" value="1031.0" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-11T19:00:00" to="2022-01-12T01:00:00" period="3">
|
||||||
|
<!-- Valid from 2022-01-11T19:00:00 to 2022-01-12T01:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-11T19:00:00 -->
|
||||||
|
<windDirection deg="201.9" code="SSW" name="South-southwest" />
|
||||||
|
<windSpeed mps="3.7" name="Gentle breeze" />
|
||||||
|
<temperature unit="celsius" value="1" />
|
||||||
|
<pressure unit="hPa" value="1029.4" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-12T01:00:00" to="2022-01-12T07:00:00" period="0">
|
||||||
|
<!-- Valid from 2022-01-12T01:00:00 to 2022-01-12T07:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-12T01:00:00 -->
|
||||||
|
<windDirection deg="206.6" code="SSW" name="South-southwest" />
|
||||||
|
<windSpeed mps="3.0" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="2" />
|
||||||
|
<pressure unit="hPa" value="1027.9" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-12T07:00:00" to="2022-01-12T13:00:00" period="1">
|
||||||
|
<!-- Valid from 2022-01-12T07:00:00 to 2022-01-12T13:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-12T07:00:00 -->
|
||||||
|
<windDirection deg="224.9" code="SW" name="Southwest" />
|
||||||
|
<windSpeed mps="4.2" name="Gentle breeze" />
|
||||||
|
<temperature unit="celsius" value="2" />
|
||||||
|
<pressure unit="hPa" value="1024.4" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-12T13:00:00" to="2022-01-12T19:00:00" period="2">
|
||||||
|
<!-- Valid from 2022-01-12T13:00:00 to 2022-01-12T19:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-12T13:00:00 -->
|
||||||
|
<windDirection deg="235.5" code="SW" name="Southwest" />
|
||||||
|
<windSpeed mps="6.4" name="Moderate breeze" />
|
||||||
|
<temperature unit="celsius" value="4" />
|
||||||
|
<pressure unit="hPa" value="1019.8" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-12T19:00:00" to="2022-01-13T01:00:00" period="3">
|
||||||
|
<!-- Valid from 2022-01-12T19:00:00 to 2022-01-13T01:00:00 -->
|
||||||
|
<symbol number="3" numberEx="3" name="Partly cloudy" var="03n" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-12T19:00:00 -->
|
||||||
|
<windDirection deg="238.5" code="WSW" name="West-southwest" />
|
||||||
|
<windSpeed mps="7.3" name="Moderate breeze" />
|
||||||
|
<temperature unit="celsius" value="5" />
|
||||||
|
<pressure unit="hPa" value="1013.4" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-13T01:00:00" to="2022-01-13T07:00:00" period="0">
|
||||||
|
<!-- Valid from 2022-01-13T01:00:00 to 2022-01-13T07:00:00 -->
|
||||||
|
<symbol number="3" numberEx="3" name="Partly cloudy" var="03n" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-13T01:00:00 -->
|
||||||
|
<windDirection deg="256.1" code="WSW" name="West-southwest" />
|
||||||
|
<windSpeed mps="7.0" name="Moderate breeze" />
|
||||||
|
<temperature unit="celsius" value="6" />
|
||||||
|
<pressure unit="hPa" value="1012.5" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-13T07:00:00" to="2022-01-13T13:00:00" period="1">
|
||||||
|
<!-- Valid from 2022-01-13T07:00:00 to 2022-01-13T13:00:00 -->
|
||||||
|
<symbol number="3" numberEx="3" name="Partly cloudy" var="03d" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-13T07:00:00 -->
|
||||||
|
<windDirection deg="257.2" code="WSW" name="West-southwest" />
|
||||||
|
<windSpeed mps="7.5" name="Moderate breeze" />
|
||||||
|
<temperature unit="celsius" value="6" />
|
||||||
|
<pressure unit="hPa" value="1010.1" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-13T13:00:00" to="2022-01-13T19:00:00" period="2">
|
||||||
|
<!-- Valid from 2022-01-13T13:00:00 to 2022-01-13T19:00:00 -->
|
||||||
|
<symbol number="3" numberEx="3" name="Partly cloudy" var="03d" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-13T13:00:00 -->
|
||||||
|
<windDirection deg="258.2" code="WSW" name="West-southwest" />
|
||||||
|
<windSpeed mps="7.8" name="Moderate breeze" />
|
||||||
|
<temperature unit="celsius" value="8" />
|
||||||
|
<pressure unit="hPa" value="1006.4" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-13T19:00:00" to="2022-01-14T01:00:00" period="3">
|
||||||
|
<!-- Valid from 2022-01-13T19:00:00 to 2022-01-14T01:00:00 -->
|
||||||
|
<symbol number="3" numberEx="3" name="Partly cloudy" var="03n" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-13T19:00:00 -->
|
||||||
|
<windDirection deg="272.2" code="W" name="West" />
|
||||||
|
<windSpeed mps="8.7" name="Fresh breeze" />
|
||||||
|
<temperature unit="celsius" value="8" />
|
||||||
|
<pressure unit="hPa" value="1003.6" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-14T01:00:00" to="2022-01-14T07:00:00" period="0">
|
||||||
|
<!-- Valid from 2022-01-14T01:00:00 to 2022-01-14T07:00:00 -->
|
||||||
|
<symbol number="3" numberEx="3" name="Partly cloudy" var="03n" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-14T01:00:00 -->
|
||||||
|
<windDirection deg="273.9" code="W" name="West" />
|
||||||
|
<windSpeed mps="8.8" name="Fresh breeze" />
|
||||||
|
<temperature unit="celsius" value="8" />
|
||||||
|
<pressure unit="hPa" value="1000.4" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-14T07:00:00" to="2022-01-14T13:00:00" period="1">
|
||||||
|
<!-- Valid from 2022-01-14T07:00:00 to 2022-01-14T13:00:00 -->
|
||||||
|
<symbol number="1" numberEx="1" name="Clear sky" var="01d" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-14T07:00:00 -->
|
||||||
|
<windDirection deg="273.8" code="W" name="West" />
|
||||||
|
<windSpeed mps="7.4" name="Moderate breeze" />
|
||||||
|
<temperature unit="celsius" value="5" />
|
||||||
|
<pressure unit="hPa" value="998.6" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-14T13:00:00" to="2022-01-14T19:00:00" period="2">
|
||||||
|
<!-- Valid from 2022-01-14T13:00:00 to 2022-01-14T19:00:00 -->
|
||||||
|
<symbol number="1" numberEx="1" name="Clear sky" var="01d" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-14T13:00:00 -->
|
||||||
|
<windDirection deg="293.1" code="WNW" name="West-northwest" />
|
||||||
|
<windSpeed mps="7.3" name="Moderate breeze" />
|
||||||
|
<temperature unit="celsius" value="5" />
|
||||||
|
<pressure unit="hPa" value="1001.1" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-14T19:00:00" to="2022-01-15T01:00:00" period="3">
|
||||||
|
<!-- Valid from 2022-01-14T19:00:00 to 2022-01-15T01:00:00 -->
|
||||||
|
<symbol number="1" numberEx="1" name="Clear sky" var="01n" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-14T19:00:00 -->
|
||||||
|
<windDirection deg="265.1" code="W" name="West" />
|
||||||
|
<windSpeed mps="7.2" name="Moderate breeze" />
|
||||||
|
<temperature unit="celsius" value="3" />
|
||||||
|
<pressure unit="hPa" value="1002.1" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-15T01:00:00" to="2022-01-15T07:00:00" period="0">
|
||||||
|
<!-- Valid from 2022-01-15T01:00:00 to 2022-01-15T07:00:00 -->
|
||||||
|
<symbol number="3" numberEx="3" name="Partly cloudy" var="03n" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-15T01:00:00 -->
|
||||||
|
<windDirection deg="304.0" code="NW" name="Northwest" />
|
||||||
|
<windSpeed mps="6.9" name="Moderate breeze" />
|
||||||
|
<temperature unit="celsius" value="2" />
|
||||||
|
<pressure unit="hPa" value="1004.6" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-15T07:00:00" to="2022-01-15T13:00:00" period="1">
|
||||||
|
<!-- Valid from 2022-01-15T07:00:00 to 2022-01-15T13:00:00 -->
|
||||||
|
<symbol number="1" numberEx="1" name="Clear sky" var="01d" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-15T07:00:00 -->
|
||||||
|
<windDirection deg="303.9" code="NW" name="Northwest" />
|
||||||
|
<windSpeed mps="5.5" name="Moderate breeze" />
|
||||||
|
<temperature unit="celsius" value="1" />
|
||||||
|
<pressure unit="hPa" value="1005.8" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-15T13:00:00" to="2022-01-15T19:00:00" period="2">
|
||||||
|
<!-- Valid from 2022-01-15T13:00:00 to 2022-01-15T19:00:00 -->
|
||||||
|
<symbol number="3" numberEx="3" name="Partly cloudy" var="03d" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-15T13:00:00 -->
|
||||||
|
<windDirection deg="325.6" code="NW" name="Northwest" />
|
||||||
|
<windSpeed mps="5.9" name="Moderate breeze" />
|
||||||
|
<temperature unit="celsius" value="2" />
|
||||||
|
<pressure unit="hPa" value="1007.7" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-15T19:00:00" to="2022-01-16T01:00:00" period="3">
|
||||||
|
<!-- Valid from 2022-01-15T19:00:00 to 2022-01-16T01:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-15T19:00:00 -->
|
||||||
|
<windDirection deg="313.4" code="NW" name="Northwest" />
|
||||||
|
<windSpeed mps="5.1" name="Gentle breeze" />
|
||||||
|
<temperature unit="celsius" value="1" />
|
||||||
|
<pressure unit="hPa" value="1009.1" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-16T01:00:00" to="2022-01-16T07:00:00" period="0">
|
||||||
|
<!-- Valid from 2022-01-16T01:00:00 to 2022-01-16T07:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-16T01:00:00 -->
|
||||||
|
<windDirection deg="268.7" code="W" name="West" />
|
||||||
|
<windSpeed mps="2.5" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="0" />
|
||||||
|
<pressure unit="hPa" value="1010.9" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-16T07:00:00" to="2022-01-16T13:00:00" period="1">
|
||||||
|
<!-- Valid from 2022-01-16T07:00:00 to 2022-01-16T13:00:00 -->
|
||||||
|
<symbol number="4" numberEx="4" name="Cloudy" var="04" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-16T07:00:00 -->
|
||||||
|
<windDirection deg="24.7" code="NNE" name="North-northeast" />
|
||||||
|
<windSpeed mps="3.3" name="Light breeze" />
|
||||||
|
<temperature unit="celsius" value="0" />
|
||||||
|
<pressure unit="hPa" value="1005.4" />
|
||||||
|
</time>
|
||||||
|
<time from="2022-01-16T13:00:00" to="2022-01-16T19:00:00" period="2">
|
||||||
|
<!-- Valid from 2022-01-16T13:00:00 to 2022-01-16T19:00:00 -->
|
||||||
|
<symbol number="3" numberEx="3" name="Partly cloudy" var="03d" />
|
||||||
|
<precipitation value="0" />
|
||||||
|
<!-- Valid at 2022-01-16T13:00:00 -->
|
||||||
|
<windDirection deg="307.1" code="NW" name="Northwest" />
|
||||||
|
<windSpeed mps="3.7" name="Gentle breeze" />
|
||||||
|
<temperature unit="celsius" value="1" />
|
||||||
|
<pressure unit="hPa" value="1011.4" />
|
||||||
|
</time>
|
||||||
|
</tabular>
|
||||||
|
</forecast>
|
||||||
|
<weatherstation stno="0" sttype="" name="" distance="0" lat="0" lon="0" source="">
|
||||||
|
<!--Observasjoner er ikke lengre tilgjengelig i dette datasettet. Observations are no longer availble in this dataset-->
|
||||||
|
<symbol number="0" name="" time="2019-11-14T00:00:00Z" />
|
||||||
|
<temperature unit="" value="0" time="2019-11-14T00:00:00Z" />
|
||||||
|
<windDirection deg="0" code="" name="" time="2019-11-14T00:00:00Z" />
|
||||||
|
<windSpeed mps="0" name="" time="2019-11-14T00:00:00Z" />
|
||||||
|
</weatherstation>
|
||||||
|
</weatherdata>
|
||||||
@@ -0,0 +1,123 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
''' Weather acquirer for: https://github.com/miklhh/i3blocks-config '''
|
||||||
|
import os
|
||||||
|
import datetime
|
||||||
|
import xml.etree.ElementTree as ET
|
||||||
|
import requests
|
||||||
|
|
||||||
|
# Forecast URL.
|
||||||
|
YR_URL = "https://www.yr.no/place/Sverige/%C3%96sterg%C3%B6tland/Link%C3%B6ping/forecast.xml"
|
||||||
|
|
||||||
|
# Good to have data + funky emojicons.
|
||||||
|
FORECAST_CACHE_FILE = os.path.dirname(os.path.realpath(__file__)) + "/forecast.xml"
|
||||||
|
|
||||||
|
# Emojis associatted with weather # Day # Night
|
||||||
|
WEATHER_TYPES = { "Fair" : ["☀️", "🌙"], #pylint: disable=C0326
|
||||||
|
"Partly cloudy" : ["⛅", "☁️"], #pylint: disable=C0326
|
||||||
|
"Clear sky" : ["☀️", "🌙"], #pylint: disable=C0326
|
||||||
|
"Cloudy" : ["☁️", "☁️"], #pylint: disable=C0326
|
||||||
|
"Light rain" : ["🌧️", "🌧️"], #pylint: disable=C0326
|
||||||
|
"Rain" : ["🌧️", "🌧️"], #pylint: disable=C0326
|
||||||
|
"Heavy Rain" : ["🌧️", "🌧️"], #pylint: disable=C0326
|
||||||
|
"Light snow" : ["🌨️", "🌨️"], #pylint: disable=C0326
|
||||||
|
"Snow" : ["🌨️", "🌨️"], #pylint: disable=C0326
|
||||||
|
"Heavy snow" : ["🌨️", "🌨️"], #pylint: disable=C0326
|
||||||
|
"Foggy" : ["🌫️", "🌫️"], #pylint: disable=C0326
|
||||||
|
"Fog" : ["🌫️", "🌫️"], #pylint: disable=C0326
|
||||||
|
"Light snow showers" : ["🌨️", "🌨️"]} #pylint: disable=C0326
|
||||||
|
|
||||||
|
|
||||||
|
def get_xml_root():
|
||||||
|
""" Returns a weather XML root, cached from old data if necessary. """
|
||||||
|
yr_response = 0
|
||||||
|
try:
|
||||||
|
# Request data from YR.
|
||||||
|
yr_response = requests.get(YR_URL)
|
||||||
|
if yr_response.status_code != 200:
|
||||||
|
raise RuntimeError('Error: YR status code ' + str(yr_response.status_code))
|
||||||
|
|
||||||
|
# New response, store in cache file and return XML root.
|
||||||
|
with open(FORECAST_CACHE_FILE, "w") as file_handle:
|
||||||
|
file_handle.write(yr_response.text)
|
||||||
|
return ET.fromstring(yr_response.text)
|
||||||
|
|
||||||
|
except requests.ConnectionError:
|
||||||
|
# Probably just no internet. Use cached forecast.
|
||||||
|
if os.path.isfile(FORECAST_CACHE_FILE):
|
||||||
|
with open(FORECAST_CACHE_FILE) as file_handle:
|
||||||
|
yr_response = file_handle.read()
|
||||||
|
# Print recycle emoji and continue using cached forecast.
|
||||||
|
print("(♻️)", end=" ")
|
||||||
|
return ET.fromstring(yr_response)
|
||||||
|
|
||||||
|
# Dead end, no XML-root acquired.
|
||||||
|
raise RuntimeError('No forecast data available.')
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
""" Entry point for program. """
|
||||||
|
# Get the XML root.
|
||||||
|
try:
|
||||||
|
xml_root = get_xml_root()
|
||||||
|
except RuntimeError as exception:
|
||||||
|
print(exception)
|
||||||
|
|
||||||
|
# Parse the sun rise and set time. Appearntly, they are not always available and
|
||||||
|
# so we need to make sure they exist in the recieved data.
|
||||||
|
rise_fall_available = True
|
||||||
|
sun_rise_time = sun_set_time = ""
|
||||||
|
try:
|
||||||
|
sun_rise_time = xml_root.find("sun").attrib.get("rise")
|
||||||
|
sun_rise_time = sun_rise_time[sun_rise_time.find('T')+1 : len(sun_rise_time)-3]
|
||||||
|
sun_set_time = xml_root.find("sun").attrib.get("set")
|
||||||
|
sun_set_time = sun_set_time[sun_set_time.find('T')+1 : len(sun_set_time)-3]
|
||||||
|
except (ET.ParseError, AttributeError):
|
||||||
|
rise_fall_available = False
|
||||||
|
|
||||||
|
# Get the current weather information.
|
||||||
|
forecast = xml_root.find("forecast").find("tabular").find("time")
|
||||||
|
weather = forecast.find("symbol").attrib.get("name")
|
||||||
|
temperature = forecast.find("temperature").attrib.get("value")
|
||||||
|
wind_direction = forecast.find("windDirection").attrib.get("code")
|
||||||
|
wind_speed = forecast.find("windSpeed").attrib.get("mps")
|
||||||
|
precipitation = forecast.find("precipitation").attrib.get("value")
|
||||||
|
|
||||||
|
# Night time?
|
||||||
|
is_night = 0
|
||||||
|
now = datetime.datetime.now()
|
||||||
|
if rise_fall_available:
|
||||||
|
# Use sun rise and fall time to determine.
|
||||||
|
sun_rise = datetime.datetime.strptime(sun_rise_time, "%H:%M")
|
||||||
|
sun_set = datetime.datetime.strptime(sun_set_time, "%H:%M")
|
||||||
|
is_night = 1 if now.time() < sun_rise.time() or sun_set.time() < now.time() else 0
|
||||||
|
else:
|
||||||
|
# No rise/fall time available. Approximate daytime as [07:00 - 21:00].
|
||||||
|
sun_rise = datetime.datetime.strptime("07:00", "%H:%M")
|
||||||
|
sun_set = datetime.datetime.strptime("21:00", "%H:%M")
|
||||||
|
is_night = 1 if now.time() < sun_rise.time() or sun_set.time() < now.time() else 0
|
||||||
|
|
||||||
|
# Print the weather.
|
||||||
|
if weather in WEATHER_TYPES:
|
||||||
|
# Emoji is avaiable for usage.
|
||||||
|
print(weather + ": " + WEATHER_TYPES.get(weather)[is_night] + " ", end="")
|
||||||
|
else:
|
||||||
|
# No emoji available, use regular text.
|
||||||
|
print(weather + " ", end="")
|
||||||
|
|
||||||
|
# Print the temperature and sun times.
|
||||||
|
print(temperature, end="°C ")
|
||||||
|
|
||||||
|
# Print the sun rise and set time.
|
||||||
|
if rise_fall_available:
|
||||||
|
print("[" + sun_rise_time + " 🌅 " + sun_set_time + "]", end=" ")
|
||||||
|
|
||||||
|
# Print the precipitation (if there is any).
|
||||||
|
if precipitation != "0":
|
||||||
|
# Print with a wet umbrella
|
||||||
|
print("| ☔ " + precipitation + "mm", end=" ")
|
||||||
|
|
||||||
|
# Print wind data.
|
||||||
|
print("| 🍃 " + wind_speed + "m/s " + "(" + wind_direction + ")", end="")
|
||||||
|
|
||||||
|
# Go gadget, go!
|
||||||
|
main()
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
echo " $(~/.config/i3blocks/weather/weather.py) "
|
||||||
Binary file not shown.
@@ -0,0 +1,102 @@
|
|||||||
|
#include <stdlib.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <signal.h>
|
||||||
|
#include <time.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
// Sleep time between daemon updates.
|
||||||
|
#define SLEEP_TIME_S 300
|
||||||
|
|
||||||
|
// Test for internet connection. Returns true if connection is established.
|
||||||
|
static int test_internet_connection()
|
||||||
|
{
|
||||||
|
const char *cmd = "nc -zw1 google.com 443 1> /dev/null 2>&1";
|
||||||
|
return !system(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Signal handler for signaling the weather applet.
|
||||||
|
static void timer_handler(int sig, siginfo_t *si, void *uc)
|
||||||
|
{
|
||||||
|
(void) sig; // Ignore parameter.
|
||||||
|
(void) si; // Ignore parameter.
|
||||||
|
(void) uc; // Ignore parameter.
|
||||||
|
|
||||||
|
// Test for internet connection till found or 20 times.
|
||||||
|
for (int i = 0; i < 20; ++i)
|
||||||
|
{
|
||||||
|
if (test_internet_connection())
|
||||||
|
{
|
||||||
|
// Connection established. Break out.
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Retry every second.
|
||||||
|
sleep(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Signal the weather applet.
|
||||||
|
const char *cmd = "pkill -RTMIN+2 i3blocks";
|
||||||
|
if ( system(cmd) )
|
||||||
|
{
|
||||||
|
// Error message should be printed to stdout since stdout is the way to
|
||||||
|
// interface with a user in i3blocks.
|
||||||
|
puts("WEATHER_SIGNALER ERROR\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int timer_init_launch(
|
||||||
|
timer_t *timer,
|
||||||
|
struct sigevent *sev,
|
||||||
|
struct sigaction *sa,
|
||||||
|
struct itimerspec *tspec)
|
||||||
|
{
|
||||||
|
// Event initialization.
|
||||||
|
sev->sigev_notify = SIGEV_SIGNAL;
|
||||||
|
sev->sigev_signo = SIGRTMIN;
|
||||||
|
sev->sigev_value.sival_ptr = timer;
|
||||||
|
|
||||||
|
// Signal action type initializaion.
|
||||||
|
sa->sa_flags = SA_SIGINFO;
|
||||||
|
sa->sa_sigaction = timer_handler;
|
||||||
|
sigemptyset(&sa->sa_mask);
|
||||||
|
if (sigaction(SIGRTMIN, sa, NULL) == -1)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
// Initialze timer.
|
||||||
|
if (timer_create(CLOCK_BOOTTIME, sev, timer) == -1)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
// Start the timer.
|
||||||
|
tspec->it_value.tv_sec = SLEEP_TIME_S;
|
||||||
|
tspec->it_value.tv_nsec = 0;
|
||||||
|
tspec->it_interval.tv_sec = SLEEP_TIME_S;
|
||||||
|
tspec->it_interval.tv_nsec = 0;
|
||||||
|
if (timer_settime(*timer, 0, tspec, NULL) == -1)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
// Initialization successful.
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
timer_t timer;
|
||||||
|
struct sigevent sev;
|
||||||
|
struct sigaction sa;
|
||||||
|
struct itimerspec tspec;
|
||||||
|
|
||||||
|
// Initialize signaler
|
||||||
|
if (timer_init_launch(&timer, &sev, &sa, &tspec))
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
|
||||||
|
// Signal on daemon launch.
|
||||||
|
sleep(1);
|
||||||
|
timer_handler(0, NULL, NULL);
|
||||||
|
|
||||||
|
while(1)
|
||||||
|
{
|
||||||
|
sleep(100);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,864 @@
|
|||||||
|
# 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="off"
|
||||||
|
|
||||||
|
|
||||||
|
# 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="off"
|
||||||
|
|
||||||
|
# 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="mib"
|
||||||
|
|
||||||
|
|
||||||
|
# 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="off"
|
||||||
|
|
||||||
|
# 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="off"
|
||||||
|
|
||||||
|
|
||||||
|
# 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=('/')
|
||||||
|
|
||||||
|
# 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 15)
|
||||||
|
|
||||||
|
# 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="off"
|
||||||
|
memory_display="off"
|
||||||
|
battery_display="off"
|
||||||
|
disk_display="off"
|
||||||
|
|
||||||
|
|
||||||
|
# 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"
|
||||||
@@ -0,0 +1,512 @@
|
|||||||
|
#################################
|
||||||
|
# Animations #
|
||||||
|
#################################
|
||||||
|
# requires https://github.com/jonaburg/picom
|
||||||
|
# (These are also the default values)
|
||||||
|
transition-length = 300
|
||||||
|
transition-pow-x = 0.1
|
||||||
|
transition-pow-y = 0.1
|
||||||
|
transition-pow-w = 0.1
|
||||||
|
transition-pow-h = 0.1
|
||||||
|
size-transition = true
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Corners #
|
||||||
|
#################################
|
||||||
|
# requires: https://github.com/sdhand/compton or https://github.com/jonaburg/picom
|
||||||
|
corner-radius = 12.0;
|
||||||
|
rounded-corners-exclude = [
|
||||||
|
#"window_type = 'normal'",
|
||||||
|
"class_g = 'awesome'",
|
||||||
|
"class_g = 'URxvt'",
|
||||||
|
"class_g = 'XTerm'",
|
||||||
|
"class_g = 'kitty'",
|
||||||
|
#"class_g = 'Alacritty'",
|
||||||
|
"class_g = 'Polybar'",
|
||||||
|
"class_g = 'code-oss'",
|
||||||
|
#"class_g = 'TelegramDesktop'",
|
||||||
|
#"class_g = 'firefox'",
|
||||||
|
"class_g = 'Thunderbird'"
|
||||||
|
];
|
||||||
|
round-borders = 1;
|
||||||
|
round-borders-exclude = [
|
||||||
|
#"class_g = 'TelegramDesktop'",
|
||||||
|
];
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# 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 = false;
|
||||||
|
|
||||||
|
# The blur radius for shadows, in pixels. (defaults to 12)
|
||||||
|
# shadow-radius = 12
|
||||||
|
shadow-radius = 7;
|
||||||
|
|
||||||
|
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
|
||||||
|
# shadow-opacity = .75
|
||||||
|
|
||||||
|
# The left offset for shadows, in pixels. (defaults to -15)
|
||||||
|
# shadow-offset-x = -15
|
||||||
|
shadow-offset-x = -7;
|
||||||
|
|
||||||
|
# The top offset for shadows, in pixels. (defaults to -15)
|
||||||
|
# shadow-offset-y = -15
|
||||||
|
shadow-offset-y = -7;
|
||||||
|
|
||||||
|
# Avoid drawing shadows on dock/panel windows. This option is deprecated,
|
||||||
|
# you should use the *wintypes* option in your config file instead.
|
||||||
|
#
|
||||||
|
# no-dock-shadow = false
|
||||||
|
|
||||||
|
# Don't draw shadows on drag-and-drop windows. This option is deprecated,
|
||||||
|
# you should use the *wintypes* option in your config file instead.
|
||||||
|
#
|
||||||
|
# no-dnd-shadow = false
|
||||||
|
|
||||||
|
# Red color value of shadow (0.0 - 1.0, defaults to 0).
|
||||||
|
# shadow-red = 0
|
||||||
|
|
||||||
|
# Green color value of shadow (0.0 - 1.0, defaults to 0).
|
||||||
|
# shadow-green = 0
|
||||||
|
|
||||||
|
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
|
||||||
|
# shadow-blue = 0
|
||||||
|
|
||||||
|
# Do not paint shadows on shaped windows. Note shaped windows
|
||||||
|
# here means windows setting its shape through X Shape extension.
|
||||||
|
# Those using ARGB background is beyond our control.
|
||||||
|
# Deprecated, use
|
||||||
|
# shadow-exclude = 'bounding_shaped'
|
||||||
|
# or
|
||||||
|
# shadow-exclude = 'bounding_shaped && !rounded_corners'
|
||||||
|
# instead.
|
||||||
|
#
|
||||||
|
# shadow-ignore-shaped = ''
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should have no shadow.
|
||||||
|
#
|
||||||
|
# examples:
|
||||||
|
# shadow-exclude = "n:e:Notification";
|
||||||
|
#
|
||||||
|
# shadow-exclude = []
|
||||||
|
shadow-exclude = [
|
||||||
|
"name = 'Notification'",
|
||||||
|
"class_g = 'Conky'",
|
||||||
|
"class_g ?= 'Notify-osd'",
|
||||||
|
"class_g = 'Cairo-clock'",
|
||||||
|
"class_g = 'slop'",
|
||||||
|
"class_g = 'Polybar'",
|
||||||
|
"_GTK_FRAME_EXTENTS@:c"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Specify a X geometry that describes the region in which shadow should not
|
||||||
|
# be painted in, such as a dock window region. Use
|
||||||
|
# shadow-exclude-reg = "x10+0+0"
|
||||||
|
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
|
||||||
|
#
|
||||||
|
# shadow-exclude-reg = ""
|
||||||
|
|
||||||
|
# Crop shadow of a window fully on a particular Xinerama screen to the screen.
|
||||||
|
# xinerama-shadow-crop = false
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Fading #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
|
||||||
|
# Fade windows in/out when opening/closing and when opacity changes,
|
||||||
|
# unless no-fading-openclose is used.
|
||||||
|
# fading = false
|
||||||
|
fading = true;
|
||||||
|
|
||||||
|
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
|
||||||
|
# fade-in-step = 0.028
|
||||||
|
fade-in-step = 0.05;
|
||||||
|
|
||||||
|
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
||||||
|
# fade-out-step = 0.03
|
||||||
|
fade-out-step = 0.05;
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
# don't need this, we disable fading for all normal windows with wintypes: {}
|
||||||
|
fade-exclude = [
|
||||||
|
"class_g = 'slop'" # maim
|
||||||
|
]
|
||||||
|
|
||||||
|
# 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.75;
|
||||||
|
|
||||||
|
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
|
||||||
|
# frame-opacity = 1.0
|
||||||
|
frame-opacity = 0.7;
|
||||||
|
|
||||||
|
# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0)
|
||||||
|
# menu-opacity = 1.0
|
||||||
|
# menu-opacity is depreciated use dropdown-menu and popup-menu instead.
|
||||||
|
|
||||||
|
#If using these 2 below change their values in line 510 & 511 aswell
|
||||||
|
popup_menu = { opacity = 0.8; }
|
||||||
|
dropdown_menu = { opacity = 0.8; }
|
||||||
|
|
||||||
|
|
||||||
|
# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
|
||||||
|
# inactive-opacity-override = true
|
||||||
|
inactive-opacity-override = false;
|
||||||
|
|
||||||
|
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
|
||||||
|
active-opacity = 0.95;
|
||||||
|
|
||||||
|
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
|
||||||
|
# inactive-dim = 0.0
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should always be considered focused.
|
||||||
|
# focus-exclude = []
|
||||||
|
focus-exclude = [
|
||||||
|
"class_g = 'Cairo-clock'",
|
||||||
|
"class_g = 'Bar'", # lemonbar
|
||||||
|
"class_g = 'slop'" # maim
|
||||||
|
];
|
||||||
|
|
||||||
|
# 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 = []
|
||||||
|
opacity-rule = [
|
||||||
|
"80:class_g = 'Bar'", # lemonbar
|
||||||
|
"100:class_g = 'slop'", # maim
|
||||||
|
"100:class_g = 'XTerm'",
|
||||||
|
"100:class_g = 'URxvt'",
|
||||||
|
"100:class_g = 'kitty'",
|
||||||
|
#"100:class_g = 'Alacritty'",
|
||||||
|
"80:class_g = 'Polybar'",
|
||||||
|
"100:class_g = 'code-oss'",
|
||||||
|
"100:class_g = 'Meld'",
|
||||||
|
"70:class_g = 'TelegramDesktop'",
|
||||||
|
"90:class_g = 'Joplin'",
|
||||||
|
#"100:class_g = 'firefox'",
|
||||||
|
"100:class_g = 'Thunderbird'"
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Background-Blurring #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
|
||||||
|
# Parameters for background blurring, see the *BLUR* section for more information.
|
||||||
|
# blur-method =
|
||||||
|
# blur-size = 12
|
||||||
|
#
|
||||||
|
# blur-deviation = false
|
||||||
|
|
||||||
|
# Blur background of semi-transparent / ARGB windows.
|
||||||
|
# Bad in performance, with driver-dependent behavior.
|
||||||
|
# The name of the switch may change without prior notifications.
|
||||||
|
#
|
||||||
|
# blur-background = true;
|
||||||
|
|
||||||
|
# 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";
|
||||||
|
|
||||||
|
blur: {
|
||||||
|
# requires: https://github.com/ibhagwan/picom
|
||||||
|
method = "kawase";
|
||||||
|
#method = "kernel";
|
||||||
|
strength = 5;
|
||||||
|
# deviation = 1.0;
|
||||||
|
# kernel = "11x11gaussian";
|
||||||
|
background = false;
|
||||||
|
background-frame = false;
|
||||||
|
background-fixed = false;
|
||||||
|
kern = "3x3box";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Exclude conditions for background blur.
|
||||||
|
blur-background-exclude = [
|
||||||
|
#"window_type = 'dock'",
|
||||||
|
#"window_type = 'desktop'",
|
||||||
|
#"class_g = 'URxvt'",
|
||||||
|
#
|
||||||
|
# prevents picom from blurring the background
|
||||||
|
# when taking selection screenshot with `main`
|
||||||
|
# https://github.com/naelstrof/maim/issues/130
|
||||||
|
"class_g = 'slop'",
|
||||||
|
"_GTK_FRAME_EXTENTS@:c"
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# General Settings #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
|
||||||
|
# daemon = false
|
||||||
|
|
||||||
|
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
|
||||||
|
# `xrender` is the default one.
|
||||||
|
#
|
||||||
|
experimental-backends = true;
|
||||||
|
backend = "glx";
|
||||||
|
#backend = "xrender";
|
||||||
|
|
||||||
|
|
||||||
|
# Enable/disable VSync.
|
||||||
|
# vsync = false
|
||||||
|
vsync = false
|
||||||
|
|
||||||
|
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
|
||||||
|
# dbus = false
|
||||||
|
|
||||||
|
# Try to detect WM windows (a non-override-redirect window with no
|
||||||
|
# child that has 'WM_STATE') and mark them as active.
|
||||||
|
#
|
||||||
|
# mark-wmwin-focused = false
|
||||||
|
mark-wmwin-focused = true;
|
||||||
|
|
||||||
|
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
|
||||||
|
# mark-ovredir-focused = false
|
||||||
|
mark-ovredir-focused = true;
|
||||||
|
|
||||||
|
# Try to detect windows with rounded corners and don't consider them
|
||||||
|
# shaped windows. The accuracy is not very high, unfortunately.
|
||||||
|
#
|
||||||
|
# detect-rounded-corners = false
|
||||||
|
detect-rounded-corners = true;
|
||||||
|
|
||||||
|
# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
|
||||||
|
# not passing '_NET_WM_OPACITY' of client windows to frame windows.
|
||||||
|
#
|
||||||
|
# detect-client-opacity = false
|
||||||
|
detect-client-opacity = true;
|
||||||
|
|
||||||
|
# Specify refresh rate of the screen. If not specified or 0, picom will
|
||||||
|
# try detecting this with X RandR extension.
|
||||||
|
#
|
||||||
|
# refresh-rate = 60
|
||||||
|
refresh-rate = 60
|
||||||
|
|
||||||
|
# Limit picom to repaint at most once every 1 / 'refresh_rate' second to
|
||||||
|
# boost performance. This should not be used with
|
||||||
|
# vsync drm/opengl/opengl-oml
|
||||||
|
# as they essentially does sw-opti's job already,
|
||||||
|
# unless you wish to specify a lower refresh rate than the actual value.
|
||||||
|
#
|
||||||
|
# sw-opti =
|
||||||
|
|
||||||
|
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
|
||||||
|
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
|
||||||
|
# provided that the WM supports it.
|
||||||
|
#
|
||||||
|
# use-ewmh-active-win = false
|
||||||
|
|
||||||
|
# Unredirect all windows if a full-screen opaque window is detected,
|
||||||
|
# to maximize performance for full-screen windows. Known to cause flickering
|
||||||
|
# when redirecting/unredirecting windows. paint-on-overlay may make the flickering less obvious.
|
||||||
|
#
|
||||||
|
# unredir-if-possible = false
|
||||||
|
|
||||||
|
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
|
||||||
|
# unredir-if-possible-delay = 0
|
||||||
|
|
||||||
|
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
|
||||||
|
# unredir-if-possible-exclude = []
|
||||||
|
|
||||||
|
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
|
||||||
|
# in the same group focused at the same time.
|
||||||
|
#
|
||||||
|
# detect-transient = false
|
||||||
|
detect-transient = true
|
||||||
|
|
||||||
|
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
|
||||||
|
# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if
|
||||||
|
# detect-transient is enabled, too.
|
||||||
|
#
|
||||||
|
# detect-client-leader = false
|
||||||
|
detect-client-leader = true
|
||||||
|
|
||||||
|
# Resize damaged region by a specific number of pixels.
|
||||||
|
# A positive value enlarges it while a negative one shrinks it.
|
||||||
|
# If the value is positive, those additional pixels will not be actually painted
|
||||||
|
# to screen, only used in blur calculation, and such. (Due to technical limitations,
|
||||||
|
# with use-damage, those pixels will still be incorrectly painted to screen.)
|
||||||
|
# Primarily used to fix the line corruption issues of blur,
|
||||||
|
# in which case you should use the blur radius value here
|
||||||
|
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
|
||||||
|
# with a 5x5 one you use `--resize-damage 2`, and so on).
|
||||||
|
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
|
||||||
|
#
|
||||||
|
# resize-damage = 1
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should be painted with inverted color.
|
||||||
|
# Resource-hogging, and is not well tested.
|
||||||
|
#
|
||||||
|
# invert-color-include = []
|
||||||
|
|
||||||
|
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
|
||||||
|
# Might cause incorrect opacity when rendering transparent content (but never
|
||||||
|
# practically happened) and may not work with blur-background.
|
||||||
|
# My tests show a 15% performance boost. Recommended.
|
||||||
|
#
|
||||||
|
# glx-no-stencil = false
|
||||||
|
|
||||||
|
# GLX backend: Avoid rebinding pixmap on window damage.
|
||||||
|
# Probably could improve performance on rapid window content changes,
|
||||||
|
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
|
||||||
|
# Recommended if it works.
|
||||||
|
#
|
||||||
|
# glx-no-rebind-pixmap = false
|
||||||
|
|
||||||
|
# Disable the use of damage information.
|
||||||
|
# This cause the whole screen to be redrawn everytime, instead of the part of the screen
|
||||||
|
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
|
||||||
|
# The opposing option is use-damage
|
||||||
|
#
|
||||||
|
# no-use-damage = false
|
||||||
|
#use-damage = true (Causing Weird Black semi opaque rectangles when terminal is opened)
|
||||||
|
#Changing use-damage to false fixes the problem
|
||||||
|
use-damage = false
|
||||||
|
|
||||||
|
# Use X Sync fence to sync clients' draw calls, to make sure all draw
|
||||||
|
# calls are finished before picom starts drawing. Needed on nvidia-drivers
|
||||||
|
# with GLX backend for some users.
|
||||||
|
#
|
||||||
|
# xrender-sync-fence = false
|
||||||
|
|
||||||
|
# GLX backend: Use specified GLSL fragment shader for rendering window contents.
|
||||||
|
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
|
||||||
|
# in the source tree for examples.
|
||||||
|
#
|
||||||
|
# glx-fshader-win = ''
|
||||||
|
|
||||||
|
# Force all windows to be painted with blending. Useful if you
|
||||||
|
# have a glx-fshader-win that could turn opaque pixels transparent.
|
||||||
|
#
|
||||||
|
# force-win-blend = false
|
||||||
|
|
||||||
|
# Do not use EWMH to detect fullscreen windows.
|
||||||
|
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
|
||||||
|
#
|
||||||
|
# no-ewmh-fullscreen = false
|
||||||
|
|
||||||
|
# Dimming bright windows so their brightness doesn't exceed this set value.
|
||||||
|
# Brightness of a window is estimated by averaging all pixels in the window,
|
||||||
|
# so this could comes with a performance hit.
|
||||||
|
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
|
||||||
|
#
|
||||||
|
# max-brightness = 1.0
|
||||||
|
|
||||||
|
# Make transparent windows clip other windows like non-transparent windows do,
|
||||||
|
# instead of blending on top of them.
|
||||||
|
#
|
||||||
|
# transparent-clipping = false
|
||||||
|
|
||||||
|
# Set the log level. Possible values are:
|
||||||
|
# "trace", "debug", "info", "warn", "error"
|
||||||
|
# in increasing level of importance. Case doesn't matter.
|
||||||
|
# If using the "TRACE" log level, it's better to log into a file
|
||||||
|
# using *--log-file*, since it can generate a huge stream of logs.
|
||||||
|
#
|
||||||
|
# log-level = "debug"
|
||||||
|
log-level = "info";
|
||||||
|
|
||||||
|
# Set the log file.
|
||||||
|
# If *--log-file* is never specified, logs will be written to stderr.
|
||||||
|
# Otherwise, logs will to written to the given file, though some of the early
|
||||||
|
# logs might still be written to the stderr.
|
||||||
|
# When setting this option from the config file, it is recommended to use an absolute path.
|
||||||
|
#
|
||||||
|
# log-file = '/path/to/your/log/file'
|
||||||
|
|
||||||
|
# Show all X errors (for debugging)
|
||||||
|
# show-all-xerrors = false
|
||||||
|
|
||||||
|
# Write process ID to a file.
|
||||||
|
# write-pid-path = '/path/to/your/log/file'
|
||||||
|
|
||||||
|
# Window type settings
|
||||||
|
#
|
||||||
|
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
|
||||||
|
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
|
||||||
|
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
|
||||||
|
# "tooltip", "notification", "combo", and "dnd".
|
||||||
|
#
|
||||||
|
# Following per window-type options are available: ::
|
||||||
|
#
|
||||||
|
# fade, shadow:::
|
||||||
|
# Controls window-type-specific shadow and fade settings.
|
||||||
|
#
|
||||||
|
# opacity:::
|
||||||
|
# Controls default opacity of the window type.
|
||||||
|
#
|
||||||
|
# focus:::
|
||||||
|
# Controls whether the window of this type is to be always considered focused.
|
||||||
|
# (By default, all window types except "normal" and "dialog" has this on.)
|
||||||
|
#
|
||||||
|
# full-shadow:::
|
||||||
|
# Controls whether shadow is drawn under the parts of the window that you
|
||||||
|
# normally won't be able to see. Useful when the window has parts of it
|
||||||
|
# transparent, and you want shadows in those areas.
|
||||||
|
#
|
||||||
|
# redir-ignore:::
|
||||||
|
# Controls whether this type of windows should cause screen to become
|
||||||
|
# redirected again after been unredirected. If you have unredir-if-possible
|
||||||
|
# set, and doesn't want certain window to cause unnecessary screen redirection,
|
||||||
|
# you can set this to `true`.
|
||||||
|
#
|
||||||
|
wintypes:
|
||||||
|
{
|
||||||
|
normal = { fade = true; shadow = false; }
|
||||||
|
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
|
||||||
|
dock = { shadow = false; }
|
||||||
|
dnd = { shadow = false; }
|
||||||
|
popup_menu = { opacity = 0.8; }
|
||||||
|
dropdown_menu = { opacity = 0.8; }
|
||||||
|
};
|
||||||
@@ -0,0 +1,519 @@
|
|||||||
|
#################################
|
||||||
|
# Animations #
|
||||||
|
#################################
|
||||||
|
# requires https://github.com/jonaburg/picom
|
||||||
|
# (These are also the default values)
|
||||||
|
transition-length = 300
|
||||||
|
transition-pow-x = 0.1
|
||||||
|
transition-pow-y = 0.1
|
||||||
|
transition-pow-w = 0.1
|
||||||
|
transition-pow-h = 0.1
|
||||||
|
size-transition = true
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Corners #
|
||||||
|
#################################
|
||||||
|
# requires: https://github.com/sdhand/compton or https://github.com/jonaburg/picom
|
||||||
|
corner-radius = 0;
|
||||||
|
rounded-corners-exclude = [
|
||||||
|
#"window_type = 'normal'",
|
||||||
|
"class_g = 'awesome'",
|
||||||
|
"class_g = 'URxvt'",
|
||||||
|
"class_g = 'XTerm'",
|
||||||
|
"class_g = 'kitty'",
|
||||||
|
#"class_g = 'Alacritty'",
|
||||||
|
"class_g = 'Polybar'",
|
||||||
|
"class_g = 'code-oss'",
|
||||||
|
#"class_g = 'TelegramDesktop'",
|
||||||
|
#"class_g = 'firefox'",
|
||||||
|
"class_g = 'Thunderbird'"
|
||||||
|
];
|
||||||
|
round-borders = 0;
|
||||||
|
round-borders-exclude = [
|
||||||
|
"class_g = 'Alacritty'",
|
||||||
|
#"class_g = 'TelegramDesktop'",
|
||||||
|
];
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# 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 = false;
|
||||||
|
|
||||||
|
# The blur radius for shadows, in pixels. (defaults to 12)
|
||||||
|
# shadow-radius = 12
|
||||||
|
shadow-radius = 7;
|
||||||
|
|
||||||
|
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
|
||||||
|
# shadow-opacity = .75
|
||||||
|
|
||||||
|
# The left offset for shadows, in pixels. (defaults to -15)
|
||||||
|
# shadow-offset-x = -15
|
||||||
|
shadow-offset-x = -7;
|
||||||
|
|
||||||
|
# The top offset for shadows, in pixels. (defaults to -15)
|
||||||
|
# shadow-offset-y = -15
|
||||||
|
shadow-offset-y = -7;
|
||||||
|
|
||||||
|
# Avoid drawing shadows on dock/panel windows. This option is deprecated,
|
||||||
|
# you should use the *wintypes* option in your config file instead.
|
||||||
|
#
|
||||||
|
# no-dock-shadow = false
|
||||||
|
|
||||||
|
# Don't draw shadows on drag-and-drop windows. This option is deprecated,
|
||||||
|
# you should use the *wintypes* option in your config file instead.
|
||||||
|
#
|
||||||
|
# no-dnd-shadow = false
|
||||||
|
|
||||||
|
# Red color value of shadow (0.0 - 1.0, defaults to 0).
|
||||||
|
# shadow-red = 0
|
||||||
|
|
||||||
|
# Green color value of shadow (0.0 - 1.0, defaults to 0).
|
||||||
|
# shadow-green = 0
|
||||||
|
|
||||||
|
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
|
||||||
|
# shadow-blue = 0
|
||||||
|
|
||||||
|
# Do not paint shadows on shaped windows. Note shaped windows
|
||||||
|
# here means windows setting its shape through X Shape extension.
|
||||||
|
# Those using ARGB background is beyond our control.
|
||||||
|
# Deprecated, use
|
||||||
|
# shadow-exclude = 'bounding_shaped'
|
||||||
|
# or
|
||||||
|
# shadow-exclude = 'bounding_shaped && !rounded_corners'
|
||||||
|
# instead.
|
||||||
|
#
|
||||||
|
# shadow-ignore-shaped = ''
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should have no shadow.
|
||||||
|
#
|
||||||
|
# examples:
|
||||||
|
# shadow-exclude = "n:e:Notification";
|
||||||
|
#
|
||||||
|
# shadow-exclude = []
|
||||||
|
shadow-exclude = [
|
||||||
|
"name = 'Notification'",
|
||||||
|
"class_g = 'Conky'",
|
||||||
|
"class_g ?= 'Notify-osd'",
|
||||||
|
"class_g = 'Cairo-clock'",
|
||||||
|
"class_g = 'slop'",
|
||||||
|
"class_g = 'Polybar'",
|
||||||
|
"_GTK_FRAME_EXTENTS@:c"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Specify a X geometry that describes the region in which shadow should not
|
||||||
|
# be painted in, such as a dock window region. Use
|
||||||
|
# shadow-exclude-reg = "x10+0+0"
|
||||||
|
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
|
||||||
|
#
|
||||||
|
# shadow-exclude-reg = ""
|
||||||
|
|
||||||
|
# Crop shadow of a window fully on a particular Xinerama screen to the screen.
|
||||||
|
# xinerama-shadow-crop = false
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Fading #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
|
||||||
|
# Fade windows in/out when opening/closing and when opacity changes,
|
||||||
|
# unless no-fading-openclose is used.
|
||||||
|
# fading = false
|
||||||
|
fading = true;
|
||||||
|
|
||||||
|
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
|
||||||
|
# fade-in-step = 0.028
|
||||||
|
fade-in-step = 0.03;
|
||||||
|
|
||||||
|
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
||||||
|
# fade-out-step = 0.03
|
||||||
|
fade-out-step = 0.03;
|
||||||
|
|
||||||
|
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
|
||||||
|
# fade-delta = 10
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should not be faded.
|
||||||
|
# don't need this, we disable fading for all normal windows with wintypes: {}
|
||||||
|
fade-exclude = [
|
||||||
|
"class_g = 'slop'" # maim
|
||||||
|
]
|
||||||
|
|
||||||
|
# Do not fade on window open/close.
|
||||||
|
# no-fading-openclose = false
|
||||||
|
|
||||||
|
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
|
||||||
|
# no-fading-destroyed-argb = false
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Transparency / Opacity #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
|
||||||
|
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
|
||||||
|
# inactive-opacity = 1
|
||||||
|
inactive-opacity = 0.8;
|
||||||
|
|
||||||
|
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
|
||||||
|
# frame-opacity = 1.0
|
||||||
|
frame-opacity = 0.7;
|
||||||
|
|
||||||
|
# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0)
|
||||||
|
# menu-opacity = 1.0
|
||||||
|
# menu-opacity is depreciated use dropdown-menu and popup-menu instead.
|
||||||
|
|
||||||
|
#If using these 2 below change their values in line 510 & 511 aswell
|
||||||
|
popup_menu = { opacity = 0.8; }
|
||||||
|
dropdown_menu = { opacity = 0.8; }
|
||||||
|
|
||||||
|
|
||||||
|
# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
|
||||||
|
# inactive-opacity-override = true
|
||||||
|
inactive-opacity-override = false;
|
||||||
|
|
||||||
|
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
|
||||||
|
active-opacity = 1.0;
|
||||||
|
|
||||||
|
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
|
||||||
|
# inactive-dim = 0.0
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should always be considered focused.
|
||||||
|
# focus-exclude = []
|
||||||
|
focus-exclude = [
|
||||||
|
"class_g = 'Cairo-clock'",
|
||||||
|
"class_g = 'Bar'", # lemonbar
|
||||||
|
"class_g = 'slop'" # maim
|
||||||
|
];
|
||||||
|
|
||||||
|
# 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 = []
|
||||||
|
opacity-rule = [
|
||||||
|
"100:class_g = 'Bar'", # lemonbar
|
||||||
|
"100:class_g = 'slop'", # maim
|
||||||
|
"100:class_g = 'XTerm'",
|
||||||
|
"100:class_g = 'URxvt'",
|
||||||
|
"100:class_g = 'kitty'",
|
||||||
|
"100:class_g = 'Alacritty'",
|
||||||
|
"100:class_g = 'Polybar'",
|
||||||
|
"100:class_g = 'code-oss'",
|
||||||
|
"100:class_g = 'Meld'",
|
||||||
|
"100:class_g = 'Rofi'",
|
||||||
|
"100:class_g = 'TelegramDesktop'",
|
||||||
|
"80:class_g = 'conky'",
|
||||||
|
"100:class_g = 'kitty'",
|
||||||
|
"100:class_g = 'Gedit'",
|
||||||
|
"100:class_g = 'Org.gnome.Nautilus'",
|
||||||
|
"85:class_g = 'Spotify'",
|
||||||
|
"100:class_g = 'Code'",
|
||||||
|
"100:class_g = 'jetbrains-webstorm'",
|
||||||
|
"100:class_g = 'Thunderbird'"
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Background-Blurring #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
|
||||||
|
# Parameters for background blurring, see the *BLUR* section for more information.
|
||||||
|
# blur-method =
|
||||||
|
# blur-size = 13
|
||||||
|
#
|
||||||
|
# blur-deviation = false
|
||||||
|
|
||||||
|
# Blur background of semi-transparent / ARGB windows.
|
||||||
|
# Bad in performance, with driver-dependent behavior.
|
||||||
|
# The name of the switch may change without prior notifications.
|
||||||
|
#
|
||||||
|
# blur-background = true;
|
||||||
|
|
||||||
|
# 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";
|
||||||
|
|
||||||
|
blur: {
|
||||||
|
# requires: https://github.com/ibhagwan/picom
|
||||||
|
method = "kawase";
|
||||||
|
#method = "kernel";
|
||||||
|
strength = 7;
|
||||||
|
# deviation = 1.0;
|
||||||
|
# kernel = "11x11gaussian";
|
||||||
|
background = false;
|
||||||
|
background-frame = false;
|
||||||
|
background-fixed = false;
|
||||||
|
kern = "3x3box";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Exclude conditions for background blur.
|
||||||
|
blur-background-exclude = [
|
||||||
|
#"window_type = 'dock'",
|
||||||
|
#"window_type = 'desktop'",
|
||||||
|
#"class_g = 'URxvt'",
|
||||||
|
#
|
||||||
|
# prevents picom from blurring the background
|
||||||
|
# when taking selection screenshot with `main`
|
||||||
|
# https://github.com/naelstrof/maim/issues/130
|
||||||
|
"class_g = 'slop'",
|
||||||
|
"_GTK_FRAME_EXTENTS@:c"
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# General Settings #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
|
||||||
|
# daemon = false
|
||||||
|
|
||||||
|
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
|
||||||
|
# `xrender` is the default one.
|
||||||
|
#
|
||||||
|
experimental-backends = true;
|
||||||
|
backend = "glx";
|
||||||
|
#backend = "xrender";
|
||||||
|
|
||||||
|
|
||||||
|
# Enable/disable VSync.
|
||||||
|
# vsync = false
|
||||||
|
vsync = true
|
||||||
|
|
||||||
|
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
|
||||||
|
# dbus = false
|
||||||
|
|
||||||
|
# Try to detect WM windows (a non-override-redirect window with no
|
||||||
|
# child that has 'WM_STATE') and mark them as active.
|
||||||
|
#
|
||||||
|
# mark-wmwin-focused = false
|
||||||
|
mark-wmwin-focused = true;
|
||||||
|
|
||||||
|
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
|
||||||
|
# mark-ovredir-focused = false
|
||||||
|
mark-ovredir-focused = true;
|
||||||
|
|
||||||
|
# Try to detect windows with rounded corners and don't consider them
|
||||||
|
# shaped windows. The accuracy is not very high, unfortunately.
|
||||||
|
#
|
||||||
|
# detect-rounded-corners = false
|
||||||
|
detect-rounded-corners = true;
|
||||||
|
|
||||||
|
# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
|
||||||
|
# not passing '_NET_WM_OPACITY' of client windows to frame windows.
|
||||||
|
#
|
||||||
|
# detect-client-opacity = false
|
||||||
|
detect-client-opacity = true;
|
||||||
|
|
||||||
|
# Specify refresh rate of the screen. If not specified or 0, picom will
|
||||||
|
# try detecting this with X RandR extension.
|
||||||
|
#
|
||||||
|
# refresh-rate = 60
|
||||||
|
refresh-rate = 0
|
||||||
|
|
||||||
|
# Limit picom to repaint at most once every 1 / 'refresh_rate' second to
|
||||||
|
# boost performance. This should not be used with
|
||||||
|
# vsync drm/opengl/opengl-oml
|
||||||
|
# as they essentially does sw-opti's job already,
|
||||||
|
# unless you wish to specify a lower refresh rate than the actual value.
|
||||||
|
#
|
||||||
|
# sw-opti =
|
||||||
|
|
||||||
|
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
|
||||||
|
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
|
||||||
|
# provided that the WM supports it.
|
||||||
|
#
|
||||||
|
# use-ewmh-active-win = false
|
||||||
|
|
||||||
|
# Unredirect all windows if a full-screen opaque window is detected,
|
||||||
|
# to maximize performance for full-screen windows. Known to cause flickering
|
||||||
|
# when redirecting/unredirecting windows. paint-on-overlay may make the flickering less obvious.
|
||||||
|
#
|
||||||
|
# unredir-if-possible = false
|
||||||
|
|
||||||
|
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
|
||||||
|
# unredir-if-possible-delay = 0
|
||||||
|
|
||||||
|
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
|
||||||
|
# unredir-if-possible-exclude = []
|
||||||
|
|
||||||
|
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
|
||||||
|
# in the same group focused at the same time.
|
||||||
|
#
|
||||||
|
# detect-transient = false
|
||||||
|
detect-transient = true
|
||||||
|
|
||||||
|
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
|
||||||
|
# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if
|
||||||
|
# detect-transient is enabled, too.
|
||||||
|
#
|
||||||
|
# detect-client-leader = false
|
||||||
|
detect-client-leader = true
|
||||||
|
|
||||||
|
# Resize damaged region by a specific number of pixels.
|
||||||
|
# A positive value enlarges it while a negative one shrinks it.
|
||||||
|
# If the value is positive, those additional pixels will not be actually painted
|
||||||
|
# to screen, only used in blur calculation, and such. (Due to technical limitations,
|
||||||
|
# with use-damage, those pixels will still be incorrectly painted to screen.)
|
||||||
|
# Primarily used to fix the line corruption issues of blur,
|
||||||
|
# in which case you should use the blur radius value here
|
||||||
|
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
|
||||||
|
# with a 5x5 one you use `--resize-damage 2`, and so on).
|
||||||
|
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
|
||||||
|
#
|
||||||
|
# resize-damage = 1
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should be painted with inverted color.
|
||||||
|
# Resource-hogging, and is not well tested.
|
||||||
|
#
|
||||||
|
# invert-color-include = []
|
||||||
|
|
||||||
|
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
|
||||||
|
# Might cause incorrect opacity when rendering transparent content (but never
|
||||||
|
# practically happened) and may not work with blur-background.
|
||||||
|
# My tests show a 15% performance boost. Recommended.
|
||||||
|
#
|
||||||
|
# glx-no-stencil = false
|
||||||
|
|
||||||
|
# GLX backend: Avoid rebinding pixmap on window damage.
|
||||||
|
# Probably could improve performance on rapid window content changes,
|
||||||
|
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
|
||||||
|
# Recommended if it works.
|
||||||
|
#
|
||||||
|
# glx-no-rebind-pixmap = false
|
||||||
|
|
||||||
|
# Disable the use of damage information.
|
||||||
|
# This cause the whole screen to be redrawn everytime, instead of the part of the screen
|
||||||
|
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
|
||||||
|
# The opposing option is use-damage
|
||||||
|
#
|
||||||
|
# no-use-damage = false
|
||||||
|
#use-damage = true (Causing Weird Black semi opaque rectangles when terminal is opened)
|
||||||
|
#Changing use-damage to false fixes the problem
|
||||||
|
use-damage = false
|
||||||
|
|
||||||
|
# Use X Sync fence to sync clients' draw calls, to make sure all draw
|
||||||
|
# calls are finished before picom starts drawing. Needed on nvidia-drivers
|
||||||
|
# with GLX backend for some users.
|
||||||
|
#
|
||||||
|
# xrender-sync-fence = false
|
||||||
|
|
||||||
|
# GLX backend: Use specified GLSL fragment shader for rendering window contents.
|
||||||
|
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
|
||||||
|
# in the source tree for examples.
|
||||||
|
#
|
||||||
|
# glx-fshader-win = ''
|
||||||
|
|
||||||
|
# Force all windows to be painted with blending. Useful if you
|
||||||
|
# have a glx-fshader-win that could turn opaque pixels transparent.
|
||||||
|
#
|
||||||
|
# force-win-blend = false
|
||||||
|
|
||||||
|
# Do not use EWMH to detect fullscreen windows.
|
||||||
|
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
|
||||||
|
#
|
||||||
|
# no-ewmh-fullscreen = false
|
||||||
|
|
||||||
|
# Dimming bright windows so their brightness doesn't exceed this set value.
|
||||||
|
# Brightness of a window is estimated by averaging all pixels in the window,
|
||||||
|
# so this could comes with a performance hit.
|
||||||
|
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
|
||||||
|
#
|
||||||
|
# max-brightness = 1.0
|
||||||
|
|
||||||
|
# Make transparent windows clip other windows like non-transparent windows do,
|
||||||
|
# instead of blending on top of them.
|
||||||
|
#
|
||||||
|
# transparent-clipping = false
|
||||||
|
|
||||||
|
# Set the log level. Possible values are:
|
||||||
|
# "trace", "debug", "info", "warn", "error"
|
||||||
|
# in increasing level of importance. Case doesn't matter.
|
||||||
|
# If using the "TRACE" log level, it's better to log into a file
|
||||||
|
# using *--log-file*, since it can generate a huge stream of logs.
|
||||||
|
#
|
||||||
|
# log-level = "debug"
|
||||||
|
log-level = "info";
|
||||||
|
|
||||||
|
# Set the log file.
|
||||||
|
# If *--log-file* is never specified, logs will be written to stderr.
|
||||||
|
# Otherwise, logs will to written to the given file, though some of the early
|
||||||
|
# logs might still be written to the stderr.
|
||||||
|
# When setting this option from the config file, it is recommended to use an absolute path.
|
||||||
|
#
|
||||||
|
# log-file = '/path/to/your/log/file'
|
||||||
|
|
||||||
|
# Show all X errors (for debugging)
|
||||||
|
# show-all-xerrors = false
|
||||||
|
|
||||||
|
# Write process ID to a file.
|
||||||
|
# write-pid-path = '/path/to/your/log/file'
|
||||||
|
|
||||||
|
# Window type settings
|
||||||
|
#
|
||||||
|
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
|
||||||
|
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
|
||||||
|
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
|
||||||
|
# "tooltip", "notification", "combo", and "dnd".
|
||||||
|
#
|
||||||
|
# Following per window-type options are available: ::
|
||||||
|
#
|
||||||
|
# fade, shadow:::
|
||||||
|
# Controls window-type-specific shadow and fade settings.
|
||||||
|
#
|
||||||
|
# opacity:::
|
||||||
|
# Controls default opacity of the window type.
|
||||||
|
#
|
||||||
|
# focus:::
|
||||||
|
# Controls whether the window of this type is to be always considered focused.
|
||||||
|
# (By default, all window types except "normal" and "dialog" has this on.)
|
||||||
|
#
|
||||||
|
# full-shadow:::
|
||||||
|
# Controls whether shadow is drawn under the parts of the window that you
|
||||||
|
# normally won't be able to see. Useful when the window has parts of it
|
||||||
|
# transparent, and you want shadows in those areas.
|
||||||
|
#
|
||||||
|
# redir-ignore:::
|
||||||
|
# Controls whether this type of windows should cause screen to become
|
||||||
|
# redirected again after been unredirected. If you have unredir-if-possible
|
||||||
|
# set, and doesn't want certain window to cause unnecessary screen redirection,
|
||||||
|
# you can set this to `true`.
|
||||||
|
#
|
||||||
|
wintypes:
|
||||||
|
{
|
||||||
|
normal = { fade = false; shadow = false; }
|
||||||
|
tooltip = { fade = true; shadow = true; opacity = 0.9; focus = true; full-shadow = false; };
|
||||||
|
dock = { shadow = false; }
|
||||||
|
dnd = { shadow = false; }
|
||||||
|
popup_menu = { opacity = 0.9; }
|
||||||
|
dropdown_menu = { opacity = 0.9; }
|
||||||
|
};
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
; vim:ft=dosini
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
background = #282828
|
||||||
|
buffer = #3c3836
|
||||||
|
foreground = #ebdbb2
|
||||||
|
nord6 = #fbf1c7
|
||||||
|
;yellow lite
|
||||||
|
nord7 = #8ec07c
|
||||||
|
;green light
|
||||||
|
nord8 = #83a598
|
||||||
|
;blue light
|
||||||
|
nord9 = #458588
|
||||||
|
;solaris green
|
||||||
|
urgent = #fb4934
|
||||||
|
;red
|
||||||
|
warning = #fe8019
|
||||||
|
;orange
|
||||||
|
notify = #fabd2f
|
||||||
|
;yellow
|
||||||
|
success = #b8bb26
|
||||||
|
; green light
|
||||||
|
function = #d3869b
|
||||||
|
; purple
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
; vim:ft=dosini
|
||||||
|
[global-wm]
|
||||||
|
include-file = $HOME/.config/polybar/dark-colors
|
||||||
|
include-file = $HOME/.config/polybar/nord-top
|
||||||
|
include-file = $HOME/.config/polybar/nord-down
|
||||||
|
include-file = $HOME/.config/polybar/nord-config
|
||||||
|
|
||||||
|
[bar/base]
|
||||||
|
theme = dark
|
||||||
|
monitor = ${config.monitor}
|
||||||
|
width = ${config.width}
|
||||||
|
height = ${config.height}
|
||||||
|
offset-x = ${config.offset-x}
|
||||||
|
offset-y = ${config.offset-y}
|
||||||
|
radius = ${config.radius}
|
||||||
|
|
||||||
|
fixed-center = ${config.fixed-center}
|
||||||
|
dpi = ${config.dpi}
|
||||||
|
|
||||||
|
background = ${colors.background}
|
||||||
|
foreground = ${colors.foreground}
|
||||||
|
|
||||||
|
line-size = ${config.line-size}
|
||||||
|
|
||||||
|
padding = 0
|
||||||
|
override-redirect = ${config.override-redirect}
|
||||||
|
wm-restack = ${config.wm-restack}
|
||||||
|
|
||||||
|
tray-padding = 3
|
||||||
|
tray-detached = false
|
||||||
|
tray-maxsize = 22
|
||||||
|
|
||||||
|
cursor-click = pointer
|
||||||
|
cursor-scroll = ns-resize
|
||||||
|
|
||||||
|
enable-ipc = true
|
||||||
|
|
||||||
|
[bar/nord-top]
|
||||||
|
inherit = bar/base
|
||||||
|
|
||||||
|
module-margin = 2
|
||||||
|
|
||||||
|
font-0 = WenQuanYiMicroHei:size=12
|
||||||
|
font-1 = FontAwesome6FreeSolid:pixelsize=12;1
|
||||||
|
font-2 = FontAwesome6FreeRegular:pixelsize=12;1
|
||||||
|
font-3 = FontAwesome6Brands:pixelsize=8;1
|
||||||
|
font-4 = FiraCodeRegular:pixelsize=12
|
||||||
|
|
||||||
|
modules-left = ${config.top-left}
|
||||||
|
modules-center = ${config.top-center}
|
||||||
|
modules-right = ${config.top-right}
|
||||||
|
|
||||||
|
tray-position = ${config.systray-top}
|
||||||
|
|
||||||
|
[bar/nord-down]
|
||||||
|
inherit = bar/base
|
||||||
|
|
||||||
|
bottom = true
|
||||||
|
|
||||||
|
module-margin = 2
|
||||||
|
|
||||||
|
|
||||||
|
font-0 = WenQuanYiMicroHei:size=12
|
||||||
|
font-1 = FontAwesome6FreeSolid:pixelsize=12;1
|
||||||
|
font-2 = FontAwesome6Brands:pixelsize=8;1
|
||||||
|
font-3 = Weather Icons:style=Regular:size=12;1
|
||||||
|
font-4 = FiraCodeRegular:pixelsize=12
|
||||||
|
|
||||||
|
modules-left = ${config.bottom-left}
|
||||||
|
modules-center = ${config.bottom-center}
|
||||||
|
modules-right = ${config.bottom-right}
|
||||||
|
|
||||||
|
tray-position = ${config.systray-bottom}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Terminate already running bar instances
|
||||||
|
killall -q polybar
|
||||||
|
killall -q glava
|
||||||
|
# Wait until the processes have been shut down
|
||||||
|
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
|
||||||
|
|
||||||
|
# Launch bar1 and bar2
|
||||||
|
if [ "$1" == "light" ]
|
||||||
|
then
|
||||||
|
polybar -c $HOME/.config/polybar/light-config nord-top &
|
||||||
|
polybar -c $HOME/.config/polybar/light-config nord-down &
|
||||||
|
glava --desktop &
|
||||||
|
else
|
||||||
|
polybar -c $HOME/.config/polybar/dark-config nord-top &
|
||||||
|
polybar -c $HOME/.config/polybar/dark-config nord-down &
|
||||||
|
glava --desktop &
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Bars launched..."
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
; vim:ft=dosini
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
background = #1D282828
|
||||||
|
buffer = #3c3836
|
||||||
|
foreground = #ebdbb2
|
||||||
|
nord6 = #fbf1c7
|
||||||
|
nord7 = #8ec07c
|
||||||
|
nord8 = #83a598
|
||||||
|
nord9 = #458588
|
||||||
|
urgent = #fb4934
|
||||||
|
warning = #fe8019
|
||||||
|
notify = #fabd2f
|
||||||
|
success = #b8bb26
|
||||||
|
function = #d3869b
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
; vim:ft=dosini
|
||||||
|
[global-wm]
|
||||||
|
include-file = $HOME/.config/polybar/light-colors
|
||||||
|
include-file = $HOME/.config/polybar/nord-top
|
||||||
|
include-file = $HOME/.config/polybar/nord-down
|
||||||
|
include-file = $HOME/.config/polybar/nord-config
|
||||||
|
|
||||||
|
[bar/base]
|
||||||
|
theme = light
|
||||||
|
monitor = ${config.monitor}
|
||||||
|
width = ${config.width}
|
||||||
|
height = ${config.height}
|
||||||
|
offset-x = ${config.offset-x}
|
||||||
|
offset-y = ${config.offset-y}
|
||||||
|
radius = ${config.radius}
|
||||||
|
|
||||||
|
fixed-center = ${config.fixed-center}
|
||||||
|
dpi = ${config.dpi}
|
||||||
|
|
||||||
|
background = ${colors.background}
|
||||||
|
foreground = ${colors.foreground}
|
||||||
|
|
||||||
|
line-size = ${config.line-size}
|
||||||
|
|
||||||
|
padding = 0
|
||||||
|
override-redirect = ${config.override-redirect}
|
||||||
|
wm-restack = ${config.wm-restack}
|
||||||
|
|
||||||
|
tray-padding = 3
|
||||||
|
tray-detached = false
|
||||||
|
tray-maxsize = 22
|
||||||
|
|
||||||
|
cursor-click = pointer
|
||||||
|
cursor-scroll = ns-resize
|
||||||
|
|
||||||
|
enable-ipc = true
|
||||||
|
|
||||||
|
[bar/nord-top]
|
||||||
|
inherit = bar/base
|
||||||
|
module-margin = 1
|
||||||
|
|
||||||
|
font-0 = FiraCodeRegular:pixelsize=12
|
||||||
|
font-1 = FontAwesome6FreeSolid:pixelsize=12;1
|
||||||
|
font-2 = FontAwesome6FreeRegular:pixelsize=12;1
|
||||||
|
font-3 = FontAwesome6Brands:pixelsize=8;1
|
||||||
|
font-4 = WenQuanYiMicroHei:size=12
|
||||||
|
|
||||||
|
modules-left = ${config.top-left}
|
||||||
|
modules-center = ${config.top-center}
|
||||||
|
modules-right = ${config.top-right}
|
||||||
|
|
||||||
|
tray-position = ${config.systray-top}
|
||||||
|
|
||||||
|
[bar/nord-down]
|
||||||
|
inherit = bar/base
|
||||||
|
bottom = true
|
||||||
|
|
||||||
|
padding = 2
|
||||||
|
module-margin = 2
|
||||||
|
|
||||||
|
font-0 = FiraCodeRegular:pixelsize=12
|
||||||
|
font-1 = FontAwesome6FreeSolid:pixelsize=12;1
|
||||||
|
font-2 = FontAwesome6FreeRegular:pixelsize=12;1
|
||||||
|
font-3 = FontAwesome6Brands:pixelsize=8;1
|
||||||
|
font-4 = Weather Icons:style=Regular:size=12;1
|
||||||
|
font-5 = WenQuanYiMicroHei:size=12
|
||||||
|
|
||||||
|
modules-left = ${config.bottom-left}
|
||||||
|
modules-center = ${config.bottom-center}
|
||||||
|
modules-right = ${config.bottom-right}
|
||||||
|
|
||||||
|
tray-position = ${config.systray-bottom}
|
||||||
|
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
;vim:ft=dosini
|
||||||
|
|
||||||
|
[config]
|
||||||
|
# DPI value for HiDPI screen
|
||||||
|
dpi = 87
|
||||||
|
monitor =
|
||||||
|
|
||||||
|
# bar position, apply globally
|
||||||
|
width = 100%
|
||||||
|
height = 3%
|
||||||
|
offset-x = 0
|
||||||
|
offset-y = 0
|
||||||
|
radius = 0.0
|
||||||
|
|
||||||
|
fixed-center = true
|
||||||
|
override-redirect = false
|
||||||
|
wm-restack = i3
|
||||||
|
|
||||||
|
# module list:
|
||||||
|
# alsa: Display current volume
|
||||||
|
# backlight: Display screen brightness
|
||||||
|
# date: Display date
|
||||||
|
# notify: Notify icon, can customize its binding
|
||||||
|
# network-short: Network connect icon, can customize its binding
|
||||||
|
# battery: Battery info
|
||||||
|
# keyboard: CapsLock indicator
|
||||||
|
# mpd: mpd status and controls
|
||||||
|
# i3: i3 workspace icons
|
||||||
|
# bspwm: bspwm workspace icons
|
||||||
|
# workspace-name: i3 current workspace name, need to be in the format like "1:Home"
|
||||||
|
# title: title of the active window
|
||||||
|
# network-detail: Download and upload speed
|
||||||
|
# weather: Display openweather info
|
||||||
|
# powermenu: menu to control system power
|
||||||
|
# info-hackspeed: Numper of characters clicked per minute
|
||||||
|
# daily-poem: Display poem
|
||||||
|
# temperature: Display internal temperature
|
||||||
|
# memory: Display memory usage
|
||||||
|
# cpu: Display cpu usage
|
||||||
|
# show-desktop: Display desktop (i3 only)
|
||||||
|
# clash-widget: showing clash service
|
||||||
|
# onedrive-widget: showing onedrive service
|
||||||
|
# clipmenu-widget: showing clipmenu service
|
||||||
|
|
||||||
|
# Top modules
|
||||||
|
top-left = rofi-run i3
|
||||||
|
top-center = spotify mpd
|
||||||
|
top-right = keyboard backlight alsa battery network-short date
|
||||||
|
|
||||||
|
# Bottom modules
|
||||||
|
bottom-left = powermenu info-hackspeed weather
|
||||||
|
bottom-center = title
|
||||||
|
bottom-right = network-detail temperature memory cpu
|
||||||
|
systray-top = none
|
||||||
|
systray-bottom = right
|
||||||
|
|
||||||
|
# global style
|
||||||
|
line-size = 3.5
|
||||||
|
|
||||||
|
# Modules configure option
|
||||||
|
# the default value in this section should work in most cases,
|
||||||
|
# if some of them doesn't suit your environment, you can change
|
||||||
|
# it from here.
|
||||||
|
# network interface, check by `ip link show`
|
||||||
|
interface = eno1
|
||||||
|
# when the current battery capacity excess this value,
|
||||||
|
# the full-capacity format will be displayed.
|
||||||
|
battery-full-at = 95
|
||||||
|
|
||||||
|
# battery and adapter
|
||||||
|
battery-bat = BAT1
|
||||||
|
battery-adp = ACAD
|
||||||
|
|
||||||
|
# soundcard setting
|
||||||
|
master-soundcard = default
|
||||||
|
speaker-soundcard = default
|
||||||
|
headphone-soundcard = default
|
||||||
|
master-mixer = Master
|
||||||
|
|
||||||
|
# mpd service connection setting
|
||||||
|
mpd-host = 127.0.0.1
|
||||||
|
mpd-port = 6600
|
||||||
|
|
||||||
|
thermal-zone = 7
|
||||||
|
# Base temperature for where to start the ramp (in degrees celsius)
|
||||||
|
base-temperature = 20
|
||||||
|
# Threshold temperature to display warning label (in degrees celsius)
|
||||||
|
warn-temperature = 70
|
||||||
|
|
||||||
|
# GitHub personal token, generate from https://github.com/settings/tokens/new?scopes=notifications&description=Notifier+for+Polybar
|
||||||
|
# where select at least `notifications` option
|
||||||
|
github-token = 00ed987a6d7efd532c5b4ca0849c2803228d1b5d
|
||||||
|
|
||||||
|
# notify module setting
|
||||||
|
notify-click-left = xdotool key control+grave
|
||||||
|
|
||||||
|
# network module setting
|
||||||
|
network-click-left = i3-msg workspace 2
|
||||||
|
|
||||||
|
# i3
|
||||||
|
# Only show workspaces defined on the same output as the bar
|
||||||
|
#
|
||||||
|
# Useful if you want to show monitor specific workspaces
|
||||||
|
# on different bars
|
||||||
|
#
|
||||||
|
# Default: false
|
||||||
|
i3-pin-workspaces = false
|
||||||
@@ -0,0 +1,374 @@
|
|||||||
|
; vim:ft=dosini
|
||||||
|
[module/i3]
|
||||||
|
type = internal/i3
|
||||||
|
|
||||||
|
pin-workspaces = ${config.i3-pin-workspaces}
|
||||||
|
|
||||||
|
strip-wsnumbers = true
|
||||||
|
|
||||||
|
index-sort = true
|
||||||
|
enable-click = true
|
||||||
|
enable-scroll = true
|
||||||
|
wrapping-scroll = true
|
||||||
|
reverse-scroll = true
|
||||||
|
|
||||||
|
fuzzy-match = false
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-state> (default) - gets replaced with <label-(focused|unfocused|visible|urgent)>
|
||||||
|
; <label-mode> (default)
|
||||||
|
format = <label-state> <label-mode>
|
||||||
|
|
||||||
|
; icons
|
||||||
|
ws-icon-0 = 1:Home;
|
||||||
|
ws-icon-1 = 2:Browser;
|
||||||
|
ws-icon-2 = 3:Coding;
|
||||||
|
ws-icon-3 = 4:Learning;
|
||||||
|
ws-icon-4 = 5:Fun;
|
||||||
|
ws-icon-5 = 25:Desktop;
|
||||||
|
ws-icon-default =
|
||||||
|
|
||||||
|
; color
|
||||||
|
label-focused =
|
||||||
|
label-focused-underline = #fbf1c7
|
||||||
|
label-focused-foreground = #ebdbb2
|
||||||
|
label-focused-padding = 2
|
||||||
|
|
||||||
|
label-unfocused = •
|
||||||
|
label-unfocused-foreground = #ebdbb2
|
||||||
|
label-unfocused-padding = 2
|
||||||
|
|
||||||
|
label-urgent =
|
||||||
|
label-urgent-foreground = ${colors.urgent}
|
||||||
|
label-urgent-background = ${colors.foreground}
|
||||||
|
label-urgent-padding = 2
|
||||||
|
|
||||||
|
; seperator
|
||||||
|
label-separator = |
|
||||||
|
label-separator-foreground = #ebdbb2
|
||||||
|
|
||||||
|
|
||||||
|
[module/pipewire]
|
||||||
|
type = custom/ipc
|
||||||
|
|
||||||
|
label = "%output%"
|
||||||
|
label-font = 1
|
||||||
|
|
||||||
|
hook-0 = ~/.config/polybar/scripts/sound.sh
|
||||||
|
hook-1 = ~/.config/polybar/scripts/sound.sh up
|
||||||
|
hook-2 = ~/.config/polybar/scripts/sound.sh down
|
||||||
|
hook-3 = ~/.config/polybar/scripts/sound.sh mute
|
||||||
|
hook-4 = sleep 1 && ~/.config/polybar/scripts/sound.sh
|
||||||
|
initial = 5
|
||||||
|
|
||||||
|
scroll-up = exec polybar-msg action "#pipewire.hook.1"
|
||||||
|
scroll-down = exec polybar-msg action "#pipewire.hook.2"
|
||||||
|
click-left = exec polybar-msg action "#pipewire.hook.3"
|
||||||
|
click-right = exec pavucontrol &
|
||||||
|
|
||||||
|
[module/kdeconnect]
|
||||||
|
type = custom/script
|
||||||
|
exec = "/home/sourav2k/.config/polybar/scripts/polybar-kdeconnect.sh -d"
|
||||||
|
tail = true
|
||||||
|
|
||||||
|
|
||||||
|
[module/bspwm]
|
||||||
|
type = internal/bspwm
|
||||||
|
|
||||||
|
ws-icon-0 = I;
|
||||||
|
ws-icon-1 = II;
|
||||||
|
ws-icon-2 = III;
|
||||||
|
ws-icon-3 = IV;
|
||||||
|
ws-icon-4 = V;
|
||||||
|
ws-icon-5 = VI;
|
||||||
|
ws-icon-6 = VII;
|
||||||
|
ws-icon-7 = VIII;
|
||||||
|
ws-icon-8 = IX;
|
||||||
|
ws-icon-9 = X;
|
||||||
|
|
||||||
|
|
||||||
|
label-focused = %icon%
|
||||||
|
label-focused-underline = ${colors.nord7}
|
||||||
|
label-focused-foreground = ${colors.nord7}
|
||||||
|
label-focused-padding = 2
|
||||||
|
|
||||||
|
label-occupied = %icon%
|
||||||
|
label-occupied-underline = ${colors.nord9}
|
||||||
|
label-occupied-foreground = ${colors.nord9}
|
||||||
|
label-occupied-padding = 2
|
||||||
|
|
||||||
|
label-empty = %icon%
|
||||||
|
label-empty-foreground = ${colors.buffer}
|
||||||
|
label-empty-padding = 2
|
||||||
|
|
||||||
|
label-urgent =
|
||||||
|
label-urgent-foreground = ${colors.urgent}
|
||||||
|
label-urgent-background = ${colors.foreground}
|
||||||
|
label-urgent-padding = 2
|
||||||
|
|
||||||
|
; seperator
|
||||||
|
label-separator = |
|
||||||
|
label-separator-foreground = ${colors.buffer}
|
||||||
|
|
||||||
|
[module/workspace-name]
|
||||||
|
type = internal/i3
|
||||||
|
strip-wsnumbers = true
|
||||||
|
|
||||||
|
format = <label-state>
|
||||||
|
|
||||||
|
label-focused = %name%
|
||||||
|
label-focused-padding = 2
|
||||||
|
label-focused-foreground = ${colors.nord7}
|
||||||
|
label-focused-underline = ${colors.nord7}
|
||||||
|
|
||||||
|
label-unfocused =
|
||||||
|
|
||||||
|
label-urgent = %name%
|
||||||
|
label-urgent-foreground = ${colors.urgent}
|
||||||
|
label-urgent-background = ${colors.foreground}
|
||||||
|
label-urgent-padding = 2
|
||||||
|
|
||||||
|
[module/title]
|
||||||
|
type = internal/xwindow
|
||||||
|
format-foreground = #fbf1c7
|
||||||
|
format-underline = #fbf1c7
|
||||||
|
format-padding = 4
|
||||||
|
|
||||||
|
label-maxlen = 30
|
||||||
|
label-empty = Sourav2k @ Arch Linux (Pavilion)
|
||||||
|
label-empty-foreground = #00282828
|
||||||
|
|
||||||
|
[module/date]
|
||||||
|
type = internal/date
|
||||||
|
interval = 1.0
|
||||||
|
; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string
|
||||||
|
; NOTE: if you want to use syntax tags here you need to use %%{...}
|
||||||
|
date-alt = %r
|
||||||
|
date = %Y-%m-%d %a
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
format = <label>
|
||||||
|
label = %date%
|
||||||
|
label-margin = 1
|
||||||
|
label-underline = #fbf1c7
|
||||||
|
|
||||||
|
[module/battery]
|
||||||
|
type = internal/battery
|
||||||
|
|
||||||
|
full-at = ${config.battery-full-at}
|
||||||
|
|
||||||
|
battery = ${config.battery-bat}
|
||||||
|
adapter = ${config.battery-adp}
|
||||||
|
|
||||||
|
format-charging = <animation-charging> <label-charging>
|
||||||
|
format-charging-underline = ${colors.foreground}
|
||||||
|
animation-charging-0 =
|
||||||
|
animation-charging-1 =
|
||||||
|
animation-charging-2 =
|
||||||
|
animation-charging-3 =
|
||||||
|
animation-charging-4 =
|
||||||
|
animation-charging-framerate = 750
|
||||||
|
|
||||||
|
format-discharging = <ramp-capacity> <label-discharging>
|
||||||
|
format-discharging-underline = ${colors.notify}
|
||||||
|
ramp-capacity-0 =
|
||||||
|
ramp-capacity-1 =
|
||||||
|
ramp-capacity-2 =
|
||||||
|
ramp-capacity-3 =
|
||||||
|
ramp-capacity-4 =
|
||||||
|
ramp-capacity-foreground = ${colors.notify}
|
||||||
|
|
||||||
|
label-full =
|
||||||
|
label-full-foreground = #fbf1c7
|
||||||
|
label-full-underline = #fbf1c7
|
||||||
|
|
||||||
|
[module/keyboard]
|
||||||
|
type = internal/xkeyboard
|
||||||
|
|
||||||
|
; List of indicators to ignore
|
||||||
|
bufferlist-0 = num lock
|
||||||
|
bufferlist-1 = scroll lock
|
||||||
|
|
||||||
|
; Format
|
||||||
|
format = <label-indicator>
|
||||||
|
|
||||||
|
label-indicator-on-capslock = CL
|
||||||
|
label-indicator-on-capslock-foreground = #fbf1c7
|
||||||
|
label-indicator-on-capslock-underline = #fbf1c7
|
||||||
|
|
||||||
|
; Icons
|
||||||
|
layout-icon-default =
|
||||||
|
|
||||||
|
[module/alsa]
|
||||||
|
type = internal/alsa
|
||||||
|
|
||||||
|
master-soundcard = ${config.master-soundcard}
|
||||||
|
speaker-soundcard = ${config.speaker-soundcard}
|
||||||
|
headphone-soundcard = ${config.headphone-soundcard}
|
||||||
|
|
||||||
|
master-mixer = ${config.master-mixer}
|
||||||
|
|
||||||
|
; Format
|
||||||
|
format-volume = <ramp-volume> <label-volume>
|
||||||
|
format-volume-underline = #fbf1c7
|
||||||
|
|
||||||
|
label-muted = muted
|
||||||
|
label-muted-foreground = ${colors.urgent}
|
||||||
|
label-muted-underline = ${colors.urgent}
|
||||||
|
|
||||||
|
ramp-volume-0 =
|
||||||
|
ramp-volume-0-foreground = #fbf1c7
|
||||||
|
ramp-volume-1 =
|
||||||
|
ramp-volume-1-foreground = #fbf1c7
|
||||||
|
ramp-volume-2 =
|
||||||
|
ramp-volume-2-foreground = ${colors.urgent}
|
||||||
|
|
||||||
|
ramp-headphones-0 =
|
||||||
|
|
||||||
|
ramp-volume-foreground = #fbf1c7
|
||||||
|
|
||||||
|
[module/backlight]
|
||||||
|
type = internal/backlight
|
||||||
|
card = intel_backlight
|
||||||
|
enable-scroll = true
|
||||||
|
|
||||||
|
; Format
|
||||||
|
format = <ramp> <label>
|
||||||
|
format-underline = #fbf1c7
|
||||||
|
|
||||||
|
ramp-0 =
|
||||||
|
|
||||||
|
label = %{A1:$HOME/.config/polybar/scripts/toggle-redshift.sh:}%percentage%%%{A}
|
||||||
|
ramp-foreground = #fbf1c7
|
||||||
|
|
||||||
|
[module/mpd]
|
||||||
|
type = internal/mpd
|
||||||
|
|
||||||
|
host = ${config.mpd-host}
|
||||||
|
port = ${config.mpd-port}
|
||||||
|
|
||||||
|
; Format
|
||||||
|
format-online = <toggle> <icon-prev> <label-song> <icon-next> <icon-stop> | <bar-progress> | <icon-repeat> <icon-random>
|
||||||
|
format-paused = <toggle> <icon-prev> <label-song> <icon-next> <icon-stop>
|
||||||
|
format-stopped = <toggle>
|
||||||
|
|
||||||
|
label-song-underline = #fbf1c7
|
||||||
|
label-song = %artist:0:10:...% - %title:0:10:...%
|
||||||
|
|
||||||
|
icon-play =
|
||||||
|
icon-play-foreground = #fbf1c7
|
||||||
|
icon-play-margin = 1
|
||||||
|
icon-pause =
|
||||||
|
icon-pause-foreground = #fbf1c7
|
||||||
|
icon-pause-margin = 1
|
||||||
|
icon-stop =
|
||||||
|
icon-stop-foreground = #fbf1c7
|
||||||
|
icon-stop-margin = 1
|
||||||
|
icon-prev =
|
||||||
|
icon-prev-foreground = #fbf1c7
|
||||||
|
icon-prev-margin = 1
|
||||||
|
icon-next =
|
||||||
|
icon-next-foreground = #fbf1c7
|
||||||
|
icon-next-margin = 1
|
||||||
|
icon-repeat =
|
||||||
|
icon-repeat-margin = 1
|
||||||
|
icon-random =
|
||||||
|
icon-random-margin = 1
|
||||||
|
|
||||||
|
toggle-on-foreground = #fbf1c7
|
||||||
|
toggle-off-foreground = #fbf1c7
|
||||||
|
|
||||||
|
bar-progress-width = 20
|
||||||
|
bar-progress-indicator = |
|
||||||
|
bar-progress-fill = -
|
||||||
|
bar-progress-empty = -
|
||||||
|
bar-progress-gradient = true
|
||||||
|
bar-progress-foreground-0 = #fbf1c7
|
||||||
|
bar-progress-foreground-1 = #fbf1c7
|
||||||
|
bar-progress-foreground-2 = #fbf1c7
|
||||||
|
|
||||||
|
[module/notify]
|
||||||
|
type = custom/text
|
||||||
|
content =
|
||||||
|
content-foreground = ${colors.warning}
|
||||||
|
content-underline = ${colors.warning}
|
||||||
|
content-padding = 1
|
||||||
|
|
||||||
|
click-left = ${config.notify-click-left}
|
||||||
|
|
||||||
|
[module/network-short]
|
||||||
|
type = internal/network
|
||||||
|
interface = ${config.interface}
|
||||||
|
|
||||||
|
interval = 1
|
||||||
|
|
||||||
|
format-connected = %{A1:networkmanager_dmenu:}<ramp-signal>%{A}
|
||||||
|
format-disconnected = %{A1:networkmanager_dmenu:}<label-disconnected>%{A}
|
||||||
|
|
||||||
|
label-disconnected =
|
||||||
|
label-disconnected-foreground = ${colors.urgent}
|
||||||
|
|
||||||
|
ramp-signal-0 =
|
||||||
|
ramp-signal-1 =
|
||||||
|
ramp-signal-2 =
|
||||||
|
ramp-signal-3 =
|
||||||
|
|
||||||
|
ramp-signal-0-foreground = #fbf1c7
|
||||||
|
ramp-signal-0-underline = #fbf1c7
|
||||||
|
|
||||||
|
ramp-signal-1-foreground = ${colors.notify}
|
||||||
|
ramp-signal-1-underline = ${colors.notify}
|
||||||
|
|
||||||
|
ramp-signal-2-foreground = ${colors.nord7}
|
||||||
|
ramp-signal-2-underline = ${colors.nord7}
|
||||||
|
|
||||||
|
ramp-signal-3-foreground = ${colors.success}
|
||||||
|
ramp-signal-3-underline = ${colors.success}
|
||||||
|
|
||||||
|
[module/clash-widget]
|
||||||
|
type = custom/script
|
||||||
|
|
||||||
|
exec = ~/.config/polybar/scripts/clash.sh
|
||||||
|
interval = 3
|
||||||
|
|
||||||
|
click-left = ~/.config/polybar/scripts/clash.sh toggle
|
||||||
|
|
||||||
|
[module/spotify]
|
||||||
|
type = custom/script
|
||||||
|
interval = 1
|
||||||
|
format-prefix = " "
|
||||||
|
format = <label>
|
||||||
|
exec = python3 $HOME/.config/polybar/scripts/spotify_status.py -f '{artist}: {song}'
|
||||||
|
format-underline = #b8bb26
|
||||||
|
;control players (optional)
|
||||||
|
click-left = playerctl --player=spotify play-pause
|
||||||
|
click-right = playerctl --player=spotify next
|
||||||
|
click-middle = playerctl --player=spotify previous
|
||||||
|
|
||||||
|
[module/onedrive-widget]
|
||||||
|
type = custom/script
|
||||||
|
|
||||||
|
exec = ~/.config/polybar/scripts/onedrive.sh
|
||||||
|
interval = 3
|
||||||
|
|
||||||
|
click-left = ~/.config/polybar/scripts/onedrive.sh toggle
|
||||||
|
|
||||||
|
[module/clipmenu-widget]
|
||||||
|
type = custom/script
|
||||||
|
|
||||||
|
exec = ~/.config/polybar/scripts/clipmenu.sh
|
||||||
|
interval = 3
|
||||||
|
|
||||||
|
click-left = ~/.config/polybar/scripts/clipmenu.sh menu
|
||||||
|
click-right = ~/.config/polybar/scripts/clipmenu.sh toggle
|
||||||
|
|
||||||
|
[module/rofi-run]
|
||||||
|
type = custom/text
|
||||||
|
|
||||||
|
content =
|
||||||
|
content-background = #fbf1c7
|
||||||
|
content-foreground = #282828
|
||||||
|
content-padding = 3
|
||||||
|
|
||||||
|
click-left = ~/.config/polybar/scripts/rofi_run
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 7.1 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.4 MiB |
@@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# this requires a service for clash at /usr/lib/systemd/system
|
||||||
|
service=$(systemctl is-active --user clash)
|
||||||
|
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
"toggle")
|
||||||
|
if [ $service == 'active' ]
|
||||||
|
then
|
||||||
|
systemctl stop --user clash
|
||||||
|
printf '%s' '%{F#4c566a}%{F-}'
|
||||||
|
else
|
||||||
|
systemctl start --user clash
|
||||||
|
printf '%s' '%{F#a3be8c}%{F-}'
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"")
|
||||||
|
if [ $service == "active" ]
|
||||||
|
then
|
||||||
|
printf '%s' '%{F#a3be8c}%{F-}'
|
||||||
|
else
|
||||||
|
printf '%s' '%{F#4c566a}%{F-}'
|
||||||
|
fi
|
||||||
|
esac
|
||||||
|
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# this requires a service for clipmenu at /usr/lib/systemd/system
|
||||||
|
service=$(systemctl is-active --user clipmenud)
|
||||||
|
dmenu_launcher=rofi
|
||||||
|
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
"toggle")
|
||||||
|
if [ $service == 'active' ]
|
||||||
|
then
|
||||||
|
systemctl stop --user clipmenud
|
||||||
|
printf '%s' '%{F#4c566a}%{F-}'
|
||||||
|
else
|
||||||
|
systemctl start --user clipmenud
|
||||||
|
printf '%s' '%{F#a3be8c}%{F-}'
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"menu")
|
||||||
|
if [ $service == 'active' ]
|
||||||
|
then
|
||||||
|
CM_LAUNCHER=$dmenu_launcher clipmenu
|
||||||
|
printf '%s' '%{F#a3be8c}%{F-}'
|
||||||
|
else
|
||||||
|
printf '%s' '%{F#4c566a}%{F-}'
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"")
|
||||||
|
if [ $service == "active" ]
|
||||||
|
then
|
||||||
|
printf '%s' '%{F#a3be8c}%{F-}'
|
||||||
|
else
|
||||||
|
printf '%s' '%{F#4c566a}%{F-}'
|
||||||
|
fi
|
||||||
|
esac
|
||||||
|
|
||||||
Binary file not shown.
@@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# this requires a service for onedrive at /usr/lib/systemd/system
|
||||||
|
service=$(systemctl is-active --user onedrive)
|
||||||
|
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
"toggle")
|
||||||
|
if [ $service == 'active' ]
|
||||||
|
then
|
||||||
|
systemctl stop --user onedrive
|
||||||
|
printf '%s' '%{F#bf616a}%{F-}'
|
||||||
|
else
|
||||||
|
systemctl start --user onedrive
|
||||||
|
printf '%s' '%{F#bf616a}%{F-}'
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"")
|
||||||
|
if [ $service == "active" ]
|
||||||
|
then
|
||||||
|
printf '%s' '%{F#bf616a}%{F-}'
|
||||||
|
else
|
||||||
|
printf '%s' '%{F#bf616a}%{F-}'
|
||||||
|
fi
|
||||||
|
esac
|
||||||
|
|
||||||
@@ -0,0 +1,96 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
get_icon() {
|
||||||
|
case $1 in
|
||||||
|
01d) icon="";;
|
||||||
|
01n) icon="";;
|
||||||
|
02d) icon="";;
|
||||||
|
02n) icon="";;
|
||||||
|
03*) icon="";;
|
||||||
|
04*) icon="";;
|
||||||
|
09d) icon="";;
|
||||||
|
09n) icon="";;
|
||||||
|
10d) icon="";;
|
||||||
|
10n) icon="";;
|
||||||
|
11d) icon="";;
|
||||||
|
11n) icon="";;
|
||||||
|
13d) icon="";;
|
||||||
|
13n) icon="";;
|
||||||
|
50d) icon="";;
|
||||||
|
50n) icon="";;
|
||||||
|
*) icon="";
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo $icon
|
||||||
|
}
|
||||||
|
|
||||||
|
get_duration() {
|
||||||
|
|
||||||
|
osname=$(uname -s)
|
||||||
|
|
||||||
|
case $osname in
|
||||||
|
*BSD) date -r "$1" -u +%H:%M;;
|
||||||
|
*) date --date="@$1" -u +%H:%M;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
KEY="62628c16e6247d2c1caf0cb398a3dffa"
|
||||||
|
CITY="Agartala"
|
||||||
|
UNITS="metric"
|
||||||
|
SYMBOL="°"
|
||||||
|
|
||||||
|
API="https://api.openweathermap.org/data/2.5"
|
||||||
|
|
||||||
|
if [ -n "$CITY" ]; then
|
||||||
|
if [ "$CITY" -eq "$CITY" ] 2>/dev/null; then
|
||||||
|
CITY_PARAM="id=$CITY"
|
||||||
|
else
|
||||||
|
CITY_PARAM="q=$CITY"
|
||||||
|
fi
|
||||||
|
|
||||||
|
current=$(curl -sf "$API/weather?appid=$KEY&$CITY_PARAM&units=$UNITS")
|
||||||
|
forecast=$(curl -sf "$API/forecast?appid=$KEY&$CITY_PARAM&units=$UNITS&cnt=1")
|
||||||
|
else
|
||||||
|
location=$(curl -sf https://location.services.mozilla.com/v1/geolocate?key=geoclue)
|
||||||
|
|
||||||
|
if [ -n "$location" ]; then
|
||||||
|
location_lat="$(echo "$location" | jq '.location.lat')"
|
||||||
|
location_lon="$(echo "$location" | jq '.location.lng')"
|
||||||
|
|
||||||
|
current=$(curl -sf "$API/weather?appid=$KEY&lat=$location_lat&lon=$location_lon&units=$UNITS")
|
||||||
|
forecast=$(curl -sf "$API/forecast?appid=$KEY&lat=$location_lat&lon=$location_lon&units=$UNITS&cnt=1")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$current" ] && [ -n "$forecast" ]; then
|
||||||
|
current_temp=$(echo "$current" | jq ".main.temp" | cut -d "." -f 1)
|
||||||
|
current_icon=$(echo "$current" | jq -r ".weather[0].icon")
|
||||||
|
|
||||||
|
forecast_temp=$(echo "$forecast" | jq ".list[].main.temp" | cut -d "." -f 1)
|
||||||
|
forecast_icon=$(echo "$forecast" | jq -r ".list[].weather[0].icon")
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$current_temp" -gt "$forecast_temp" ]; then
|
||||||
|
trend=""
|
||||||
|
elif [ "$forecast_temp" -gt "$current_temp" ]; then
|
||||||
|
trend=""
|
||||||
|
else
|
||||||
|
trend=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
sun_rise=$(echo "$current" | jq ".sys.sunrise")
|
||||||
|
sun_set=$(echo "$current" | jq ".sys.sunset")
|
||||||
|
now=$(date +%s)
|
||||||
|
|
||||||
|
if [ "$sun_rise" -gt "$now" ]; then
|
||||||
|
daytime=" $(get_duration "$((sun_rise-now))")"
|
||||||
|
elif [ "$sun_set" -gt "$now" ]; then
|
||||||
|
daytime=" $(get_duration "$((sun_set-now))")"
|
||||||
|
else
|
||||||
|
daytime=" $(get_duration "$((sun_rise-now))")"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$(get_icon "$current_icon") $current_temp$SYMBOL $trend $(get_icon "$forecast_icon") $forecast_temp$SYMBOL $daytime"
|
||||||
|
fi
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
潮打三更瓜步月,雨荒十里红桥火。
|
||||||
|
清代-郑燮 满江红·思家
|
||||||
|
凌晨,晚上
|
||||||
|
0
|
||||||
@@ -0,0 +1,122 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# CONFIGURATION
|
||||||
|
LOCATION=0
|
||||||
|
YOFFSET=0
|
||||||
|
XOFFSET=0
|
||||||
|
WIDTH=12
|
||||||
|
WIDTH_WIDE=24
|
||||||
|
THEME=$HOME/.local/share/rofi/themes/squared-everforest.rasi
|
||||||
|
|
||||||
|
# Color Settings of Icon shown in Polybar
|
||||||
|
COLOR_DISCONNECTED='#000' # Device Disconnected
|
||||||
|
COLOR_NEWDEVICE='#ff0' # New Device
|
||||||
|
COLOR_BATTERY_90='#fabd2f' # Battery >= 90
|
||||||
|
COLOR_BATTERY_80='#fabd2f' # Battery >= 80
|
||||||
|
COLOR_BATTERY_70='#fabd2f' # Battery >= 70
|
||||||
|
COLOR_BATTERY_60='#fabd2f' # Battery >= 60
|
||||||
|
COLOR_BATTERY_50='#fb493f' # Battery >= 50
|
||||||
|
COLOR_BATTERY_LOW='#fb493f' # Battery < 50
|
||||||
|
|
||||||
|
# Icons shown in Polybar
|
||||||
|
ICON_SMARTPHONE=''
|
||||||
|
ICON_TABLET=''
|
||||||
|
SEPERATOR='|'
|
||||||
|
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
|
||||||
|
show_devices (){
|
||||||
|
IFS=$','
|
||||||
|
devices=""
|
||||||
|
for device in $(qdbus --literal org.kde.kdeconnect /modules/kdeconnect org.kde.kdeconnect.daemon.devices); do
|
||||||
|
deviceid=$(echo "$device" | awk -F'["|"]' '{print $2}')
|
||||||
|
devicename=$(qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$deviceid" org.kde.kdeconnect.device.name)
|
||||||
|
devicetype=$(qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$deviceid" org.kde.kdeconnect.device.type)
|
||||||
|
isreach="$(qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$deviceid" org.kde.kdeconnect.device.isReachable)"
|
||||||
|
istrust="$(qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$deviceid" org.kde.kdeconnect.device.isTrusted)"
|
||||||
|
if [ "$isreach" = "true" ] && [ "$istrust" = "true" ]
|
||||||
|
then
|
||||||
|
battery="$(qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$deviceid/battery" org.kde.kdeconnect.device.battery.charge)"
|
||||||
|
icon=$(get_icon "$battery" "$devicetype")
|
||||||
|
devices+="%{A1:$DIR/polybar-kdeconnect.sh -n '$devicename' -i $deviceid -b $battery -m:}$icon%{A}$SEPERATOR"
|
||||||
|
elif [ "$isreach" = "false" ] && [ "$istrust" = "true" ]
|
||||||
|
then
|
||||||
|
devices+="$(get_icon -1 "$devicetype")$SEPERATOR"
|
||||||
|
else
|
||||||
|
haspairing="$(qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$deviceid" org.kde.kdeconnect.device.hasPairingRequests)"
|
||||||
|
if [ "$haspairing" = "true" ]
|
||||||
|
then
|
||||||
|
show_pmenu2 "$devicename" "$deviceid"
|
||||||
|
fi
|
||||||
|
icon=$(get_icon -2 "$devicetype")
|
||||||
|
devices+="%{A1:$DIR/polybar-kdeconnect.sh -n $devicename -i $deviceid -p:}$icon%{A}$SEPERATOR"
|
||||||
|
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "${devices::-1}"
|
||||||
|
}
|
||||||
|
|
||||||
|
show_menu () {
|
||||||
|
menu="$(rofi -sep "|" -dmenu -i -p "$DEV_NAME" -location $LOCATION -yoffset $YOFFSET -xoffset $XOFFSET -theme $THEME -width $WIDTH -hide-scrollbar -line-padding 4 -padding 20 -lines 5 <<< "Battery: $DEV_BATTERY%|Ping|Find Device|Send File|Browse Files|Unpair")"
|
||||||
|
case "$menu" in
|
||||||
|
*Ping) qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$DEV_ID/ping" org.kde.kdeconnect.device.ping.sendPing ;;
|
||||||
|
*'Find Device') qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$DEV_ID/findmyphone" org.kde.kdeconnect.device.findmyphone.ring ;;
|
||||||
|
*'Send File') qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$DEV_ID/share" org.kde.kdeconnect.device.share.shareUrl "file://$(zenity --file-selection)" ;;
|
||||||
|
*'Browse Files')
|
||||||
|
if "$(qdbus --literal org.kde.kdeconnect "/modules/kdeconnect/devices/$DEV_ID/sftp" org.kde.kdeconnect.device.sftp.isMounted)" == "false"; then
|
||||||
|
qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$DEV_ID/sftp" org.kde.kdeconnect.device.sftp.mount
|
||||||
|
fi
|
||||||
|
qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$DEV_ID/sftp" org.kde.kdeconnect.device.sftp.startBrowsing
|
||||||
|
;;
|
||||||
|
*'Unpair' ) qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$DEV_ID" org.kde.kdeconnect.device.unpair
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
show_pmenu () {
|
||||||
|
menu="$(rofi -sep "|" -dmenu -i -p "$DEV_NAME" -location $LOCATION -yoffset $YOFFSET -xoffset $XOFFSET -theme $THEME -width $WIDTH -hide-scrollbar -line-padding 1 -padding 20 -lines 1<<<"Pair Device")"
|
||||||
|
case "$menu" in
|
||||||
|
*'Pair Device') qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$DEV_ID" org.kde.kdeconnect.device.requestPair
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
show_pmenu2 () {
|
||||||
|
menu="$(rofi -sep "|" -dmenu -i -p "$1 has sent a pairing request" -location $LOCATION -yoffset $YOFFSET -xoffset $XOFFSET -theme $THEME -width $WIDTH_WIDE -hide-scrollbar -line-padding 4 -padding 20 -lines 2 <<< "Accept|Reject")"
|
||||||
|
case "$menu" in
|
||||||
|
*'Accept') qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$2" org.kde.kdeconnect.device.acceptPairing ;;
|
||||||
|
*) qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$2" org.kde.kdeconnect.device.rejectPairing
|
||||||
|
esac
|
||||||
|
|
||||||
|
}
|
||||||
|
get_icon () {
|
||||||
|
if [ "$2" = "tablet" ]
|
||||||
|
then
|
||||||
|
icon=$ICON_TABLET
|
||||||
|
else
|
||||||
|
icon=$ICON_SMARTPHONE
|
||||||
|
fi
|
||||||
|
case $1 in
|
||||||
|
"-1") ICON="%{F$COLOR_DISCONNECTED}$icon%{F-}" ;;
|
||||||
|
"-2") ICON="%{F$COLOR_NEWDEVICE}$icon%{F-}" ;;
|
||||||
|
5*) ICON="%{F$COLOR_BATTERY_50}$icon%{F-}" ;;
|
||||||
|
6*) ICON="%{F$COLOR_BATTERY_60}$icon%{F-}" ;;
|
||||||
|
7*) ICON="%{F$COLOR_BATTERY_70}$icon%{F-}" ;;
|
||||||
|
8*) ICON="%{F$COLOR_BATTERY_80}$icon%{F-}" ;;
|
||||||
|
9*|100) ICON="%{F$COLOR_BATTERY_90}$icon%{F-}" ;;
|
||||||
|
*) ICON="%{F$COLOR_BATTERY_LOW}$icon%{F-}" ;;
|
||||||
|
esac
|
||||||
|
echo $ICON
|
||||||
|
}
|
||||||
|
|
||||||
|
unset DEV_ID DEV_NAME DEV_BATTERY
|
||||||
|
while getopts 'di:n:b:mp' c
|
||||||
|
do
|
||||||
|
# shellcheck disable=SC2220
|
||||||
|
case $c in
|
||||||
|
d) show_devices ;;
|
||||||
|
i) DEV_ID=$OPTARG ;;
|
||||||
|
n) DEV_NAME=$OPTARG ;;
|
||||||
|
b) DEV_BATTERY=$OPTARG ;;
|
||||||
|
m) show_menu ;;
|
||||||
|
p) show_pmenu ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
rofi -show run -theme nord-oneline
|
||||||
@@ -0,0 +1,141 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import dbus
|
||||||
|
import argparse
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument(
|
||||||
|
'-t',
|
||||||
|
'--trunclen',
|
||||||
|
type=int,
|
||||||
|
metavar='trunclen'
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
'-f',
|
||||||
|
'--format',
|
||||||
|
type=str,
|
||||||
|
metavar='custom format',
|
||||||
|
dest='custom_format'
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
'-p',
|
||||||
|
'--playpause',
|
||||||
|
type=str,
|
||||||
|
metavar='play-pause indicator',
|
||||||
|
dest='play_pause'
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
'--font',
|
||||||
|
type=str,
|
||||||
|
metavar='the index of the font to use for the main label',
|
||||||
|
dest='font'
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
'--playpause-font',
|
||||||
|
type=str,
|
||||||
|
metavar='the index of the font to use to display the playpause indicator',
|
||||||
|
dest='play_pause_font'
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
'-q',
|
||||||
|
'--quiet',
|
||||||
|
action='store_true',
|
||||||
|
help="if set, don't show any output when the current song is paused",
|
||||||
|
dest='quiet',
|
||||||
|
)
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
|
def fix_string(string):
|
||||||
|
# corrects encoding for the python version used
|
||||||
|
if sys.version_info.major == 3:
|
||||||
|
return string
|
||||||
|
else:
|
||||||
|
return string.encode('utf-8')
|
||||||
|
|
||||||
|
|
||||||
|
def truncate(name, trunclen):
|
||||||
|
if len(name) > trunclen:
|
||||||
|
name = name[:trunclen]
|
||||||
|
name += '...'
|
||||||
|
if ('(' in name) and (')' not in name):
|
||||||
|
name += ')'
|
||||||
|
return name
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Default parameters
|
||||||
|
output = fix_string(u'{play_pause} {artist}: {song}')
|
||||||
|
trunclen = 35
|
||||||
|
play_pause = fix_string(u'\u25B6,\u23F8') # first character is play, second is paused
|
||||||
|
|
||||||
|
label_with_font = '%{{T{font}}}{label}%{{T-}}'
|
||||||
|
font = args.font
|
||||||
|
play_pause_font = args.play_pause_font
|
||||||
|
|
||||||
|
quiet = args.quiet
|
||||||
|
|
||||||
|
# parameters can be overwritten by args
|
||||||
|
if args.trunclen is not None:
|
||||||
|
trunclen = args.trunclen
|
||||||
|
if args.custom_format is not None:
|
||||||
|
output = args.custom_format
|
||||||
|
if args.play_pause is not None:
|
||||||
|
play_pause = args.play_pause
|
||||||
|
|
||||||
|
try:
|
||||||
|
session_bus = dbus.SessionBus()
|
||||||
|
spotify_bus = session_bus.get_object(
|
||||||
|
'org.mpris.MediaPlayer2.spotify',
|
||||||
|
'/org/mpris/MediaPlayer2'
|
||||||
|
)
|
||||||
|
|
||||||
|
spotify_properties = dbus.Interface(
|
||||||
|
spotify_bus,
|
||||||
|
'org.freedesktop.DBus.Properties'
|
||||||
|
)
|
||||||
|
|
||||||
|
metadata = spotify_properties.Get('org.mpris.MediaPlayer2.Player', 'Metadata')
|
||||||
|
status = spotify_properties.Get('org.mpris.MediaPlayer2.Player', 'PlaybackStatus')
|
||||||
|
|
||||||
|
# Handle play/pause label
|
||||||
|
|
||||||
|
play_pause = play_pause.split(',')
|
||||||
|
|
||||||
|
if status == 'Playing':
|
||||||
|
play_pause = play_pause[0]
|
||||||
|
elif status == 'Paused':
|
||||||
|
play_pause = play_pause[1]
|
||||||
|
else:
|
||||||
|
play_pause = str()
|
||||||
|
|
||||||
|
if play_pause_font:
|
||||||
|
play_pause = label_with_font.format(font=play_pause_font, label=play_pause)
|
||||||
|
|
||||||
|
# Handle main label
|
||||||
|
|
||||||
|
artist = fix_string(metadata['xesam:artist'][0]) if metadata['xesam:artist'] else ''
|
||||||
|
song = fix_string(metadata['xesam:title']) if metadata['xesam:title'] else ''
|
||||||
|
album = fix_string(metadata['xesam:album']) if metadata['xesam:album'] else ''
|
||||||
|
|
||||||
|
if (quiet and status == 'Paused') or (not artist and not song and not album):
|
||||||
|
print('')
|
||||||
|
else:
|
||||||
|
if font:
|
||||||
|
artist = label_with_font.format(font=font, label=artist)
|
||||||
|
song = label_with_font.format(font=font, label=song)
|
||||||
|
album = label_with_font.format(font=font, label=album)
|
||||||
|
|
||||||
|
# Add 4 to trunclen to account for status symbol, spaces, and other padding characters
|
||||||
|
print(truncate(output.format(artist=artist,
|
||||||
|
song=song,
|
||||||
|
play_pause=play_pause,
|
||||||
|
album=album), trunclen + 4))
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
if isinstance(e, dbus.exceptions.DBusException):
|
||||||
|
print('')
|
||||||
|
else:
|
||||||
|
print(e)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
if pgrep -x redshift > /dev/null
|
||||||
|
then
|
||||||
|
pgrep redshift | xargs -n1 kill -9 | notify-send 'Redshift stopped'
|
||||||
|
else
|
||||||
|
notify-send 'Redshift started'
|
||||||
|
redshift &
|
||||||
|
fi
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Clash for Linux
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/bin/clash -d /home/yucklys/.config/clash
|
||||||
|
Restart=always
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 1.6 MiB |
Binary file not shown.
+180
@@ -0,0 +1,180 @@
|
|||||||
|
/************************************************
|
||||||
|
* ROFI Color theme
|
||||||
|
* User: ArcoLinux
|
||||||
|
* Copyright: 2018 INTRCPTR
|
||||||
|
***********************************************/
|
||||||
|
//----------------------
|
||||||
|
// Configuration
|
||||||
|
//----------------------
|
||||||
|
|
||||||
|
configuration {
|
||||||
|
modi: "drun,window";
|
||||||
|
width: 600;
|
||||||
|
sidebar-mode: true;
|
||||||
|
lines: 10;
|
||||||
|
show-icons: false;
|
||||||
|
icon-theme: "Pop+";
|
||||||
|
fullscreen: false;
|
||||||
|
show-match: false;
|
||||||
|
separator-style: "solid";
|
||||||
|
hide-scrollbar: true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------
|
||||||
|
// Theme Settings
|
||||||
|
//----------------------
|
||||||
|
|
||||||
|
//----------------------
|
||||||
|
// Colors
|
||||||
|
//----------------------
|
||||||
|
|
||||||
|
* {
|
||||||
|
selected-normal-foreground: rgba(216, 222, 233, 100%);
|
||||||
|
foreground: rgba(216, 222, 233, 100%);
|
||||||
|
normal-foreground: @foreground;
|
||||||
|
alternate-normal-background: rgba(46, 52, 64, 100%);
|
||||||
|
selected-urgent-foreground: rgba(216, 222, 233, 100%);
|
||||||
|
urgent-foreground: @foreground;
|
||||||
|
alternate-urgent-background: rgba(46, 52, 64, 100%);
|
||||||
|
active-foreground: @foreground;
|
||||||
|
selected-active-foreground: @foreground;
|
||||||
|
alternate-active-background: rgba(46, 52, 64, 100%);
|
||||||
|
bordercolor: #81a1c1;
|
||||||
|
background: rgba(46, 52, 64, 100%);
|
||||||
|
alternate-normal-foreground: @foreground;
|
||||||
|
normal-background: @background;
|
||||||
|
selected-normal-background: rgba(76, 86, 106, 100%);
|
||||||
|
border-color: #81a1c1;
|
||||||
|
spacing: 2;
|
||||||
|
separatorcolor: @blue;
|
||||||
|
urgent-background: @background;
|
||||||
|
selected-urgent-background: rgba(76, 86, 106, 100%);
|
||||||
|
alternate-urgent-foreground: @urgent-foreground;
|
||||||
|
background-color: @background;
|
||||||
|
alternate-active-foreground: @active-foreground;
|
||||||
|
active-background: @background;
|
||||||
|
selected-active-background: rgba(76, 86, 106, 100%);
|
||||||
|
}
|
||||||
|
window {
|
||||||
|
background-color: @background;
|
||||||
|
border: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
mainbox {
|
||||||
|
border: 2;
|
||||||
|
padding: 20;
|
||||||
|
}
|
||||||
|
message {
|
||||||
|
border: 1px 1px 1px ;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
padding: 20 ;
|
||||||
|
}
|
||||||
|
textbox {
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
listview {
|
||||||
|
fixed-height: 0;
|
||||||
|
border: 1px 0px 0px ;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
spacing: 5px ;
|
||||||
|
scrollbar: false;
|
||||||
|
padding: 5 0 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
element {
|
||||||
|
border: 0;
|
||||||
|
padding: 5px ;
|
||||||
|
}
|
||||||
|
element.normal.normal {
|
||||||
|
background-color: @normal-background;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
element.normal.urgent {
|
||||||
|
background-color: @urgent-background;
|
||||||
|
text-color: @urgent-foreground;
|
||||||
|
}
|
||||||
|
element.normal.active {
|
||||||
|
background-color: @active-background;
|
||||||
|
text-color: @active-foreground;
|
||||||
|
}
|
||||||
|
element.selected.normal {
|
||||||
|
background-color: @selected-normal-background;
|
||||||
|
text-color: @selected-normal-foreground;
|
||||||
|
}
|
||||||
|
element.selected.urgent {
|
||||||
|
background-color: @selected-urgent-background;
|
||||||
|
text-color: @selected-urgent-foreground;
|
||||||
|
}
|
||||||
|
element.selected.active {
|
||||||
|
background-color: @selected-active-background;
|
||||||
|
text-color: @selected-active-foreground;
|
||||||
|
}
|
||||||
|
element.alternate.normal {
|
||||||
|
background-color: @alternate-normal-background;
|
||||||
|
text-color: @alternate-normal-foreground;
|
||||||
|
}
|
||||||
|
element.alternate.urgent {
|
||||||
|
background-color: @alternate-urgent-background;
|
||||||
|
text-color: @alternate-urgent-foreground;
|
||||||
|
}
|
||||||
|
element.alternate.active {
|
||||||
|
background-color: @alternate-active-background;
|
||||||
|
text-color: @alternate-active-foreground;
|
||||||
|
}
|
||||||
|
scrollbar {
|
||||||
|
width: 4px ;
|
||||||
|
border: 0;
|
||||||
|
handle-color: @normal-foreground;
|
||||||
|
handle-width: 8px ;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
sidebar {
|
||||||
|
border: 1px 0px 0px ;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
}
|
||||||
|
button {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
button.selected {
|
||||||
|
background-color: @selected-normal-background;
|
||||||
|
text-color: @selected-normal-foreground;
|
||||||
|
}
|
||||||
|
inputbar {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
padding: 1px ;
|
||||||
|
}
|
||||||
|
case-indicator {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
entry {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
prompt {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
inputbar {
|
||||||
|
spacing: 5;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
padding: 5px ;
|
||||||
|
border: 0 0 1;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
children: [ textbox-prompt-colon,entry,case-indicator ];
|
||||||
|
}
|
||||||
|
|
||||||
|
#textbox-prompt-colon {
|
||||||
|
padding:0px 0px;
|
||||||
|
expand: false;
|
||||||
|
str: "";
|
||||||
|
margin: 0px 0.3em 0em 0em ;
|
||||||
|
text-color: #ffffff;
|
||||||
|
background-color:@background-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/************************************************
|
||||||
|
* Build upon the work of INTRCPTR
|
||||||
|
***********************************************/
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
rofi.theme:~/.config/rofi/Nord.rasi
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
@theme "~/.local/share/rofi/themes/squared-everforest.rasi"
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<channel name="thunar" version="1.0">
|
||||||
|
<property name="last-view" type="string" value="ThunarIconView"/>
|
||||||
|
<property name="last-icon-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_100_PERCENT"/>
|
||||||
|
<property name="last-window-width" type="int" value="1230"/>
|
||||||
|
<property name="last-window-height" type="int" value="1282"/>
|
||||||
|
<property name="last-window-maximized" type="bool" value="false"/>
|
||||||
|
<property name="last-sort-column" type="string" value="THUNAR_COLUMN_DATE_MODIFIED"/>
|
||||||
|
<property name="last-sort-order" type="string" value="GTK_SORT_DESCENDING"/>
|
||||||
|
<property name="last-separator-position" type="int" value="176"/>
|
||||||
|
<property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_38_PERCENT"/>
|
||||||
|
<property name="last-details-view-visible-columns" type="string" value="THUNAR_COLUMN_DATE_MODIFIED,THUNAR_COLUMN_NAME,THUNAR_COLUMN_SIZE,THUNAR_COLUMN_TYPE"/>
|
||||||
|
<property name="last-details-view-column-widths" type="string" value="50,50,128,50,50,1147,50,50,823,50,50,77,50,136"/>
|
||||||
|
</channel>
|
||||||
Reference in New Issue
Block a user