Add files via upload

This commit is contained in:
Quinta
2023-03-18 22:21:53 +01:00
committed by GitHub
commit fd733cd338
100 changed files with 8809 additions and 0 deletions
+117
View File
@@ -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" "")
+13
View File
@@ -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>
+811
View File
@@ -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
View File
@@ -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
+3
View File
@@ -0,0 +1,3 @@
~/.conky/Bioshock2/Hermoso_Rc
~/.conky/Bioshock2/wallpaper.jpg
wallpaper-scaling:scaled
+49
View File
@@ -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

+45
View File
@@ -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}%
+1
View File
@@ -0,0 +1 @@
http://psyjunta.deviantart.com/art/Gotham-Conky-config-205465419
+162
View File
@@ -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}
]]
+88
View File
@@ -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}
]]
+85
View File
@@ -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}
]]
+49
View File
@@ -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}
+45
View File
@@ -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}%
+68
View File
@@ -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}
]]
+77
View File
@@ -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}
+115
View File
@@ -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/&lt;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
+8
View File
@@ -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 &amp; 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 &#176;C and Partly Sunny
&lt;img src="http://vortex.accuweather.com/phoenix2/images/common/icons/03_31x31.gif"&gt;
</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 &lt;img src="http://vortex.accuweather.com/phoenix2/images/common/icons/17_31x31.gif" &gt;</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 &lt;img src="http://vortex.accuweather.com/phoenix2/images/common/icons/16_31x31.gif" &gt;</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>
+348
View File
@@ -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
+146
View File
@@ -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.
+1
View File
@@ -0,0 +1 @@
https://github.com/MX-Linux/mx-conky-data/tree/master/MX-CoreBlue
+3
View File
@@ -0,0 +1,3 @@
#!/bin/bash
sleep 10
conky -c ~/.conky/nordcore/conkyrc2core
+10
View File
@@ -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
+8
View File
@@ -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
+56
View File
@@ -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 &amp; 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 &#176;C and Partly Sunny
&lt;img src="http://vortex.accuweather.com/phoenix2/images/common/icons/03_31x31.gif"&gt;
</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 &lt;img src="http://vortex.accuweather.com/phoenix2/images/common/icons/17_31x31.gif" &gt;</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 &lt;img src="http://vortex.accuweather.com/phoenix2/images/common/icons/18_31x31.gif" &gt;</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
View File
Binary file not shown.
+51
View File
@@ -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
+103
View File
@@ -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
+26
View File
@@ -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
+64
View File
@@ -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
+48
View File
@@ -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
+11
View File
@@ -0,0 +1,11 @@
#!/bin/bash
SSPID=$(pgrep -l fcitx |awk -F ' ' '{print $1}')
if [[ "${SSPID}" != "" ]]; then
echo ""
echo ""
else
echo ""
echo ""
fi
+28
View File
@@ -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
+57
View File
@@ -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.
#
+21
View File
@@ -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
+154
View File
@@ -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;
}
+69
View File
@@ -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
+26
View File
@@ -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
+188
View File
@@ -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}"
+42
View File
@@ -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
+26
View File
@@ -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
+12
View File
@@ -0,0 +1,12 @@
#!/bin/bash
SSPID=$(pgrep -l sslocal |awk -F ' ' '{print $1}')
if [[ "${SSPID}" != "" ]]; then
echo ""
echo ""
else
echo ""
echo ""
echo ""
fi
+69
View File
@@ -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;
+7
View File
@@ -0,0 +1,7 @@
#!/bin/bash
TIME=$(date '+%a %b %d %H:%M')
echo "${TIME}"
echo "${TIME}"
echo ""
+13
View File
@@ -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
+52
View File
@@ -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
+55
View File
@@ -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
+17
View File
@@ -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
+9
View File
@@ -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
+2
View File
@@ -0,0 +1,2 @@
# Rice
# Rice
+478
View File
@@ -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 ###########################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
#####################################################################################################################
+190
View File
@@ -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
+120
View File
@@ -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
View File
@@ -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;
+28
View File
@@ -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
+43
View File
@@ -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
+44
View 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
+43
View File
@@ -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
+4
View File
@@ -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 }'
+6
View File
@@ -0,0 +1,6 @@
#!/bin/sh
for i in $(seq 1 10)
do
sleep 0.2
pkill -RTMIN+1 i3blocks
done
+27
View File
@@ -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) }'
+11
View File
@@ -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
+417
View File
@@ -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>
+123
View File
@@ -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()
+2
View File
@@ -0,0 +1,2 @@
#!/bin/sh
echo " $(~/.config/i3blocks/weather/weather.py) "
Binary file not shown.
+102
View File
@@ -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);
}
}
+864
View File
@@ -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"
+512
View File
@@ -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; }
};
+519
View File
@@ -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; }
};
+24
View File
@@ -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
+73
View File
@@ -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}
+21
View File
@@ -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..."
+15
View File
@@ -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
+73
View File
@@ -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}
+107
View File
@@ -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
+374
View File
@@ -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

+26
View File
@@ -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
+36
View File
@@ -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.
+26
View File
@@ -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
+4
View File
@@ -0,0 +1,4 @@
潮打三更瓜步月,雨荒十里红桥火。
清代-郑燮 满江红·思家
凌晨,晚上
0
+122
View File
@@ -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
+2
View File
@@ -0,0 +1,2 @@
#!/bin/sh
rofi -show run -theme nord-oneline
+141
View File
@@ -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)
+9
View File
@@ -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
+7
View File
@@ -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

BIN
View File
Binary file not shown.
+180
View File
@@ -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
***********************************************/
+1
View File
@@ -0,0 +1 @@
rofi.theme:~/.config/rofi/Nord.rasi
+1
View File
@@ -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>