mirror of
https://github.com/alrayyes/legacy-dotfiles
synced 2023-11-13 18:16:41 +00:00
initial import
This commit is contained in:
commit
00cfba2e58
22
LICENSE.md
Normal file
22
LICENSE.md
Normal file
@ -0,0 +1,22 @@
|
||||
The MIT License (MIT)
|
||||
=====================
|
||||
|
||||
Copyright (c) `2016` `Ryan Kes`
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
of the Software, and to permit persons to whom the Software is furnished to do
|
||||
so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
9
README.md
Normal file
9
README.md
Normal file
@ -0,0 +1,9 @@
|
||||
# Legacy Dotfiles
|
||||
|
||||
Old dotfiles that I don't use anymore
|
||||
|
||||
# License
|
||||
|
||||
This theme is released under the MIT License. For more information read the [license][license].
|
||||
|
||||
[license]: https://github.com/alrayyes/legacy-dotfiles/blob/master/LICENSE.md
|
8
i3/.Xresources.desktop
Normal file
8
i3/.Xresources.desktop
Normal file
@ -0,0 +1,8 @@
|
||||
!-------------------------------------------------------------------------------
|
||||
! Xft settings
|
||||
!-------------------------------------------------------------------------------
|
||||
|
||||
Xft.antialias: false
|
||||
Xft.rgba: rgb
|
||||
Xft.hinting: true
|
||||
Xft.hintstyle: hintslight
|
9
i3/.Xresources.thinkpad
Normal file
9
i3/.Xresources.thinkpad
Normal file
@ -0,0 +1,9 @@
|
||||
!-------------------------------------------------------------------------------
|
||||
! Xft settings
|
||||
!-------------------------------------------------------------------------------
|
||||
|
||||
Xft.dpi: 160
|
||||
Xft.antialias: false
|
||||
Xft.rgba: rgb
|
||||
Xft.hinting: true
|
||||
Xft.hintstyle: hintslight
|
218
i3/.config/i3/config.desktop
Normal file
218
i3/.config/i3/config.desktop
Normal file
@ -0,0 +1,218 @@
|
||||
# vim: filetype=i3
|
||||
|
||||
# #---Basic Definitions ---# #
|
||||
# i3-gaps
|
||||
hide_edge_borders both
|
||||
for_window [class="^.*"] border pixel 3
|
||||
gaps inner 5
|
||||
gaps outer 5
|
||||
font pango:DejaVuSansMonoForPowerline Nerd Font 8
|
||||
set $mod Mod4
|
||||
|
||||
# #---Start External Scripts---# #
|
||||
# Align monitors
|
||||
exec_always --no-startup-id xrandr --newmode "2560x1440_40" 201.00 2560 2720 2984 3408 1440 1443 1448 1476 -hsync +vsync && xrandr --addmode HDMI-2 2560x1440_40 && xrandr --output DP-1 --mode 3840x2160 --primary --output HDMI-2 --mode 2560x1440_40 --left-of DP-1 --rotate left
|
||||
|
||||
# Polybar
|
||||
exec_always --no-startup-id $HOME/.config/polybar/launch-desktop.sh
|
||||
# Composite manager
|
||||
exec --no-startup-id compton --xrender-sync-fence
|
||||
# Makes mouse invisible after a brief period
|
||||
exec --no-startup-id unclutter
|
||||
# Applet to control pulseaudio
|
||||
exec --no-startup-id pasystray
|
||||
# Network manager applet
|
||||
exec --no-startup-id nm-applet
|
||||
# Redhift for better sleep
|
||||
exec --no-startup-id redshift-gtk
|
||||
# Syncthing
|
||||
exec --no-startup-id syncthing-gtk -m
|
||||
# Wallpaper
|
||||
exec nitrogen --restore
|
||||
# Notification
|
||||
exec_always --no-startup-id dunst
|
||||
|
||||
## --- Start Apps ---# #
|
||||
# Browser
|
||||
exec iceweasel
|
||||
exec slack
|
||||
exec i3-sensible-terminal -c weechat -e weechat
|
||||
exec i3-sensible-terminal -c mutt -e neomutt
|
||||
exec spotify
|
||||
exec gpodder
|
||||
|
||||
# #---Basic Bindings---# #
|
||||
bindsym $mod+Return exec i3-sensible-terminal
|
||||
bindsym $mod+shift+Return exec i3-sensible-terminal -e tmux
|
||||
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
bindsym $mod+Escape workspace prev
|
||||
bindsym $mod+Shift+e exec i3-msg exit
|
||||
|
||||
bindsym $mod+Shift+BackSpace exec sudo reboot
|
||||
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# change focus
|
||||
bindsym $mod+j focus left
|
||||
bindsym $mod+k focus down
|
||||
bindsym $mod+l focus up
|
||||
bindsym $mod+semicolon focus right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# move focused window
|
||||
bindsym $mod+Shift+j move left
|
||||
bindsym $mod+Shift+k move down
|
||||
bindsym $mod+Shift+l move up
|
||||
bindsym $mod+Shift+semicolon move right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
|
||||
# split in horizontal orientation
|
||||
bindsym $mod+h split h
|
||||
|
||||
# split in vertical orientation
|
||||
bindsym $mod+v split v
|
||||
|
||||
# enter fullscreen mode for the focused container
|
||||
bindsym $mod+f fullscreen toggle
|
||||
|
||||
# change container layout (stacked, tabbed, toggle split)
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||
bindsym $mod+Shift+r restart
|
||||
|
||||
|
||||
# my keybindings
|
||||
bindsym $mod+u [instance="dropdown"] scratchpad show
|
||||
bindsym $mod+d exec rofi -show
|
||||
bindsym $mod+p exec rofi-pass -show
|
||||
bindsym Control+$mod+l exec i3lock-fancy
|
||||
|
||||
# Screenshots
|
||||
bindsym Print exec --no-startup-id scrot -e 'mv $f ~/Pictures/Screenshots/'
|
||||
bindsym Shift+Print exec --no-startup-id scrot -u -e 'mv $f ~/Pictures/Screenshots/'
|
||||
|
||||
# #---Workspace Bindings--# #
|
||||
|
||||
# name workspaces
|
||||
set $workspace1 "1"
|
||||
set $workspace2 "2"
|
||||
set $workspace3 "3"
|
||||
set $workspace4 "4"
|
||||
set $workspace5 "5"
|
||||
set $workspace6 "6"
|
||||
set $workspace7 "7"
|
||||
set $workspace8 "8"
|
||||
set $workspace9 "9"
|
||||
set $workspace10 "10"
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace $workspace1
|
||||
bindsym $mod+2 workspace $workspace2
|
||||
bindsym $mod+3 workspace $workspace3
|
||||
bindsym $mod+4 workspace $workspace4
|
||||
bindsym $mod+5 workspace $workspace5
|
||||
bindsym $mod+6 workspace $workspace6
|
||||
bindsym $mod+7 workspace $workspace7
|
||||
bindsym $mod+8 workspace $workspace8
|
||||
bindsym $mod+9 workspace $workspace9
|
||||
bindsym $mod+0 workspace $workspace10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace $workspace1
|
||||
bindsym $mod+Shift+2 move container to workspace $workspace2
|
||||
bindsym $mod+Shift+3 move container to workspace $workspace3
|
||||
bindsym $mod+Shift+4 move container to workspace $workspace4
|
||||
bindsym $mod+Shift+5 move container to workspace $workspace5
|
||||
bindsym $mod+Shift+6 move container to workspace $workspace6
|
||||
bindsym $mod+Shift+7 move container to workspace $workspace7
|
||||
bindsym $mod+Shift+8 move container to workspace $workspace8
|
||||
bindsym $mod+Shift+9 move container to workspace $workspace9
|
||||
bindsym $mod+Shift+0 move container to workspace $workspace10
|
||||
|
||||
workspace $workspace1 output DP-1
|
||||
workspace $workspace2 output DP-1
|
||||
workspace $workspace3 output DP-1
|
||||
workspace $workspace4 output DP-1
|
||||
workspace $workspace5 output DP-1
|
||||
workspace $workspace6 output DP-1
|
||||
workspace $workspace7 output HDMI-2
|
||||
workspace $workspace8 output DP-1
|
||||
workspace $workspace9 output DP-1
|
||||
workspace $workspace0 output DP-1
|
||||
|
||||
# enable floating for apps
|
||||
for_window [title="Screen Layout Editor"] floating enable
|
||||
for_window [window_role="gimp-dock"] floating disable; move left; resize shrink width 50 px or 50ppt
|
||||
for_window [window_role="gimp-toolbox"] floating disable; move right; resize grow width 30 px or 30ppt
|
||||
for_window [title="PulseAudio Manager"] floating enable
|
||||
for_window [title="PulseAudio Volume Meter"] floating enable
|
||||
for_window [title="Volume Control"] floating enable
|
||||
for_window [title="Toggl Desktop"] floating enable
|
||||
for_window [title="Syncthing"] floating enable for_window [title="QtPass"] floating enable
|
||||
|
||||
# make sure all apps start where they're supposed to
|
||||
assign [class="Google-chrome"] $workspace2
|
||||
assign [class="Iceweasel"] $workspace2
|
||||
assign [class="Gpodder"] $workspace4
|
||||
assign [class="ncmpcpp"] $workspace4
|
||||
for_window [class="Spotify"] move to workspace $workspace4
|
||||
assign [class="Slack"] $workspace7
|
||||
assign [class="weechat"] $workspace7
|
||||
assign [class="retroarch"] $workspace8
|
||||
assign [class="mutt"] $workspace6
|
||||
|
||||
# First I have a tmux window used for background scripts.
|
||||
# I'll later bind this to mod+u.
|
||||
for_window [instance="dropdown"] floating enable
|
||||
for_window [instance="dropdown"] resize set 625 400
|
||||
for_window [instance="dropdown"] move scratchpad
|
||||
for_window [instance="dropdown"] border pixel 5
|
||||
# Runs the tmuxinit script, which searches for an earlier tmux instance,
|
||||
# otherwise starts a new one (to prevent multiple dropdown sessions).
|
||||
exec --no-startup-id $term -n dropdown -e tmux
|
||||
# Runs neofetch on first tmux screen if installed.
|
||||
exec_always --no-startup-id "tmux send-keys -t 0:0 'clear && neofetch 2>/dev/null' Enter"
|
||||
|
||||
floating_modifier $mod
|
||||
|
||||
# resize window (you can also use the mouse for that)
|
||||
mode "resize" {
|
||||
# These bindings trigger as soon as you enter the resize mode
|
||||
|
||||
# Pressing left will shrink the window’s width.
|
||||
# Pressing right will grow the window’s width.
|
||||
# Pressing up will shrink the window’s height.
|
||||
# Pressing down will grow the window’s height.
|
||||
bindsym j resize shrink width 10 px or 10 ppt
|
||||
bindsym k resize grow height 10 px or 10 ppt
|
||||
bindsym l resize shrink height 10 px or 10 ppt
|
||||
bindsym semicolon resize grow width 10 px or 10 ppt
|
||||
|
||||
# same bindings, but for the arrow keys
|
||||
bindsym Left resize shrink width 10 px or 10 ppt
|
||||
bindsym Down resize grow height 10 px or 10 ppt
|
||||
bindsym Up resize shrink height 10 px or 10 ppt
|
||||
bindsym Right resize grow width 10 px or 10 ppt
|
||||
|
||||
# back to normal: Enter or Escape
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
} bindsym $mod+r mode "resize"
|
217
i3/.config/i3/config.thinkpad
Normal file
217
i3/.config/i3/config.thinkpad
Normal file
@ -0,0 +1,217 @@
|
||||
# vim: filetype=i3
|
||||
|
||||
# #---Basic Definitions ---# #
|
||||
# i3-gaps
|
||||
hide_edge_borders both
|
||||
for_window [class="^.*"] border pixel 0
|
||||
gaps inner 5
|
||||
gaps outer 5
|
||||
font pango:DejaVuSansMonoForPowerline Nerd Font 8
|
||||
set $mod Mod4
|
||||
|
||||
# #---Start External Scripts---# #
|
||||
# Align monitors
|
||||
exec_always --no-startup-id xrandr --dpi 150
|
||||
# Polybar
|
||||
exec_always --no-startup-id $HOME/.config/polybar/launch-laptop.sh
|
||||
# Composite manager
|
||||
exec --no-startup-id compton --xrender-sync-fence
|
||||
# Wallpaper
|
||||
exec_always --no-startup-id feh --bg-scale ~/.config/wall.png
|
||||
# Makes mouse invisible after a brief period
|
||||
exec --no-startup-id unclutter
|
||||
# Applet to control pulseaudio
|
||||
exec --no-startup-id pasystray
|
||||
# Network manager applet
|
||||
exec --no-startup-id nm-applet
|
||||
# Redhift for better sleep
|
||||
exec --no-startup-id redshift-gtk
|
||||
# Syncthing
|
||||
exec --no-startup-id syncthing-gtk -m
|
||||
# Notification
|
||||
exec_always --no-startup-id dunst
|
||||
|
||||
## --- Start Apps ---# #
|
||||
# Browser
|
||||
exec firefox
|
||||
exec slack
|
||||
exec i3-sensible-terminal -c weechat -e weechat
|
||||
exec i3-sensible-terminal -c mutt -e neomutt
|
||||
exec spotify
|
||||
exec gpodder
|
||||
|
||||
# #---Basic Bindings---# #
|
||||
bindsym $mod+Return exec i3-sensible-terminal
|
||||
bindsym $mod+shift+Return exec i3-sensible-terminal -e tmux
|
||||
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
bindsym $mod+Escape workspace prev
|
||||
bindsym $mod+Shift+e exec i3-msg exit
|
||||
|
||||
bindsym $mod+Shift+BackSpace exec sudo reboot
|
||||
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# change focus
|
||||
bindsym $mod+j focus left
|
||||
bindsym $mod+k focus down
|
||||
bindsym $mod+l focus up
|
||||
bindsym $mod+semicolon focus right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# move focused window
|
||||
bindsym $mod+Shift+j move left
|
||||
bindsym $mod+Shift+k move down
|
||||
bindsym $mod+Shift+l move up
|
||||
bindsym $mod+Shift+semicolon move right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
|
||||
# split in horizontal orientation
|
||||
bindsym $mod+h split h
|
||||
|
||||
# split in vertical orientation
|
||||
bindsym $mod+v split v
|
||||
|
||||
# enter fullscreen mode for the focused container
|
||||
bindsym $mod+f fullscreen toggle
|
||||
|
||||
# change container layout (stacked, tabbed, toggle split)
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||
bindsym $mod+Shift+r restart
|
||||
|
||||
|
||||
# my keybindings
|
||||
bindsym $mod+u [instance="dropdown"] scratchpad show
|
||||
bindsym $mod+d exec rofi -show
|
||||
bindsym $mod+p exec rofi-pass -show
|
||||
bindsym Control+$mod+l exec i3lock-fancy
|
||||
|
||||
# Screenshots
|
||||
bindsym Print exec --no-startup-id scrot -e 'mv $f ~/Pictures/Screenshots/'
|
||||
bindsym Shift+Print exec --no-startup-id scrot -u -e 'mv $f ~/Pictures/Screenshots/'
|
||||
|
||||
# Pulse Audio controls
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume
|
||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound
|
||||
|
||||
# Sreen brightness controls
|
||||
bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness
|
||||
bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness
|
||||
|
||||
# #---Workspace Bindings--# #
|
||||
|
||||
# name workspaces
|
||||
set $workspace1 "1"
|
||||
set $workspace2 "2"
|
||||
set $workspace3 "3"
|
||||
set $workspace4 "4"
|
||||
set $workspace5 "5"
|
||||
set $workspace6 "6"
|
||||
set $workspace7 "7"
|
||||
set $workspace8 "8"
|
||||
set $workspace9 "9"
|
||||
set $workspace10 "10"
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace $workspace1
|
||||
bindsym $mod+2 workspace $workspace2
|
||||
bindsym $mod+3 workspace $workspace3
|
||||
bindsym $mod+4 workspace $workspace4
|
||||
bindsym $mod+5 workspace $workspace5
|
||||
bindsym $mod+6 workspace $workspace6
|
||||
bindsym $mod+7 workspace $workspace7
|
||||
bindsym $mod+8 workspace $workspace8
|
||||
bindsym $mod+9 workspace $workspace9
|
||||
bindsym $mod+0 workspace $workspace10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace $workspace1
|
||||
bindsym $mod+Shift+2 move container to workspace $workspace2
|
||||
bindsym $mod+Shift+3 move container to workspace $workspace3
|
||||
bindsym $mod+Shift+4 move container to workspace $workspace4
|
||||
bindsym $mod+Shift+5 move container to workspace $workspace5
|
||||
bindsym $mod+Shift+6 move container to workspace $workspace6
|
||||
bindsym $mod+Shift+7 move container to workspace $workspace7
|
||||
bindsym $mod+Shift+8 move container to workspace $workspace8
|
||||
bindsym $mod+Shift+9 move container to workspace $workspace9
|
||||
bindsym $mod+Shift+0 move container to workspace $workspace10
|
||||
|
||||
workspace $workspace8 output HDMI2
|
||||
|
||||
# enable floating for apps
|
||||
for_window [title="Screen Layout Editor"] floating enable
|
||||
for_window [window_role="gimp-dock"] floating disable; move left; resize shrink width 50 px or 50ppt
|
||||
for_window [window_role="gimp-toolbox"] floating disable; move right; resize grow width 30 px or 30ppt
|
||||
for_window [title="PulseAudio Manager"] floating enable
|
||||
for_window [title="PulseAudio Volume Meter"] floating enable
|
||||
for_window [title="Volume Control"] floating enable
|
||||
for_window [title="Toggl Desktop"] floating enable
|
||||
for_window [title="Syncthing"] floating enable for_window [title="QtPass"] floating enable
|
||||
|
||||
# make sure all apps start where they're supposed to
|
||||
assign [class="Google-chrome"] $workspace2
|
||||
assign [class="Firefox"] $workspace2
|
||||
assign [class="Gpodder"] $workspace4
|
||||
assign [class="ncmpcpp"] $workspace4
|
||||
for_window [class="Spotify"] move to workspace $workspace4
|
||||
assign [class="Slack"] $workspace7
|
||||
assign [class="weechat"] $workspace7
|
||||
assign [class="retroarch"] $workspace8
|
||||
assign [class="mutt"] $workspace6
|
||||
|
||||
# First I have a tmux window used for background scripts.
|
||||
# I'll later bind this to mod+u.
|
||||
for_window [instance="dropdown"] floating enable
|
||||
for_window [instance="dropdown"] resize set 625 400
|
||||
for_window [instance="dropdown"] move scratchpad
|
||||
for_window [instance="dropdown"] border pixel 5
|
||||
# Runs the tmuxinit script, which searches for an earlier tmux instance,
|
||||
# otherwise starts a new one (to prevent multiple dropdown sessions).
|
||||
exec --no-startup-id $term -n dropdown -e tmux
|
||||
# Runs neofetch on first tmux screen if installed.
|
||||
exec_always --no-startup-id "tmux send-keys -t 0:0 'clear && neofetch 2>/dev/null' Enter"
|
||||
|
||||
floating_modifier $mod
|
||||
|
||||
# resize window (you can also use the mouse for that)
|
||||
mode "resize" {
|
||||
# These bindings trigger as soon as you enter the resize mode
|
||||
|
||||
# Pressing left will shrink the window’s width.
|
||||
# Pressing right will grow the window’s width.
|
||||
# Pressing up will shrink the window’s height.
|
||||
# Pressing down will grow the window’s height.
|
||||
bindsym j resize shrink width 10 px or 10 ppt
|
||||
bindsym k resize grow height 10 px or 10 ppt
|
||||
bindsym l resize shrink height 10 px or 10 ppt
|
||||
bindsym semicolon resize grow width 10 px or 10 ppt
|
||||
|
||||
# same bindings, but for the arrow keys
|
||||
bindsym Left resize shrink width 10 px or 10 ppt
|
||||
bindsym Down resize grow height 10 px or 10 ppt
|
||||
bindsym Up resize shrink height 10 px or 10 ppt
|
||||
bindsym Right resize grow width 10 px or 10 ppt
|
||||
|
||||
# back to normal: Enter or Escape
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
} bindsym $mod+r mode "resize"
|
690
moc/.moc/config
Normal file
690
moc/.moc/config
Normal file
@ -0,0 +1,690 @@
|
||||
# This is a configuration file for the MOC player. It should be named
|
||||
# 'config' and placed in the ~/.moc directory. As this file can specify
|
||||
# commands which invoke other applications, MOC will refuse to start if it
|
||||
# is not owned by either root or the current user, or if it is writable by
|
||||
# anyone other than its owner. All options are given with their default
|
||||
# values, and therefore commented.
|
||||
|
||||
# Comments begin with '#'.
|
||||
# You can use quotes and escape ('\') in parameters.
|
||||
#
|
||||
# You can have variable values substituted by enclosing the variable name
|
||||
# as "${...}". (This only applies to the portion of the option following
|
||||
# the '='.) Variables are substituted first from the environment then,
|
||||
# if not found, from the configuration options. (Note that the value of
|
||||
# a configuration option substituted is that which it has at the time the
|
||||
# substitution variable is encountered.) If there is a naming conflict
|
||||
# between an environment and configuration variable, you may be able to
|
||||
# resolve it by using lowercase as the environment variable matches are
|
||||
# case-sensitive whereas the configuration variables are not.
|
||||
#
|
||||
# You can also use the form "${...:-...}" where the value in the second
|
||||
# position will be substituted if the variable name given in the first
|
||||
# position is unset or null.
|
||||
#
|
||||
# So, for example:
|
||||
#
|
||||
# MusicDir = /music/${USER:-public}
|
||||
# Fastdir1 = ${MusicDir}/mp3/rock
|
||||
# Fastdir2 = ${MusicDir}/mp3/electronic
|
||||
# Fastdir3 = ${MusicDir}/mp3/rap
|
||||
# Fastdir4 = ${MusicDir}/mp3/etc
|
||||
#
|
||||
# Variable names are limited to those accepted by the BASH shell; that
|
||||
# is, those comprising the upper- and lowercase ASCII characters, digits
|
||||
# and the underscore.
|
||||
#
|
||||
# If you need to use the "${" sequence for any other purpose, write "$${"
|
||||
# and it will be replaced by "${" and not treated as a substitution.
|
||||
#
|
||||
# Some options take lists of strings as their values. The strings are
|
||||
# separated by colons. Additional strings can be appended to the list
|
||||
# using "+=" in place of a plain "=" to assign the value. For an example,
|
||||
# see the XTerms option.
|
||||
#
|
||||
# You can override any configuration option when you run MOC using the
|
||||
# '-O' command line option:
|
||||
#
|
||||
# mocp -O AutoNext=no -O messagelingertime=1 -O XTerms+=xxt:xwt
|
||||
#
|
||||
# This command line option can be repeated as many times as needed and
|
||||
# the configuration option name is not case sensitive. (Note that MOC
|
||||
# does not perform variable substitution on the value of such overridden
|
||||
# configuration options.) Most option values are set before the
|
||||
# configuration file is processed (which allows the new values to be
|
||||
# picked up by substitutions), however list-valued options are overridden
|
||||
# afterwards (which gives the choice of whether the configured values are
|
||||
# replaced or added to).
|
||||
|
||||
# Remember that the client and server are separate processes and the
|
||||
# server will retain the configuration values formed from the environment
|
||||
# within which it was originally started.
|
||||
|
||||
# Show file titles (title, author, album) instead of file names?
|
||||
#ReadTags = yes
|
||||
|
||||
# In which directory do you store your music files? If you specify it
|
||||
# you will be able to jump straight to this directory with the '-m'
|
||||
# parameter or the 'm' command. This can also point to a playlist.
|
||||
#
|
||||
# Example: MusicDir = "/home/joe/music"
|
||||
#
|
||||
MusicDir = "~/music"
|
||||
|
||||
# Start in the music directory by default? If set to 'no', start
|
||||
# in the current directory by default. A single directory on
|
||||
# the command line takes precedence.
|
||||
#StartInMusicDir = yes
|
||||
|
||||
# How to sort? FileName is the option's only value for now.
|
||||
#Sort = FileName
|
||||
|
||||
# Show errors in the streams (for example, broken frames in MP3 files)?
|
||||
#ShowStreamErrors = no
|
||||
|
||||
# Ignore CRC errors in MP3 files? Most players do that, so the default
|
||||
# value is 'yes'.
|
||||
#MP3IgnoreCRCErrors = yes
|
||||
|
||||
# Set playback toggles.
|
||||
#Repeat = no
|
||||
#Shuffle = no
|
||||
#AutoNext = yes
|
||||
|
||||
# Default FormatString:
|
||||
#
|
||||
# %n - Track number
|
||||
# %a - Artist
|
||||
# %A - Album
|
||||
# %t - Title
|
||||
# %(X:TRUE:FALSE) - Ternary expression: if X exists, do TRUE,
|
||||
# otherwise FALSE. The escape character must
|
||||
# be doubled (i.e., '\\'). (See zshmisc
|
||||
# documentation for more information.)
|
||||
#
|
||||
#FormatString = "%(n:%n :)%(a:%a - :)%(t:%t:)%(A: \(%A\):)"
|
||||
|
||||
# Input and output buffer sizes (in kilobytes).
|
||||
#InputBuffer = 512 # Minimum value is 32KB
|
||||
#OutputBuffer = 512 # Minimum value is 128KB
|
||||
|
||||
# How much to fill the input buffer before playing (in kilobytes)?
|
||||
# This can't be greater than the value of InputBuffer. While this has
|
||||
# a positive effect for network streams, it also causes the broadcast
|
||||
# audio to be delayed.
|
||||
#Prebuffering = 64
|
||||
|
||||
# Use this HTTP proxy server for internet streams. If not set, the
|
||||
# environment variables http_proxy and ALL_PROXY will be used if present.
|
||||
#
|
||||
# Format: HTTPProxy = PROXY_NAME:PORT
|
||||
#
|
||||
#HTTPProxy =
|
||||
|
||||
# Sound driver - OSS, ALSA, JACK, SNDIO (on OpenBSD) or null (only for
|
||||
# debugging). You can enter more than one driver as a colon-separated
|
||||
# list. The first working driver will be used.
|
||||
#SoundDriver = JACK:ALSA:OSS
|
||||
|
||||
# Jack output settings.
|
||||
#JackClientName = "moc"
|
||||
#JackStartServer = no
|
||||
#JackOutLeft = "system:playback_1"
|
||||
#JackOutRight = "system:playback_2"
|
||||
|
||||
# OSS output settings.
|
||||
#OSSDevice = /dev/dsp
|
||||
#OSSMixerDevice = /dev/mixer
|
||||
#OSSMixerChannel1 = pcm # 'pcm', 'master' or 'speaker'
|
||||
#OSSMixerChannel2 = master # 'pcm', 'master' or 'speaker'
|
||||
|
||||
# ALSA output settings. If you need to dump the audio produced by MOC
|
||||
# to a file for diagnostic purposes, the following setting of 'ALSADevice'
|
||||
# should do that:
|
||||
#
|
||||
# ALSADevice=tee:hw,'/tmp/out.wav',wav
|
||||
#
|
||||
#ALSADevice = default
|
||||
#ALSAMixer1 = PCM
|
||||
#ALSAMixer2 = Master
|
||||
|
||||
# Under some circumstances on 32-bit systems, audio played continously
|
||||
# for long periods of time may begin to stutter. Setting this option to
|
||||
# 'yes' will force MOC to avoid ALSA's dmix resampling and prevent this
|
||||
# stutter. But it also has other implications:
|
||||
#
|
||||
# - You may experience unacceptably high CPU load.
|
||||
# - ALSA's resampler plug-ins will not be used.
|
||||
# - The resampling may be of lower quality than ALSA would provide.
|
||||
# - You may need to try different "ResampleMethod" option settings.
|
||||
# - The "ForceSampleRate" option may be ineffective.
|
||||
# - If libsamplerate is not configured, many audios may be unplayable.
|
||||
#
|
||||
#ALSAStutterDefeat = no
|
||||
|
||||
# Save software mixer state?
|
||||
# If enabled, a file 'softmixer' will be created in '~/.moc/' storing the
|
||||
# mixersetting set when the server is shut down.
|
||||
# Note that there is a "hidden" 'Amplification' setting in that file.
|
||||
# Amplification (0-200) is used to scale the mixer setting (0-100). This
|
||||
# results in a higher signal amplitude but may also produce clipping.
|
||||
#Softmixer_SaveState = yes
|
||||
|
||||
# Save equalizer state?
|
||||
# If enabled, a file 'equalizer' will be created in '~/.moc/' storing the
|
||||
# equalizer settings when the server is shut down.
|
||||
# Note that there is a "hidden" 'Mixin' setting in that file.
|
||||
# Mixin (0.0-1.0) is used to determine how much of the original signal is
|
||||
# used after equalizing. 0 means to only use the equalized sound, while 1
|
||||
# effectively disabled the mixer. The default is 0.25.
|
||||
#Equalizer_SaveState = yes
|
||||
|
||||
# Show files with dot at the beginning?
|
||||
#ShowHiddenFiles = no
|
||||
|
||||
# Hide file name extensions?
|
||||
#HideFileExtension = no
|
||||
|
||||
# Show file format in menu?
|
||||
#ShowFormat = yes
|
||||
|
||||
# Show file time in menu? Possible values: 'yes', 'no' and 'IfAvailable'
|
||||
# (meaning show the time only when it is already known, which often works
|
||||
# faster).
|
||||
#ShowTime = IfAvailable
|
||||
|
||||
# Show time played as a percentage in the time progress bar.
|
||||
#ShowTimePercent = no
|
||||
|
||||
# Values of the TERM environment variable which are deemed to be managed by
|
||||
# screen(1). If you are setting a specific terminal using screen(1)'s
|
||||
# '-T <term>' option, then you will need to add 'screen.<term>' to this list.
|
||||
# Note that this is only a partial test; the value of the WINDOW environment
|
||||
# variable must also be a number (which screen(1) sets).
|
||||
#ScreenTerms = screen:screen-w:vt100
|
||||
|
||||
# Values of the TERM environment variable which are deemed to be xterms. If
|
||||
# you are using MOC within screen(1) under an xterm, then add screen(1)'s
|
||||
# TERM setting here as well to cause MOC to update the xterm's title.
|
||||
#XTerms = xterm
|
||||
#XTerms += xterm-colour:xterm-color
|
||||
#XTerms += xterm-256colour:xterm-256color
|
||||
#XTerms += rxvt:rxvt-unicode
|
||||
#XTerms += rxvt-unicode-256colour:rxvt-unicode-256color
|
||||
#XTerms += eterm
|
||||
|
||||
# Theme file to use. This can be absolute path or relative to
|
||||
# /usr/share/moc/themes/ (depends on installation prefix) or
|
||||
# ~/.moc/themes/ .
|
||||
#
|
||||
# Example: Theme = laras_theme
|
||||
#
|
||||
Theme = solarized
|
||||
|
||||
# The theme used when running on an xterm.
|
||||
#
|
||||
# Example: XTermTheme = transparent-background
|
||||
#
|
||||
#XTermTheme =
|
||||
|
||||
# Should MOC try to autoload the default lyrics file for an audio? (The
|
||||
# default lyrics file is a text file with the same file name as the audio
|
||||
# file name with any trailing "extension" removed.)
|
||||
#AutoLoadLyrics = yes
|
||||
|
||||
# MOC directory (where pid file, socket and state files are stored).
|
||||
# You can use ~ at the beginning.
|
||||
#MOCDir = ~/.moc
|
||||
|
||||
# Use mmap() to read files. mmap() is much slower on NFS.
|
||||
#UseMMap = no
|
||||
|
||||
# Use MIME to identify audio files. This can make for slower loading
|
||||
# of playlists but is more accurate than using "extensions".
|
||||
#UseMimeMagic = no
|
||||
|
||||
# Assume this encoding for ID3 version 1/1.1 tags (MP3 files). Unlike
|
||||
# ID3v2, UTF-8 is not used here and MOC can't guess how tags are encoded.
|
||||
# Another solution is using librcc (see the next option). This option is
|
||||
# ignored if UseRCC is set to 'yes'.
|
||||
#ID3v1TagsEncoding = WINDOWS-1250
|
||||
|
||||
# Use librcc to fix ID3 version 1/1.1 tags encoding.
|
||||
#UseRCC = yes
|
||||
|
||||
# Use librcc to filenames and directory names encoding.
|
||||
#UseRCCForFilesystem = yes
|
||||
|
||||
# When this option is set the player assumes that if the encoding of
|
||||
# ID3v2 is set to ISO-8859-1 then the ID3v1TagsEncoding is actually
|
||||
# that and applies appropriate conversion.
|
||||
#EnforceTagsEncoding = no
|
||||
|
||||
# Enable the conversion of filenames from the local encoding to UTF-8.
|
||||
#FileNamesIconv = no
|
||||
|
||||
# Enable the conversion of the xterm title from UTF-8 to the local encoding.
|
||||
#NonUTFXterm = no
|
||||
|
||||
# Should MOC precache files to assist gapless playback?
|
||||
#Precache = yes
|
||||
|
||||
# Remember the playlist after exit?
|
||||
#SavePlaylist = yes
|
||||
|
||||
# When using more than one client (interface) at a time, do they share
|
||||
# the playlist?
|
||||
#SyncPlaylist = yes
|
||||
|
||||
# Choose a keymap file (relative to '~/.moc/' or using an absolute path).
|
||||
# An annotated example keymap file is included ('keymap.example').
|
||||
#
|
||||
# Example: Keymap = my_keymap
|
||||
#
|
||||
Keymap = keymap
|
||||
|
||||
# Use ASCII rather than graphic characters for drawing lines. This
|
||||
# helps on some terminals.
|
||||
#ASCIILines = no
|
||||
|
||||
# FastDirs, these allow you to jump directly to a directory, the key
|
||||
# bindings are in the keymap file.
|
||||
#
|
||||
# Examples: Fastdir1 = /mp3/rock
|
||||
# Fastdir2 = /mp3/electronic
|
||||
# Fastdir3 = /mp3/rap
|
||||
# Fastdir4 = /mp3/etc
|
||||
#
|
||||
#Fastdir1 =
|
||||
#Fastdir2 =
|
||||
#Fastdir3 =
|
||||
#Fastdir4 =
|
||||
#Fastdir5 =
|
||||
#Fastdir6 =
|
||||
#Fastdir7 =
|
||||
#Fastdir8 =
|
||||
#Fastdir9 =
|
||||
#Fastdir10 =
|
||||
|
||||
# How fast to seek (in number of seconds per keystroke). The first
|
||||
# option is for normal seek and the second for silent seek.
|
||||
#SeekTime = 1
|
||||
#SilentSeekTime = 5
|
||||
|
||||
# PreferredDecoders allows you to specify which decoder should be used
|
||||
# for any given audio format. It is a colon-separated list in which
|
||||
# each entry is of the general form 'code(decoders)', where 'code'
|
||||
# identifies the audio format and 'decoders' is a comma-separated list
|
||||
# of decoders in order of preference.
|
||||
#
|
||||
# The audio format identifier may be either a filename extension or a
|
||||
# MIME media type. If the latter, the format is 'type/subtype' (e.g.,
|
||||
# 'audio/flac'). Because different systems may give different MIME
|
||||
# media types, any 'x-' prefix of the subtype is ignored both here and
|
||||
# in the actual file MIME type (so all combinations of 'audio/flac' and
|
||||
# 'audio/x-flac' match each other).
|
||||
#
|
||||
# For Internet streams the matching is done on MIME media type and on
|
||||
# actual content. For files the matches are made on MIME media type
|
||||
# (if the 'UseMimeMagic' option is set) and on filename extension. The
|
||||
# MIME media type of a file is not determined until the first entry for
|
||||
# MIME is encountered in the list.
|
||||
#
|
||||
# The matching is done in the order of appearance in the list with any
|
||||
# entries added from the command line being matched before those listed
|
||||
# here. Therefore, if you place all filename extension entries before
|
||||
# all MIME entries you will speed up MOC's processing of directories
|
||||
# (which could be significant for remote file systems).
|
||||
#
|
||||
# The decoder list may be empty, in which case no decoders will be used
|
||||
# for files (and files with that audio format ignored) while Internet
|
||||
# streams will be assessed on the actual content. Any decoder position
|
||||
# may contain an asterisk, in which case any decoder not otherwise listed
|
||||
# which can handle the audio format will be used. It is not an error to
|
||||
# list the same decoder twice, but neither does it make sense to do so.
|
||||
#
|
||||
# If you have a mix of audio and non-audio files in your directories, you
|
||||
# may wish to include entries at top of the list which ignore non-audio
|
||||
# files by extension.
|
||||
#
|
||||
# In summary, the PreferredDecoders option provides fine control over the
|
||||
# type of matching which is performed (filename extension, MIME media
|
||||
# type and streamed media content) and which decoder(s) (if any) are used
|
||||
# based on the option's list entries and their ordering.
|
||||
#
|
||||
# Examples: aac(aac,ffmpeg) first try FAAD2 for AACs then FFmpeg
|
||||
# mp3() ignore MP3 files
|
||||
# wav(*,sndfile) use sndfile for WAV as a last resort
|
||||
# ogg(vorbis,*):flac(flac,*) try Xiph decoders first
|
||||
# ogg():audio/ogg() ignore OGG files, and
|
||||
# force Internet selection by content
|
||||
# gz():html() ignore some non-audio files
|
||||
#
|
||||
# Any unspecified audio formats default to trying all decoders.
|
||||
# Any unknown (or misspelt) drivers are ignored.
|
||||
# All names are case insensitive.
|
||||
# The default setting reflects the historical situation modified by
|
||||
# the experience of users.
|
||||
#
|
||||
#PreferredDecoders = aac(aac,ffmpeg):m4a(ffmpeg)
|
||||
#PreferredDecoders += mpc(musepack,*,ffmpeg):mpc8(musepack,*,ffmpeg)
|
||||
#PreferredDecoders += sid(sidplay2):mus(sidplay2)
|
||||
#PreferredDecoders += wav(sndfile,*,ffmpeg)
|
||||
#PreferredDecoders += wv(wavpack,*,ffmpeg)
|
||||
#PreferredDecoders += audio/aac(aac):audio/aacp(aac):audio/m4a(ffmpeg)
|
||||
#PreferredDecoders += audio/wav(sndfile,*)
|
||||
|
||||
# The following PreferredDecoders attempt to handle the ambiguity surrounding
|
||||
# container types such as OGG for files. The first two entries will force
|
||||
# a local file to the correct decoder (assuming the .ogg file contains Vorbis
|
||||
# audio), while the MIME media types will cause Internet audio streams to
|
||||
# be assessed on content (which may be either Vorbis or Speex).
|
||||
#
|
||||
#PreferredDecoders += ogg(vorbis,ffmpeg):oga(vorbis,ffmpeg):ogv(ffmpeg)
|
||||
#PreferredDecoders += opus(ffmpeg)
|
||||
#PreferredDecoders += spx(speex)
|
||||
#PreferredDecoders += application/ogg(vorbis):audio/ogg(vorbis)
|
||||
|
||||
# Which resampling method to use. There are a few methods of resampling
|
||||
# sound supported by libresamplerate. The default is 'Linear') which is
|
||||
# also the fastest. A better description can be found at:
|
||||
#
|
||||
# http://www.mega-nerd.com/libsamplerate/api_misc.html#Converters
|
||||
#
|
||||
# but briefly, the following methods are based on bandlimited interpolation
|
||||
# and are higher quality, but also slower:
|
||||
#
|
||||
# SincBestQuality - really slow (I know you probably have an xx GHz
|
||||
# processor, but it's still not enough to not see
|
||||
# this in the top output :) The worst case
|
||||
# Signal-to-Noise Ratio is 97dB.
|
||||
# SincMediumQuality - much faster.
|
||||
# SincFastest - the fastest bandlimited interpolation.
|
||||
#
|
||||
# And these are lower quality, but much faster methods:
|
||||
#
|
||||
# ZeroOrderHold - really poor quality, but it's really fast.
|
||||
# Linear - a bit better and a bit slower.
|
||||
#
|
||||
#ResampleMethod = Linear
|
||||
|
||||
# Always use this sample rate (in Hz) when opening the audio device (and
|
||||
# resample the sound if necessary). When set to 0 the device is opened
|
||||
# with the file's rate.
|
||||
#ForceSampleRate = 0
|
||||
|
||||
# By default, even if the sound card reports that it can output 24bit samples
|
||||
# MOC converts 24bit PCM to 16bit. Setting this option to 'yes' allows MOC
|
||||
# to use 24bit output. (The MP3 decoder, for example, uses this format.)
|
||||
# This is disabled by default because there were reports that it prevents
|
||||
# MP3 files from playing on some soundcards.
|
||||
#Allow24bitOutput = no
|
||||
|
||||
# Use realtime priority for output buffer thread. This will prevent gaps
|
||||
# while playing even with heavy load. The user who runs MOC must have
|
||||
# permissions to set such a priority. This could be dangerous, because it
|
||||
# is possible that a bug in MOC will freeze your computer.
|
||||
#UseRealtimePriority = no
|
||||
|
||||
# The number of audio files for which MOC will cache tags. When this limit
|
||||
# is reached, file tags are discarded on a least recently used basis (with
|
||||
# one second resolution). You can disable the cache by giving it a size of
|
||||
# zero. Note that if you decrease the cache size below the number of items
|
||||
# currently in the cache, the number will not decrease immediately (if at
|
||||
# all).
|
||||
#TagsCacheSize = 256
|
||||
|
||||
# Number items in the playlist.
|
||||
#PlaylistNumbering = yes
|
||||
|
||||
# Main window layouts can be configured. You can change the position and
|
||||
# size of the menus (directory and playlist). You have three layouts and
|
||||
# can switch between then using the 'l' key (standard mapping). By default,
|
||||
# only two layouts are configured.
|
||||
#
|
||||
# The format is as follows:
|
||||
#
|
||||
# - Each layout is described as a list of menu entries.
|
||||
# - Each menu entry is of the form:
|
||||
#
|
||||
# menu(position_x, position_y, width, height)
|
||||
#
|
||||
# where 'menu' is either 'directory' or 'playlist'.
|
||||
# - The parameters define position and size of the menu. They can
|
||||
# be absolute numbers (like 10) or a percentage of the screen size
|
||||
# (like 45%).
|
||||
# - 'width' and 'height' can have also value of 'FILL' which means
|
||||
# fill the screen from the menu's position to the border.
|
||||
# - Menus may overlap.
|
||||
#
|
||||
# You must describe at least one menu (default is to fill the whole window).
|
||||
# There must be at least one layout (Layout1) defined; others can be empty.
|
||||
#
|
||||
# Example: Layout1 = playlist(50%,50%,50%,50%)
|
||||
# Layout2 = ""
|
||||
# Layout3 = ""
|
||||
#
|
||||
# Just one layout, the directory will occupy the whole
|
||||
# screen, the playlist will have 1/4 of the screen size
|
||||
# and be positioned at lower right corner. (Note that
|
||||
# because the playlist will be hidden by the directory
|
||||
# you will have to use the TAB key to make the playlist
|
||||
# visible.)
|
||||
#
|
||||
# Example: Layout1 = playlist(0,0,100%,10):directory(0,10,100%,FILL)
|
||||
#
|
||||
# The screen is split into two parts: playlist at the top
|
||||
# and the directory menu at the bottom. Playlist will
|
||||
# occupy 10 lines and the directory menu the rest.
|
||||
#
|
||||
#Layout1 = directory(0,0,50%,100%):playlist(50%,0,FILL,100%)
|
||||
#Layout2 = directory(0,0,100%,100%):playlist(0,0,100%,100%)
|
||||
#Layout3 = ""
|
||||
|
||||
# When the song changes, should the menu be scrolled so that the currently
|
||||
# played file is visible?
|
||||
#FollowPlayedFile = yes
|
||||
|
||||
# What to do if the interface was started and the server is already playing
|
||||
# something from the playlist? If CanStartInPlaylist is set to 'yes', the
|
||||
# interface will switch to the playlist. When set to 'no' it will start
|
||||
# from the last directory.
|
||||
#CanStartInPlaylist = yes
|
||||
|
||||
# Executing external commands (1 - 10) invoked with key commands (F1 - F10
|
||||
# by default).
|
||||
#
|
||||
# Some arguments are substituted before executing:
|
||||
#
|
||||
# %f - file path
|
||||
# %i - title made from tags
|
||||
# %S - start block mark (in seconds)
|
||||
# %E - end block mark (in seconds)
|
||||
#
|
||||
# Data from tags can also be substituted:
|
||||
#
|
||||
# %t - title
|
||||
# %a - album
|
||||
# %r - artist
|
||||
# %n - track
|
||||
# %m - time of the file (in seconds)
|
||||
#
|
||||
# The parameters above apply to the currently selected file. If you change
|
||||
# them to capital letters, they are taken from the file currently playing.
|
||||
#
|
||||
# Programs are run using execv(), not a shell, so you can't do things like
|
||||
# redirecting the output to a file. The command string is split using blank
|
||||
# characters as separators; the first element is the command to be executed
|
||||
# and the rest are its parameters, so if you use "echo Playing: %I" we run
|
||||
# program 'echo' (from $PATH) with 2 parameters: the string 'Playing:' and
|
||||
# the title of the file currently playing. Even if the title contains
|
||||
# spaces, it's still one parameter and it's safe if it contains `rm -rf /`.
|
||||
#
|
||||
# Examples: ExecCommand1 = "cp %f /mnt/usb_drive"
|
||||
# ExecCommand2 = "/home/joe/now_playing %I"
|
||||
#
|
||||
#ExecCommand1 =
|
||||
#ExecCommand2 =
|
||||
#ExecCommand3 =
|
||||
#ExecCommand4 =
|
||||
#ExecCommand5 =
|
||||
#ExecCommand6 =
|
||||
#ExecCommand7 =
|
||||
#ExecCommand8 =
|
||||
#ExecCommand9 =
|
||||
#ExecCommand10 =
|
||||
|
||||
# Display the cursor in the line with the selected file. Some braille
|
||||
# readers (the Handy Tech modular series ZMU 737, for example) use the
|
||||
# cursor to focus and can make use of it to present the file line even
|
||||
# when other fields are changing.
|
||||
#UseCursorSelection = no
|
||||
|
||||
# Set the terminal title when running under xterm.
|
||||
#SetXtermTitle = yes
|
||||
|
||||
# Set the terminal title when running under screen(1). If MOC can detect
|
||||
# that it is running under screen(1), then it will set an appropriate
|
||||
# title (see description of ScreenTerms above). However, if multiple
|
||||
# levels of screen management are involved, detection might fail and this
|
||||
# could cause a screen upset. In that situation you can use this option
|
||||
# to force screen titles off.
|
||||
#SetScreenTitle = yes
|
||||
|
||||
# Display full paths instead of just file names in the playlist.
|
||||
#PlaylistFullPaths = yes
|
||||
|
||||
# The following setting describes how block markers are displayed in
|
||||
# the play time progress bar. Its value is a string of exactly three
|
||||
# characters. The first character is displayed in a position which
|
||||
# corresponds to the time marked as the start of a block and the last
|
||||
# character to the time marked as the end of the block. The middle
|
||||
# character is displayed instead if both the start and the end of the block
|
||||
# would fall in the same position (within the resolution of the interface).
|
||||
# You can turn off the displaying of these block marker positions by using
|
||||
# three space characters.
|
||||
#BlockDecorators = "`\"'"
|
||||
|
||||
# How long (in seconds) to leave a message displayed on the screen.
|
||||
# Setting this to a high value allows you to scroll through the messages
|
||||
# using the 'hide_message' key. Setting it to zero means you'll have to
|
||||
# be quick to see any message at all. Any new messages will be queued up
|
||||
# and displayed after the current message's linger time expires.
|
||||
#MessageLingerTime = 3
|
||||
|
||||
# Does MOC display a prefix on delayed messages indicating
|
||||
# the number of queued messages still to be displayed?
|
||||
#PrefixQueuedMessages = yes
|
||||
|
||||
# String to append to the queued message count if any
|
||||
# error messages are still waiting to be displayed.
|
||||
#ErrorMessagesQueued = "!"
|
||||
|
||||
# Self-describing ModPlug options (with 'yes' or 'no' values).
|
||||
#ModPlug_Oversampling = yes
|
||||
#ModPlug_NoiseReduction = yes
|
||||
#ModPlug_Reverb = no
|
||||
#ModPlug_MegaBass = no
|
||||
#ModPlug_Surround = no
|
||||
|
||||
# ModPlug resampling mode.
|
||||
# Valid values are:
|
||||
#
|
||||
# FIR - 8 tap fir filter (extremely high quality)
|
||||
# SPLINE - Cubic spline interpolation (high quality)
|
||||
# LINEAR - Linear interpolation (fast, good quality)
|
||||
# NEAREST - No interpolation (very fast, extremely bad sound quality)
|
||||
#
|
||||
#ModPlug_ResamplingMode = FIR
|
||||
|
||||
# Other self-describing ModPlug audio characteristic options.
|
||||
# (Note that the 32 bit sample size seems to be buggy.)
|
||||
#ModPlug_Channels = 2 # 1 or 2 channels
|
||||
#ModPlug_Bits = 16 # 8, 16 or 32 bits
|
||||
#ModPlug_Frequency = 44100 # 11025, 22050, 44100 or 48000 Hz
|
||||
#ModPlug_ReverbDepth = 0 # 0 (quiet) to 100 (loud)
|
||||
#ModPlug_ReverbDelay = 0 # Delay in ms (usually 40-200ms)
|
||||
#ModPlug_BassAmount = 0 # 0 (quiet) to 100 (loud).
|
||||
#ModPlug_BassRange = 10 # Cutoff in Hz (10-100).
|
||||
#ModPlug_SurroundDepth = 0 # Surround level 0(quiet)-100(heavy).
|
||||
#ModPlug_SurroundDelay = 0 # Surround delay in ms, usually 5-40ms.
|
||||
#ModPlug_LoopCount = 0 # 0 (never), n (times) or -1 (forever)
|
||||
|
||||
# Self-describing TiMidity audio characteristic options.
|
||||
#TiMidity_Rate = 44100 # Between 8000 and 48000
|
||||
#TiMidity_Bits = 16 # 8 or 16
|
||||
#TiMidity_Channels = 2 # 1 or 2
|
||||
#TiMidity_Volume = 100 # 0 to 800
|
||||
|
||||
# You can setup a TiMidity-Config-File here.
|
||||
# Leave it unset to use library defaults (/etc/timidity.cfg mostly).
|
||||
# Setting it to 'yes' also uses the library defaults.
|
||||
# Set it to 'no' if you don't have any configuration file.
|
||||
# Otherwise set it to the name of a specific file.
|
||||
#TiMidity_Config =
|
||||
|
||||
# Self-describing SidPlay2 audio characteristic options.
|
||||
#SidPlay2_DefaultSongLength = 180 # If not in database (in seconds)
|
||||
#SidPlay2_MinimumSongLength = 0 # Play at least n (in seconds)
|
||||
#SidPlay2_Frequency = 44100 # 4000 to 48000
|
||||
#SidPlay2_Bits = 16 # 8 or 16
|
||||
#SidPlay2_Optimisation = 0 # 0 (worst quality) to 2 (best quality)
|
||||
|
||||
# Set path to a HVSC-compatible database (if not set, database is disabled).
|
||||
#SidPlay2_Database =
|
||||
|
||||
# SidPlay2 playback Mode:
|
||||
#
|
||||
# "M": Mono (best for many SIDs)
|
||||
# "S": Stereo
|
||||
# "L"/"R": Left / Right
|
||||
#
|
||||
#SidPlay2_PlayMode = "M"
|
||||
|
||||
# Use start-song information from SID ('yes') or start at first song
|
||||
# ('no'). Songs before the start-song won't be played. (Note that this
|
||||
# option previously took the values 1 and 0; these are now deprecated
|
||||
# in favour of 'yes' and 'no'.)
|
||||
#SidPlay2_StartAtStart = yes
|
||||
|
||||
# Play sub-tunes. (Note that this option previously took the values 1
|
||||
# and 0; these are now deprecated in favour of 'yes' and 'no'.)
|
||||
#SidPlay2_PlaySubTunes = yes
|
||||
|
||||
# Run the OnSongChange command when a new song starts playing.
|
||||
# Specify the full path (i.e. no leading '~') of an executable to run.
|
||||
# Arguments will be passed, and you can use the following escapes:
|
||||
#
|
||||
# %a artist
|
||||
# %r album
|
||||
# %f filename
|
||||
# %t title
|
||||
# %n track
|
||||
# %d file duration in XX:YY form
|
||||
# %D file duration, number of seconds
|
||||
#
|
||||
# No pipes/redirects can be used directly, but writing a shell script
|
||||
# can do the job.
|
||||
#
|
||||
# Example: OnSongChange = "/home/jack/.moc/myscript %a %r"
|
||||
#
|
||||
#OnSongChange =
|
||||
|
||||
# If RepeatSongChange is 'yes' then MOC will execute the command every time
|
||||
# a song starts playing regardless of whether or not it is just repeating.
|
||||
# Otherwise the command will only be executed when a different song is
|
||||
# started.
|
||||
#RepeatSongChange = no
|
||||
|
||||
# Run the OnStop command (full path, no arguments) when MOC changes state
|
||||
# to stopped (i.e., when user stopped playing or changes a song).
|
||||
#OnStop = "/home/jack/.moc/myscript_on_stop"
|
||||
|
||||
# This option determines which song to play after finishing all the songs
|
||||
# in the queue. Setting this to 'yes' causes MOC to play the song which
|
||||
# follows the song being played before queue playing started. If set to
|
||||
# 'no', MOC will play the song following the last song in the queue if it
|
||||
# is in the playlist. The default is 'yes' because this is the way other
|
||||
# players usually behave. (Note that this option previously took the
|
||||
# values 1 and 0; these are now deprecated in favour of 'yes' and 'no'.)
|
||||
#QueueNextSongReturn = yes
|
188
moc/.moc/keymap
Executable file
188
moc/.moc/keymap
Executable file
@ -0,0 +1,188 @@
|
||||
# This is the example keymap file for MOC. You can define your own key
|
||||
# bindings for MOC commands by creating your own keymap file and setting
|
||||
# the 'Keymap' option in ~/.moc/config.
|
||||
#
|
||||
# The format of this file is:
|
||||
#
|
||||
# - Lines beginning with # are comments.
|
||||
# - Blank lines are ignored.
|
||||
# - Every other line is expected to be in one of the formats:
|
||||
#
|
||||
# COMMAND = [KEY ...]
|
||||
# COMMAND += KEY ...
|
||||
#
|
||||
# The KEY can be:
|
||||
#
|
||||
# - Just a char, like i, L, ", *
|
||||
# - CTRL-KEY sequence: ^k (CTRL-k), ^4
|
||||
# - ALT-KEY (meta) sequence: M-j (ALT-j), M-/
|
||||
# - Special keys: DOWN, UP
|
||||
# LEFT, RIGHT
|
||||
# HOME, END
|
||||
# BACKSPACE
|
||||
# INS, DEL
|
||||
# ENTER
|
||||
# PAGE_UP, PAGE_DOWN
|
||||
# SPACE, TAB
|
||||
# KEYPAD_CENTER
|
||||
# ESCAPE
|
||||
# F1 - F12
|
||||
#
|
||||
# Note that the use of a digit as a KEY is deprecated.
|
||||
#
|
||||
# Maximum number of KEYs for one COMMAND is 5.
|
||||
#
|
||||
# Omitting the KEY for a COMMAND will unbind all its default keys. They
|
||||
# will also be automatically unbound when you bind new KEYs to it. Individual
|
||||
# default KEYs will be automatically unbound when they are explicitly bound
|
||||
# to some other COMMAND.
|
||||
#
|
||||
# Using the '+=' form will cause the KEYs to be appended to any existing
|
||||
# (default or explicit) bindings for the COMMAND. Appending an existing
|
||||
# default binding for the same COMMAND will cause MOC to think of that KEY
|
||||
# as then being explicitly bound.
|
||||
#
|
||||
# Only one binding for any given COMMAND can appear in the keymap file. One
|
||||
# exception to this is that if the default keys for a COMMAND are explicitly
|
||||
# unbound then a subsequent binding may appear for it. A second exception
|
||||
# is that multiple appending bindings may appear.
|
||||
#
|
||||
# Meta-key detection is sensitive to the ESCDELAY environment variable (see
|
||||
# the manpage for ncurses(3)). In its absence, MOC resets the default
|
||||
# delay to 25ms. If you need to emulate meta-key sequences using the ESC
|
||||
# key, then you may need to set the value of ESCDELAY back to its ncurses
|
||||
# default of 1000ms (but doing so will make the response to the ESC key
|
||||
# sluggish).
|
||||
#
|
||||
# If MOC's keypresses are being filtered through some other program (in a
|
||||
# GUI environment, for example) which also does meta-key detection, then
|
||||
# MOC is at the mercy of the timings with which that program presents them.
|
||||
#
|
||||
# Default key configuration for MOC (and a list of all available commands):
|
||||
|
||||
# MOC control keys:
|
||||
quit_client = q
|
||||
quit = Q
|
||||
|
||||
# Menu and interface control keys:
|
||||
go = ENTER l
|
||||
menu_down = DOWN j
|
||||
menu_up = UP k
|
||||
menu_page_down = PAGE_DOWN ^d d
|
||||
menu_page_up = PAGE_UP ^p ^u u
|
||||
menu_first_item = HOME g
|
||||
menu_last_item = END G
|
||||
search_menu = /
|
||||
toggle_read_tags = f
|
||||
toggle_show_time = ^t
|
||||
toggle_show_format = ^f
|
||||
toggle_menu = TAB
|
||||
#toggle_layout = L
|
||||
#toggle_hidden_files = H
|
||||
next_search = ^g ^n
|
||||
#show_lyrics = L
|
||||
theme_menu = T
|
||||
help = ?
|
||||
refresh = ^r
|
||||
reload = r
|
||||
|
||||
# Audio playing and positioning keys:
|
||||
seek_forward = RIGHT
|
||||
seek_backward = LEFT
|
||||
seek_forward_fast = ]
|
||||
seek_backward_fast = [
|
||||
pause = p SPACE
|
||||
stop = s
|
||||
next = n L ^l
|
||||
previous = b H ^h
|
||||
toggle_shuffle = S
|
||||
toggle_repeat = R
|
||||
toggle_auto_next = X
|
||||
#toggle_mixer = x
|
||||
go_url = o
|
||||
|
||||
# Volume control keys:
|
||||
volume_down_1 = <
|
||||
volume_up_1 = >
|
||||
volume_down_5 = ,
|
||||
volume_up_5 = .
|
||||
volume_10 = M-1
|
||||
volume_20 = M-2
|
||||
volume_30 = M-3
|
||||
volume_40 = M-4
|
||||
volume_50 = M-5
|
||||
volume_60 = M-6
|
||||
volume_70 = M-7
|
||||
volume_80 = M-8
|
||||
volume_90 = M-9
|
||||
|
||||
# Directory navigation keys: defaults are Shift-number
|
||||
# (i.e., 'shift 1' -> '!' -> 'Fastdir1').
|
||||
go_to_a_directory = i
|
||||
go_to_music_directory = M-m
|
||||
go_to_fast_dir1 = M-a
|
||||
go_to_fast_dir2 = M-l
|
||||
go_to_fast_dir3 = M-p
|
||||
go_to_fast_dir4 = M-d
|
||||
go_to_fast_dir5 = M-c
|
||||
go_to_fast_dir6 = ^
|
||||
go_to_fast_dir7 = &
|
||||
go_to_fast_dir8 = *
|
||||
go_to_fast_dir9 = (
|
||||
go_to_fast_dir10 = )
|
||||
#go_to_playing_file = G
|
||||
go_up = h
|
||||
|
||||
# Playlist specific keys:
|
||||
add_file = a
|
||||
add_directory = A
|
||||
#plist_add_stream = u
|
||||
delete_from_playlist = x
|
||||
playlist_full_paths = P
|
||||
plist_move_up = K
|
||||
plist_move_down = J
|
||||
save_playlist = V
|
||||
remove_dead_entries = Y
|
||||
clear_playlist = C
|
||||
|
||||
# Queue manipulation keys:
|
||||
enqueue_file = z
|
||||
clear_queue = Z
|
||||
|
||||
# User interaction control:
|
||||
history_up = UP
|
||||
history_down = DOWN
|
||||
delete_to_start = ^u
|
||||
delete_to_end = ^k
|
||||
cancel = ^x ESCAPE
|
||||
hide_message = M
|
||||
|
||||
# Softmixer specific keys:
|
||||
toggle_softmixer = w
|
||||
#toggle_make_mono = J
|
||||
|
||||
# Equalizer specific keys:
|
||||
toggle_equalizer = E
|
||||
equalizer_refresh = e
|
||||
#equalizer_prev = K
|
||||
#equalizer_next = k
|
||||
|
||||
# External commands:
|
||||
mark_start = '
|
||||
mark_end = "
|
||||
exec_command1 = F1
|
||||
exec_command2 = F2
|
||||
exec_command3 = F3
|
||||
exec_command4 = F4
|
||||
exec_command5 = F5
|
||||
exec_command6 = F6
|
||||
exec_command7 = F7
|
||||
exec_command8 = F8
|
||||
exec_command9 = F9
|
||||
exec_command10 = F10
|
||||
|
||||
# The following commands are available but not assigned to any keys by
|
||||
# default:
|
||||
#
|
||||
# toggle_percent Switch on/off play progress bar time percentage
|
||||
#
|
1
moc/.moc/last_directory
Normal file
1
moc/.moc/last_directory
Normal file
@ -0,0 +1 @@
|
||||
/home/alrayyes/dotfiles
|
1
moc/.moc/pid
Normal file
1
moc/.moc/pid
Normal file
@ -0,0 +1 @@
|
||||
8360
|
36
moc/.moc/themes/solarized
Normal file
36
moc/.moc/themes/solarized
Normal file
@ -0,0 +1,36 @@
|
||||
# mocp-theme-solarized by Vitaŭt Bajaryn
|
||||
# MOC theme for use with a solarized-dark terminal color scheme
|
||||
# based on green theme by Jacek Lehmann
|
||||
|
||||
background = default default
|
||||
frame = black default
|
||||
window_title = green default
|
||||
directory = default default
|
||||
selected_directory = yellow default
|
||||
playlist = blue default
|
||||
selected_playlist = default default bold
|
||||
file = default default
|
||||
selected_file = cyan default
|
||||
marked_file = default default bold
|
||||
marked_selected_file = cyan default bold
|
||||
info = cyan default
|
||||
status = cyan default
|
||||
title = green default
|
||||
state = magenta default
|
||||
current_time = blue default
|
||||
time_left = cyan default
|
||||
total_time = cyan default
|
||||
time_total_frames = cyan default bold
|
||||
sound_parameters = cyan default
|
||||
legend = default default
|
||||
disabled = default default
|
||||
enabled = default default bold
|
||||
empty_mixer_bar = green default
|
||||
filled_mixer_bar = black green
|
||||
empty_time_bar = green default
|
||||
filled_time_bar = black green
|
||||
entry = yellow default
|
||||
entry_title = red default
|
||||
error = red default
|
||||
message = yellow default
|
||||
plist_time = magenta default bold
|
41
newsbeuter/.newsbeuter/config
Normal file
41
newsbeuter/.newsbeuter/config
Normal file
@ -0,0 +1,41 @@
|
||||
# -- feeds ---------------------------------------------------------------------
|
||||
|
||||
auto-reload yes
|
||||
reload-time 15
|
||||
reload-threads 2
|
||||
max-downloads 4
|
||||
player mplayer
|
||||
refresh-on-startup yes
|
||||
show-read-feeds no
|
||||
|
||||
# Solarized color scheme
|
||||
color background default default
|
||||
color listnormal default default
|
||||
color listfocus black yellow
|
||||
color info default black
|
||||
color article default default
|
||||
|
||||
# -- navigation ----------------------------------------------------------------
|
||||
|
||||
goto-next-feed no
|
||||
browser qutebrowser
|
||||
|
||||
bind-key j down feedlist
|
||||
bind-key k up feedlist
|
||||
bind-key j next articlelist
|
||||
bind-key k prev articlelist
|
||||
bind-key J next-feed articlelist
|
||||
bind-key K prev-feed articlelist
|
||||
bind-key j down article
|
||||
bind-key k up article
|
||||
|
||||
# highlights
|
||||
highlight article "^(Title):.*$" blue default
|
||||
highlight article "https?://[^ ]+" red default
|
||||
highlight article "\\[image\\ [0-9]+\\]" green default
|
||||
|
||||
# -- misc ----------------------------------------------------------------------
|
||||
|
||||
unbind-key C feedlist
|
||||
confirm-exit no
|
||||
cleanup-on-quit yes
|
1
newsbeuter/.newsbeuter/urls
Normal file
1
newsbeuter/.newsbeuter/urls
Normal file
@ -0,0 +1 @@
|
||||
https://news.ycombinator.com/rss
|
13
polybar/.config/polybar/bin/isactive-bluetooth/README.md
Normal file
13
polybar/.config/polybar/bin/isactive-bluetooth/README.md
Normal file
@ -0,0 +1,13 @@
|
||||
# Script: isactive-bluetooth
|
||||
|
||||
A script that shows if bluetooth is on or off.
|
||||
|
||||
|
||||
## Module
|
||||
|
||||
```ini
|
||||
[module/isactive-bluetooth]
|
||||
type = custom/script
|
||||
exec = ~/polybar-scripts/isactive-bluetooth.sh
|
||||
interval = 10
|
||||
```
|
@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ "$(systemctl is-active bluetooth.service)" = "active" ]; then
|
||||
echo ""
|
||||
else
|
||||
echo ""
|
||||
fi
|
25
polybar/.config/polybar/bin/player-mpris-tail/README.md
Normal file
25
polybar/.config/polybar/bin/player-mpris-tail/README.md
Normal file
@ -0,0 +1,25 @@
|
||||
# Script: player-mpris-tail
|
||||
|
||||
This script displays the current track and the play-pause status without polling. Information is obtained by listening to MPRIS events, so it is updated instantaneously on change.
|
||||
|
||||
![player-mpris-tail](screenshots/1.png)
|
||||
|
||||
![player-mpris-tail](screenshots/2.png)
|
||||
|
||||
|
||||
## Dependencies
|
||||
|
||||
* [playerctl](https://github.com/acrisci/playerctl)
|
||||
|
||||
|
||||
## Module
|
||||
|
||||
```ini
|
||||
[module/player-mpris-tail]
|
||||
type = custom/script
|
||||
exec = ~/polybar-scripts/player-mpris-tail.py
|
||||
tail = true
|
||||
click-left = ~/polybar-scripts/player-ctrl.sh previous
|
||||
click-right = ~/polybar-scripts/player-ctrl.sh next
|
||||
click-middle = ~/polybar-scripts/player-ctrl.sh play-pause
|
||||
```
|
40
polybar/.config/polybar/bin/player-mpris-tail/player-ctrl.sh
Executable file
40
polybar/.config/polybar/bin/player-mpris-tail/player-ctrl.sh
Executable file
@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
function listPlayers {
|
||||
echo "$(dbus-send --session --dest=org.freedesktop.DBus \
|
||||
--type=method_call --print-reply /org/freedesktop/DBus \
|
||||
org.freedesktop.DBus.ListNames | grep org.mpris.MediaPlayer2 |
|
||||
awk -F\" '{print $2}' | cut -d '.' -f4- )"
|
||||
}
|
||||
|
||||
function getPlayerStatus {
|
||||
playerctl --player="$1" status
|
||||
}
|
||||
|
||||
function getActivePlayer {
|
||||
players=($(listPlayers))
|
||||
for player in ${players[@]}; do
|
||||
if [ "$(getPlayerStatus "${player}")" == "Playing" ]; then
|
||||
playing=$player
|
||||
fi
|
||||
done
|
||||
for player in ${players[@]}; do
|
||||
if [ "$(getPlayerStatus "${player}")" == "Paused" ]; then
|
||||
paused=$player
|
||||
fi
|
||||
done
|
||||
if [ -n "$playing" ]; then
|
||||
echo "$playing"
|
||||
elif [ -n "$paused" ]; then
|
||||
echo "$paused"
|
||||
else
|
||||
# Return last (newest?) player
|
||||
echo ${players[@]: -1}
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "$1" == "--get-active" ]; then
|
||||
getActivePlayer
|
||||
else
|
||||
exec playerctl --player="$(getActivePlayer)" "$@"
|
||||
fi
|
115
polybar/.config/polybar/bin/player-mpris-tail/player-mpris-tail.py
Executable file
115
polybar/.config/polybar/bin/player-mpris-tail/player-mpris-tail.py
Executable file
@ -0,0 +1,115 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import time
|
||||
import sys
|
||||
import subprocess
|
||||
|
||||
import gi
|
||||
gi.require_version('Playerctl', '1.0')
|
||||
from gi.repository import Playerctl, GLib
|
||||
|
||||
MUSIC_ICON = ''
|
||||
PAUSE_ICON = ''
|
||||
PLAYER_CLOSED_ICON = ''
|
||||
|
||||
def listPlayers():
|
||||
return [
|
||||
playername.split('"')[1].split('.')[-1]
|
||||
for playername
|
||||
in subprocess.getoutput(
|
||||
'dbus-send --session --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames | grep org.mpris.MediaPlayer2'
|
||||
).split("\n")
|
||||
]
|
||||
|
||||
def getPlayerStatus(playername):
|
||||
return subprocess.getoutput(
|
||||
'playerctl --player="%s" status' % playername
|
||||
)
|
||||
|
||||
def getActivePlayer():
|
||||
players = [ { 'name': player, 'status': getPlayerStatus(player) } for player in listPlayers() ]
|
||||
playing = [ player['name'] for player in players if player['status'] == 'Playing' ]
|
||||
paused = [ player['name'] for player in players if player['status'] == 'Paused' ]
|
||||
if len(playing):
|
||||
return playing[-1]
|
||||
if len(paused):
|
||||
return paused[-1]
|
||||
if len(players):
|
||||
return players[-1]['name']
|
||||
|
||||
class PlayerStatus:
|
||||
def __init__(self):
|
||||
self._player = None
|
||||
self._player_class = None
|
||||
self._player_name = None
|
||||
self._icon = PAUSE_ICON
|
||||
|
||||
self._last_artist = None
|
||||
self._last_title = None
|
||||
|
||||
self._last_status = ''
|
||||
|
||||
def show(self):
|
||||
self._init_player()
|
||||
|
||||
# Wait for events
|
||||
main = GLib.MainLoop()
|
||||
main.run()
|
||||
|
||||
def _init_player(self):
|
||||
while True:
|
||||
try:
|
||||
self._player_name = getActivePlayer()
|
||||
self._player_class = Playerctl.Player()
|
||||
if self._player_name:
|
||||
self._player = self._player_class.new(self._player_name)
|
||||
else:
|
||||
self._player = self._player_class.new()
|
||||
self._player.on('metadata', self._on_metadata)
|
||||
self._player.on('play', self._on_play)
|
||||
self._player.on('pause', self._on_pause)
|
||||
self._player.on('exit', self._on_exit)
|
||||
status = self._player.get_property('status')
|
||||
if status == 'Playing':
|
||||
self._icon = MUSIC_ICON
|
||||
elif status == 'Paused':
|
||||
self._icon = PAUSE_ICON
|
||||
self._on_metadata(self._player, self._player.get_property('metadata'))
|
||||
break
|
||||
|
||||
except:
|
||||
self._print_flush(PLAYER_CLOSED_ICON)
|
||||
time.sleep(2)
|
||||
|
||||
def _on_metadata(self, player, e):
|
||||
if 'xesam:artist' in e.keys() and 'xesam:title' in e.keys():
|
||||
self._artist = e['xesam:artist'][0]
|
||||
self._title = e['xesam:title']
|
||||
self._print_song()
|
||||
|
||||
def _on_play(self, player):
|
||||
self._icon = MUSIC_ICON
|
||||
self._print_song()
|
||||
|
||||
def _on_pause(self, player):
|
||||
self._icon = PAUSE_ICON
|
||||
self._print_song()
|
||||
|
||||
def _on_exit(self, player):
|
||||
self._init_player()
|
||||
|
||||
def _print_song(self):
|
||||
self._print_flush(
|
||||
'{} {} - {}'.format(self._icon, self._artist, self._title))
|
||||
|
||||
"""
|
||||
Seems to assure print() actually prints when no terminal is connected
|
||||
"""
|
||||
|
||||
def _print_flush(self, status, **kwargs):
|
||||
if status != self._last_status:
|
||||
print(status, **kwargs)
|
||||
sys.stdout.flush()
|
||||
self._last_status = status
|
||||
|
||||
PlayerStatus().show()
|
BIN
polybar/.config/polybar/bin/player-mpris-tail/screenshots/1.png
Normal file
BIN
polybar/.config/polybar/bin/player-mpris-tail/screenshots/1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.0 KiB |
BIN
polybar/.config/polybar/bin/player-mpris-tail/screenshots/2.png
Normal file
BIN
polybar/.config/polybar/bin/player-mpris-tail/screenshots/2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.0 KiB |
24
polybar/.config/polybar/bin/updates-arch-combined/README.md
Normal file
24
polybar/.config/polybar/bin/updates-arch-combined/README.md
Normal file
@ -0,0 +1,24 @@
|
||||
# Script: updates-arch-combined
|
||||
|
||||
A script that shows if there are updates for Arch Linux and AUR updates.
|
||||
|
||||
See also [updates-arch](../updates-arch) and [updates-arch-aur](../updates-arch-aur).
|
||||
|
||||
![updates-arch-combined](screenshots/1.png)
|
||||
|
||||
|
||||
## Dependencies
|
||||
|
||||
The possibilities depend on your AUR helper. Not all helpers can report the pending updates.
|
||||
|
||||
At the moment `trizen` and `cower` are documented. Take a look at the script to see how it works.
|
||||
|
||||
|
||||
## Module
|
||||
|
||||
```ini
|
||||
[module/updates-arch-combined]
|
||||
type = custom/script
|
||||
exec = ~/polybar-scripts/updates-arch-combined.sh
|
||||
interval = 600
|
||||
```
|
Binary file not shown.
After Width: | Height: | Size: 3.0 KiB |
@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
updates_arch=$(checkupdates | wc -l)
|
||||
|
||||
# if ! updates_aur=$(cower -u 2> /dev/null | wc -l); then
|
||||
if ! updates_aur=$(trizen -Su --aur --quiet | wc -l); then
|
||||
updates_aur=0
|
||||
fi
|
||||
|
||||
updates=$(("$updates_arch" + "$updates_aur"))
|
||||
|
||||
if [ "$updates" -gt 0 ]; then
|
||||
echo " $updates"
|
||||
else
|
||||
echo ""
|
||||
fi
|
564
polybar/.config/polybar/config
Normal file
564
polybar/.config/polybar/config
Normal file
@ -0,0 +1,564 @@
|
||||
;=====================================================
|
||||
;
|
||||
; To learn more about how to configure Polybar
|
||||
; go to https://github.com/jaagr/polybar
|
||||
;
|
||||
; The README contains alot of information
|
||||
;
|
||||
;=====================================================
|
||||
|
||||
[colors]
|
||||
;background = ${xrdb:color0:#222}
|
||||
background = #222
|
||||
background-alt = #444
|
||||
;foreground = ${xrdb:color7:#222}
|
||||
foreground = #dfdfdf
|
||||
foreground-alt = #555
|
||||
primary = #ffb52a
|
||||
secondary = #e60053
|
||||
alert = #bd2c40
|
||||
|
||||
[bar/laptop-bottom]
|
||||
bottom = true
|
||||
monitor = ${env:MONITOR:e-DP1}
|
||||
width = 100%
|
||||
|
||||
height = 27
|
||||
radius = 6.0
|
||||
fixed-center = false
|
||||
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
line-size = 3
|
||||
line-color = #f00
|
||||
|
||||
border-size = 0
|
||||
border-color = #00000000
|
||||
|
||||
padding-left = 0
|
||||
padding-right = 2
|
||||
|
||||
module-margin-left = 1
|
||||
module-margin-right = 2
|
||||
|
||||
font-0 = DejaVuSansMono Nerd Font Mono:pixelsize=14
|
||||
font-1 = "Wuncon Siji:pixelsize=14;1"
|
||||
|
||||
modules-center = mpd player-mpris-tail
|
||||
|
||||
[bar/laptop-top]
|
||||
monitor = ${env:MONITOR:e-DP1}
|
||||
width = 100%
|
||||
height = 27
|
||||
;offset-x = 1%
|
||||
;offset-y = 1%
|
||||
radius = 6.0
|
||||
fixed-center = false
|
||||
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
line-size = 3
|
||||
line-color = #f00
|
||||
|
||||
border-size = 0
|
||||
border-color = #00000000
|
||||
|
||||
padding-left = 0
|
||||
padding-right = 2
|
||||
|
||||
module-margin-left = 1
|
||||
module-margin-right = 2
|
||||
|
||||
font-0 = DejaVuSansMono Nerd Font Mono:pixelsize=14
|
||||
font-1 = "Wuncon Siji:pixelsize=14;1"
|
||||
|
||||
modules-left = i3
|
||||
modules-center = tun0 tun1 wlan bluetooth
|
||||
modules-right = github updates-arch-combined battery xbacklight filesystem volume-laptop memory cpu temperature date
|
||||
|
||||
tray-position = right
|
||||
tray-padding = 0
|
||||
;tray-transparent = true
|
||||
;tray-background = #0063ff
|
||||
|
||||
;wm-restack = bspwm
|
||||
;wm-restack = i3
|
||||
|
||||
;override-redirect = true
|
||||
|
||||
;scroll-up = bspwm-desknext
|
||||
;scroll-down = bspwm-deskprev
|
||||
|
||||
;scroll-up = i3wm-wsnext
|
||||
;scroll-down = i3wm-wsprev
|
||||
|
||||
scroll-up = i3wm-wsnext
|
||||
scroll-down = i3wm-wsprev
|
||||
|
||||
[bar/monitor1]
|
||||
monitor = ${env:MONITOR:DP-1}
|
||||
width = 100%
|
||||
height = 27
|
||||
;offset-x = 1%
|
||||
;offset-y = 1%
|
||||
radius = 6.0
|
||||
fixed-center = false
|
||||
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
line-size = 3
|
||||
line-color = #f00
|
||||
|
||||
border-size = 0
|
||||
border-color = #00000000
|
||||
|
||||
padding-left = 0
|
||||
padding-right = 2
|
||||
|
||||
module-margin-left = 1
|
||||
module-margin-right = 2
|
||||
|
||||
font-0 = DejaVuSansMono Nerd Font Mono:pixelsize=10
|
||||
font-1 = "Wuncon Siji:pixelsize=10;1"
|
||||
|
||||
modules-left = i3
|
||||
modules-center = mpd player-mpris-tail
|
||||
modules-right = github updates-arch-combined bluetooth eth filesystem volume memory cpu temperature date
|
||||
|
||||
tray-position = right
|
||||
tray-padding = 0
|
||||
;tray-transparent = true
|
||||
;tray-background = #0063ff
|
||||
|
||||
;wm-restack = bspwm
|
||||
;wm-restack = i3
|
||||
|
||||
;override-redirect = true
|
||||
|
||||
;scroll-up = bspwm-desknext
|
||||
;scroll-down = bspwm-deskprev
|
||||
|
||||
;scroll-up = i3wm-wsnext
|
||||
;scroll-down = i3wm-wsprev
|
||||
|
||||
scroll-up = i3wm-wsnext
|
||||
scroll-down = i3wm-wsprev
|
||||
|
||||
[module/xwindow]
|
||||
type = internal/xwindow
|
||||
label = %title:0:30:...%
|
||||
|
||||
[module/xkeyboard]
|
||||
type = internal/xkeyboard
|
||||
blacklist-0 = num lock
|
||||
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-prefix-underline = ${colors.secondary}
|
||||
|
||||
label-layout = %layout%
|
||||
label-layout-underline = ${colors.secondary}
|
||||
|
||||
label-indicator-padding = 2
|
||||
label-indicator-margin = 1
|
||||
label-indicator-background = ${colors.secondary}
|
||||
label-indicator-underline = ${colors.secondary}
|
||||
|
||||
[module/filesystem]
|
||||
type = internal/fs
|
||||
interval = 25
|
||||
|
||||
mount-0 = /
|
||||
mount-1 = /home
|
||||
|
||||
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
|
||||
label-unmounted = %mountpoint% not mounted
|
||||
label-unmounted-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/bspwm]
|
||||
type = internal/bspwm
|
||||
|
||||
label-focused = %index%
|
||||
label-focused-background = ${colors.background-alt}
|
||||
label-focused-underline= ${colors.primary}
|
||||
label-focused-padding = 2
|
||||
|
||||
label-occupied = %index%
|
||||
label-occupied-padding = 2
|
||||
|
||||
label-urgent = %index%!
|
||||
label-urgent-background = ${colors.alert}
|
||||
label-urgent-padding = 2
|
||||
|
||||
label-empty = %index%
|
||||
label-empty-foreground = ${colors.foreground-alt}
|
||||
label-empty-padding = 2
|
||||
|
||||
[module/i3]
|
||||
type = internal/i3
|
||||
format = <label-state> <label-mode>
|
||||
index-sort = true
|
||||
wrapping-scroll = false
|
||||
|
||||
; Only show workspaces on the same output as the bar
|
||||
;pin-workspaces = true
|
||||
|
||||
label-mode-padding = 2
|
||||
label-mode-foreground = #000
|
||||
label-mode-background = ${colors.primary}
|
||||
|
||||
; focused = Active workspace on focused monitor
|
||||
label-focused = %index%
|
||||
label-focused-background = ${module/bspwm.label-focused-background}
|
||||
label-focused-underline = ${module/bspwm.label-focused-underline}
|
||||
label-focused-padding = ${module/bspwm.label-focused-padding}
|
||||
|
||||
; unfocused = Inactive workspace on any monitor
|
||||
label-unfocused = %index%
|
||||
label-unfocused-padding = ${module/bspwm.label-occupied-padding}
|
||||
|
||||
; visible = Active workspace on unfocused monitor
|
||||
label-visible = %index%
|
||||
label-visible-background = ${self.label-focused-background}
|
||||
label-visible-underline = ${self.label-focused-underline}
|
||||
label-visible-padding = ${self.label-focused-padding}
|
||||
|
||||
; urgent = Workspace with urgency hint set
|
||||
label-urgent = %index%
|
||||
label-urgent-background = ${module/bspwm.label-urgent-background}
|
||||
label-urgent-padding = ${module/bspwm.label-urgent-padding}
|
||||
|
||||
[module/mpd]
|
||||
type = internal/mpd
|
||||
format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next>
|
||||
|
||||
icon-prev =
|
||||
icon-stop =
|
||||
icon-play =
|
||||
icon-pause =
|
||||
icon-next =
|
||||
|
||||
label-song-maxlen = 25
|
||||
label-song-ellipsis = true
|
||||
|
||||
[module/xbacklight]
|
||||
type = internal/xbacklight
|
||||
|
||||
format = <label> <bar>
|
||||
label =
|
||||
|
||||
bar-width = 10
|
||||
bar-indicator = |
|
||||
bar-indicator-foreground = #ff
|
||||
bar-indicator-font = 2
|
||||
bar-fill = ─
|
||||
bar-fill-font = 2
|
||||
bar-fill-foreground = #9f78e1
|
||||
bar-empty = ─
|
||||
bar-empty-font = 2
|
||||
bar-empty-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/backlight-acpi]
|
||||
inherit = module/xbacklight
|
||||
type = internal/backlight
|
||||
card = intel_backlight
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
interval = 2
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-underline = #f90000
|
||||
label = %percentage:2%%
|
||||
format = <label> <ramp-coreload>
|
||||
|
||||
ramp-coreload-0 = ▁
|
||||
ramp-coreload-1 = ▂
|
||||
ramp-coreload-2 = ▃
|
||||
ramp-coreload-3 = ▄
|
||||
ramp-coreload-4 = ▅
|
||||
ramp-coreload-5 = ▆
|
||||
ramp-coreload-6 = ▇
|
||||
ramp-coreload-7 = █
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
interval = 2
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-underline = #4bffdc
|
||||
label = %percentage_used%%
|
||||
|
||||
ramp-used-0 = ▁
|
||||
ramp-used-1 = ▂
|
||||
ramp-used-2 = ▃
|
||||
ramp-used-3 = ▄
|
||||
ramp-used-4 = ▅
|
||||
ramp-used-5 = ▆
|
||||
ramp-used-6 = ▇
|
||||
ramp-used-7 = █
|
||||
|
||||
[module/wlan]
|
||||
type = internal/network
|
||||
interface = wlp4s0
|
||||
interval = 3.0
|
||||
|
||||
format-connected = <ramp-signal> <label-connected>
|
||||
format-packetloss = <animation-packetloss> <label-connected>
|
||||
format-disconnected =
|
||||
format-connected-underline = #55aa55
|
||||
format-connected-prefix = " "
|
||||
|
||||
label-connected = "%essid% %signal% %downspeed:8% %upspeed:8%"
|
||||
|
||||
ramp-signal-0 = ▁
|
||||
ramp-signal-1 = ▂
|
||||
ramp-signal-2 = ▃
|
||||
ramp-signal-3 = ▄
|
||||
ramp-signal-4 = ▅
|
||||
ramp-signal-5 = ▆
|
||||
ramp-signal-6 = ▇
|
||||
ramp-signal-7 = █
|
||||
|
||||
animation-packetloss-0 = ⚠
|
||||
animation-packetloss-1 = 📶
|
||||
; Framerate in milliseconds
|
||||
animation-packetloss-framerate = 500
|
||||
|
||||
[module/tun0]
|
||||
type = internal/network
|
||||
interface = tun0
|
||||
interval = 3.0
|
||||
|
||||
format-connected-underline = #55aa55
|
||||
format-connected-prefix = "嬨 "
|
||||
label-connected = "%ifname%"
|
||||
|
||||
[module/tun1]
|
||||
type = internal/network
|
||||
interface = tun1
|
||||
interval = 3.0
|
||||
|
||||
format-connected-underline = #55aa55
|
||||
format-connected-prefix = "嬨 "
|
||||
label-connected = "%ifname%"
|
||||
|
||||
[module/eth]
|
||||
type = internal/network
|
||||
interface = eno1
|
||||
interval = 3.0
|
||||
|
||||
format-connected-underline = #55aa55
|
||||
format-connected-prefix = " "
|
||||
format-connected-prefix-foreground = ${colors.foreground-alt}
|
||||
label-connected = "%local_ip% %downspeed% %upspeed%"
|
||||
|
||||
format-disconnected =
|
||||
;format-disconnected = <label-disconnected>
|
||||
;format-disconnected-underline = ${self.format-connected-underline}
|
||||
;label-disconnected = %ifname% disconnected
|
||||
;label-disconnected-foreground = ${colors.foreground-alt}
|
||||
;
|
||||
[module/enp0s31f6]
|
||||
type = internal/network
|
||||
interface = enp0s31f6
|
||||
interval = 3.0
|
||||
|
||||
format-connected-underline = #55aa55
|
||||
format-connected-prefix = " "
|
||||
format-connected-prefix-foreground = ${colors.foreground-alt}
|
||||
label-connected = "%local_ip% %downspeed% %upspeed%"
|
||||
|
||||
format-disconnected =
|
||||
;format-disconnected = <label-disconnected>
|
||||
;format-disconnected-underline = ${self.format-connected-underline}
|
||||
;label-disconnected = %ifname% disconnected
|
||||
;label-disconnected-foreground = ${colors.foreground-alt}
|
||||
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
interval = 5
|
||||
|
||||
date =
|
||||
date-alt = " %d-%m-%Y"
|
||||
|
||||
time = %H:%M
|
||||
time-alt = %H:%M:%S
|
||||
|
||||
format-prefix =
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-underline = #0a6cf5
|
||||
|
||||
label = %date% %time%
|
||||
|
||||
[module/volume]
|
||||
type = internal/volume
|
||||
|
||||
format-volume = <label-volume> <bar-volume>
|
||||
label-volume = 蓼
|
||||
label-volume-foreground = ${root.foreground}
|
||||
|
||||
format-muted-prefix = " "
|
||||
format-muted-foreground = ${colors.foreground-alt}
|
||||
label-muted = sound muted
|
||||
|
||||
bar-volume-width = 10
|
||||
bar-volume-foreground-0 = #55aa55
|
||||
bar-volume-foreground-1 = #55aa55
|
||||
bar-volume-foreground-2 = #55aa55
|
||||
bar-volume-foreground-3 = #55aa55
|
||||
bar-volume-foreground-4 = #55aa55
|
||||
bar-volume-foreground-5 = #f5a70a
|
||||
bar-volume-foreground-6 = #ff5555
|
||||
bar-volume-gradient = false
|
||||
bar-volume-indicator = |
|
||||
bar-volume-indicator-font = 2
|
||||
bar-volume-fill = ─
|
||||
bar-volume-fill-font = 2
|
||||
bar-volume-empty = ─
|
||||
bar-volume-empty-font = 2
|
||||
bar-volume-empty-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/volume-laptop]
|
||||
type = internal/volume
|
||||
|
||||
format-volume = <label-volume> <bar-volume>
|
||||
label-volume = 蓼
|
||||
label-volume-foreground = ${root.foreground}
|
||||
|
||||
format-muted-prefix = " "
|
||||
format-muted-foreground = ${colors.foreground-alt}
|
||||
label-muted = sound muted
|
||||
|
||||
bar-volume-width = 10
|
||||
bar-volume-foreground-0 = #55aa55
|
||||
bar-volume-foreground-1 = #55aa55
|
||||
bar-volume-foreground-2 = #55aa55
|
||||
bar-volume-foreground-3 = #55aa55
|
||||
bar-volume-foreground-4 = #55aa55
|
||||
bar-volume-foreground-5 = #f5a70a
|
||||
bar-volume-foreground-6 = #ff5555
|
||||
bar-volume-gradient = false
|
||||
bar-volume-indicator = |
|
||||
bar-volume-indicator-font = 2
|
||||
bar-volume-fill = ─
|
||||
bar-volume-fill-font = 2
|
||||
bar-volume-empty = ─
|
||||
bar-volume-empty-font = 2
|
||||
bar-volume-empty-foreground = ${colors.foreground-alt}
|
||||
|
||||
|
||||
[module/battery]
|
||||
type = internal/battery
|
||||
battery = BAT0
|
||||
adapter = ADP1
|
||||
full-at = 98
|
||||
|
||||
format-charging = <animation-charging> <label-charging>
|
||||
format-charging-underline = #ffb52a
|
||||
|
||||
format-discharging = <ramp-capacity> <label-discharging>
|
||||
format-discharging-underline = ${self.format-charging-underline}
|
||||
|
||||
format-full-prefix = " "
|
||||
format-full-prefix-foreground = ${colors.foreground-alt}
|
||||
format-full-underline = ${self.format-charging-underline}
|
||||
|
||||
ramp-capacity-0 =
|
||||
ramp-capacity-1 =
|
||||
ramp-capacity-2 =
|
||||
ramp-capacity-foreground = ${colors.foreground-alt}
|
||||
|
||||
animation-charging-0 =
|
||||
animation-charging-1 =
|
||||
animation-charging-2 =
|
||||
animation-charging-foreground = ${colors.foreground-alt}
|
||||
animation-charging-framerate = 750
|
||||
|
||||
[module/temperature]
|
||||
type = internal/temperature
|
||||
thermal-zone = 0
|
||||
warn-temperature = 60
|
||||
|
||||
format = <ramp> <label>
|
||||
format-underline = #f50a4d
|
||||
format-warn = <ramp> <label-warn>
|
||||
format-warn-underline = ${self.format-underline}
|
||||
|
||||
label = %temperature%
|
||||
label-warn = %temperature%
|
||||
label-warn-foreground = ${colors.secondary}
|
||||
|
||||
ramp-0 =
|
||||
ramp-1 =
|
||||
ramp-2 =
|
||||
ramp-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/powermenu]
|
||||
type = custom/menu
|
||||
|
||||
expand-right = true
|
||||
|
||||
format-spacing = 1
|
||||
|
||||
label-open =
|
||||
label-open-foreground = ${colors.secondary}
|
||||
label-close = cancel
|
||||
label-close-foreground = ${colors.secondary}
|
||||
label-separator = |
|
||||
label-separator-foreground = ${colors.foreground-alt}
|
||||
|
||||
menu-0-0 = reboot
|
||||
menu-0-0-exec = menu-open-1
|
||||
menu-0-1 = power off
|
||||
menu-0-1-exec = menu-open-2
|
||||
|
||||
menu-1-0 = cancel
|
||||
menu-1-0-exec = menu-open-0
|
||||
menu-1-1 = reboot
|
||||
menu-1-1-exec = sudo reboot
|
||||
|
||||
menu-2-0 = power off
|
||||
menu-2-0-exec = sudo poweroff
|
||||
menu-2-1 = cancel
|
||||
menu-2-1-exec = menu-open-0
|
||||
|
||||
[module/github]
|
||||
type = internal/github
|
||||
token = ${file:~/.github-access-token}
|
||||
format = <label>
|
||||
label = " %notifications%"
|
||||
|
||||
[module/updates-arch-combined]
|
||||
type = custom/script
|
||||
exec = /bin/sh ~/.config/polybar/bin/updates-arch-combined/updates-arch-combined.sh
|
||||
interval = 600
|
||||
|
||||
[module/player-mpris-tail]
|
||||
type = custom/script
|
||||
exec = python ~/.config/polybar/bin/player-mpris-tail/player-mpris-tail.py
|
||||
tail = true
|
||||
click-left = /bin/sh ~/.config/polybar/bin/player-mpris-tail/player-ctrl.sh previous
|
||||
click-right = /bin/sh ~/.config/polybar/bin/player-mpris-tail/player-ctrl.sh next
|
||||
click-middle = /bin/sh ~/.config/polybar/bin/player-mpris-tail/player-ctrl.sh play-pause
|
||||
|
||||
[module/bluetooth]
|
||||
type = custom/script
|
||||
exec = /bin/sh ~/.config/polybar/bin/isactive-bluetooth/isactive-bluetooth.sh
|
||||
|
||||
[settings]
|
||||
screenchange-reload = true
|
||||
;compositing-background = xor
|
||||
;compositing-background = screen
|
||||
;compositing-foreground = source
|
||||
;compositing-border = over
|
||||
|
||||
[global/wm]
|
||||
margin-top = 5
|
||||
margin-bottom = 5
|
||||
|
||||
; vim:ft=dosini
|
12
polybar/.config/polybar/launch-desktop.sh
Executable file
12
polybar/.config/polybar/launch-desktop.sh
Executable file
@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
# 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
|
||||
|
||||
# Launch bar1 and bar2
|
||||
polybar monitor1 &
|
||||
|
||||
echo "Bars launched..."
|
13
polybar/.config/polybar/launch-laptop.sh
Executable file
13
polybar/.config/polybar/launch-laptop.sh
Executable file
@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
# 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
|
||||
|
||||
# Launch bar1 and bar2
|
||||
polybar laptop-top &
|
||||
polybar laptop-bottom &
|
||||
|
||||
echo "Bars launched..."
|
142
rofi/.config/rofi/config.rasi
Normal file
142
rofi/.config/rofi/config.rasi
Normal file
@ -0,0 +1,142 @@
|
||||
// vim:ft=css
|
||||
|
||||
configuration {
|
||||
modi: "drun";
|
||||
/* width: 50;*/
|
||||
/* lines: 15;*/
|
||||
/* columns: 1;*/
|
||||
font: "DejaVuSansMonoForPowerline Nerd Font 18";
|
||||
/* bw: 1;*/
|
||||
/* location: 0;*/
|
||||
/* padding: 5;*/
|
||||
/* yoffset: 0;*/
|
||||
/* xoffset: 0;*/
|
||||
/* fixed-num-lines: true;*/
|
||||
show-icons: true;
|
||||
/* terminal: "rofi-sensible-terminal";*/
|
||||
/* ssh-client: "ssh";*/
|
||||
/* ssh-command: "{terminal} -e {ssh-client} {host}";*/
|
||||
/* run-command: "{cmd}";*/
|
||||
/* run-list-command: "";*/
|
||||
/* run-shell-command: "{terminal} -e {cmd}";*/
|
||||
/* window-command: "xkill -id {window}";*/
|
||||
/* window-match-fields: "all";*/
|
||||
/* drun-icon-theme: ;*/
|
||||
/* drun-match-fields: "name,generic,exec,categories";*/
|
||||
/* disable-history: false;*/
|
||||
/* sort: false;*/
|
||||
/* levenshtein-sort: false;*/
|
||||
/* case-sensitive: false;*/
|
||||
/* cycle: true;*/
|
||||
/* sidebar-mode: false;*/
|
||||
/* eh: 1;*/
|
||||
/* auto-select: false;*/
|
||||
/* parse-hosts: false;*/
|
||||
/* parse-known-hosts: true;*/
|
||||
/* combi-modi: "drun";*/
|
||||
/* matching: "normal";*/
|
||||
/* tokenize: true;*/
|
||||
/* m: "-5";*/
|
||||
/* line-margin: 2;*/
|
||||
/* line-padding: 1;*/
|
||||
/* filter: ;*/
|
||||
/* separator-style: "dash";*/
|
||||
/* hide-scrollbar: false;*/
|
||||
/* fullscreen: false;*/
|
||||
/* fake-transparency: false;*/
|
||||
/* dpi: -1;*/
|
||||
/* threads: 0;*/
|
||||
/* scrollbar-width: 8;*/
|
||||
/* scroll-method: 0;*/
|
||||
/* fake-background: "screenshot";*/
|
||||
/* window-format: "{w} {i}{c} {t}";*/
|
||||
/* click-to-exit: true;*/
|
||||
/* show-match: true;*/
|
||||
/* theme: 'solarized';*/
|
||||
/* color-normal: ;*/
|
||||
/* color-urgent: ;*/
|
||||
/* color-active: ;*/
|
||||
/* color-window: ;*/
|
||||
/* max-history-size: 25;*/
|
||||
/* combi-hide-mode-prefix: false;*/
|
||||
/* pid: "/run/user/1000/rofi.pid";*/
|
||||
/* display-window: ;*/
|
||||
/* display-windowcd: ;*/
|
||||
/* display-run: ;*/
|
||||
/* display-ssh: ;*/
|
||||
/* display-drun: ;*/
|
||||
/* display-combi: ;*/
|
||||
/* display-keys: ;*/
|
||||
/* kb-primary-paste: "Control+V,Shift+Insert";*/
|
||||
/* kb-secondary-paste: "Control+v,Insert";*/
|
||||
/* kb-clear-line: "Control+w";*/
|
||||
/* kb-move-front: "Control+a";*/
|
||||
/* kb-move-end: "Control+e";*/
|
||||
/* kb-move-word-back: "Alt+b";*/
|
||||
/* kb-move-word-forward: "Alt+f";*/
|
||||
/* kb-move-char-back: "Left,Control+b";*/
|
||||
/* kb-move-char-forward: "Right,Control+f";*/
|
||||
/* kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/
|
||||
/* kb-remove-word-forward: "Control+Alt+d";*/
|
||||
/* kb-remove-char-forward: "Delete,Control+d";*/
|
||||
/* kb-remove-char-back: "BackSpace,Control+h";*/
|
||||
/* kb-remove-to-eol: "Control+k";*/
|
||||
/* kb-remove-to-sol: "Control+u";*/
|
||||
/* kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/
|
||||
/* kb-accept-custom: "Control+Return";*/
|
||||
/* kb-accept-alt: "Shift+Return";*/
|
||||
/* kb-delete-entry: "Shift+Delete";*/
|
||||
/* kb-mode-next: "Shift+Right,Control+Tab";*/
|
||||
/* kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/
|
||||
/* kb-row-left: "Control+Page_Up";*/
|
||||
/* kb-row-right: "Control+Page_Down";*/
|
||||
/* kb-row-up: "Up,Control+p,ISO_Left_Tab";*/
|
||||
/* kb-row-down: "Down,Control+n";*/
|
||||
/* kb-row-tab: "Tab";*/
|
||||
/* kb-page-prev: "Page_Up";*/
|
||||
/* kb-page-next: "Page_Down";*/
|
||||
/* kb-row-first: "Home,KP_Home";*/
|
||||
/* kb-row-last: "End,KP_End";*/
|
||||
/* kb-row-select: "Control+space";*/
|
||||
/* kb-screenshot: "Alt+S";*/
|
||||
/* kb-toggle-case-sensitivity: "grave,dead_grave";*/
|
||||
/* kb-toggle-sort: "Alt+grave";*/
|
||||
/* kb-cancel: "Escape,Control+g,Control+bracketleft";*/
|
||||
/* kb-custom-1: "Alt+1";*/
|
||||
/* kb-custom-2: "Alt+2";*/
|
||||
/* kb-custom-3: "Alt+3";*/
|
||||
/* kb-custom-4: "Alt+4";*/
|
||||
/* kb-custom-5: "Alt+5";*/
|
||||
/* kb-custom-6: "Alt+6";*/
|
||||
/* kb-custom-7: "Alt+7";*/
|
||||
/* kb-custom-8: "Alt+8";*/
|
||||
/* kb-custom-9: "Alt+9";*/
|
||||
/* kb-custom-10: "Alt+0";*/
|
||||
/* kb-custom-11: "Alt+exclam";*/
|
||||
/* kb-custom-12: "Alt+at";*/
|
||||
/* kb-custom-13: "Alt+numbersign";*/
|
||||
/* kb-custom-14: "Alt+dollar";*/
|
||||
/* kb-custom-15: "Alt+percent";*/
|
||||
/* kb-custom-16: "Alt+dead_circumflex";*/
|
||||
/* kb-custom-17: "Alt+ampersand";*/
|
||||
/* kb-custom-18: "Alt+asterisk";*/
|
||||
/* kb-custom-19: "Alt+parenleft";*/
|
||||
/* kb-select-1: "Super+1";*/
|
||||
/* kb-select-2: "Super+2";*/
|
||||
/* kb-select-3: "Super+3";*/
|
||||
/* kb-select-4: "Super+4";*/
|
||||
/* kb-select-5: "Super+5";*/
|
||||
/* kb-select-6: "Super+6";*/
|
||||
/* kb-select-7: "Super+7";*/
|
||||
/* kb-select-8: "Super+8";*/
|
||||
/* kb-select-9: "Super+9";*/
|
||||
/* kb-select-10: "Super+0";*/
|
||||
/* ml-row-left: "ScrollLeft";*/
|
||||
/* ml-row-right: "ScrollRight";*/
|
||||
/* ml-row-up: "ScrollUp";*/
|
||||
/* ml-row-down: "ScrollDown";*/
|
||||
/* me-select-entry: "MousePrimary";*/
|
||||
/* me-accept-entry: "MouseDPrimary";*/
|
||||
/* me-accept-custom: "Control+MouseDPrimary";*/
|
||||
}
|
||||
@import "/usr/share/rofi/themes/Arc-Dark.rasi"
|
Loading…
Reference in New Issue
Block a user