Add scripts & configs

This commit is contained in:
Smirnov Olexandr 2020-10-16 22:55:26 +03:00
parent f8ffdbda2e
commit 734af357dd
33 changed files with 1432 additions and 957 deletions

52
config/dunst/dunstrc Normal file
View file

@ -0,0 +1,52 @@
[global]
font = Hack 10
padding = 1
frame_color = "#073642"
frame_width = 2
allow_markup = yes
format = "<b>%a:</b> %s\n%b"
sort = yes
indicate_hidden = yes
alignment = left
bounce_freq = 0
show_age_threshold = 60
word_wrap = yes
ignore_newline = no
geometry = "300x5-30+40"
transparency = 0
idle_threshold = 120
monitor = 0
follow = keyboard
sticky_history = yes
line_height = 0
separator_height = 2
padding = 8
horizontal_padding = 8
separator_color = frame
startup_notification = true
browser = /usr/bin/firefox -new-tab
[frame]
width = 0
color = "#000000"
[shortcuts]
close = mod4+m
close_all = mod4+shift+m
history = mod4+n
context = mod4+shift+i
[urgency_low]
background = "#002B36"
foreground = "#dfdfdf"
timeout = 10
[urgency_normal]
background = "#002B36"
foreground = "#ffffff"
timeout = 10
[urgency_critical]
background = "#900000"
foreground = "#ffffff"
timeout = 0

View file

@ -3,39 +3,50 @@
set $mod Mod4 set $mod Mod4
# Font # Font
font monospace 10 font monospace 10
font pango:hack 10 font pango:JetBrains Mono 10
# Disable window title # Disable window title
default_border pixel default_border pixel
new_float pixel
# Borders
hide_edge_borders smart
############ Autostart ############ ############ Autostart ############
exec --no-startup-id exec picom -b exec --no-startup-id exec picom -b
exec --no-startup-id exec feh --bg-scale ~/Imager/wallpaper.png exec --no-startup-id exec nmcli radio wifi on; nmcli device wifi connect <wifi-name> password <wifi-password> name net
exec --no-startup-id exec redshift-gtk
exec --no-startup-id exec setxkbmap "us,ru,ua" ",winkeys" "grp:alt_shift_toggle" exec --no-startup-id exec setxkbmap "us,ru,ua" ",winkeys" "grp:alt_shift_toggle"
exec --no-startup-id exec org.telegram.desktop exec --no-startup-id exec org.telegram.desktop
exec --no-startup-id exec discord exec --no-startup-id exec discord
exec --no-startup-id exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec --no-startup-id ecec clipmenud
############ Key bindings ######### ############ Key bindings #########
# Terminal # Terminal
bindsym $mod+Return exec kitty bindsym $mod+Return exec kitty
#bindsym $mod+Return exec konsole bindsym ctrl+Mod1+t exec kitty
# Kill focus window # Kill focus window
bindsym $mod+q kill bindsym $mod+q kill
bindsym Mod1+F4 kill bindsym Mod1+F4 kill
# Program/Exit louncher # Program/Exit louncher
bindsym $mod+space exec "rofi -show drun -show-icons -font 'hack 12' -show cobi -disable-history" bindsym $mod+space exec "rofi -show drun -show cobi -show-icons"
bindsym $mod+Escape exec "rofi -show power-menu -show-icons -font 'hack 12' -width 30 -lines 6 -disable-history -modi power-menu:~/.config/rofi/rofi-power-menu" bindsym $mod+Escape exec "rofi -show power-menu -show-icons -width 30 -lines 6 -modi power-menu:~/.config/rofi/rofi-power-menu"
# Restart i3wm # Restart i3wm
bindsym $mod+Shift+r restart bindsym $mod+Shift+r restart
# Sceenshot
bindsym --release Print exec "scrot -s /home/${USER}/$(date +%Y-%m-%d-%H-%M-%S).png"
bindsym --release Shift+Print exec "scrot /home/${USER}/$(date +%Y-%m-%d-%H-%M-%S).png"
# Clipboard menu
bindsym $mod+c exec "CM_LAUNCHER=rofi clipmenu"
# Load program # Load program
bindsym $mod+F1 exec dolphin bindsym $mod+F1 exec kitty -T=Ranger_FM ranger
bindsym $mod+F2 exec chromium bindsym $mod+F2 exec chromium
bindsym $mod+b exec firefox bindsym $mod+F3 exec subl
bindsym $mod+F3 exec spotify bindsym $mod+F4 exec notable
bindsym $mod+F4 exec subl
bindsym $mod+F5 exec notable
# Floating window # Floating window
floating_modifier $mod floating_modifier $mod
@ -60,16 +71,21 @@ bindsym $mod+e layout toggle split
# Scratchpad # Scratchpad
bindsym $mod+Shift+grave move scratchpad bindsym $mod+Shift+grave move scratchpad
bindsym $mod+grave scratchpad show bindsym $mod+grave scratchpad show, floating disable
# Move workspace on open window
for_window [urgent=["lastet"]] focus
focus_on_window_activation focus
######### Window preferens ######## ######### Window preferens ########
assign [class="(?i)konsole|kitty"] $ws1 assign [class="(?i)kitty"] $ws1
assign [class="(?i)chromium|firefox"] $ws2 assign [class="(?i)chromium|firefox"] $ws2
assign [class="(?i)subl|code|atom|typora|prepros"] $ws3 assign [class="(?i)subl|code|typora"] $ws3
assign [class="(?i)dolphin"] $ws4 assign [class="(?i)thunar"] $ws4
assign [title="Notable|Simplenote"] $ws5
assign [class="(?i)telegram|discord"] $ws6 assign [class="(?i)telegram|discord"] $ws6
assign [title="Notable|Simplenote"] $ws7 assign [title="KeePassXC"] $ws7
assign [title="KeePassXC"] $ws8 for_window [title="Ranger_FM"] move to workspace $ws4
for_window [class="Spotify"] move to workspace $ws10 for_window [class="Spotify"] move to workspace $ws10
##### Change containet focus ###### ##### Change containet focus ######
@ -156,13 +172,9 @@ bindsym $mod+r mode "resize"
############### Bar ############### ############### Bar ###############
exec_always --no-startup-id $HOME/.config/polybar/launch.sh exec_always --no-startup-id $HOME/.config/polybar/launch.sh
#bar {
# status_command i3status
# position top
#}
############## Colors ############# ############## Colors #############
# class border backgr. text indicator child_border # class border backgr text indicator child_border
client.focused #268bd2 #268bd2 #ffffff #268bd2 #268bd2 client.focused #268bd2 #268bd2 #ffffff #268bd2 #268bd2
client.focused_inactive #000000 #000000 #ffffff #000000 #000000 client.focused_inactive #000000 #000000 #ffffff #000000 #000000
client.unfocused #000000 #000000 #888888 #000000 #000000 client.unfocused #000000 #000000 #888888 #000000 #000000

View file

@ -1,5 +1,5 @@
#: MOD #: MOD
kitty_mod ctrl+shift #kitty_mod ctrl+shift
clear_all_shortcuts no clear_all_shortcuts no
@ -115,7 +115,7 @@ tab_bar_style powerline
tab_bar_min_tabs 2 tab_bar_min_tabs 2
tab_switch_strategy previous tab_switch_strategy previous
tab_fade 0.25 0.5 0.75 1 tab_fade 0.25 0.5 0.75 1
tab_separator " ┇" tab_separator "┇"
tab_title_template "{title}" tab_title_template "{title}"
active_tab_title_template none active_tab_title_template none
@ -132,7 +132,7 @@ tab_bar_background none
#: Theming #: Theming
foreground #dfdfdf foreground #dfdfdf
background_opacity 0.87 background_opacity 0.85
background_image none background_image none
background_image_layout tiled background_image_layout tiled
background_image_linear no background_image_linear no
@ -152,65 +152,60 @@ map shift+insert paste_from_selection
map kitty_mod+o pass_selection_to_program map kitty_mod+o pass_selection_to_program
#: #: Scroll #: #: Scroll
map kitty_mod+up scroll_line_up map shift+up scroll_line_up
map kitty_mod+k scroll_line_up map shift+down scroll_line_down
map kitty_mod+down scroll_line_down map shift+page_up scroll_page_up
map kitty_mod+j scroll_line_down map shift+page_down scroll_page_down
map kitty_mod+page_up scroll_page_up map shift+home scroll_home
map kitty_mod+page_down scroll_page_down map shift+end scroll_end
map kitty_mod+home scroll_home map ctrl+shift+h show_scrollback
map kitty_mod+end scroll_end
map kitty_mod+h show_scrollback
#: #: Window #: #: Window
map kitty_mod+F9 new_os_window map ctrl+F9 new_os_window
map kitty_mod+enter new_window map alt+] next_window
map kitty_mod+x close_window map alt+[ previous_window
map kitty_mod+] next_window map alt+f move_window_forward
map kitty_mod+[ previous_window map alt+b move_window_backward
map kitty_mod+f move_window_forward map alt+` move_window_to_top
map kitty_mod+b move_window_backward map alt+r start_resizing_window
map kitty_mod+` move_window_to_top
map kitty_mod+r start_resizing_window
#: #: Tab #: #: Tab
map kitty_mod+l next_tab map ctrl+shift+l next_tab
map kitty_mod+h previous_tab map ctrl+shift+h previous_tab
map kitty_mod+t new_tab map ctrl+shift+t new_tab
map kitty_mod+q close_tab map alt+q close_tab
map kitty_mod+. set_tab_title map ctrl+alt+. set_tab_title
map kitty_mod+1 first_window map alt+1 first_window
map kitty_mod+2 second_window map alt+2 second_window
map kitty_mod+3 third_window map alt+3 third_window
map kitty_mod+4 fourth_window map alt+4 fourth_window
map kitty_mod+5 fifth_window map alt+5 fifth_window
map kitty_mod+6 sixth_window map alt+6 sixth_window
map kitty_mod+7 seventh_window map alt+7 seventh_window
map kitty_mod+8 eighth_window map alt+8 eighth_window
map kitty_mod+9 ninth_window map alt+9 ninth_window
map kitty_mod+0 tenth_window map alt+0 tenth_window
#: #: Layouts
map kitty_mod+l next_layout
#: #: Font Size #: #: Font Size
map kitty_mod+equal change_font_size all +2.0 map alt+equal change_font_size all +2.0
map kitty_mod+minus change_font_size all -2.0 map alt+minus change_font_size all -2.0
map kitty_mod+backspace change_font_size all 0 map alt+ctrl+backspace change_font_size all 0
#:#: Other #:#: Other
map f11 toggle_fullscreen map f11 toggle_fullscreen
map kitty_mod+f10 toggle_maximized map ctrl+shift+f10 toggle_maximized
map kitty_mod+u kitten unicode_input map ctrl+shift+u kitten unicode_input
map kitty_mod+f2 edit_config_file map ctrl+shift+f2 edit_config_file
map kitty_mod+escape kitty_shell window #map kitty_mod+escape kitty_shell window
map kitty_mod+delete clear_terminal reset active map kitty_mod+delete clear_terminal reset active
selection_background #073642 selection_background #073642
selection_foreground #edebd7 selection_foreground #edebd7
foreground #d2dae2 foreground #d2dae2
background #1e272e #background #1e272e
background #002B36
cursorColor #d2dae2 cursorColor #d2dae2
color0 #1e272e color0 #1e272e

View file

@ -1,11 +1,8 @@
# See this wiki page for more info:
# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
print_info() { print_info() {
info title info title
info underline info underline
info "OS" distro info "OS" distro
#info "Host" model
info "Kernel" kernel info "Kernel" kernel
info "Uptime" uptime info "Uptime" uptime
info "Packages" packages info "Packages" packages
@ -21,844 +18,271 @@ print_info() {
info "CPU" cpu info "CPU" cpu
info "GPU" gpu info "GPU" gpu
info "Memory" memory info "Memory" memory
# info "GPU Driver" gpu_driver # Linux/macOS only
# info "CPU Usage" cpu_usage
info "Disk" disk info "Disk" disk
# info "Battery" battery
# info "Font" font # info "Font" font
# info "Song" song
# [[ "$player" ]] && prin "Music Player" "$player"
info "Local IP" local_ip info "Local IP" local_ip
info "Public IP" public_ip info "Public IP" public_ip
info "Users" users info "Users" users
# info "Locale" locale # This only works on glibc systems.
#info cols
} }
# Title
# Hide/Show Fully qualified domain name. # Hide/Show Fully qualified domain name.
#
# Default: 'off'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --title_fqdn
title_fqdn="off" title_fqdn="off"
# Kernel
# Shorten the output of the kernel function. # Shorten the output of the kernel function.
#
# Default: 'on'
# Values: 'on', 'off' # 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" kernel_shorthand="on"
# Distro
# Shorten the output of the distro function # Shorten the output of the distro function
#
# Default: 'off'
# Values: 'on', 'tiny', 'off' # Values: 'on', 'tiny', 'off'
# Flag: --distro_shorthand
# Supports: Everything except Windows and Haiku
distro_shorthand="off" distro_shorthand="off"
# Show/Hide OS Architecture. # Show/Hide OS Architecture.
# Show 'x86_64', 'x86' and etc in 'Distro:' output.
#
# Default: 'on'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --os_arch
#
# Example:
# on: 'Arch Linux x86_64'
# off: 'Arch Linux'
os_arch="on" os_arch="on"
# Uptime # Uptime
# Shorten the output of the uptime function
#
# Default: 'on'
# Values: 'on', 'tiny', 'off' # 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" uptime_shorthand="on"
# Memory # Memory
# Show memory pecentage in output.
#
# Default: 'off'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --memory_percent
#
# Example:
# on: '1801MiB / 7881MiB (22%)'
# off: '1801MiB / 7881MiB'
memory_percent="off" memory_percent="off"
# Change memory output unit. # Change memory output unit.
#
# Default: 'mib'
# Values: 'kib', 'mib', 'gib' # Values: 'kib', 'mib', 'gib'
# Flag: --memory_unit
#
# Example:
# kib '1020928KiB / 7117824KiB'
# mib '1042MiB / 6951MiB'
# gib: ' 0.98GiB / 6.79GiB'
memory_unit="mib" memory_unit="mib"
# Packages # Packages
# Show/Hide Package Manager names.
#
# Default: 'tiny'
# Values: 'on', 'tiny' 'off' # 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" package_managers="on"
# Shell # Shell
# Show the path to $SHELL
#
# Default: 'off'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --shell_path
#
# Example:
# on: '/bin/bash'
# off: 'bash'
shell_path="off" shell_path="off"
# Show $SHELL version # Show $SHELL version
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --shell_version
#
# Example:
# on: 'bash 4.4.5'
# off: 'bash'
shell_version="on" shell_version="on"
# CPU # CPU
# CPU speed type
#
# Default: 'bios_limit'
# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', '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" speed_type="bios_limit"
# CPU speed shorthand # CPU speed shorthand
#
# Default: 'off'
# Values: 'on', '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" speed_shorthand="off"
# Enable/Disable CPU brand in output. # Enable/Disable CPU brand in output.
#
# Default: 'on'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --cpu_brand
#
# Example:
# on: 'Intel i7-6500U'
# off: 'i7-6500U (4)'
cpu_brand="on" cpu_brand="on"
# CPU Speed # CPU Speed
# Hide/Show CPU speed.
#
# Default: 'on'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --cpu_speed
#
# Example:
# on: 'Intel i7-6500U (4) @ 3.1GHz'
# off: 'Intel i7-6500U (4)'
cpu_speed="on" cpu_speed="on"
# CPU Cores # CPU Cores
# Display CPU cores in output
#
# Default: 'logical'
# Values: 'logical', 'physical', 'off' # 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_cores="logical"
# CPU Temperature # CPU Temperature
# Hide/Show CPU temperature.
# Note the temperature is added to the regular CPU function.
#
# Default: 'off'
# Values: 'C', 'F', 'off' # Values: 'C', 'F', 'off'
# Flag: --cpu_temp cpu_temp="C"
# 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 # GPU
# Enable/Disable GPU Brand
#
# Default: 'on'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --gpu_brand
#
# Example:
# on: 'AMD HD 7950'
# off: 'HD 7950'
gpu_brand="on" gpu_brand="on"
# Which GPU to display # Which GPU to display
#
# Default: 'all'
# Values: 'all', 'dedicated', 'integrated' # 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" gpu_type="all"
# Resolution # Resolution
# Display refresh rate next to each monitor
# Default: 'off'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --refresh_rate
# Supports: Doesn't work on Windows.
#
# Example:
# on: '1920x1080 @ 60Hz'
# off: '1920x1080'
refresh_rate="off" refresh_rate="off"
# Gtk Theme / Icons / Font # Gtk Theme / Icons / Font
# Shorten output of GTK Theme / Icons / Font
#
# Default: 'off'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --gtk_shorthand
#
# Example:
# on: 'Numix, Adwaita'
# off: 'Numix [GTK2], Adwaita [GTK3]'
gtk_shorthand="off" gtk_shorthand="off"
# Enable/Disable gtk2 Theme / Icons / Font # Enable/Disable gtk2 Theme / Icons / Font
#
# Default: 'on'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --gtk2
#
# Example:
# on: 'Numix [GTK2], Adwaita [GTK3]'
# off: 'Adwaita [GTK3]'
gtk2="on" gtk2="on"
# Enable/Disable gtk3 Theme / Icons / Font # Enable/Disable gtk3 Theme / Icons / Font
#
# Default: 'on'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --gtk3
#
# Example:
# on: 'Numix [GTK2], Adwaita [GTK3]'
# off: 'Numix [GTK2]'
gtk3="on" gtk3="on"
# IP Address # IP Address
# Website to ping for the public IP
#
# Default: 'http://ident.me'
# Values: 'url' # Values: 'url'
# Flag: --ip_host
public_ip_host="http://ident.me" public_ip_host="http://ident.me"
# Public IP timeout. # Public IP timeout.
#
# Default: '2'
# Values: 'int' # Values: 'int'
# Flag: --ip_timeout
public_ip_timeout=2 public_ip_timeout=2
# Desktop Environment # Desktop Environment
# Show Desktop Environment version
#
# Default: 'on'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --de_version
de_version="on" de_version="on"
# Disk # 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'. # 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_show=('/')
# Disk subtitle. # Disk subtitle.
# What to append to the Disk subtitle.
#
# Default: 'mount'
# Values: 'mount', 'name', 'dir', 'none' # 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_subtitle="mount"
# Disk percent. # Disk percent.
# Show/Hide disk percent.
#
# Default: 'on'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --disk_percent
#
# Example:
# on: 'Disk (/): 74G / 118G (66%)'
# off: 'Disk (/): 74G / 118G'
disk_percent="on" disk_percent="on"
# Song # Song
# Manually specify a music player.
#
# Default: 'auto'
# Values: 'auto', 'player-name' # 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" music_player="auto"
# Format to display song information. # Format to display song information.
#
# Default: '%artist% - %album% - %title%'
# Values: '%artist%', '%album%', '%title%' # Values: '%artist%', '%album%', '%title%'
# Flag: --song_format
#
# Example:
# default: 'Song: Jet - Get Born - Sgt Major'
song_format="%artist% - %album% - %title%" song_format="%artist% - %album% - %title%"
# Print the Artist, Album and Title on separate lines # Print the Artist, Album and Title on separate lines
#
# Default: 'off'
# Values: 'on', '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" song_shorthand="off"
# 'mpc' arguments (specify a host, password etc). # 'mpc' arguments (specify a host, password etc).
#
# Default: ''
# Example: mpc_args=(-h HOST -P PASSWORD)
mpc_args=() mpc_args=()
# Text Colors # Text Colors
# Text Colors
#
# Default: 'distro'
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' # 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) colors=(distro)
# Text Options
# Toggle bold text # Toggle bold text
#
# Default: 'on'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --bold
bold="on" bold="on"
# Enable/Disable Underline # Enable/Disable Underline
#
# Default: 'on'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --underline
underline_enabled="on" underline_enabled="on"
# Underline character # Underline character
#
# Default: '-'
# Values: 'string' # Values: 'string'
# Flag: --underline_char
underline_char="-" underline_char="-"
# Info Separator # Info Separator
# Replace the default separator with the specified string. # Replace the default separator with the specified string.
#
# Default: ':'
# Flag: --separator
#
# Example:
# separator="->": 'Shell-> bash'
# separator=" =": 'WM = dwm'
separator=":" separator=":"
# Color Blocks
# Color block range # Color block range
# The range of colors to print. # The range of colors to print.
#
# Default: '0', '15'
# Values: 'num' # 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) block_range=(0 15)
# Toggle color blocks # Toggle color blocks
#
# Default: 'on'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --color_blocks
color_blocks="on" color_blocks="on"
# Color block width in spaces # Color block width in spaces
#
# Default: '3'
# Values: 'num' # Values: 'num'
# Flag: --block_width
block_width=3 block_width=3
# Color block height in lines # Color block height in lines
#
# Default: '1'
# Values: 'num' # Values: 'num'
# Flag: --block_height
block_height=1 block_height=1
# Color Alignment # Color Alignment
#
# Default: 'auto'
# Values: 'auto', 'num' # 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" col_offset="auto"
# Progress Bars
# Bar characters # Bar characters
#
# Default: '-', '='
# Values: 'string', 'string' # Values: 'string', 'string'
# Flag: --bar_char
#
# Example:
# neofetch --bar_char 'elapsed' 'total'
# neofetch --bar_char '-' '='
bar_char_elapsed="-" bar_char_elapsed="-"
bar_char_total="=" bar_char_total="="
# Toggle Bar border # Toggle Bar border
#
# Default: 'on'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --bar_border
bar_border="on" bar_border="on"
# Progress bar length in spaces # Progress bar length in spaces
# Number of chars long to make the progress bars. # Number of chars long to make the progress bars.
#
# Default: '15'
# Values: 'num' # Values: 'num'
# Flag: --bar_length
bar_length=15 bar_length=15
# Progress bar colors # Progress bar colors
# When set to distro, uses your distro's logo colors. # When set to distro, uses your distro's logo colors.
#
# Default: 'distro', 'distro'
# Values: 'distro', 'num' # Values: 'distro', 'num'
# Flag: --bar_colors
#
# Example:
# neofetch --bar_colors 3 4
# neofetch --bar_colors distro 5
bar_color_elapsed="distro" bar_color_elapsed="distro"
bar_color_total="distro" bar_color_total="distro"
# Info display # Info display
# Display a bar with the info. # 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" cpu_display="off"
memory_display="off" memory_display="off"
battery_display="off" battery_display="off"
disk_display="off" disk_display="off"
# Backend Settings
# Image backend. # Image backend.
#
# Default: 'ascii'
# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off', # Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off',
# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty' # 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty'
# Flag: --backend
image_backend="ascii" image_backend="ascii"
# Image Source
#
# Which image or ascii file to display. # Which image or ascii file to display.
#
# Default: 'auto'
# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/' # Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/'
# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")' # '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" image_source="auto"
# Ascii Options
# Ascii distro # 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_distro="auto"
# Ascii Colors # Ascii Colors
#
# Default: 'distro'
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' # 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) ascii_colors=(distro)
# Bold ascii logo # Bold ascii logo
# Whether or not to bold the ascii logo. # Whether or not to bold the ascii logo.
#
# Default: 'on'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --ascii_bold
ascii_bold="on" ascii_bold="on"
# Image Options
# Image loop # Image loop
# Setting this to on will make neofetch redraw the image constantly until # Setting this to on will make neofetch redraw the image constantly until
# Ctrl+C is pressed. This fixes display issues in some terminal emulators. # Ctrl+C is pressed. This fixes display issues in some terminal emulators.
#
# Default: 'off'
# Values: 'on', 'off' # Values: 'on', 'off'
# Flag: --loop
image_loop="off" image_loop="off"
# Thumbnail directory # Thumbnail directory
#
# Default: '~/.cache/thumbnails/neofetch'
# Values: 'dir' # Values: 'dir'
thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch" thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
# Crop mode # Crop mode
#
# Default: 'normal'
# Values: 'normal', 'fit', 'fill' # 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_mode="normal"
# Crop offset # Crop offset
# Note: Only affects 'normal' crop mode.
#
# Default: 'center'
# Values: 'northwest', 'north', 'northeast', 'west', 'center' # Values: 'northwest', 'north', 'northeast', 'west', 'center'
# 'east', 'southwest', 'south', 'southeast' # 'east', 'southwest', 'south', 'southeast'
# Flag: --crop_offset
crop_offset="center" crop_offset="center"
# Image size # Image size
# The image is half the terminal width by default. # The image is half the terminal width by default.
#
# Default: 'auto'
# Values: 'auto', '00px', '00%', 'none' # Values: 'auto', '00px', '00%', 'none'
# Flags: --image_size
# --size
image_size="auto" image_size="auto"
# Gap between image and text # Gap between image and text
#
# Default: '3'
# Values: 'num', '-num' # Values: 'num', '-num'
# Flag: --gap
gap=3 gap=3
# Image offsets # Image offsets
# Only works with the w3m backend. # Only works with the w3m backend.
#
# Default: '0'
# Values: 'px' # Values: 'px'
# Flags: --xoffset
# --yoffset
yoffset=0 yoffset=0
xoffset=0 xoffset=0
# Image background color # Image background color
# Only works with the w3m backend. # Only works with the w3m backend.
#
# Default: ''
# Values: 'color', 'blue' # Values: 'color', 'blue'
# Flag: --bg_color
background_color= background_color=
# Misc Options
# Stdout mode # Stdout mode
# Turn off all colors and disables image backend (ASCII/Image). # Turn off all colors and disables image backend (ASCII/Image).
# Useful for piping into another command. # Useful for piping into another command.
# Default: 'off'
# Values: 'on', 'off' # Values: 'on', 'off'
stdout="off" stdout="off"

56
config/picom.conf Normal file
View file

@ -0,0 +1,56 @@
########### Shadows ###########
dropdown_menu = { shadow = false; };
popup_menu = { shadow = false; };
utility = { shadow = false; };
shadow = true;
shadow-radius = 11;
shadow-offset-x = -7;
shadow-offset-y = -7;
shadow-exclude = [
"name = 'Notification'"
];
############ Fading ###########
fading = true;
fade-in-step = 0.03;
fade-out-step = 0.03;
##### Transparency/Opacity ####
inactive-opacity = 0.8;
frame-opacity = 0.7;
inactive-opacity-override = false;
focus-exclude = [];
##### Background-Blurring #####
blur-kern = "3x3box";
blur-background-exclude = [ "window_type = 'desktop'" ];
####### General Settings ######
backend = "glx";
vsync = true;
mark-wmwin-focused = true;
mark-ovredir-focused = true;
glx-no-stencil = true
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0;
detect-transient = true;
detect-client-leader = true;
glx-no-rebind-pixmap = true;
use-damage = true;
log-level = "warn";
wintypes:
{
tooltip = { fade = true; shadow = false; opacity = 1; focus = true; full-shadow = false; };
menu = { fade = true; shadow = false; };
popup_menu = { fade = true; shadow = false; };
dropdown_menu = { fade = true; shadow = false; };
utility = { fade = true; shadow = false; };
dialog = { fade = true; shadow = false; };
notify = { fade = true; shadow = true; };
unknown = { fade = true; shadow = false; };
};

View file

@ -3,26 +3,25 @@ pseudo-transparency = true
[colors] [colors]
background = #002B36 background = #002B36
background-alt = #073642 background-alt = #002236
foreground = #dfdfdf foreground = #dfdfdf
foreground-alt = #fdf6e3 foreground-alt = #f0f0f0
primary = #268bd2 primary = #268bd2
secondary = #218DC8 secondary = #218DC8
alert = #268bd2 alert = #268bd2
;alert = #dc322f
############################################################################################################ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[bar/example] [bar/bar]
#monitor = ${env:MONITOR:HDMI-1} ;monitor = ${env:MONITOR:HDMI-1}
width = 100% width = 100%
height = 26 height = 25
fixed-center = true fixed-center = true
locale = en_US.UTF-8 locale = en_US.UTF-8
background = ${colors.background} background = ${colors.background}
foreground = ${colors.foreground} foreground = ${colors.foreground}
line-size = 1 line-size = 2
line-color = #f00 line-color = #f00
padding-left = 0 padding-left = 0
@ -30,41 +29,22 @@ padding-right = 0
module-margin-left = 1 module-margin-left = 1
module-margin-right = 1 module-margin-right = 1
; Fonts
font-0 = Iosevka Nerd Font:style=Medium:size=8;3 font-0 = Iosevka Nerd Font:style=Medium:size=8;3
font-1 = FontAwesome5Free:style=Solid:size=7.5;2.5 font-1 = FontAwesome5Free:style=Solid:size=7.5;2.5
font-2 = Weather Icons:size=7;2 font-2 = Weather Icons:size=7;2
font-3 = FontAwesome5Brands:style=Solid:size=7.5;2.5
############################################################################################################ ;; Modules positii3on ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Modules position modules-left = i3 sp2 weather updates-pacman
modules-left = i3 sp2 openweathermap-simple updates-pacman modules-center =
;modules-center = title modules-right = pulseaudio microphone backlight keyboard clipmenu wlan date time sp2
modules-center = spotify
modules-right = pulseaudio xkeyboard powermenu sp2 calendar
tray-position = right tray-position = right
tray-padding = 2 tray-padding = 2
tray-detached = false tray-detached = false
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
############################################################################################################
# INCLUDE MODULES
############################################################################################################
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
mount-1 = /home
label-mounted = %{F#c38611} %mountpoint%: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}
############################################################################################################
[settings] [settings]
screenchange-reload = true screenchange-reload = true
############################################################################################################
; Used for top and bottom aligned bars
[global/wm] [global/wm]
margin-top = 5 margin-top = 5
margin-bottom = 5 margin-bottom = 5
@ -72,8 +52,7 @@ cursor-click = pointer
cursor-scroll = ns-resize cursor-scroll = ns-resize
wm-restack = i3 wm-restack = i3
############################################################################################################
; i3wm workspace indicator
[module/i3] [module/i3]
type = internal/i3 type = internal/i3
format = <label-state><label-mode> format = <label-state><label-mode>
@ -82,33 +61,28 @@ wrapping-scroll = false
label-mode-padding = 1 label-mode-padding = 1
label-mode-foreground = #000 label-mode-foreground = #000
label-mode-background = ${colors.primary} label-mode-background = ${colors.primary}
label-focused = %icon% label-focused = %icon%
label-focused-background = 002873C0 label-focused-background = 073642
label-focused-foreground = ${colors.foreground} label-focused-foreground = ${colors.foreground}
label-focused-padding = 1 label-focused-padding = 1
label-focused-underline = 018BFF label-focused-underline = 268bd2
#label-focused-overline = ${colors.primary}
label-unfocused = %icon% label-unfocused = %icon%
label-unfocused-background = 00255498
label-unfocused-foreground = ${colors.foreground} label-unfocused-foreground = ${colors.foreground}
label-unfocused-padding = 1 label-unfocused-padding = 1
#label-unfocused-underline = 255498
#label-unfocused-overline = ${colors.background}
label-urgent = %icon% label-urgent = %icon%
label-urgent-background = ${colors.alert} label-urgent-background = ${colors.alert}
label-urgent-foreground = ${colors.foreground} label-urgent-foreground = ${colors.foreground}
label-urgent-padding = 1 label-urgent-padding = 1
label-urgent-underline = ${colors.alert} label-urgent-underline = ${colors.alert}
#label-urgent-overline = ${colors.background}
label-visible = %icon% label-visible = %icon%
label-visible-background = ${colors.background} label-visible-background = ${colors.background}
label-visible-foreground = ${colors.foreground} label-visible-foreground = ${colors.foreground}
label-visible-padding = 1 label-visible-padding = 1
label-visible-underline = ${colors.background} label-visible-underline = ${colors.background}
#label-visible-overline = ${colors.background}
ws-icon-0 = "1;1 " ws-icon-0 = "1;1 "
ws-icon-1 = "2;2 " ws-icon-1 = "2;2 "
@ -118,19 +92,46 @@ ws-icon-4 = "5;5 "
ws-icon-5 = "6;6 " ws-icon-5 = "6;6 "
ws-icon-6 = "7;7 " ws-icon-6 = "7;7 "
ws-icon-7 = 8;8 ws-icon-7 = 8;8
ws-icon-8 = "9;9 " ws-icon-8 = 9;9
ws-icon-9 = "10;10 " ws-icon-9 = "10;10 "
;label-separator = | ;label-separator = |
############################################################################################################ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
# PulseAudio- https://github.com/polybar/polybar/wiki/Module:-pulseaudio ;; INCLUDE MODULES
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[module/backlight]
type = internal/xbacklight
format = <ramp> <label>
label = %percentage%%
ramp-0 = 
[module/wlan]
type = internal/network
interface = wlp3s0
format-connected = <ramp-signal> <label-connected>
label-connected = %essid%
format-disconnected =  No sing
ramp-signal-0 = 
interval = 3.0
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
mount-1 = /home
label-mounted = %{F#c38611} %mountpoint%: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}
[module/pulseaudio] [module/pulseaudio]
type = internal/pulseaudio type = internal/pulseaudio
format-volume = %{F#61a8ff}<ramp-volume><label-volume> format-volume = <ramp-volume> <label-volume>
label-volume = %{F#61a8ff} %percentage%% label-volume = %percentage%%
label-volume-foreground = ${root.foreground} label-volume-foreground = ${root.foreground}
label-muted =  label-muted = 
label-muted-foreground = #e8793e
ramp-volume-0 =  ramp-volume-0 = 
ramp-volume-1 =  ramp-volume-1 = 
@ -138,8 +139,7 @@ ramp-volume-2 = 
ramp-volume-3 =  ramp-volume-3 = 
ramp-volume-4 =  ramp-volume-4 = 
############################################################################################################
; CPU Loads - https://github.com/polybar/polybar/wiki/Module:-cpu
[module/cpu] [module/cpu]
type = internal/cpu type = internal/cpu
interval = 2 interval = 2
@ -148,98 +148,81 @@ format-prefix-foreground = ${colors.foreground-alt}
label = %{F#1ecb0b} CPU %percentage%% label = %{F#1ecb0b} CPU %percentage%%
############################################################################################################
# Memmory(RAM) - https://github.com/polybar/polybar/wiki/Module:-memory
[module/memory] [module/memory]
type = internal/memory type = internal/memory
interval = 2 interval = 2
format-prefix = " " format-prefix = " "
#format-prefix-foreground = ${colors.foreground-alt}
#format-overline = #61C07C
#format-underline = #61C07C
label = %{F#8d61ff}  MEM %percentage_used%% label = %{F#8d61ff}  MEM %percentage_used%%
############################################################################################################
; Weather
[module/openweathermap-simple]
type = custom/script
exec = ~/.config/polybar/scripts/openweathermap-simple.sh
interval = 60
label-font = 3
############################################################################################################ [module/weather]
; Sporify inkator - https://github.com/Jvanrhijn/polybar-spotify type = custom/script
exec = python3 ~/.config/polybar/scripts/weather.py
interval = 60
label-font = 1
[module/spotify] [module/spotify]
type = custom/script type = custom/script
interval = 1 interval = 1
format-prefix = " "
format = <label> format = <label>
exec = python ~/.config/polybar/scripts/spotify_status.py -f '{artist} - {song}' exec = python ~/.config/polybar/scripts/spotify_status.py -f '{artist} - {song}'
line-size
format-underline = #1db954 format-underline = #1db954
############################################################################################################
; Updates cheacker (pacman)
[module/updates-pacman] [module/updates-pacman]
type = custom/script type = custom/script
exec = ~/.config/polybar/scripts/updates-pacman.sh exec = ~/.config/polybar/scripts/updates-pacman-aur.sh
interval = 600 interval = 60
############################################################################################################
; Keyboard layout - https://github.com/polybar/polybar/wiki/Module:-xkeyboard [module/keyboard]
[module/xkeyboard]
type = internal/xkeyboard type = internal/xkeyboard
blacklist-0 = num lock
label-NAME-maxlen = 10 label-NAME-maxlen = 10
format-prefix = "" format-prefix = ""
label-layout =  %layout% label-layout =  %layout%
label-indicator-padding = 2 blacklist-0 = num lock
label-indicator-margin = 1 blacklist-1 = scroll lock
label-indicator-background = 2B7DBC blacklist-2= caps lock
label-indicator-overline = 2B7DBC
label-indicator-underline = 2B7DBC
############################################################################################################
; Battery - https://github.com/polybar/polybar/wiki/Module:-battery [module/microphone]
[module/battery-combined-tlp]
type = custom/script type = custom/script
exec = ~/.config/polybar/scripts/battery-combined-tlp.sh label = %output:0:40:...%
interval = 10 exec = ~/.config/polybar/scripts/microphone.sh  
click-left = ~/.config/polybar/scripts/microphone.sh --click
interval = 0
############################################################################################################
; Separator
[module/sp2] [module/sp2]
type = custom/text type = custom/text
content = "┇" content = "┇"
; content-foreground = #93A1A1
############################################################################################################
; Calendar
[module/calendar]
type = custom/script
exec = ~/.config/polybar/scripts/popup-calendar.sh
interval = 5
click-left = ~/.config/polybar/scripts/popup-calendar.sh --popup &
############################################################################################################
# Date & time - https://github.com/polybar/polybar/wiki/Module:-date
[module/date] [module/date]
type = internal/date type = internal/date
interval = 1 interval = 600
dqate = date = %b %e
time =%{F#E0D9FF} %H:%M:%S label =  %date%
date-alt =%{F#E0D9FF} %a %e %B %Y
time-alt = %H:%M
format-prefix =  [module/time]
label = %date% %time% type = internal/date
interval = 0
time = %H:%M
label =  %time%
############################################################################################################
; Focus window name - https://github.com/polybar/polybar/wiki/Module:-xwindow
[module/title] [module/title]
type = internal/xwindow type = internal/xwindow
label = %{F#f0f0f0}%title:0:50:...% label = %{F#f0f0f0}%title:0:50:...%
label-empty = Empty label-empty = Empty
label-empty-foreground = #707880 label-empty-foreground = #707880
label-maxlen = 30 label-maxlen = 30
label-padding = 0
[module/clipmenu]
type = custom/text
content = ""
click-left = "CM_LAUNCHER=rofi clipmenu"
interval = 0

View file

@ -1,4 +1,11 @@
#!/bin/bash #!/bin/bash
# Terminate already running bar instances
killall -q polybar killall -q polybar
# Wait until the processes have been shut down
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
polybar example &
# Launch Polybar, using default config location ~/.config/polybar/config
polybar bar &
echo "Polybar launched..."

View file

@ -1,5 +0,0 @@
#!/bin/sh
battery=$(sudo tlp-stat -b | tac | grep -m 1 "Charge" | tr -d -c "[:digit:],.")
echo "$battery %"

View file

@ -1,25 +0,0 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
import json,sys,urllib.request,time
if len(sys.argv) != 3:
print("Usage: btc usd,eur,btc nok")
sys.exit()
currencies = sys.argv[1]
basecurrency = sys.argv[2]
currencyurl = "http://freecurrencyrates.com/api/action.php?do=cvals&iso=" + currencies.replace(',','') + "&f=" + basecurrency + "&v=1&s=cbr"
f = urllib.request.urlopen(currencyurl)
obj = json.loads(f.read())
res="";
for c in currencies.split(','):
res += c.upper() + ":{:,.2f}".format(1/obj[c.upper()]).replace(',',' ')
# some unicode currency code replacement (optional)
res = res.replace("USD", " $")
res = res.replace("EUR", " €")
res = res.replace("BTC", " ")
print(res);

View file

@ -0,0 +1,21 @@
#!/bin/bash
MICSYMBOL=$1
MICMUTEDSYMBOL=$2
case "$1" in
--click)
amixer -D pulse sset Capture toggle
;;
*)
;;
esac
STATUS=$(amixer -D pulse get Capture | grep -E "\[on\]|\[off\]" | cut -s -d ' ' -f 8 | uniq)
if [[ $STATUS = "[on]" ]]; then
echo $MICSYMBOL
elif [[ $STATUS = "[off]" ]]; then
echo $MICMUTEDSYMBOL
else
echo "Not working, check script."
fi

View file

@ -1,57 +0,0 @@
#!/bin/sh
API="https://api.openweathermap.org/data/2.5"
KEY="34e5d198afe8fb0303e3c3c37774d2ca"
CITY="Horodnytsya, UA"
UNITS="metric"
SYMBOL="°С"
get_icon() {
case $1 in
# Icons for weather-icons
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
}
if [ -n "$CITY" ]; then
if [ "$CITY" -eq "$CITY" ] 2>/dev/null; then
CITY_PARAM="id=$CITY"
else
CITY_PARAM="q=$CITY"
fi
weather=$(curl -sf "$API/weather?appid=$KEY&$CITY_PARAM&units=$UNITS")
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')"
weather=$(curl -sf "$API/weather?appid=$KEY&lat=$location_lat&lon=$location_lon&units=$UNITS")
fi
fi
if [ -n "$weather" ]; then
weather_temp=$(echo "$weather" | jq ".main.temp" | cut -d "." -f 1)
weather_icon=$(echo "$weather" | jq -r ".weather[0].icon")
echo "$(get_icon "$weather_icon")" "$weather_temp$SYMBOL"
fi

View file

@ -1,41 +0,0 @@
#!/bin/sh
BAR_HEIGHT=22 # polybar height
BORDER_SIZE=1 # border size from your wm settings
YAD_WIDTH=222 # 222 is minimum possible value
YAD_HEIGHT=193 # 193 is minimum possible value
DATE="$(date +"%a %d %H:%M")"
case "$1" in
--popup)
if [ "$(xdotool getwindowfocus getwindowname)" = "yad-calendar" ]; then
exit 0
fi
eval "$(xdotool getmouselocation --shell)"
eval "$(xdotool getdisplaygeometry --shell)"
# X
if [ "$((X + YAD_WIDTH / 2 + BORDER_SIZE))" -gt "$WIDTH" ]; then #Right side
: $((pos_x = WIDTH - YAD_WIDTH - BORDER_SIZE))
elif [ "$((X - YAD_WIDTH / 2 - BORDER_SIZE))" -lt 0 ]; then #Left side
: $((pos_x = BORDER_SIZE))
else #Center
: $((pos_x = X - YAD_WIDTH / 2))
fi
# Y
if [ "$Y" -gt "$((HEIGHT / 2))" ]; then #Bottom
: $((pos_y = HEIGHT - YAD_HEIGHT - BAR_HEIGHT - BORDER_SIZE))
else #Top
: $((pos_y = BAR_HEIGHT + BORDER_SIZE))
fi
yad --calendar --undecorated --fixed --close-on-unfocus --no-buttons \
--width="$YAD_WIDTH" --height="$YAD_HEIGHT" --posx="$pos_x" --posy="$pos_y" \
--title="yad-calendar" --borders=0 >/dev/null &
;;
*)
echo "$DATE"
;;
esac

View file

@ -1,15 +0,0 @@
#!/bin/sh
if [ "$(pgrep -x redshift)" ]; then
temp=$(redshift -p 2> /dev/null | grep temp | cut -d ":" -f 2 | tr -dc "[:digit:]")
if [ -z "$temp" ]; then
echo "%{F#65737E} #"
elif [ "$temp" -ge 5000 ]; then
echo "%{F#8FA1B3} #"
elif [ "$temp" -ge 4000 ]; then
echo "%{F#EBCB8B} #"
else
echo "%{F#D08770} #"
fi
fi

View file

@ -1,7 +1,6 @@
#!/usr/bin/env python #!/usr/bin/env python
import sys # -*- encoding: utf-8 -*-
import dbus import sys, dbus, argparse
import argparse
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument( parser.add_argument(

View file

@ -0,0 +1,20 @@
#!/bin/sh
if ! updates_arch=$(checkupdates 2> /dev/null | wc -l ); then
updates_arch=0
fi
if ! updates_aur=$(yay -Qum 2> /dev/null | wc -l); then
# if ! updates_aur=$(cower -u 2> /dev/null | wc -l); then
# if ! updates_aur=$(trizen -Su --aur --quiet | wc -l); then
# if ! updates_aur=$(pikaur -Qua 2> /dev/null | wc -l); then
# if ! updates_aur=$(rua upgrade --printonly 2> /dev/null | wc -l); then
updates_aur=0
fi
updates=$(("$updates_arch" + "$updates_aur"))
if [ "$updates" -gt 0 ]; then
echo "$updates"
else
echo ""
fi

View file

@ -1,16 +0,0 @@
#!/bin/sh
if ! updates_arch=$(checkupdates 2> /dev/null | wc -l ); then
updates_arch=0
fi
if ! updates_aur=$(yay -Qum 2> /dev/null | wc -l); then
updates_aur=0
fi
updates=$(("$updates_arch" + "$updates_aur"))
if [ "$updates" -gt 0 ]; then
echo "# $updates"
else
echo ""
fi

View file

@ -0,0 +1,30 @@
#!/usr/bin/env python3
# -*- encoding: utf-8 -*-
import requests, os
API_KEY = os.getenv("OWM_POLYBAR")
CITY = "Horodnytsya,UA"
try:
JSON = requests.get(f"http://api.openweathermap.org/data/2.5/weather?q={CITY}&lang=EN&&units=metric&appid={API_KEY}").json()
except Exception as e:
print("No connection")
try:
if JSON['weather'][0]['main'] == "Clear": print("", int(JSON["main"]["temp"]),"°С")
elif JSON['weather'][0]['main'] == "Thunderstorm": print("", int(JSON["main"]["temp"]),"°С")
elif JSON['weather'][0]['main'] == "Drizzle": print("", int(JSON["main"]["temp"]),"°С")
elif JSON['weather'][0]['main'] == "Rain": print("", int(JSON["main"]["temp"]),"°С")
elif JSON['weather'][0]['main'] == "Snow": print("", int(JSON["main"]["temp"]),"°С")
elif JSON['weather'][0]['main'] == "Mist": print("", int(JSON["main"]["temp"]),"°С")
elif JSON['weather'][0]['main'] == "Smoke": print("", int(JSON["main"]["temp"]),"°С")
elif JSON['weather'][0]['main'] == "Haze": print("", int(JSON["main"]["temp"]),"°С")
elif JSON['weather'][0]['main'] == "Dust": print("", int(JSON["main"]["temp"]),"°С")
elif JSON['weather'][0]['main'] == "Fog": print("", int(JSON["main"]["temp"]),"°С")
elif JSON['weather'][0]['main'] == "Sand": print("", int(JSON["main"]["temp"]),"°С")
elif JSON['weather'][0]['main'] == "Ash": print("", int(JSON["main"]["temp"]),"°С")
elif JSON['weather'][0]['main'] == "Squall": print("", int(JSON["main"]["temp"]),"°С")
elif JSON['weather'][0]['main'] == "Tornado": print("", int(JSON["main"]["temp"]),"°С")
elif JSON['weather'][0]['main'] == "Clouds": print("", int(JSON["main"]["temp"]),"°С")
except Exception as e:
print(int(JSON["main"]["temp"]),"°С")

View file

@ -0,0 +1,100 @@
from ranger.api.commands import *
from ranger.core.loader import CommandLoader
import os
class compress(Command):
def execute(self):
cwd = self.fm.thisdir
marked_files = cwd.get_selection()
if not marked_files: return
def refresh(_):
cwd = self.fm.get_directory(original_path)
cwd.load_content()
original_path = cwd.path
parts = self.line.strip().split()
if len(parts) > 1: au_flags = [' '.join(parts[1:])]
else: au_flags = [os.path.basename(self.fm.thisdir.path) + '.zip']
files_num = len(marked_files)
files_num_str = str(files_num) + ' objects' if files_num > 1 else '1 object'
descr = "Compressing " + files_num_str + " -> " + os.path.basename(au_flags[0])
obj = CommandLoader(args=['apack'] + au_flags + [os.path.relpath(f.path, cwd.path) for f in marked_files], descr=descr, read=True)
obj.signal_bind('after', refresh)
self.fm.loader.add(obj)
def tab(self, tabnum):
extension = ['.zip', '.tar.gz', '.rar', '.7z']
return ['compress ' + os.path.basename(self.fm.thisdir.path) + ext for ext in extension]
class extract(Command):
def execute(self):
cwd = self.fm.thisdir
copied_files = cwd.get_selection()
if not copied_files: return
def refresh(_):
cwd = self.fm.get_directory(original_path)
cwd.load_content()
one_file = copied_files[0]
cwd = self.fm.thisdir
original_path = cwd.path
line_args = self.line.split()[1:]
if line_args:
extraction_dir = os.path.join(cwd.path, "".join(line_args))
os.makedirs(extraction_dir, exist_ok=True)
flags = ['-X', extraction_dir]
flags += ['-e']
else:
flags = ['-X', cwd.path]
flags += ['-e']
self.fm.copy_buffer.clear()
self.fm.cut_buffer = False
if len(copied_files) == 1: descr = "Extracting: " + os.path.basename(one_file.path)
else: descr = "Extracting files from: " + os.path.basename(one_file.dirname)
obj = CommandLoader(args=['aunpack'] + flags + [f.path for f in copied_files], descr=descr, read=True)
obj.signal_bind('after', refresh)
self.fm.loader.add(obj)
class extract_to_dirs(Command):
def execute(self):
cwd = self.fm.thisdir
original_path = cwd.path
copied_files = cwd.get_selection()
if not copied_files: return
def refresh(_):
cwd = self.fm.get_directory(original_path)
cwd.load_content()
def make_flags(fn):
flags = ['-D']
return flags
one_file = copied_files[0]
self.fm.copy_buffer.clear()
self.fm.cut_buffer = False
if len(copied_files) == 1: descr = "Extracting: " + os.path.basename(one_file.path)
else: descr = "Extracting files from: " + os.path.basename(one_file.dirname)
for f in copied_files:
obj = CommandLoader(args=['aunpack'] + make_flags(f.path) + [f.path], descr=descr, read=True)
obj.signal_bind('after', refresh)
self.fm.loader.add(obj)

View file

@ -0,0 +1,111 @@
import subprocess
from ranger.api.commands import Command
class git(Command):
commands = 'init status clone add rm restore commit remote push'.split()
def execute(self):
# empty
if not self.arg(1):
return self.fm.notify("For commands check \"git help\"")
# help
if self.arg(1) == "help":
return self.fm.notify("Not done yet!", bad=True)
# init
if self.arg(1) == self.commands[0]:
subprocess.run(["git", "init", "--quiet"])
return self.fm.notify("Repository initialized successefully")
# status
if self.arg(1) == self.commands[1]:
output = subprocess.check_output(["git", "status"]).decode()
with open('/tmp/gitplug-status', 'w') as out:
out.write(output)
return self.fm.edit_file('/tmp/gitplug-status')
# clone
if self.arg(1) == self.commands[2]:
if not self.arg(2):
return self.fm.notify("Missing url!", bad=True)
if self.arg(2):
subprocess.run(["git", "clone", self.arg(2), "--quiet"])
return self.fm.notify("Repository successfully cloned!")
# add
if self.arg(1) == self.commands[3]:
if not self.arg(2):
return self.fm.notify("Missing arguments! Usage :git add <file>", bad=True)
if self.arg(2):
subprocess.run(["git", "add", self.arg(2)])
return self.fm.notify("Successfully added files to branch!")
#rm
if self.arg(1) == self.commands[4]:
if not self.arg(2):
return self.fm.notify("Missing arguments! Usage :git rm <file>", bad=True)
if self.arg(2):
subprocess.run(["git", "rm", self.arg(2)])
return self.fm.notify("Successfully removed files from branch!")
# restore
if self.arg(1) == self.commands[5]:
if not self.arg(2):
return self.fm.notify("Missing arguments! Usage :git restore <file>", bad=True)
if self.arg(2):
subprocess.run(["git", "restore", "--staged", self.arg(2), "--quiet"])
return self.fm.notify("Successfully restored files!")
# commit
if self.arg(1) == self.commands[6]:
if not self.rest(2):
return self.fm.notify("Missing commit text", bad=True)
if self.rest(2):
subprocess.run(["git", "commit", "-m", self.rest(2), "--quiet"])
return self.fm.notify("Successfully commited!")
# remote
if self.arg(1) == self.commands[7]:
if not self.arg(2):
return self.fm.notify("Missing arguments! Use: git remote add/rm <name> <url>", bad=True)
if self.arg(2) == "add":
if not self.arg(3):
return self.fm.notify("Missing name and url!", bad=True)
if self.arg(3):
if not self.arg(4):
return self.fm.notify("Missing url!", bad=True)
if self.arg(4):
subprocess.run(["git", "remote", "add", self.arg(3), self.arg(4)])
return self.fm.notify("Remote successfully added!")
if self.arg(2) == "rm":
if not self.arg(3):
return self.fm.notify("Missing name!", bad=True)
if self.arg(3):
subprocess.run(["git", "remote", "rm", self.arg(3)])
return self.fm.notify("Remote successfully removed")
# push
if self.arg(1) == self.commands[8]:
if self.arg(2) == "-u" and self.arg(3) and self.arg(4):
subprocess.run(["git", "push", "--quiet", "-u", self.arg(3), self.arg(4)])
return self.fm.notify("Repository successfully pushed")
if not self.arg(2):
subprocess.run(["git", "push", "--quiet"])
return self.fm.notify("Repository successfully pushed")

485
config/ranger/rc.conf Normal file
View file

@ -0,0 +1,485 @@
############
### Options
###########
### Appearance
set colorscheme solarized
set viewmode miller
set column_ratios 1,3,4
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$|.DS_Store$|.directory
set show_hidden false
set confirm_on_delete always
set use_preview_script true
set automatically_count_files false
set open_all_images true
set status_bar_on_top false
### Versin control system
set vcs_aware true
set vcs_backend_git enabled
set vcs_backend_hg disabled
set vcs_backend_bzr disabled
set vcs_backend_svn disabled
set vcs_msg_length 30
### Preview
set preview_images true
#set preview_images_method w3m
set preview_images_method kitty
set w3m_delay 0.02
set w3m_offset 0
set iterm2_font_width 8
set iterm2_font_height 11
set unicode_ellipsis false
set bidi_support false
set show_hidden_bookmarks true
set preview_files true
set preview_directories true
set collapse_preview true
set wrap_plaintext_previews false
set draw_progress_bar_in_status_bar true
set draw_borders none
set dirname_in_tabs false
set mouse_enabled true
set display_size_in_main_column true
set display_size_in_status_bar true
set display_free_space_in_status_bar false
set display_tags_in_all_columns true
set update_title false
set update_tmux_title false
set shorten_title 3
set hostname_in_titlebar false
set tilde_in_titlebar trues
### History
set max_history_size 20
set max_console_history_size 50
set save_console_history false
set scroll_offset 4
set flushinput true
set padding_right true
set autosave_bookmarks true
set save_backtick_bookmark true
set autoupdate_cumulative_size false
set show_cursor false
# One of: size, natural, basename, atime, ctime, mtime, type, random
set sort natural
set sort_reverse false
set sort_case_insensitive true
set sort_directories_first true
set sort_unicode false
set xterm_alt_key false
set cd_bookmarks true
set cd_tab_case sensitive
set cd_tab_fuzzy false
set preview_max_size 0
set hint_collapse_threshold 10
set show_selection_in_titlebar true
set idle_delay 2000
set metadata_deep_search false
set clear_filters_on_dir_change false
# Possible values: false, absolute, relative.
set line_numbers false
set relative_current_zero false
set one_indexed false
set save_tabs_on_exit false
set wrap_scroll false
set global_inode_type_filter
set freeze_files false
set size_in_bytes false
set nested_ranger_warning true
#################################
# Command Aliases in the Console
#################################
map ex extract
map ed extract_to_dirs
map ec compress
alias e edit
alias q quit
alias q! quit!
alias qa quitall
alias qa! quitall!
alias qall quitall
alias qall! quitall!
alias setl setlocal
alias filter scout -prts
alias find scout -aets
alias mark scout -mr
alias unmark scout -Mr
alias search scout -rs
alias search_inc scout -rts
alias travel scout -aefklst
map Q quitall
map q quit
copymap q ZZ ZQ
map R reload_cwd
map F set freeze_files!
map <C-r> reset
map <C-l> redraw_window
map <C-c> abort
map <esc> change_mode normal
map ~ set viewmode!
map i display_file
map <A-j> scroll_preview 1
map <A-k> scroll_preview -1
map ? help
map W display_log
map w taskview_open
map S shell $SHELL
map : console
map ; console
map ! console shell%space
map @ console -p6 shell %%s
map # console shell -p%space
map s console shell%space
map r chain draw_possible_programs; console open_with%space
map f console find%space
map cd console cd%space
map <C-p> chain console; eval fm.ui.console.history_move(-1)
map Mf linemode filename
map Mi linemode fileinfo
map Mm linemode mtime
map Mh linemode humanreadablemtime
map Mp linemode permissions
map Ms linemode sizemtime
map MH linemode sizehumanreadablemtime
map Mt linemode metatitle
map t tag_toggle
map ut tag_remove
map "<any> tag_toggle tag=%any
map <Space> mark_files toggle=True
map v mark_files all=True toggle=True
map uv mark_files all=True val=False
map V toggle_visual_mode
map uV toggle_visual_mode reverse=True
map <UP> move up=1
map <DOWN> move down=1
map <LEFT> move left=1
map <RIGHT> move right=1
map <HOME> move to=0
map <END> move to=-1
map <PAGEDOWN> move down=1 pages=True
map <PAGEUP> move up=1 pages=True
map <CR> move right=1
map <DELETE> console delete
map <INSERT> console touch%space
copymap <UP> k
copymap <DOWN> j
copymap <LEFT> h
copymap <RIGHT> l
copymap <HOME> gg
copymap <END> G
copymap <PAGEDOWN> <C-F>
copymap <PAGEUP> <C-B>
map J move down=0.5 pages=True
map K move up=0.5 pages=True
copymap J <C-D>
copymap K <C-U>
map H history_go -1
map L history_go 1
map ] move_parent 1
map [ move_parent -1
map } traverse
map { traverse_backwards
map ) jump_non
map gh cd ~
map gr cd /
map gd cd ~/code
map E edit
map cw console rename%space
map a rename_append
map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"))
map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7)
map pp paste
map po paste overwrite=True
map pP paste append=True
map pO paste overwrite=True append=True
map pl paste_symlink relative=False
map pL paste_symlink relative=True
map phl paste_hardlink
map pht paste_hardlinked_subtree
map pd console paste dest=
map p`<any> paste dest=%any_path
map p'<any> paste dest=%any_path
#map dD console delete
map dD shell mv %s /home/${USER}/.local/share/Trash/files/
map dT console trash
map dd cut
map ud uncut
map da cut mode=add
map dr cut mode=remove
map dt cut mode=toggle
map yy copy
map uy uncut
map ya copy mode=add
map yr copy mode=remove
map yt copy mode=toggle
map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier)
map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier)
map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
map / console search%space
map n search_next
map N search_next forward=False
map ct search_next order=tag
map cs search_next order=size
map ci search_next order=mimetype
map cc search_next order=ctime
map cm search_next order=mtime
map ca search_next order=atime
map <C-n> tab_new
map <C-w> tab_close
map <TAB> tab_move 1
map <S-TAB> tab_move -1
map <A-Right> tab_move 1
map <A-Left> tab_move -1
map gt tab_move 1
map gT tab_move -1
map gn tab_new
map gc tab_close
map uq tab_restore
map <a-1> tab_open 1
map <a-2> tab_open 2
map <a-3> tab_open 3
map <a-4> tab_open 4
map <a-5> tab_open 5
map <a-6> tab_open 6
map <a-7> tab_open 7
map <a-8> tab_open 8
map <a-9> tab_open 9
map <a-r> tab_shift 1
map <a-l> tab_shift -1
map or set sort_reverse!
map oz set sort=random
map os chain set sort=size; set sort_reverse=False
map ob chain set sort=basename; set sort_reverse=False
map on chain set sort=natural; set sort_reverse=False
map om chain set sort=mtime; set sort_reverse=False
map oc chain set sort=ctime; set sort_reverse=False
map oa chain set sort=atime; set sort_reverse=False
map ot chain set sort=type; set sort_reverse=False
map oe chain set sort=extension; set sort_reverse=False
map oS chain set sort=size; set sort_reverse=True
map oB chain set sort=basename; set sort_reverse=True
map oN chain set sort=natural; set sort_reverse=True
map oM chain set sort=mtime; set sort_reverse=True
map oC chain set sort=ctime; set sort_reverse=True
map oA chain set sort=atime; set sort_reverse=True
map oT chain set sort=type; set sort_reverse=True
map oE chain set sort=extension; set sort_reverse=True
map dc get_cumulative_size
map zc set collapse_preview!
map zd set sort_directories_first!
map zh set show_hidden!
map <C-h> set show_hidden!
copymap <C-h> <backspace>
copymap <backspace> <backspace2>
map zI set flushinput!
map zi set preview_images!
map zm set mouse_enabled!
map zp set preview_files!
map zP set preview_directories!
map zs set sort_case_insensitive!
map zu set autoupdate_cumulative_size!
map zv set use_preview_script!
map zf console filter%space
copymap zf zz
map .d filter_stack add type d
map .f filter_stack add type f
map .l filter_stack add type l
map .m console filter_stack add mime%space
map .n console filter_stack add name%space
map .# console filter_stack add hash%space
map ." filter_stack add duplicate
map .' filter_stack add unique
map .| filter_stack add or
map .& filter_stack add and
map .! filter_stack add not
map .r filter_stack rotate
map .c filter_stack clear
map .* filter_stack decompose
map .p filter_stack pop
map .. filter_stack show
map `<any> enter_bookmark %any
map '<any> enter_bookmark %any
map m<any> set_bookmark %any
map um<any> unset_bookmark %any
map m<bg> draw_bookmarks
copymap m<bg> um<bg> `<bg> '<bg>
eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map +{0} shell -f chmod u+{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map -{0} shell -f chmod u-{0} %s".format(arg))
################################
### Define keys for the console
################################
cmap <tab> eval fm.ui.console.tab()
cmap <s-tab> eval fm.ui.console.tab(-1)
cmap <ESC> eval fm.ui.console.close()
cmap <CR> eval fm.ui.console.execute()
cmap <C-l> redraw_window
copycmap <ESC> <C-c>
copycmap <CR> <C-j>
cmap <up> eval fm.ui.console.history_move(-1)
cmap <down> eval fm.ui.console.history_move(1)
cmap <left> eval fm.ui.console.move(left=1)
cmap <right> eval fm.ui.console.move(right=1)
cmap <home> eval fm.ui.console.move(right=0, absolute=True)
cmap <end> eval fm.ui.console.move(right=-1, absolute=True)
cmap <a-b> eval fm.ui.console.move_word(left=1)
cmap <a-f> eval fm.ui.console.move_word(right=1)
copycmap <a-b> <a-left>
copycmap <a-f> <a-right>
cmap <backspace> eval fm.ui.console.delete(-1)
cmap <delete> eval fm.ui.console.delete(0)
cmap <C-w> eval fm.ui.console.delete_word()
cmap <A-d> eval fm.ui.console.delete_word(backward=False)
cmap <C-k> eval fm.ui.console.delete_rest(1)
cmap <C-u> eval fm.ui.console.delete_rest(-1)
cmap <C-y> eval fm.ui.console.paste()
copycmap <ESC> <C-g>
copycmap <up> <C-p>
copycmap <down> <C-n>
copycmap <left> <C-b>
copycmap <right> <C-f>
copycmap <home> <C-a>
copycmap <end> <C-e>
copycmap <delete> <C-d>
copycmap <backspace> <C-h>
copycmap <backspace> <backspace2>
cmap <allow_quantifiers> false
######################
### Pager Keybindings
######################
pmap <down> pager_move down=1
pmap <up> pager_move up=1
pmap <left> pager_move left=4
pmap <right> pager_move right=4
pmap <home> pager_move to=0
pmap <end> pager_move to=-1
pmap <pagedown> pager_move down=1.0 pages=True
pmap <pageup> pager_move up=1.0 pages=True
pmap <C-d> pager_move down=0.5 pages=True
pmap <C-u> pager_move up=0.5 pages=True
copypmap <UP> k <C-p>
copypmap <DOWN> j <C-n> <CR>
copypmap <LEFT> h
copypmap <RIGHT> l
copypmap <HOME> g
copypmap <END> G
copypmap <C-d> d
copypmap <C-u> u
copypmap <PAGEDOWN> n f <C-F> <Space>
copypmap <PAGEUP> p b <C-B>
pmap <C-l> redraw_window
pmap <ESC> pager_close
copypmap <ESC> q Q i <F3>
pmap E edit_file
#########################
### Taskview Keybindings
#########################
tmap <up> taskview_move up=1
tmap <down> taskview_move down=1
tmap <home> taskview_move to=0
tmap <end> taskview_move to=-1
tmap <pagedown> taskview_move down=1.0 pages=True
tmap <pageup> taskview_move up=1.0 pages=True
tmap <C-d> taskview_move down=0.5 pages=True
tmap <C-u> taskview_move up=0.5 pages=True
copytmap <UP> k <C-p>
copytmap <DOWN> j <C-n> <CR>
copytmap <HOME> g
copytmap <END> G
copytmap <C-u> u
copytmap <PAGEDOWN> n f <C-F> <Space>
copytmap <PAGEUP> p b <C-B>
tmap J eval -q fm.ui.taskview.task_move(-1)
tmap K eval -q fm.ui.taskview.task_move(0)
tmap dd eval -q fm.ui.taskview.task_remove()
tmap <pagedown> eval -q fm.ui.taskview.task_move(-1)
tmap <pageup> eval -q fm.ui.taskview.task_move(0)
tmap <delete> eval -q fm.ui.taskview.task_remove()
tmap <C-l> redraw_window
tmap <ESC> taskview_close
copytmap <ESC> q Q w <C-c>

213
config/ranger/rifle.conf Normal file
View file

@ -0,0 +1,213 @@
#############
### Websites
#############
ext x?html?, has firefox, X, flag f = firefox -- "$@"
ext x?html?, has chromium-browser, X, flag f = chromium-browser -- "$@"
ext x?html?, has chromium, X, flag f = chromium -- "$@"
ext x?html?, has google-chrome, X, flag f = google-chrome -- "$@"
ext x?html?, has surf, X, flag f = surf -- file://"$1"
ext x?html?, has vimprobable, X, flag f = vimprobable -- "$@"
ext x?html?, has vimprobable2, X, flag f = vimprobable2 -- "$@"
ext x?html?, has qutebrowser, X, flag f = qutebrowser -- "$@"
ext x?html?, has dwb, X, flag f = dwb -- "$@"
ext x?html?, has jumanji, X, flag f = jumanji -- "$@"
ext x?html?, has luakit, X, flag f = luakit -- "$@"
ext x?html?, has uzbl, X, flag f = uzbl -- "$@"
ext x?html?, has uzbl-tabbed, X, flag f = uzbl-tabbed -- "$@"
ext x?html?, has uzbl-browser, X, flag f = uzbl-browser -- "$@"
ext x?html?, has uzbl-core, X, flag f = uzbl-core -- "$@"
ext x?html?, has midori, X, flag f = midori -- "$@"
ext x?html?, has opera, X, flag f = opera -- "$@"
ext x?html?, has seamonkey, X, flag f = seamonkey -- "$@"
ext x?html?, has iceweasel, X, flag f = iceweasel -- "$@"
ext x?html?, has epiphany, X, flag f = epiphany -- "$@"
ext x?html?, has konqueror, X, flag f = konqueror -- "$@"
ext x?html?, has elinks, terminal = elinks "$@"
ext x?html?, has links2, terminal = links2 "$@"
ext x?html?, has links, terminal = links "$@"
ext x?html?, has lynx, terminal = lynx -- "$@"
ext x?html?, has w3m, terminal = w3m "$@"
#########
### Misc
#########
mime ^text, label editor = ${VISUAL:-$EDITOR} -- "$@"
mime ^text, label pager = "$PAGER" -- "$@"
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@"
!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
ext 1 = man "$1"
ext s[wmf]c, has zsnes, X = zsnes "$1"
ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1"
ext nes, has fceux, X = fceux "$1"
ext exe = wine "$1"
name ^[mM]akefile$ = make
############
### Scripts
############
ext py = python -- "$1"
ext pl = perl -- "$1"
ext rb = ruby -- "$1"
ext js = node -- "$1"
ext sh = sh -- "$1"
ext php = php -- "$1"
####################
### Audio without X
####################
mime ^audio|ogg$, terminal, has mpv = mpv -- "$@"
mime ^audio|ogg$, terminal, has mplayer2 = mplayer2 -- "$@"
mime ^audio|ogg$, terminal, has mplayer = mplayer -- "$@"
ext midi?, terminal, has wildmidi = wildmidi -- "$@"
###########################
### Video/Audio with a GUI
###########################
mime ^video, has mpv, X, flag f = mpv -- "$@"
mime ^video, has mpv, X, flag f = mpv --fs -- "$@"
mime ^video|audio, has vlc, X, flag f = vlc -- "$@"
mime ^video|audio, has smplayer, X, flag f = smplayer "$@"
mime ^video|audio, has gmplayer, X, flag f = gmplayer -- "$@"
mime ^video, has mplayer2, X, flag f = mplayer2 -- "$@"
mime ^video, has mplayer2, X, flag f = mplayer2 -fs -- "$@"
mime ^video, has mplayer, X, flag f = mplayer -- "$@"
mime ^video, has mplayer, X, flag f = mplayer -fs -- "$@"
mime ^video|audio, has totem, X, flag f = totem -- "$@"
mime ^video|audio, has totem, X, flag f = totem --fullscreen -- "$@"
####################
### Video without X
####################
mime ^video, terminal, !X, has mpv = mpv -- "$@"
mime ^video, terminal, !X, has mplayer2 = mplayer2 -- "$@"
mime ^video, terminal, !X, has mplayer = mplayer -- "$@"
##############
### Documents
##############
ext pdf, has zathura, X, flag f = zathura -- "$@"
ext pdf, has llpp, X, flag f = llpp "$@"
ext pdf, has mupdf, X, flag f = mupdf "$@"
ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@"
ext pdf, has apvlv, X, flag f = apvlv -- "$@"
ext pdf, has xpdf, X, flag f = xpdf -- "$@"
ext pdf, has evince, X, flag f = evince -- "$@"
ext pdf, has atril, X, flag f = atril -- "$@"
ext pdf, has okular, X, flag f = okular -- "$@"
ext pdf, has epdfview, X, flag f = epdfview -- "$@"
ext pdf, has qpdfview, X, flag f = qpdfview "$@"
ext pdf, has open, X, flag f = open "$@"
ext docx?, has catdoc, terminal = catdoc -- "$@" | "$PAGER"
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f = gnumeric -- "$@"
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has kspread, X, flag f = kspread -- "$@"
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@"
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f = soffice "$@"
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@"
ext djvu, has zathura,X, flag f = zathura -- "$@"
ext djvu, has evince, X, flag f = evince -- "$@"
ext djvu, has atril, X, flag f = atril -- "$@"
ext djvu, has djview, X, flag f = djview -- "$@"
ext epub, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
ext epub, has zathura, X, flag f = zathura -- "$@"
ext epub, has mupdf, X, flag f = mupdf -- "$@"
ext mobi, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
ext cbr, has zathura, X, flag f = zathura -- "$@"
ext cbz, has zathura, X, flag f = zathura -- "$@"
###########
### Images
###########
mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
mime ^image/svg, has display, X, flag f = display -- "$@"
mime ^image, has pix X, flag f = pix "$@"
mime ^image, has ristretto, X, flag f = ristretto "$@"
mime ^image, has gpicview, X, flag f = gpicview -- "$@"
mime ^image, has gwenview, X, flag f = gwenview -- "$@"
mime ^image, has pqiv, X, flag f = pqiv -- "$@"
mime ^image, has imv, X, flag f = imv -- "$@"
mime ^image, has sxiv, X, flag f = sxiv -- "$@"
mime ^image, has feh, X, flag f = feh -- "$@"
mime ^image, has mirage, X, flag f = mirage -- "$@"
mime ^image, has eog, X, flag f = eog -- "$@"
mime ^image, has eom, X, flag f = eom -- "$@"
mime ^image, has nomacs, X, flag f = nomacs -- "$@"
mime ^image, has geeqie, X, flag f = geeqie -- "$@"
mime ^image, has gimp, X, flag f = gimp -- "$@"
ext xcf, X, flag f = gimp -- "$@"
#############
### Archives
#############
ext 7z, has 7z = 7z -p l "$@" | "$PAGER"
ext ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --list --each -- "$@" | "$PAGER"
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --list --each -- "$@" | "$PAGER"
ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --extract --each -- "$@"
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --extract --each -- "$@"
ext tar|gz|bz2|xz, has tar = tar vvtf "$1" | "$PAGER"
ext tar|gz|bz2|xz, has tar = for file in "$@"; do tar vvxf "$file"; done
ext bz2, has bzip2 = for file in "$@"; do bzip2 -dk "$file"; done
ext zip, has unzip = unzip -l "$1" | less
ext zip, has unzip = for file in "$@"; do unzip -d "${file%.*}" "$file"; done
ext ace, has unace = unace l "$1" | less
ext ace, has unace = for file in "$@"; do unace e "$file"; done
ext rar, has unrar = unrar l "$1" | less
ext rar, has unrar = for file in "$@"; do unrar x "$file"; done
##########
### Fonts
##########
mime ^font, has fontforge, X, flag f = fontforge "$@"
##############################
### Flag t fallback terminals
##############################
mime ^ranger/x-terminal-emulator, has kitty = kitty -- "$@"
mime ^ranger/x-terminal-emulator, has xfce4-terminal = xfce4-terminal -x "$@"
mime ^ranger/x-terminal-emulator, has terminology = terminology -e "$@"
mime ^ranger/x-terminal-emulator, has mate-terminal = mate-terminal -x "$@"
mime ^ranger/x-terminal-emulator, has konsole = konsole -e "$@"
mime ^ranger/x-terminal-emulator, has lxterminal = lxterminal -e "$@"
mime ^ranger/x-terminal-emulator, has gnome-terminal = gnome-terminal -- "$@"
mime ^ranger/x-terminal-emulator, has sakura = sakura -e "$@"
mime ^ranger/x-terminal-emulator, has alacritty = alacritty -e "$@"
mime ^ranger/x-terminal-emulator, has lilyterm = lilyterm -e "$@"
mime ^ranger/x-terminal-emulator, has termite = termite -x '"$@"'
mime ^ranger/x-terminal-emulator, has yakuake = yakuake -e "$@"
mime ^ranger/x-terminal-emulator, has guake = guake -ne "$@"
mime ^ranger/x-terminal-emulator, has tilda = tilda -c "$@"
mime ^ranger/x-terminal-emulator, has st = st -e "$@"
mime ^ranger/x-terminal-emulator, has terminator = terminator -x "$@"
mime ^ranger/x-terminal-emulator, has urxvt = urxvt -e "$@"
mime ^ranger/x-terminal-emulator, has pantheon-terminal = pantheon-terminal -e "$@"
mime ^ranger/x-terminal-emulator, has xterm = xterm -e "$@"
#########
### Misc
#########
label wallpaper, number 11, mime ^image, has feh, X = feh --bg-scale "$1"
label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1"
label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1"
label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1"
#########################
### Generic file openers
#########################
label open, has xdg-open = xdg-open -- "$@"
label open, has open = open -- "$@"
!mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ask
label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@"
label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
mime application/x-executable = "$1"
label trash, has trash-put = trash-put -- "$@"
label trash = mkdir -p -- ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash; mv -- "$@" ${XDG_DATA_DIR:-$HOME/.ranger}/ranger-trash

View file

@ -1 +1,4 @@
rofi.theme: solarized rofi.theme: flat-solarized # solarized
rofi.font: hack 12
rofi.auto-select: false
rofi.hide-scrollbar: true

View file

@ -0,0 +1,42 @@
* {
background-color: #202020;
border-color: #606060;
text-color: #c8c8c8;
width: 768px;
height: 512px;
}
window {
padding: 8px;
}
inputbar {
padding: 8px;
children: [/*prompt,*/ entry];
}
prompt {
border: 0 1px 0 0;
padding: 4px 20px 8px 12px;
}
entry {
padding: 4px 12px 8px 20px;
}
listview {
cycle: false;
}
element {
padding: 6px 24px;
}
element selected {
background-color: #303030;
text-color: #e0e0e0;
}
element-icon {
size: 20px;
}

View file

@ -0,0 +1,42 @@
* {
background-color: #002b36;
border-color: #606060;
text-color: #c8c8c8;
width: 768px;
height: 512px;
}
window {
padding: 8px;
}
inputbar {
padding: 8px;
children: [/* prompt, */ entry];
}
prompt {
border: 0 1px 0 0;
padding: 4px 20px 8px 12px;
}
entry {
padding: 4px 12px 8px 20px;
}
listview {
cycle: false;
}
element {
padding: 6px 24px;
}
element selected {
background-color: #073642;
text-color: #e0e0e0;
}
element-icon {
size: 20px;
}

View file

@ -1,23 +1,11 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# This script defines just a mode for rofi instead of being a self-contained
# executable that launches rofi by itself. This makes it more flexible than
# running rofi inside this script as now the user can call rofi as one pleases.
# For instance:
#
# rofi -show powermenu -modi powermenu:./rofi-power-menu
#
# See README.md for more information.
set -e set -e
set -u set -u
# All supported choices
all=(shutdown reboot suspend hibernate logout lockscreen) all=(shutdown reboot suspend hibernate logout lockscreen)
# By default, show all (i.e., just copy the array)
show=("${all[@]}") show=("${all[@]}")
declare -A texts declare -A texts
texts[lockscreen]="lock screen" texts[lockscreen]="lock screen"
texts[switchuser]="switch user" texts[switchuser]="switch user"
@ -39,17 +27,14 @@ icons[cancel]="\u00d7"
declare -A actions declare -A actions
actions[lockscreen]="loginctl lock-session $XDG_SESSION_ID" actions[lockscreen]="loginctl lock-session $XDG_SESSION_ID"
#actions[switchuser]="???"
actions[logout]="loginctl terminate-session $XDG_SESSION_ID" actions[logout]="loginctl terminate-session $XDG_SESSION_ID"
actions[suspend]="systemctl suspend" actions[suspend]="systemctl suspend"
actions[hibernate]="systemctl hibernate" actions[hibernate]="systemctl hibernate"
actions[reboot]="systemctl reboot" actions[reboot]="systemctl reboot"
actions[shutdown]="systemctl poweroff" actions[shutdown]="systemctl poweroff"
# By default, ask for confirmation for actions that are irreversible
confirmations=(reboot shutdown logout) confirmations=(reboot shutdown logout)
# By default, no dry run
dryrun=false dryrun=false
showsymbols=true showsymbols=true
@ -66,7 +51,6 @@ function check_valid {
done done
} }
# Parse command-line options
parsed=$(getopt --options=h --longoptions=help,dry-run,confirm:,choices:,choose:,symbols,no-symbols --name "$0" -- "$@") parsed=$(getopt --options=h --longoptions=help,dry-run,confirm:,choices:,choose:,symbols,no-symbols --name "$0" -- "$@")
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo 'Terminating...' >&2 echo 'Terminating...' >&2
@ -124,7 +108,6 @@ while true; do
shift 2 shift 2
;; ;;
"--choose") "--choose")
# Check that the choice is valid
check_valid "$1" "$2" check_valid "$1" "$2"
selectionID="$2" selectionID="$2"
shift 2 shift 2
@ -148,9 +131,6 @@ while true; do
esac esac
done done
# Define the messages after parsing the CLI options so that it is possible to
# configure them in the future.
function write_message { function write_message {
icon="<span font_size=\"medium\">$1</span>" icon="<span font_size=\"medium\">$1</span>"
text="<span font_size=\"medium\">$2</span>" text="<span font_size=\"medium\">$2</span>"
@ -180,19 +160,15 @@ confirmationMessages[cancel]=$(write_message "${icons[cancel]}" "No, cancel")
if [ $# -gt 0 ] if [ $# -gt 0 ]
then then
# If arguments given, use those as the selection
selection="${@}" selection="${@}"
else else
# Otherwise, use the CLI passed choice if given
if [ -n "${selectionID+x}" ] if [ -n "${selectionID+x}" ]
then then
selection="${messages[$selectionID]}" selection="${messages[$selectionID]}"
fi fi
fi fi
# Don't allow custom entries
echo -e "\0no-custom\x1ftrue" echo -e "\0no-custom\x1ftrue"
# Use markup
echo -e "\0markup-rows\x1ftrue" echo -e "\0markup-rows\x1ftrue"
if [ -z "${selection+x}" ] if [ -z "${selection+x}" ]
@ -207,40 +183,33 @@ else
do do
if [ "$selection" = "$(print_selection "${messages[$entry]}")" ] if [ "$selection" = "$(print_selection "${messages[$entry]}")" ]
then then
# Check if the selected entry is listed in confirmation requirements
for confirmation in "${confirmations[@]}" for confirmation in "${confirmations[@]}"
do do
if [ "$entry" = "$confirmation" ] if [ "$entry" = "$confirmation" ]
then then
# Ask for confirmation
echo -e "\0prompt\x1fAre you sure" echo -e "\0prompt\x1fAre you sure"
echo -e "${confirmationMessages[$entry]}\0icon\x1f${icons[$entry]}" echo -e "${confirmationMessages[$entry]}\0icon\x1f${icons[$entry]}"
echo -e "${confirmationMessages[cancel]}\0icon\x1f${icons[cancel]}" echo -e "${confirmationMessages[cancel]}\0icon\x1f${icons[cancel]}"
exit 0 exit 0
fi fi
done done
# If not, then no confirmation is required, so mark confirmed
selection=$(print_selection "${confirmationMessages[$entry]}") selection=$(print_selection "${confirmationMessages[$entry]}")
fi fi
if [ "$selection" = "$(print_selection "${confirmationMessages[$entry]}")" ] if [ "$selection" = "$(print_selection "${confirmationMessages[$entry]}")" ]
then then
if [ $dryrun = true ] if [ $dryrun = true ]
then then
# Tell what would have been done
echo "Selected: $entry" >&2 echo "Selected: $entry" >&2
else else
# Perform the action
${actions[$entry]} ${actions[$entry]}
fi fi
exit 0 exit 0
fi fi
if [ "$selection" = "$(print_selection "${confirmationMessages[cancel]}")" ] if [ "$selection" = "$(print_selection "${confirmationMessages[cancel]}")" ]
then then
# Do nothing
exit 0 exit 0
fi fi
done done
# The selection didn't match anything, so raise an error
echo "Invalid selection: $selection" >&2 echo "Invalid selection: $selection" >&2
exit 1 exit 1
fi fi

View file

@ -0,0 +1,2 @@
#/bin/sh
ffmpeg -i $1 -b:a 192K -vn ~/$directory/$2.mp3

5
scripts/gitpush.sh Normal file
View file

@ -0,0 +1,5 @@
#!/bin/sh
git add ./
read -p "Commit message: " msg
git commit -am "$msg"
git push origin master

35
scripts/manjaro-fetch.sh Normal file
View file

@ -0,0 +1,35 @@
host="$(hostname)"
os='Manjaro'
kernel="$(uname -r)"
uptime="$(uptime -p | sed 's/up //')"
packages="$(pacman -Q | wc -l)"
shell="$(basename "$SHELL")"
ui="$(basename ${XDG_CURRENT_DESKTOP})"
if [ -x "$(command -v tput)" ]; then
bold="$(tput bold)"
black="$(tput setaf 0)"
red="$(tput setaf 1)"
green="$(tput setaf 2)"
yellow="$(tput setaf 3)"
blue="$(tput setaf 4)"
magenta="$(tput setaf 5)"
cyan="$(tput setaf 6)"
white="$(tput setaf 7)"
reset="$(tput sgr0)"
fi
lc="${reset}${bold}${green}"
nc="${reset}${bold}${green}"
ic="${reset}"
c0="${reset}${green}"
cat <<EOF
${c0} ||||||||| |||| ${nc}${USER}${ic}@${nc}${host}${reset}
${c0} ||||||||| |||| ${lc}OS: ${ic}${os}${reset}
${c0} |||| |||| ${lc}KERNEL: ${ic}${kernel}${reset}
${c0} |||| |||| |||| ${lc}PACKAGES: ${ic}${packages}${reset}
${c0} |||| |||| |||| ${lc}SHELL: ${ic}${shell}${reset}
${c0} |||| |||| |||| ${lc}UPTIME: ${ic}${uptime}${reset}
${c0} |||| |||| |||| ${lc}DE/WM: ${ic}${ui}${reset}
EOF

9
scripts/sceenshot.sh Normal file
View file

@ -0,0 +1,9 @@
#!/bin/sh
fileDate=`date +%Y-%m-%d-%H-%M-%S`
machineName=`hostname`
fileName=".png"
FILENAME=$fileDate"-"$machineName$fileName
SHORT=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 7 | head -n 1)
FILENAMESHORT=$fileDate$fileName
import $FILENAMESHORT

View file

@ -0,0 +1,4 @@
#!/bin/sh
LANG=en_US.UTF-8 snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision
do; sudo snap remove "$snapname" --revision="$revision"; done

View file

@ -0,0 +1,3 @@
#!/bin/sh
tar -czf "../${PWD##*/}.tar.gz" .
echo -e "\033[32mThe archive was created successfully"

3
scripts/targz-folder.sh Normal file
View file

@ -0,0 +1,3 @@
#!/bin/sh
tar -czf "$1.tar.gz" $1
echo -e "\033[32mThe archive was created successfully"

View file

@ -0,0 +1,9 @@
#!/bin/bash
WALLPAPERS=/home/sasha/Изображения/Walpapper
SLEEP_TIME=60
while true; do
feh --randomize --bg-scale $WALLPAPERS/*
sleep $SLEEP_TIME;
done