@@ -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 @@ # Bind $MOD(super) key
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 ######@@ -140,13 +156,13 @@ bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt bindsym l resize shrink height 10 px or 10 ppt bindsym semicolon resize grow width 10 px or 10 ppt - + # same bindings, but for the arrow keys bindsym Left resize shrink width 10 px or 10 ppt bindsym Down resize grow height 10 px or 10 ppt bindsym Up resize shrink height 10 px or 10 ppt bindsym Right resize grow width 10 px or 10 ppt - + # back to normal: Enter or Escape or $mod+r bindsym Return mode "default" bindsym Escape mode "default"@@ -156,16 +172,12 @@ 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 -client.focused #268bd2 #268bd2 #ffffff #268bd2 #268bd2 -client.focused_inactive #000000 #000000 #ffffff #000000 #000000 -client.unfocused #000000 #000000 #888888 #000000 #000000 -client.urgent #000000 #000000 #ffffff #000000 #000000 -client.placeholder #000000 #000000 #ffffff #000000 #000000 +# 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 +client.urgent #000000 #000000 #ffffff #000000 #000000 +client.placeholder #000000 #000000 #ffffff #000000 #000000 client.background #ffffff
@@ -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 @@
#: 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@@ -235,4 +230,4 @@ color6 #0fbcf9
color14 #4bcffa color7 #808e9b -color15 #d2dae2+color15 #d2dae2
@@ -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 @@ info "Terminal Font" term_font
info "CPU" cpu info "GPU" gpu info "Memory" memory - - # info "GPU Driver" gpu_driver # Linux/macOS only - # info "CPU Usage" cpu_usage info "Disk" disk - # info "Battery" battery # info "Font" font - # info "Song" song - # [[ "$player" ]] && prin "Music Player" "$player" info "Local IP" local_ip info "Public IP" public_ip info "Users" users - # info "Locale" locale # This only works on glibc systems. - - #info cols } - -# Title - # Hide/Show Fully qualified domain name. -# -# Default: 'off' # Values: 'on', 'off' -# Flag: --title_fqdn title_fqdn="off" -# Kernel - - # Shorten the output of the kernel function. -# -# Default: 'on' # Values: 'on', 'off' -# Flag: --kernel_shorthand -# Supports: Everything except *BSDs (except PacBSD and PC-BSD) -# -# Example: -# on: '4.8.9-1-ARCH' -# off: 'Linux 4.8.9-1-ARCH' kernel_shorthand="on" - - -# Distro - # Shorten the output of the distro function -# -# Default: 'off' # Values: 'on', 'tiny', 'off' -# Flag: --distro_shorthand -# Supports: Everything except Windows and Haiku distro_shorthand="off" # Show/Hide OS Architecture. -# Show 'x86_64', 'x86' and etc in 'Distro:' output. -# -# Default: 'on' # Values: 'on', 'off' -# Flag: --os_arch -# -# Example: -# on: 'Arch Linux x86_64' -# off: 'Arch Linux' os_arch="on" - # Uptime - - -# Shorten the output of the uptime function -# -# Default: 'on' # Values: 'on', 'tiny', 'off' -# Flag: --uptime_shorthand -# -# Example: -# on: '2 days, 10 hours, 3 mins' -# tiny: '2d 10h 3m' -# off: '2 days, 10 hours, 3 minutes' uptime_shorthand="on" - # Memory - - -# Show memory pecentage in output. -# -# Default: 'off' # Values: 'on', 'off' -# Flag: --memory_percent -# -# Example: -# on: '1801MiB / 7881MiB (22%)' -# off: '1801MiB / 7881MiB' memory_percent="off" # Change memory output unit. -# -# Default: 'mib' # Values: 'kib', 'mib', 'gib' -# Flag: --memory_unit -# -# Example: -# kib '1020928KiB / 7117824KiB' -# mib '1042MiB / 6951MiB' -# gib: ' 0.98GiB / 6.79GiB' memory_unit="mib" - # Packages - - -# Show/Hide Package Manager names. -# -# Default: 'tiny' # Values: 'on', 'tiny' 'off' -# Flag: --package_managers -# -# Example: -# on: '998 (pacman), 8 (flatpak), 4 (snap)' -# tiny: '908 (pacman, flatpak, snap)' -# off: '908' package_managers="on" - # Shell - - -# Show the path to $SHELL -# -# Default: 'off' # Values: 'on', 'off' -# Flag: --shell_path -# -# Example: -# on: '/bin/bash' -# off: 'bash' shell_path="off" # Show $SHELL version -# -# Default: 'on' -# Values: 'on', 'off' -# Flag: --shell_version -# -# Example: -# on: 'bash 4.4.5' -# off: 'bash' shell_version="on" - # CPU - - -# CPU speed type -# -# Default: 'bios_limit' # Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'. -# Flag: --speed_type -# Supports: Linux with 'cpufreq' -# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value. speed_type="bios_limit" # CPU speed shorthand -# -# Default: 'off' # Values: 'on', 'off'. -# Flag: --speed_shorthand -# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz -# -# Example: -# on: 'i7-6500U (4) @ 3.1GHz' -# off: 'i7-6500U (4) @ 3.100GHz' speed_shorthand="off" # Enable/Disable CPU brand in output. -# -# Default: 'on' # Values: 'on', 'off' -# Flag: --cpu_brand -# -# Example: -# on: 'Intel i7-6500U' -# off: 'i7-6500U (4)' cpu_brand="on" # CPU Speed -# Hide/Show CPU speed. -# -# Default: 'on' # Values: 'on', 'off' -# Flag: --cpu_speed -# -# Example: -# on: 'Intel i7-6500U (4) @ 3.1GHz' -# off: 'Intel i7-6500U (4)' cpu_speed="on" # CPU Cores -# Display CPU cores in output -# -# Default: 'logical' # Values: 'logical', 'physical', 'off' -# Flag: --cpu_cores -# Support: 'physical' doesn't work on BSD. -# -# Example: -# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores) -# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores) -# off: 'Intel i7-6500U @ 3.1GHz' cpu_cores="logical" # CPU Temperature -# Hide/Show CPU temperature. -# Note the temperature is added to the regular CPU function. -# -# Default: 'off' # Values: 'C', 'F', 'off' -# Flag: --cpu_temp -# Supports: Linux, BSD -# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable -# coretemp kernel module. This only supports newer Intel processors. -# -# Example: -# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]' -# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]' -# off: 'Intel i7-6500U (4) @ 3.1GHz' -cpu_temp="off" - +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"
@@ -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] + +[module/weather] type = custom/script -exec = ~/.config/polybar/scripts/openweathermap-simple.sh +exec = python3 ~/.config/polybar/scripts/weather.py interval = 60 -label-font = 3 +label-font = 1 -############################################################################################################ -; Sporify inkator - https://github.com/Jvanrhijn/polybar-spotify + [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% -############################################################################################################ -; Focus window name - https://github.com/polybar/polybar/wiki/Module:-xwindow + +[module/time] +type = internal/date +interval = 0 +time = %H:%M +label = %time% + + [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);
@@ -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(
@@ -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
@@ -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"]),"°С")
@@ -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) + +
@@ -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")
@@ -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>
@@ -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 +1,4 @@
-rofi.theme: solarized +rofi.theme: flat-solarized # solarized +rofi.font: hack 12 +rofi.auto-select: false +rofi.hide-scrollbar: true
@@ -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; +}
@@ -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; +}
@@ -0,0 +1,2 @@
+#/bin/sh +ffmpeg -i $1 -b:a 192K -vn ~/$directory/$2.mp3
@@ -0,0 +1,5 @@
+#!/bin/sh +git add ./ +read -p "Commit message: " msg +git commit -am "$msg" +git push origin master
@@ -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
@@ -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
@@ -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
@@ -0,0 +1,3 @@
+#!/bin/sh +tar -czf "../${PWD##*/}.tar.gz" . +echo -e "\033[32mThe archive was created successfully"
@@ -0,0 +1,3 @@
+#!/bin/sh +tar -czf "$1.tar.gz" $1 +echo -e "\033[32mThe archive was created successfully"
@@ -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 +