mirror of
https://github.com/olexsmir/dotfiles.git
synced 2026-01-15 08:41:34 +02:00
⚡ Add scripts & configs
This commit is contained in:
parent
f8ffdbda2e
commit
734af357dd
33 changed files with 1432 additions and 957 deletions
52
config/dunst/dunstrc
Normal file
52
config/dunst/dunstrc
Normal 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
|
||||
|
|
@ -3,39 +3,50 @@
|
|||
set $mod Mod4
|
||||
# Font
|
||||
font monospace 10
|
||||
font pango:hack 10
|
||||
font pango:JetBrains Mono 10
|
||||
# Disable window title
|
||||
default_border pixel
|
||||
new_float pixel
|
||||
# Borders
|
||||
hide_edge_borders smart
|
||||
|
||||
############ Autostart ############
|
||||
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 org.telegram.desktop
|
||||
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 #########
|
||||
# Terminal
|
||||
bindsym $mod+Return exec kitty
|
||||
#bindsym $mod+Return exec konsole
|
||||
bindsym ctrl+Mod1+t exec kitty
|
||||
|
||||
# Kill focus window
|
||||
bindsym $mod+q kill
|
||||
bindsym Mod1+F4 kill
|
||||
|
||||
# Program/Exit louncher
|
||||
bindsym $mod+space exec "rofi -show drun -show-icons -font 'hack 12' -show cobi -disable-history"
|
||||
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+space exec "rofi -show drun -show cobi -show-icons"
|
||||
bindsym $mod+Escape exec "rofi -show power-menu -show-icons -width 30 -lines 6 -modi power-menu:~/.config/rofi/rofi-power-menu"
|
||||
# Restart i3wm
|
||||
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
|
||||
bindsym $mod+F1 exec dolphin
|
||||
bindsym $mod+F1 exec kitty -T=Ranger_FM ranger
|
||||
bindsym $mod+F2 exec chromium
|
||||
bindsym $mod+b exec firefox
|
||||
bindsym $mod+F3 exec spotify
|
||||
bindsym $mod+F4 exec subl
|
||||
bindsym $mod+F5 exec notable
|
||||
bindsym $mod+F3 exec subl
|
||||
bindsym $mod+F4 exec notable
|
||||
|
||||
# Floating window
|
||||
floating_modifier $mod
|
||||
|
|
@ -60,16 +71,21 @@ bindsym $mod+e layout toggle split
|
|||
|
||||
# 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 ########
|
||||
assign [class="(?i)konsole|kitty"] $ws1
|
||||
assign [class="(?i)kitty"] $ws1
|
||||
assign [class="(?i)chromium|firefox"] $ws2
|
||||
assign [class="(?i)subl|code|atom|typora|prepros"] $ws3
|
||||
assign [class="(?i)dolphin"] $ws4
|
||||
assign [class="(?i)subl|code|typora"] $ws3
|
||||
assign [class="(?i)thunar"] $ws4
|
||||
assign [title="Notable|Simplenote"] $ws5
|
||||
assign [class="(?i)telegram|discord"] $ws6
|
||||
assign [title="Notable|Simplenote"] $ws7
|
||||
assign [title="KeePassXC"] $ws8
|
||||
assign [title="KeePassXC"] $ws7
|
||||
for_window [title="Ranger_FM"] move to workspace $ws4
|
||||
for_window [class="Spotify"] move to workspace $ws10
|
||||
|
||||
##### Change containet focus ######
|
||||
|
|
@ -156,13 +172,9 @@ bindsym $mod+r mode "resize"
|
|||
|
||||
############### Bar ###############
|
||||
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
|
||||
#bar {
|
||||
# status_command i3status
|
||||
# position top
|
||||
#}
|
||||
|
||||
############## Colors #############
|
||||
# class border backgr. text indicator child_border
|
||||
# class border backgr text indicator child_border
|
||||
client.focused #268bd2 #268bd2 #ffffff #268bd2 #268bd2
|
||||
client.focused_inactive #000000 #000000 #ffffff #000000 #000000
|
||||
client.unfocused #000000 #000000 #888888 #000000 #000000
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#: MOD
|
||||
kitty_mod ctrl+shift
|
||||
#kitty_mod ctrl+shift
|
||||
clear_all_shortcuts no
|
||||
|
||||
|
||||
|
|
@ -115,7 +115,7 @@ tab_bar_style powerline
|
|||
tab_bar_min_tabs 2
|
||||
tab_switch_strategy previous
|
||||
tab_fade 0.25 0.5 0.75 1
|
||||
tab_separator " ┇"
|
||||
tab_separator "┇"
|
||||
tab_title_template "{title}"
|
||||
active_tab_title_template none
|
||||
|
||||
|
|
@ -132,7 +132,7 @@ tab_bar_background none
|
|||
|
||||
#: Theming
|
||||
foreground #dfdfdf
|
||||
background_opacity 0.87
|
||||
background_opacity 0.85
|
||||
background_image none
|
||||
background_image_layout tiled
|
||||
background_image_linear no
|
||||
|
|
@ -152,65 +152,60 @@ map shift+insert paste_from_selection
|
|||
map kitty_mod+o pass_selection_to_program
|
||||
|
||||
#: #: Scroll
|
||||
map kitty_mod+up scroll_line_up
|
||||
map kitty_mod+k scroll_line_up
|
||||
map kitty_mod+down scroll_line_down
|
||||
map kitty_mod+j scroll_line_down
|
||||
map kitty_mod+page_up scroll_page_up
|
||||
map kitty_mod+page_down scroll_page_down
|
||||
map kitty_mod+home scroll_home
|
||||
map kitty_mod+end scroll_end
|
||||
map kitty_mod+h show_scrollback
|
||||
map shift+up scroll_line_up
|
||||
map shift+down scroll_line_down
|
||||
map shift+page_up scroll_page_up
|
||||
map shift+page_down scroll_page_down
|
||||
map shift+home scroll_home
|
||||
map shift+end scroll_end
|
||||
map ctrl+shift+h show_scrollback
|
||||
|
||||
#: #: Window
|
||||
map kitty_mod+F9 new_os_window
|
||||
map kitty_mod+enter new_window
|
||||
map kitty_mod+x close_window
|
||||
map kitty_mod+] next_window
|
||||
map kitty_mod+[ previous_window
|
||||
map kitty_mod+f move_window_forward
|
||||
map kitty_mod+b move_window_backward
|
||||
map kitty_mod+` move_window_to_top
|
||||
map kitty_mod+r start_resizing_window
|
||||
map ctrl+F9 new_os_window
|
||||
map alt+] next_window
|
||||
map alt+[ previous_window
|
||||
map alt+f move_window_forward
|
||||
map alt+b move_window_backward
|
||||
map alt+` move_window_to_top
|
||||
map alt+r start_resizing_window
|
||||
|
||||
#: #: Tab
|
||||
map kitty_mod+l next_tab
|
||||
map kitty_mod+h previous_tab
|
||||
map kitty_mod+t new_tab
|
||||
map kitty_mod+q close_tab
|
||||
map kitty_mod+. set_tab_title
|
||||
map kitty_mod+1 first_window
|
||||
map kitty_mod+2 second_window
|
||||
map kitty_mod+3 third_window
|
||||
map kitty_mod+4 fourth_window
|
||||
map kitty_mod+5 fifth_window
|
||||
map kitty_mod+6 sixth_window
|
||||
map kitty_mod+7 seventh_window
|
||||
map kitty_mod+8 eighth_window
|
||||
map kitty_mod+9 ninth_window
|
||||
map kitty_mod+0 tenth_window
|
||||
|
||||
#: #: Layouts
|
||||
map kitty_mod+l next_layout
|
||||
map ctrl+shift+l next_tab
|
||||
map ctrl+shift+h previous_tab
|
||||
map ctrl+shift+t new_tab
|
||||
map alt+q close_tab
|
||||
map ctrl+alt+. set_tab_title
|
||||
map alt+1 first_window
|
||||
map alt+2 second_window
|
||||
map alt+3 third_window
|
||||
map alt+4 fourth_window
|
||||
map alt+5 fifth_window
|
||||
map alt+6 sixth_window
|
||||
map alt+7 seventh_window
|
||||
map alt+8 eighth_window
|
||||
map alt+9 ninth_window
|
||||
map alt+0 tenth_window
|
||||
|
||||
#: #: Font Size
|
||||
map kitty_mod+equal change_font_size all +2.0
|
||||
map kitty_mod+minus change_font_size all -2.0
|
||||
map kitty_mod+backspace change_font_size all 0
|
||||
map alt+equal change_font_size all +2.0
|
||||
map alt+minus change_font_size all -2.0
|
||||
map alt+ctrl+backspace change_font_size all 0
|
||||
|
||||
#:#: Other
|
||||
map f11 toggle_fullscreen
|
||||
map kitty_mod+f10 toggle_maximized
|
||||
map kitty_mod+u kitten unicode_input
|
||||
map kitty_mod+f2 edit_config_file
|
||||
map kitty_mod+escape kitty_shell window
|
||||
map ctrl+shift+f10 toggle_maximized
|
||||
map ctrl+shift+u kitten unicode_input
|
||||
map ctrl+shift+f2 edit_config_file
|
||||
#map kitty_mod+escape kitty_shell window
|
||||
|
||||
map kitty_mod+delete clear_terminal reset active
|
||||
|
||||
selection_background #073642
|
||||
selection_foreground #edebd7
|
||||
foreground #d2dae2
|
||||
background #1e272e
|
||||
#background #1e272e
|
||||
background #002B36
|
||||
|
||||
cursorColor #d2dae2
|
||||
|
||||
color0 #1e272e
|
||||
|
|
|
|||
|
|
@ -1,11 +1,8 @@
|
|||
# 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
|
||||
|
|
@ -21,844 +18,271 @@ print_info() {
|
|||
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"
|
||||
|
||||
cpu_temp="C"
|
||||
|
||||
# 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"
|
||||
|
|
|
|||
56
config/picom.conf
Normal file
56
config/picom.conf
Normal 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; };
|
||||
};
|
||||
|
|
@ -3,26 +3,25 @@ pseudo-transparency = true
|
|||
|
||||
[colors]
|
||||
background = #002B36
|
||||
background-alt = #073642
|
||||
background-alt = #002236
|
||||
foreground = #dfdfdf
|
||||
foreground-alt = #fdf6e3
|
||||
foreground-alt = #f0f0f0
|
||||
primary = #268bd2
|
||||
secondary = #218DC8
|
||||
alert = #268bd2
|
||||
;alert = #dc322f
|
||||
|
||||
############################################################################################################
|
||||
[bar/example]
|
||||
#monitor = ${env:MONITOR:HDMI-1}
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
[bar/bar]
|
||||
;monitor = ${env:MONITOR:HDMI-1}
|
||||
width = 100%
|
||||
height = 26
|
||||
height = 25
|
||||
fixed-center = true
|
||||
locale = en_US.UTF-8
|
||||
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
line-size = 1
|
||||
line-size = 2
|
||||
line-color = #f00
|
||||
|
||||
padding-left = 0
|
||||
|
|
@ -30,41 +29,22 @@ padding-right = 0
|
|||
module-margin-left = 1
|
||||
module-margin-right = 1
|
||||
|
||||
; Fonts
|
||||
font-0 = Iosevka Nerd Font:style=Medium:size=8;3
|
||||
font-1 = FontAwesome5Free:style=Solid:size=7.5;2.5
|
||||
font-2 = Weather Icons:size=7;2
|
||||
font-3 = FontAwesome5Brands:style=Solid:size=7.5;2.5
|
||||
|
||||
############################################################################################################
|
||||
; Modules position
|
||||
modules-left = i3 sp2 openweathermap-simple updates-pacman
|
||||
;modules-center = title
|
||||
modules-center = spotify
|
||||
modules-right = pulseaudio xkeyboard powermenu sp2 calendar
|
||||
;; Modules positii3on ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
modules-left = i3 sp2 weather updates-pacman
|
||||
modules-center =
|
||||
modules-right = pulseaudio microphone backlight keyboard clipmenu wlan date time sp2
|
||||
tray-position = right
|
||||
tray-padding = 2
|
||||
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]
|
||||
screenchange-reload = true
|
||||
|
||||
############################################################################################################
|
||||
; Used for top and bottom aligned bars
|
||||
|
||||
[global/wm]
|
||||
margin-top = 5
|
||||
margin-bottom = 5
|
||||
|
|
@ -72,8 +52,7 @@ cursor-click = pointer
|
|||
cursor-scroll = ns-resize
|
||||
wm-restack = i3
|
||||
|
||||
############################################################################################################
|
||||
; i3wm workspace indicator
|
||||
|
||||
[module/i3]
|
||||
type = internal/i3
|
||||
format = <label-state><label-mode>
|
||||
|
|
@ -82,33 +61,28 @@ wrapping-scroll = false
|
|||
label-mode-padding = 1
|
||||
label-mode-foreground = #000
|
||||
label-mode-background = ${colors.primary}
|
||||
|
||||
label-focused = %icon%
|
||||
label-focused-background = 002873C0
|
||||
label-focused-background = 073642
|
||||
label-focused-foreground = ${colors.foreground}
|
||||
label-focused-padding = 1
|
||||
label-focused-underline = 018BFF
|
||||
#label-focused-overline = ${colors.primary}
|
||||
label-focused-underline = 268bd2
|
||||
|
||||
label-unfocused = %icon%
|
||||
label-unfocused-background = 00255498
|
||||
label-unfocused-foreground = ${colors.foreground}
|
||||
label-unfocused-padding = 1
|
||||
#label-unfocused-underline = 255498
|
||||
#label-unfocused-overline = ${colors.background}
|
||||
|
||||
label-urgent = %icon%
|
||||
label-urgent-background = ${colors.alert}
|
||||
label-urgent-foreground = ${colors.foreground}
|
||||
label-urgent-padding = 1
|
||||
label-urgent-underline = ${colors.alert}
|
||||
#label-urgent-overline = ${colors.background}
|
||||
|
||||
label-visible = %icon%
|
||||
label-visible-background = ${colors.background}
|
||||
label-visible-foreground = ${colors.foreground}
|
||||
label-visible-padding = 1
|
||||
label-visible-underline = ${colors.background}
|
||||
#label-visible-overline = ${colors.background}
|
||||
|
||||
ws-icon-0 = "1;1 "
|
||||
ws-icon-1 = "2;2 "
|
||||
|
|
@ -118,19 +92,46 @@ ws-icon-4 = "5;5 "
|
|||
ws-icon-5 = "6;6 "
|
||||
ws-icon-6 = "7;7 "
|
||||
ws-icon-7 = 8;8
|
||||
ws-icon-8 = "9;9 "
|
||||
ws-icon-8 = 9;9
|
||||
ws-icon-9 = "10;10 "
|
||||
;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]
|
||||
type = internal/pulseaudio
|
||||
format-volume = %{F#61a8ff}<ramp-volume><label-volume>
|
||||
label-volume = %{F#61a8ff} %percentage%%
|
||||
format-volume = <ramp-volume> <label-volume>
|
||||
label-volume = %percentage%%
|
||||
label-volume-foreground = ${root.foreground}
|
||||
label-muted =
|
||||
label-muted-foreground = #e8793e
|
||||
label-muted =
|
||||
|
||||
ramp-volume-0 =
|
||||
ramp-volume-1 =
|
||||
|
|
@ -138,8 +139,7 @@ ramp-volume-2 =
|
|||
ramp-volume-3 =
|
||||
ramp-volume-4 =
|
||||
|
||||
############################################################################################################
|
||||
; CPU Loads - https://github.com/polybar/polybar/wiki/Module:-cpu
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
interval = 2
|
||||
|
|
@ -148,98 +148,81 @@ format-prefix-foreground = ${colors.foreground-alt}
|
|||
label = %{F#1ecb0b} CPU %percentage%%
|
||||
|
||||
|
||||
############################################################################################################
|
||||
# Memmory(RAM) - https://github.com/polybar/polybar/wiki/Module:-memory
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
interval = 2
|
||||
format-prefix = " "
|
||||
#format-prefix-foreground = ${colors.foreground-alt}
|
||||
#format-overline = #61C07C
|
||||
#format-underline = #61C07C
|
||||
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
|
||||
|
||||
############################################################################################################
|
||||
; Sporify inkator - https://github.com/Jvanrhijn/polybar-spotify
|
||||
[module/weather]
|
||||
type = custom/script
|
||||
exec = python3 ~/.config/polybar/scripts/weather.py
|
||||
interval = 60
|
||||
label-font = 1
|
||||
|
||||
|
||||
[module/spotify]
|
||||
type = custom/script
|
||||
interval = 1
|
||||
format-prefix = " "
|
||||
format = <label>
|
||||
exec = python ~/.config/polybar/scripts/spotify_status.py -f '{artist} - {song}'
|
||||
line-size
|
||||
format-underline = #1db954
|
||||
|
||||
############################################################################################################
|
||||
; Updates cheacker (pacman)
|
||||
|
||||
[module/updates-pacman]
|
||||
type = custom/script
|
||||
exec = ~/.config/polybar/scripts/updates-pacman.sh
|
||||
interval = 600
|
||||
exec = ~/.config/polybar/scripts/updates-pacman-aur.sh
|
||||
interval = 60
|
||||
|
||||
############################################################################################################
|
||||
; Keyboard layout - https://github.com/polybar/polybar/wiki/Module:-xkeyboard
|
||||
[module/xkeyboard]
|
||||
|
||||
[module/keyboard]
|
||||
type = internal/xkeyboard
|
||||
blacklist-0 = num lock
|
||||
label-NAME-maxlen = 10
|
||||
format-prefix = ""
|
||||
label-layout = %layout%
|
||||
|
||||
label-indicator-padding = 2
|
||||
label-indicator-margin = 1
|
||||
label-indicator-background = 2B7DBC
|
||||
label-indicator-overline = 2B7DBC
|
||||
label-indicator-underline = 2B7DBC
|
||||
blacklist-0 = num lock
|
||||
blacklist-1 = scroll lock
|
||||
blacklist-2= caps lock
|
||||
|
||||
############################################################################################################
|
||||
; Battery - https://github.com/polybar/polybar/wiki/Module:-battery
|
||||
[module/battery-combined-tlp]
|
||||
|
||||
[module/microphone]
|
||||
type = custom/script
|
||||
exec = ~/.config/polybar/scripts/battery-combined-tlp.sh
|
||||
interval = 10
|
||||
label = %output:0:40:...%
|
||||
exec = ~/.config/polybar/scripts/microphone.sh
|
||||
click-left = ~/.config/polybar/scripts/microphone.sh --click
|
||||
interval = 0
|
||||
|
||||
|
||||
############################################################################################################
|
||||
; Separator
|
||||
[module/sp2]
|
||||
type = custom/text
|
||||
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]
|
||||
type = internal/date
|
||||
interval = 1
|
||||
dqate =
|
||||
time =%{F#E0D9FF} %H:%M:%S
|
||||
date-alt =%{F#E0D9FF} %a %e %B %Y
|
||||
time-alt = %H:%M
|
||||
format-prefix =
|
||||
label = %date% %time%
|
||||
interval = 600
|
||||
date = %b %e
|
||||
label = %date%
|
||||
|
||||
|
||||
[module/time]
|
||||
type = internal/date
|
||||
interval = 0
|
||||
time = %H:%M
|
||||
label = %time%
|
||||
|
||||
|
||||
############################################################################################################
|
||||
; Focus window name - https://github.com/polybar/polybar/wiki/Module:-xwindow
|
||||
[module/title]
|
||||
type = internal/xwindow
|
||||
label = %{F#f0f0f0}%title:0:50:...%
|
||||
label-empty = Empty
|
||||
label-empty-foreground = #707880
|
||||
label-maxlen = 30
|
||||
label-padding = 0
|
||||
|
||||
[module/clipmenu]
|
||||
type = custom/text
|
||||
content = ""
|
||||
click-left = "CM_LAUNCHER=rofi clipmenu"
|
||||
interval = 0
|
||||
|
|
@ -1,4 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Terminate already running bar instances
|
||||
killall -q polybar
|
||||
|
||||
# Wait until the processes have been shut down
|
||||
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..."
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
battery=$(sudo tlp-stat -b | tac | grep -m 1 "Charge" | tr -d -c "[:digit:],.")
|
||||
|
||||
echo " $battery %"
|
||||
|
|
@ -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);
|
||||
21
config/polybar/scripts/microphone.sh
Executable file
21
config/polybar/scripts/microphone.sh
Executable 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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
import sys
|
||||
import dbus
|
||||
import argparse
|
||||
# -*- encoding: utf-8 -*-
|
||||
import sys, dbus, argparse
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument(
|
||||
|
|
|
|||
20
config/polybar/scripts/updates-pacman-aur.sh
Executable file
20
config/polybar/scripts/updates-pacman-aur.sh
Executable 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
|
||||
|
|
@ -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
|
||||
30
config/polybar/scripts/weather.py
Executable file
30
config/polybar/scripts/weather.py
Executable 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"]),"°С")
|
||||
100
config/ranger/plugins/archive.py
Normal file
100
config/ranger/plugins/archive.py
Normal 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)
|
||||
|
||||
|
||||
111
config/ranger/plugins/git.py
Normal file
111
config/ranger/plugins/git.py
Normal 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
485
config/ranger/rc.conf
Normal 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
213
config/ranger/rifle.conf
Normal 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
|
||||
|
|
@ -1 +1,4 @@
|
|||
rofi.theme: solarized
|
||||
rofi.theme: flat-solarized # solarized
|
||||
rofi.font: hack 12
|
||||
rofi.auto-select: false
|
||||
rofi.hide-scrollbar: true
|
||||
|
|
|
|||
42
config/rofi/flat-dark.rasi
Normal file
42
config/rofi/flat-dark.rasi
Normal 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;
|
||||
}
|
||||
42
config/rofi/flat-solarized.rasi
Normal file
42
config/rofi/flat-solarized.rasi
Normal 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;
|
||||
}
|
||||
|
|
@ -1,23 +1,11 @@
|
|||
#!/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 -u
|
||||
|
||||
# All supported choices
|
||||
all=(shutdown reboot suspend hibernate logout lockscreen)
|
||||
|
||||
# By default, show all (i.e., just copy the array)
|
||||
show=("${all[@]}")
|
||||
|
||||
|
||||
declare -A texts
|
||||
texts[lockscreen]="lock screen"
|
||||
texts[switchuser]="switch user"
|
||||
|
|
@ -39,17 +27,14 @@ icons[cancel]="\u00d7"
|
|||
|
||||
declare -A actions
|
||||
actions[lockscreen]="loginctl lock-session $XDG_SESSION_ID"
|
||||
#actions[switchuser]="???"
|
||||
actions[logout]="loginctl terminate-session $XDG_SESSION_ID"
|
||||
actions[suspend]="systemctl suspend"
|
||||
actions[hibernate]="systemctl hibernate"
|
||||
actions[reboot]="systemctl reboot"
|
||||
actions[shutdown]="systemctl poweroff"
|
||||
|
||||
# By default, ask for confirmation for actions that are irreversible
|
||||
confirmations=(reboot shutdown logout)
|
||||
|
||||
# By default, no dry run
|
||||
dryrun=false
|
||||
showsymbols=true
|
||||
|
||||
|
|
@ -66,7 +51,6 @@ function check_valid {
|
|||
done
|
||||
}
|
||||
|
||||
# Parse command-line options
|
||||
parsed=$(getopt --options=h --longoptions=help,dry-run,confirm:,choices:,choose:,symbols,no-symbols --name "$0" -- "$@")
|
||||
if [ $? -ne 0 ]; then
|
||||
echo 'Terminating...' >&2
|
||||
|
|
@ -124,7 +108,6 @@ while true; do
|
|||
shift 2
|
||||
;;
|
||||
"--choose")
|
||||
# Check that the choice is valid
|
||||
check_valid "$1" "$2"
|
||||
selectionID="$2"
|
||||
shift 2
|
||||
|
|
@ -148,9 +131,6 @@ while true; do
|
|||
esac
|
||||
done
|
||||
|
||||
# Define the messages after parsing the CLI options so that it is possible to
|
||||
# configure them in the future.
|
||||
|
||||
function write_message {
|
||||
icon="<span font_size=\"medium\">$1</span>"
|
||||
text="<span font_size=\"medium\">$2</span>"
|
||||
|
|
@ -180,19 +160,15 @@ confirmationMessages[cancel]=$(write_message "${icons[cancel]}" "No, cancel")
|
|||
|
||||
if [ $# -gt 0 ]
|
||||
then
|
||||
# If arguments given, use those as the selection
|
||||
selection="${@}"
|
||||
else
|
||||
# Otherwise, use the CLI passed choice if given
|
||||
if [ -n "${selectionID+x}" ]
|
||||
then
|
||||
selection="${messages[$selectionID]}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Don't allow custom entries
|
||||
echo -e "\0no-custom\x1ftrue"
|
||||
# Use markup
|
||||
echo -e "\0markup-rows\x1ftrue"
|
||||
|
||||
if [ -z "${selection+x}" ]
|
||||
|
|
@ -207,40 +183,33 @@ else
|
|||
do
|
||||
if [ "$selection" = "$(print_selection "${messages[$entry]}")" ]
|
||||
then
|
||||
# Check if the selected entry is listed in confirmation requirements
|
||||
for confirmation in "${confirmations[@]}"
|
||||
do
|
||||
if [ "$entry" = "$confirmation" ]
|
||||
then
|
||||
# Ask for confirmation
|
||||
echo -e "\0prompt\x1fAre you sure"
|
||||
echo -e "${confirmationMessages[$entry]}\0icon\x1f${icons[$entry]}"
|
||||
echo -e "${confirmationMessages[cancel]}\0icon\x1f${icons[cancel]}"
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
# If not, then no confirmation is required, so mark confirmed
|
||||
selection=$(print_selection "${confirmationMessages[$entry]}")
|
||||
fi
|
||||
if [ "$selection" = "$(print_selection "${confirmationMessages[$entry]}")" ]
|
||||
then
|
||||
if [ $dryrun = true ]
|
||||
then
|
||||
# Tell what would have been done
|
||||
echo "Selected: $entry" >&2
|
||||
else
|
||||
# Perform the action
|
||||
${actions[$entry]}
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
if [ "$selection" = "$(print_selection "${confirmationMessages[cancel]}")" ]
|
||||
then
|
||||
# Do nothing
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
# The selection didn't match anything, so raise an error
|
||||
echo "Invalid selection: $selection" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
|
|
|||
2
scripts/confert-mp4-to-mp3.sh
Normal file
2
scripts/confert-mp4-to-mp3.sh
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
#/bin/sh
|
||||
ffmpeg -i $1 -b:a 192K -vn ~/$directory/$2.mp3
|
||||
5
scripts/gitpush.sh
Normal file
5
scripts/gitpush.sh
Normal 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
35
scripts/manjaro-fetch.sh
Normal 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
9
scripts/sceenshot.sh
Normal 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
|
||||
4
scripts/snap-remove-old-pkg.sh
Normal file
4
scripts/snap-remove-old-pkg.sh
Normal 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
|
||||
3
scripts/targz-current_folder.sh
Normal file
3
scripts/targz-current_folder.sh
Normal 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
3
scripts/targz-folder.sh
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
tar -czf "$1.tar.gz" $1
|
||||
echo -e "\033[32mThe archive was created successfully"
|
||||
9
scripts/walpapper-changer.sh
Normal file
9
scripts/walpapper-changer.sh
Normal 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
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue