15 changed files with 6865 additions and 0 deletions
@ -0,0 +1,581 @@ |
|||||||
|
# Dependencies: |
||||||
|
# i3 i3blocks i3lock dbus-x11 suckless-tools x11-xserver-utils feh terminator libnotify-bin dunst yad pcmanfm compton py3status python3-pkg-resources software-properties-common xserver-xorg-input-synaptics xsel osmo gawk qt5ct file-roller git clipit network-manager-gnome redshift screengrab micro gnome-themes-extra geany geany-plugins lxappearance |
||||||
|
|
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/01-variables: |
||||||
|
|
||||||
|
#------------------------------------------------ |
||||||
|
# |
||||||
|
# variable definitions |
||||||
|
# |
||||||
|
#------------------------------------------------ |
||||||
|
|
||||||
|
# what will be yout mod key? Use Mod4 for "window" key, Mod1 for "alt" |
||||||
|
set $mod Mod4 |
||||||
|
#set $mod Mod1 |
||||||
|
|
||||||
|
# helper scripts location |
||||||
|
|
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/10-workspaces: |
||||||
|
|
||||||
|
#------------------------------------------------ |
||||||
|
# |
||||||
|
# workspace settings |
||||||
|
# |
||||||
|
#------------------------------------------------ |
||||||
|
|
||||||
|
# workspaces |
||||||
|
set $workspace1 1: >_ |
||||||
|
set $workspace2 2: dev |
||||||
|
set $workspace3 3: www |
||||||
|
set $workspace4 4: files |
||||||
|
set $workspace5 5: e-mail |
||||||
|
set $workspace6 6: IM |
||||||
|
set $workspace7 7: video |
||||||
|
set $workspace8 8: workspace |
||||||
|
set $workspace9 9: workspace |
||||||
|
set $workspace10 10: Music |
||||||
|
set $workspace11 V: VM |
||||||
|
|
||||||
|
# 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 |
||||||
|
#bindsym $mod+Mod1+v workspace $workspace11 |
||||||
|
|
||||||
|
# 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 |
||||||
|
|
||||||
|
# next/prev workspace |
||||||
|
bindsym $mod+x workspace next |
||||||
|
bindsym $mod+Shift+x move container to workspace next |
||||||
|
bindsym $mod+z workspace prev |
||||||
|
bindsym $mod+Shift+z move container to workspace prev |
||||||
|
|
||||||
|
# moving workspace across monitors |
||||||
|
bindsym $mod+Control+Left move workspace to output left |
||||||
|
bindsym $mod+Control+Right move workspace to output right |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/11-outputs: |
||||||
|
|
||||||
|
#------------------------------------------------ |
||||||
|
# |
||||||
|
# video output management |
||||||
|
# |
||||||
|
#------------------------------------------------ |
||||||
|
|
||||||
|
# monitors - use "xrandr --listmonitors" to obtain your output names |
||||||
|
set $leftOutput eDP |
||||||
|
set $rightOutput HDMI-A-0 |
||||||
|
|
||||||
|
# setup monitors |
||||||
|
exec --no-startup-id xrandr --output $rightOutput --primary |
||||||
|
exec --no-startup-id xrandr --output $leftOutput --left-of $rightOutput |
||||||
|
|
||||||
|
mode "outputs" { |
||||||
|
# mod + shift + 1 to turn off left monitor, mod + 1 to turn it on |
||||||
|
bindsym $mod+Shift+1 exec xrandr --output $leftOutput --off; mode "default"; restart |
||||||
|
bindsym $mod+1 exec xrandr --output $leftOutput --auto --left-of $rightOutput;mode "default"; restart |
||||||
|
|
||||||
|
# mod + shift + 2 to turn off right monitor, mod + 2 to turn it on |
||||||
|
bindsym $mod+Shift+2 exec xrandr --output $rightOutput --off; mode "default", restart |
||||||
|
bindsym $mod+2 exec xrandr --output $rightOutput --auto --right-of $leftOutput; mode "default"; restart |
||||||
|
|
||||||
|
|
||||||
|
bindsym Return mode "default" |
||||||
|
bindsym Escape mode "default" |
||||||
|
} |
||||||
|
|
||||||
|
bindsym $mod+m mode "outputs" |
||||||
|
|
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/13-wallpaper: |
||||||
|
|
||||||
|
#------------------------------------------------ |
||||||
|
# |
||||||
|
# wallpaper settings |
||||||
|
# |
||||||
|
#------------------------------------------------ |
||||||
|
|
||||||
|
# wallpapers (second for multihead) |
||||||
|
set $wallpaper1 ~/.cofnig/i3/wallpaper.jpg |
||||||
|
|
||||||
|
# set wallpapers |
||||||
|
exec_always --no-startup-id sleep 2 && feh --bg-scale $wallpaper1 --bg-scale $wallpaper1 |
||||||
|
|
||||||
|
# apply xrandr settings |
||||||
|
exec_always --no-startup-id sleep 2 && xrandr --output $leftOutput --left-of $rightOutput |
||||||
|
|
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/20-keys-apps-core: |
||||||
|
|
||||||
|
#------------------------------------------------ |
||||||
|
# |
||||||
|
# application running bindings |
||||||
|
# |
||||||
|
#------------------------------------------------ |
||||||
|
|
||||||
|
# start a terminal |
||||||
|
#bindsym $mod+Return exec i3-sensible-terminal |
||||||
|
#bindsym $mod+Return exec terminator -p ratflow-terminator |
||||||
|
bindsym $mod+Return exec kitty |
||||||
|
|
||||||
|
# start dmenu (a program launcher) |
||||||
|
#bindsym $mod+d exec dmenu_run |
||||||
|
#bindsym Mod1+F2 exec dmenu_run |
||||||
|
|
||||||
|
#let's replace dmenu by custom launcher: |
||||||
|
bindsym $mod+d exec ulauncher |
||||||
|
bindsym Mod1+F2 exec dmenu_run |
||||||
|
|
||||||
|
# run app assigned to current workspace |
||||||
|
bindsym $mod+Shift+a exec $scriptsDir/autoapp |
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/20-keys-window-jumper: |
||||||
|
|
||||||
|
|
||||||
|
#bindsym Mod1+Tab exec "$scriptsDir/dmenu-i3-window-jumper &" |
||||||
|
bindsym $mod+Tab workspace back_and_forth |
||||||
|
|
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/20-keys-wm: |
||||||
|
|
||||||
|
#------------------------------------------------ |
||||||
|
# |
||||||
|
# window management bindings |
||||||
|
# |
||||||
|
#------------------------------------------------ |
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position |
||||||
|
floating_modifier $mod |
||||||
|
|
||||||
|
# kill focused window |
||||||
|
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 |
||||||
|
|
||||||
|
# nested split in horizontal orientation |
||||||
|
bindsym $mod+h split h |
||||||
|
|
||||||
|
# nested split in vertical orientation |
||||||
|
bindsym $mod+v split v |
||||||
|
|
||||||
|
# enter fullscreen mode for the focused container |
||||||
|
bindsym $mod+f fullscreen |
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split) |
||||||
|
bindsym $mod+s layout stacking |
||||||
|
bindsym $mod+w layout tabbed |
||||||
|
bindsym $mod+e layout toggle split |
||||||
|
|
||||||
|
# toggle tiling / floating |
||||||
|
bindsym $mod+Shift+space floating toggle |
||||||
|
bindsym --whole-window $mod+button2 floating toggle |
||||||
|
|
||||||
|
# change focus between tiling / floating windows |
||||||
|
bindsym $mod+space focus mode_toggle |
||||||
|
|
||||||
|
# focus the parent container |
||||||
|
bindsym $mod+a focus parent |
||||||
|
|
||||||
|
|
||||||
|
# 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" |
||||||
|
|
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/21-always-float: |
||||||
|
|
||||||
|
bindsym $mod+Shift+f exec $scriptsDir/always-float |
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/21-keys-apps: |
||||||
|
|
||||||
|
#------------------------------------------------ |
||||||
|
# |
||||||
|
# application running bindings |
||||||
|
# |
||||||
|
#------------------------------------------------ |
||||||
|
|
||||||
|
# calendar |
||||||
|
bindsym $mod+c exec osmo -c |
||||||
|
|
||||||
|
# screenshots (full, region, active) |
||||||
|
bindsym Print exec screengrab --fullscreen |
||||||
|
bindsym Shift+Print exec screengrab --region |
||||||
|
bindsym Control+Print exec screengrab --active |
||||||
|
|
||||||
|
# redshift |
||||||
|
bindsym $mod+Control+Next exec $scriptsDir/redshift-adjust -100 |
||||||
|
bindsym $mod+Control+Prior exec $scriptsDir/redshift-adjust +100 |
||||||
|
bindsym $mod+Control+l exec redshift -x |
||||||
|
|
||||||
|
# translation of selected text |
||||||
|
bindsym $mod+t exec bash -c "$scriptsDir/trans-xsel en:pl &" |
||||||
|
bindsym $mod+Shift+t exec bash -c "$scriptsDir/trans-xsel pl:en &" |
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/21-keys-media: |
||||||
|
|
||||||
|
#------------------------------------------------ |
||||||
|
# |
||||||
|
# multimedia keys and audio/video players bindings |
||||||
|
# |
||||||
|
#------------------------------------------------ |
||||||
|
|
||||||
|
# Pulse Audio controls (debian), the VOLCTL_SINK_NUM selects sink starting from the most recent one connected |
||||||
|
bindsym XF86AudioRaiseVolume exec --no-startup-id (VOLCTL_SINK_NUM=1 $scriptsDir/volctl up) |
||||||
|
bindsym XF86AudioLowerVolume exec --no-startup-id (VOLCTL_SINK_NUM=1 $scriptsDir/volctl down) |
||||||
|
bindsym XF86AudioMute exec --no-startup-id (VOLCTL_SINK_NUM=1 $scriptsDir/volctl toggle) |
||||||
|
|
||||||
|
bindsym Shift+XF86AudioRaiseVolume exec --no-startup-id (VOLCTL_SINK_NUM=2 $scriptsDir/volctl up) |
||||||
|
bindsym Shift+XF86AudioLowerVolume exec --no-startup-id (VOLCTL_SINK_NUM=2 $scriptsDir/volctl down) |
||||||
|
bindsym Shift+XF86AudioMute exec --no-startup-id (VOLCTL_SINK_NUM=2 $scriptsDir/volctl toggle) |
||||||
|
|
||||||
|
# Sreen brightness controls |
||||||
|
#bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness |
||||||
|
#bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness |
||||||
|
bindsym XF86MonBrightnessUp exec $scriptsDir/backlight up |
||||||
|
bindsym XF86MonBrightnessDown exec $scriptsDir/backlight down |
||||||
|
|
||||||
|
# Media player controls |
||||||
|
#bindsym XF86AudioPlay exec playerctl play |
||||||
|
#bindsym XF86AudioPause exec playerctl pause |
||||||
|
#bindsym XF86AudioNext exec playerctl next |
||||||
|
#bindsym XF86AudioPrev exec playerctl previous |
||||||
|
|
||||||
|
# Clementine player controls |
||||||
|
bindsym XF86AudioPlay exec clementine --play-pause |
||||||
|
bindsym XF86AudioPause exec clementine --pause |
||||||
|
bindsym XF86AudioNext exec clementine --next |
||||||
|
bindsym XF86AudioPrev exec clementine --previous |
||||||
|
# bindsym Shift+XF86AudioRaiseVolume exec clementine --volume-up |
||||||
|
# bindsym Shift+XF86AudioLowerVolume exec clementine --volume-down |
||||||
|
|
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/21-keys-projector: |
||||||
|
|
||||||
|
#------------------------------------------------ |
||||||
|
# |
||||||
|
# media player bindings |
||||||
|
# |
||||||
|
#------------------------------------------------ |
||||||
|
|
||||||
|
# Pulse Audio controls (debian) |
||||||
|
bindsym $mod+p exec /home/chodak/.screenlayout/projector.sh |
||||||
|
bindsym Shift+$mod+p exec /home/chodak/.screenlayout/edp.sh |
||||||
|
|
||||||
|
|
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/21-keys-session: |
||||||
|
|
||||||
|
#------------------------------------------------ |
||||||
|
# |
||||||
|
# session/power management |
||||||
|
# |
||||||
|
#------------------------------------------------ |
||||||
|
|
||||||
|
# regenerate and reload i3 configuration file |
||||||
|
bindsym $mod+Shift+c exec rfreload |
||||||
|
|
||||||
|
# suspend |
||||||
|
bindsym $mod+Escape exec systemctl suspend |
||||||
|
|
||||||
|
|
||||||
|
# regenerate i3 configuration file and restart i3 (preserves your layout/session, can be used to upgrade i3) |
||||||
|
bindsym $mod+Shift+r exec rfreload --restart |
||||||
|
|
||||||
|
# exit i3 (logs you out of your X session) |
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" |
||||||
|
|
||||||
|
# use i3exit script from https://github.com/giacomos/i3wm-config/blob/master/i3exit |
||||||
|
set $exitScript ~/.config/i3/scripts/i3exit |
||||||
|
|
||||||
|
mode "session_management" { |
||||||
|
bindsym l exec --no-startup-id $exitScript lock, mode "default" |
||||||
|
bindsym e exec --no-startup-id $exitScript logout, mode "default" |
||||||
|
bindsym s exec --no-startup-id $exitScript suspend, mode "default" |
||||||
|
bindsym h exec --no-startup-id $exitScript hibernate, mode "default" |
||||||
|
bindsym r exec --no-startup-id $exitScript reboot, mode "default" |
||||||
|
bindsym Shift+s exec --no-startup-id $exitScript shutdown, mode "default" |
||||||
|
|
||||||
|
# back to normal: Enter or Escape |
||||||
|
bindsym Return mode "default" |
||||||
|
bindsym Escape mode "default" |
||||||
|
} |
||||||
|
bindsym $mod+Pause mode "session_management" |
||||||
|
|
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/21-new-workspace: |
||||||
|
|
||||||
|
# create temporary workspace |
||||||
|
bindsym $mod+n exec name=$(yad --entry --splash --title "Create workspace" --text "Name of temporary workspace:") && i3-msg workspace $name |
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/30-theme: |
||||||
|
|
||||||
|
#------------------------------------------------ |
||||||
|
# |
||||||
|
# appearance |
||||||
|
# |
||||||
|
#------------------------------------------------ |
||||||
|
|
||||||
|
# font |
||||||
|
set $fontName Source Sans Pro Semi-Bold |
||||||
|
set $fontSize 10 |
||||||
|
set $barFontSize 9 |
||||||
|
|
||||||
|
# colors |
||||||
|
set $clFocusedActiveBorder #252525 |
||||||
|
set $clFocusedActiveBackground #252525 |
||||||
|
set $clFocusedActiveText #D9D9D9 |
||||||
|
set $clFocusedInactiveBorder #101010 |
||||||
|
set $clFocusedinactiveBackground #101010 |
||||||
|
set $clFocusedInactiveText #606060 |
||||||
|
set $clUnfocusedBorder #101010 |
||||||
|
set $clUnfocusedBackground #000000 |
||||||
|
set $clUnfocusedText #606060 |
||||||
|
set $clUrgentBorder #F05000 |
||||||
|
set $clUrgentBackground #F05000 |
||||||
|
set $clUrgentText #F0F0F0 |
||||||
|
set $clIndicator #101010 |
||||||
|
|
||||||
|
|
||||||
|
# --------- fonts --------- |
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font |
||||||
|
# is used in the bar {} block below. |
||||||
|
|
||||||
|
font pango: $fontName $fontSize |
||||||
|
#font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 |
||||||
|
|
||||||
|
# This font is widely installed, provides lots of unicode glyphs, right-to-left |
||||||
|
# text rendering and scalability on retina/hidpi displays (thanks to pango). |
||||||
|
#font pango:DejaVu Sans Mono 8 |
||||||
|
|
||||||
|
|
||||||
|
# --------- windows --------- |
||||||
|
|
||||||
|
# Widow Colours |
||||||
|
# border background text indicator |
||||||
|
client.focused $clFocusedActiveBorder $clFocusedActiveBackground $clFocusedActiveText $clIndicator |
||||||
|
client.focused_inactive $clFocusedInactiveBorder $clFocusedinactiveBackground $clFocusedInactiveText $clIndicator |
||||||
|
client.unfocused $clUnfocusedBorder $clUnfocusedBackground $clUnfocusedText $clIndicator |
||||||
|
client.urgent $clUrgentBorder $clUrgentBackground $clUrgentText $clIndicator |
||||||
|
|
||||||
|
|
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/31-bar: |
||||||
|
|
||||||
|
|
||||||
|
#------------------------------------------------ |
||||||
|
# |
||||||
|
# i3 bar |
||||||
|
# |
||||||
|
#------------------------------------------------ |
||||||
|
|
||||||
|
# Start i3bar to display a workspace bar (plus the system information i3status |
||||||
|
# finds out, if available) |
||||||
|
bar { |
||||||
|
position top |
||||||
|
i3bar_command i3bar -t |
||||||
|
status_command py3status -c ~/.config/i3/py3status.conf |
||||||
|
font xft:$fontName, FontAwesome $barFontsize |
||||||
|
tray_padding 0 |
||||||
|
|
||||||
|
#Use tray_output primary/none/<output name> to define where the tray should be (multiple tray_output can be used) |
||||||
|
#Remember to set any of your displays to primary (i.e. using xrandr) |
||||||
|
#tray_output primary |
||||||
|
|
||||||
|
colors { |
||||||
|
separator $clFocusedActiveText |
||||||
|
#background $clUnfocusedBackground |
||||||
|
background #00000070 |
||||||
|
#statusline #FFFFFF99 |
||||||
|
statusline $clFocusedActiveText |
||||||
|
|
||||||
|
# border background text |
||||||
|
focused_workspace $clFocusedActiveBackground $clFocusedActiveBackground $clFocusedActiveText |
||||||
|
active_workspace $clFocusedActiveBorder $clFocusedActiveBackground $clFocusedActiveText |
||||||
|
inactive_workspace $clUnfocusedBackground $clUnfocusedBackground $clUnfocusedText |
||||||
|
urgent_workspace $clUrgentBorder $clUrgentBackground $clUrgentText |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/40-assignments: |
||||||
|
|
||||||
|
#------------------------------------------------ |
||||||
|
# |
||||||
|
# assign applications to workspaces |
||||||
|
# |
||||||
|
#------------------------------------------------ |
||||||
|
|
||||||
|
assign [class="Qtcreator"] $workspace2 |
||||||
|
assign [class="Eclipse"] $workspace2 |
||||||
|
#assign [class="Kate"] $workspace2 |
||||||
|
#assign [class="Gedit"] $workspace2 |
||||||
|
#assign [class="Emacs"] $workspace2 |
||||||
|
|
||||||
|
assign [class="Iceweasel"] $workspace3 |
||||||
|
assign [class="Firefox"] $workspace3 |
||||||
|
assign [class="Chromium-browser"] $workspace3 |
||||||
|
assign [class="Chrome"] $workspace3 |
||||||
|
|
||||||
|
assign [class="Pcmanfm"] $workspace4 |
||||||
|
assign [class="Dolphin"] $workspace4 |
||||||
|
assign [class="Nautilus"] $workspace4 |
||||||
|
assign [class="Thunar"] $workspace4 |
||||||
|
|
||||||
|
assign [class="Thunderbird"] $workspace5 |
||||||
|
|
||||||
|
assign [class="Kadu"] $workspace6 |
||||||
|
assign [class="Skype"] $workspace6 |
||||||
|
assign [class="Pidgin"] $workspace6 |
||||||
|
assign [class="Kopete"] $workspace6 |
||||||
|
assign [class="Telegram"] $workspace6 |
||||||
|
|
||||||
|
#assign [class="Smplayer"] $workspace7 |
||||||
|
#assign [class="Smplayer2"] $workspace7 |
||||||
|
#assign [class="Mplayer"] $workspace7 |
||||||
|
#assign [class="Vlc"] $workspace7 |
||||||
|
#assign [class="dragonplayer"] $workspace7 |
||||||
|
assign [class="Kodi"] $workspace7 |
||||||
|
|
||||||
|
assign [class="Clementine"] $workspace10 |
||||||
|
assign [class="Rhythmbox"] $workspace10 |
||||||
|
assign [class="Spotify"] $workspace10 |
||||||
|
|
||||||
|
assign [class="VirtualBox"] $workspace11 |
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/50-floating: |
||||||
|
|
||||||
|
#------------------------------------------------ |
||||||
|
# |
||||||
|
# floating windows |
||||||
|
# |
||||||
|
#------------------------------------------------ |
||||||
|
|
||||||
|
|
||||||
|
for_window [class="screengrab"] floating enable |
||||||
|
for_window [class="osmo"] floating enable |
||||||
|
for_window [class="gsimplecal"] floating enable |
||||||
|
|
||||||
|
for_window [class="Osmo"] floating enable |
||||||
|
for_window [class="Skype"] floating enable |
||||||
|
for_window [class="Yad"] floating enable |
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/90-exec: |
||||||
|
|
||||||
|
#------------------------------------------------ |
||||||
|
# |
||||||
|
# autostart - login command execution |
||||||
|
# |
||||||
|
#------------------------------------------------ |
||||||
|
|
||||||
|
# ensure that notification daemon is running |
||||||
|
exec --no-startup-id dunst |
||||||
|
|
||||||
|
# run window composer (with 2ms per step while faiding) |
||||||
|
exec --no-startup-id compton -f -D 2 |
||||||
|
|
||||||
|
# enable touchpad with tapping and two-finger scroll |
||||||
|
exec --no-startup-id synclient TouchpadOff=0 |
||||||
|
exec --no-startup-id synclient TapButton1=1 |
||||||
|
exec --no-startup-id synclient VertTwoFingerScroll=1 |
||||||
|
exec --no-startup-id synclient VertHysteresis=30 |
||||||
|
exec --no-startup-id synclient HorizHysteresis=30 |
||||||
|
|
||||||
|
# tune down screen colors with redshift |
||||||
|
# exec --no-startup-id redshift -l 52.43:15.15 -m randr |
||||||
|
|
||||||
|
# run network manager |
||||||
|
exec --no-startup-id nm-applet |
||||||
|
|
||||||
|
# run clipboard manager |
||||||
|
#exec --no-startup-id bash -c "/usr/bin/clipit &" |
||||||
|
exec --no-startup-id parcellite |
||||||
|
|
||||||
|
# run bluetooth manager |
||||||
|
#exec blueman-applet |
||||||
|
|
||||||
|
# run tray icon with calendar |
||||||
|
|
||||||
|
# other autostart apps |
||||||
|
#exec terminator -p ratflow-terminator |
||||||
|
#exec pcmanfm |
||||||
|
#exec firefox |
||||||
|
#exec thunderbird |
||||||
|
|
||||||
|
|
||||||
|
################################################################# |
||||||
|
# /profiles/current/config.d/91-exec_always: |
||||||
|
|
||||||
|
#------------------------------------------------ |
||||||
|
# |
||||||
|
# autostart - (re)load command execution |
||||||
|
# |
||||||
|
#------------------------------------------------ |
||||||
|
|
||||||
|
exec_always --no-startup-id xset dpms 600 600 600 |
||||||
@ -0,0 +1,13 @@ |
|||||||
|
#!/bin/bash |
||||||
|
|
||||||
|
currentClass=$(xprop -id $(xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW | cut -f 2) WM_CLASS | awk '{print $NF}') |
||||||
|
|
||||||
|
# unquote |
||||||
|
currentClass=$(eval echo $currentClass) |
||||||
|
|
||||||
|
floatingDir="$HOME/.config/ratflow/profiles/current/config.d/floating.d" |
||||||
|
mkdir -p "$floatingDir" |
||||||
|
echo "for_window [class=\"${currentClass}\"] floating enable" > "$floatingDir/${currentClass}.float" |
||||||
|
|
||||||
|
i3-msg floating enabled |
||||||
|
rfreload |
||||||
@ -0,0 +1,32 @@ |
|||||||
|
#!/usr/bin/python3 |
||||||
|
|
||||||
|
import subprocess, json, os |
||||||
|
|
||||||
|
mapFile = open(os.environ['HOME'] + '/.config/ratflow/profiles/current/autoapp.conf', 'r'); |
||||||
|
|
||||||
|
map = json.loads(mapFile.read()); |
||||||
|
|
||||||
|
print(map) |
||||||
|
|
||||||
|
def getCurrentWorkspaceNum(): |
||||||
|
command = "i3-msg -t get_workspaces" |
||||||
|
proc = subprocess.Popen([command], stdout=subprocess.PIPE, shell=True) |
||||||
|
(out, err) = proc.communicate() |
||||||
|
jworkspaces = json.loads(out) |
||||||
|
|
||||||
|
print(jworkspaces) |
||||||
|
|
||||||
|
for workspace in jworkspaces: |
||||||
|
if workspace['focused'] == True: |
||||||
|
return workspace['num'] |
||||||
|
return False |
||||||
|
|
||||||
|
|
||||||
|
workspaceNum = str(getCurrentWorkspaceNum()) |
||||||
|
|
||||||
|
if workspaceNum in map: |
||||||
|
command = "i3-msg exec "+map[workspaceNum] |
||||||
|
print ("running command: " + command) |
||||||
|
proc = subprocess.Popen([command], stdout=subprocess.PIPE, shell=True) |
||||||
|
else: |
||||||
|
print("no application assigned to workspace " + workspaceNum) |
||||||
@ -0,0 +1,21 @@ |
|||||||
|
#!/bin/bash |
||||||
|
set -x |
||||||
|
|
||||||
|
if xbacklight -get; then |
||||||
|
if [[ "$1" == "up" ]]; then |
||||||
|
xbacklight -inc 20 |
||||||
|
else |
||||||
|
xbacklight -dec 20 |
||||||
|
fi |
||||||
|
else |
||||||
|
val=$(cat /sys/class/backlight/*/brightness | head -1) |
||||||
|
if [[ "$1" == "up" ]]; then |
||||||
|
val=$((val+20)) |
||||||
|
else |
||||||
|
val=$((val-20)) |
||||||
|
fi |
||||||
|
for bk in /sys/class/backlight/*; do |
||||||
|
echo $val > $bk/brightness |
||||||
|
done |
||||||
|
fi |
||||||
|
|
||||||
@ -0,0 +1,81 @@ |
|||||||
|
#!/bin/sh |
||||||
|
#description: dmenu-i3-window-jumper is a window selector for i3-wm |
||||||
|
#usage: dmenu-i3-window-jumper is best suited to be launched from a shortcut (tab) |
||||||
|
|
||||||
|
#example: dmenu-i3-window-jumper |
||||||
|
#a gui menu appears asking which windows jump to |
||||||
|
|
||||||
|
progname="$(expr "${0}" : '.*/\([^/]*\)')" |
||||||
|
|
||||||
|
#variables are impractical to save complex cmds because of shell expantion |
||||||
|
#therefore functions are required: http://mywiki.wooledge.org/BashFAQ/050 |
||||||
|
DMENU() { dmenu -p 'Jump to' -l 20 -i -fn Bahamas-10 \ |
||||||
|
-nb \#000000 -nf \#ffffff -sb \#c0c0c0 -sf \#000000; } |
||||||
|
#looks better on xft powered dmenu: |
||||||
|
#https://bugs.launchpad.net/ubuntu/+source/suckless-tools/+bug/1093745 |
||||||
|
|
||||||
|
_usage() { |
||||||
|
printf "%s\\n" "Usage: ${progname} [app|title]" |
||||||
|
printf "%s\\n" "Dmenu window selector for i3-wm." |
||||||
|
printf "%s\\n" |
||||||
|
printf "%s\\n" " -h, --help show this message and exit" |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
_die() { |
||||||
|
[ -n "${1}" ] && _die_msg="${1}" || exit 1 |
||||||
|
printf "%b%b\\n" "${_die_msg}" ", press <Enter> to exit" | DMENU |
||||||
|
exit 1 |
||||||
|
} |
||||||
|
|
||||||
|
_i3_get_app_tree() { |
||||||
|
i3-msg -t get_tree | \ |
||||||
|
egrep -o "(class\":\".[^\"]+\"|title\":\"[^\"]+)" | \ |
||||||
|
sed 's/"//g;s/class://g;s/title://g' | \ |
||||||
|
while read -r line; read -r line2; do \ |
||||||
|
printf "%s\\n" "═ ${line} :: ${line2}"; \ |
||||||
|
done | sed '/i3bar for/d' |
||||||
|
#alternative |
||||||
|
#i3-msg -t get_tree | python -mjson.tool | \ |
||||||
|
#sed -n -e 's/^ \{35\}[ ]\+\"name\": \"\(.*\)\", $/\1/p' | \ |
||||||
|
#sed '/^#[a-F0-9]\{6\}$/d' |
||||||
|
} |
||||||
|
|
||||||
|
if [ ! -t 0 ]; then |
||||||
|
#add input comming from pipe or file to $@ |
||||||
|
set -- "${@}" $(cat) |
||||||
|
fi |
||||||
|
|
||||||
|
for arg in "${@}"; do #parse options |
||||||
|
case "${arg}" in |
||||||
|
-h|--help) _usage && exit ;; |
||||||
|
esac |
||||||
|
done |
||||||
|
|
||||||
|
if [ -z "${1}" ]; then |
||||||
|
if ! command -v "dmenu" >/dev/null 2>&1; then |
||||||
|
printf "%s\\n" "${progname}: install 'dmenu' to run this program" >&2 |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
selected_entry="$(_i3_get_app_tree | DMENU)" |
||||||
|
else |
||||||
|
selected_entry="$(_i3_get_app_tree | grep -i "${@}" 2>/dev/null | head -1 )" |
||||||
|
fi |
||||||
|
|
||||||
|
if [ -z "${selected_entry}" ]; then |
||||||
|
_die |
||||||
|
else |
||||||
|
#escape some characters to prevent i3 to interpret them as a pattern |
||||||
|
# "(" and ")" replace them with "\(" and "\)" |
||||||
|
#title="$(printf "%s\\n" "${windows}" | sed 's/\([()]\)/\\\1/g')" |
||||||
|
title="$(printf "%s\\n" "${selected_entry}" | \ |
||||||
|
egrep -o "::.*" | sed 's/:: //g;s/\([()]\)/\\\1/g')" |
||||||
|
|
||||||
|
#focus window |
||||||
|
output_msg="$(i3-msg "[title=\"${title}\"] focus" 2>&1)" |
||||||
|
|
||||||
|
if printf "%s\\n" "${output_msg}" | tail -1 | \ |
||||||
|
grep "success" | grep "false" >/dev/null 2>&1; then |
||||||
|
app="${title}"; i3-msg "[class=\"${app}\"] focus" |
||||||
|
fi |
||||||
|
fi |
||||||
@ -0,0 +1,33 @@ |
|||||||
|
#!/bin/sh |
||||||
|
lock() { |
||||||
|
i3lock -n --color=000000 |
||||||
|
} |
||||||
|
|
||||||
|
case "$1" in |
||||||
|
lock) |
||||||
|
lock |
||||||
|
;; |
||||||
|
logout) |
||||||
|
i3-msg exit |
||||||
|
;; |
||||||
|
suspend) |
||||||
|
gksu pm-suspend |
||||||
|
;; |
||||||
|
hibernate) |
||||||
|
lock && dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Hibernate |
||||||
|
/sbin/reboot |
||||||
|
;; |
||||||
|
reboot) |
||||||
|
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart |
||||||
|
;; |
||||||
|
shutdown) |
||||||
|
#dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop |
||||||
|
/sbin/poweroff |
||||||
|
;; |
||||||
|
*) |
||||||
|
echo "Usage: $0 {lock|logout|suspend|hibernate|reboot|shutdown}" |
||||||
|
exit 2 |
||||||
|
esac |
||||||
|
|
||||||
|
exit 0 |
||||||
|
|
||||||
@ -0,0 +1,34 @@ |
|||||||
|
#!/bin/sh |
||||||
|
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info> |
||||||
|
|
||||||
|
# This program is free software: you can redistribute it and/or modify |
||||||
|
# it under the terms of the GNU General Public License as published by |
||||||
|
# the Free Software Foundation, either version 3 of the License, or |
||||||
|
# (at your option) any later version. |
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful, |
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
# GNU General Public License for more details. |
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License |
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||||
|
|
||||||
|
load="$(cut -d ' ' -f1 /proc/loadavg)" |
||||||
|
cpus="$(nproc)" |
||||||
|
|
||||||
|
# full text |
||||||
|
echo "$load" |
||||||
|
|
||||||
|
# short text |
||||||
|
echo "$load" |
||||||
|
|
||||||
|
# color if load is too high |
||||||
|
awk -v cpus=$cpus -v cpuload=$load ' |
||||||
|
BEGIN { |
||||||
|
if (cpus <= cpuload) { |
||||||
|
print "#FF0000"; |
||||||
|
exit 33; |
||||||
|
} |
||||||
|
} |
||||||
|
' |
||||||
@ -0,0 +1,56 @@ |
|||||||
|
#!/bin/bash |
||||||
|
|
||||||
|
# redshift-adjust — Script for manually adjusting the colour temperature with hotkeys |
||||||
|
# Copyright © 2014, 2015 Mattias Andrée (maandree@member.fsf.org) |
||||||
|
# Copyright © 2015 "tPenguinLTG" |
||||||
|
# |
||||||
|
# This program is free software: you can redistribute it and/or modify |
||||||
|
# it under the terms of the GNU General Public License as published by |
||||||
|
# the Free Software Foundation, either version 3 of the License, or |
||||||
|
# (at your option) any later version. |
||||||
|
# |
||||||
|
# This program is distributed in the hope that it will be useful, |
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
# GNU General Public License for more details. |
||||||
|
# |
||||||
|
# You should have received a copy of the GNU General Public License |
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||||
|
|
||||||
|
|
||||||
|
file="/tmp/.${UID}.${DISPLAY}.redshift-adjust" |
||||||
|
|
||||||
|
|
||||||
|
if [ ! $# = 1 ] || [ "${1}" = "-h" ] || [ "${1}" = "--help" ]; then |
||||||
|
cat <<EOF |
||||||
|
$0 =TEMP Set colour temperature to TEMP K |
||||||
|
$0 +TEMP Increase colour temperature by TEMP K |
||||||
|
$0 -TEMP Decrease colour temperature by TEMP K |
||||||
|
$0 -p Print the current temperature |
||||||
|
EOF |
||||||
|
if [ $# = 1 ]; then |
||||||
|
exit 0 |
||||||
|
fi |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
|
||||||
|
if [ ! -e "${file}" ]; then |
||||||
|
echo 6500 > "${file}" |
||||||
|
fi |
||||||
|
|
||||||
|
if [ "${1}" = "-p" ] || [ "${1}" = "--print" ]; then |
||||||
|
cat "${file}" |
||||||
|
exit 0 |
||||||
|
fi |
||||||
|
|
||||||
|
|
||||||
|
if [ "${1::1}" = "=" ]; then |
||||||
|
temperature="${1:1}" |
||||||
|
else |
||||||
|
temperature=$(( $(cat "${file}") ${1::1} ${1:1} )) |
||||||
|
fi |
||||||
|
|
||||||
|
|
||||||
|
redshift -P -O $temperature || redshift -O $temperature |
||||||
|
echo $temperature > "${file}" |
||||||
|
|
||||||
@ -0,0 +1,30 @@ |
|||||||
|
#!/bin/bash |
||||||
|
|
||||||
|
# DANGER='\033[0;31m' |
||||||
|
# WARNING='\033[1;33m' |
||||||
|
# INFO='\033[0;34m' |
||||||
|
# NC='\033[0m' # No Color |
||||||
|
|
||||||
|
DANGER='#FF0000' |
||||||
|
WARNING='#FFFF00' |
||||||
|
INFO='#00FF00' |
||||||
|
NC='' # No Color |
||||||
|
|
||||||
|
topLine=$(top -b -n 1 | head -8 | tail -1) |
||||||
|
|
||||||
|
topApp=$(echo -n $topLine | awk '{print $12}') |
||||||
|
cpuLoad=$(echo -n $topLine | awk '{print $9}') |
||||||
|
|
||||||
|
COLOR=$NC |
||||||
|
cpuInt=$(printf "%.0f" $cpuLoad) |
||||||
|
|
||||||
|
if [ $cpuInt -gt 80 ]; then |
||||||
|
COLOR=$DANGER |
||||||
|
elif [ $cpuInt -gt 50 ]; then |
||||||
|
COLOR=$WARNING |
||||||
|
fi |
||||||
|
|
||||||
|
printf "${cpuLoad}%% ${topApp}\n${COLOR}\n" |
||||||
|
|
||||||
|
|
||||||
|
exit 0 |
||||||
@ -0,0 +1,12 @@ |
|||||||
|
#!/bin/bash |
||||||
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" |
||||||
|
srcTarget=$1 |
||||||
|
text=$(xsel) |
||||||
|
|
||||||
|
#trim |
||||||
|
text=${text##*( )} |
||||||
|
text=${text%%*( )} |
||||||
|
|
||||||
|
trResult=$($SCRIPT_DIR/trans -b $srcTarget "${text}") |
||||||
|
|
||||||
|
notify-send -t 20000 "$(echo -e "Selected text translation ${srcTarget^^}: \n${trResult}")" |
||||||
@ -0,0 +1,30 @@ |
|||||||
|
#!/bin/bash |
||||||
|
set -x |
||||||
|
cmd=$1 |
||||||
|
|
||||||
|
sink=$VOLCTL_SINK |
||||||
|
|
||||||
|
# if VOLCTL_SINK is not set, use the sink that was most recently connected |
||||||
|
if [ -z "$sink" ]; then |
||||||
|
NUM=${VOLCTL_SINK_NUM:-1} |
||||||
|
sink=$(pactl list sinks | grep "Name:" | awk '{print $2}' | sed "${NUM}q;d") |
||||||
|
fi |
||||||
|
|
||||||
|
case $cmd in |
||||||
|
|
||||||
|
up | u) |
||||||
|
pactl set-sink-volume $sink +5% |
||||||
|
;; |
||||||
|
|
||||||
|
down | d) |
||||||
|
pactl set-sink-volume $sink -5% |
||||||
|
;; |
||||||
|
|
||||||
|
toggle | t) |
||||||
|
pactl set-sink-mute $sink toggle |
||||||
|
;; |
||||||
|
|
||||||
|
*) |
||||||
|
echo -n "unknown command: $cmd" |
||||||
|
;; |
||||||
|
esac |
||||||
@ -0,0 +1,70 @@ |
|||||||
|
#!/bin/bash |
||||||
|
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info> |
||||||
|
# Copyright (C) 2014 Alexander Keller <github@nycroth.com> |
||||||
|
|
||||||
|
# This program is free software: you can redistribute it and/or modify |
||||||
|
# it under the terms of the GNU General Public License as published by |
||||||
|
# the Free Software Foundation, either version 3 of the License, or |
||||||
|
# (at your option) any later version. |
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful, |
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
# GNU General Public License for more details. |
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License |
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||||
|
|
||||||
|
#------------------------------------------------------------------------ |
||||||
|
|
||||||
|
# The second parameter overrides the mixer selection |
||||||
|
# For PulseAudio users, use "pulse" |
||||||
|
# For Jack/Jack2 users, use "jackplug" |
||||||
|
# For ALSA users, you may use "default" for your primary card |
||||||
|
# or you may use hw:# where # is the number of the card desired |
||||||
|
MIXER="default" |
||||||
|
# [ -n "$(ps -x | grep -v grep | grep pulseaudio)" ] && MIXER="pulse" |
||||||
|
# [ -n "$(lsmod | grep jack)" ] && MIXER="jackplug" |
||||||
|
# MIXER="${2:-$MIXER}" |
||||||
|
|
||||||
|
# The instance option sets the control to report and configure |
||||||
|
# This defaults to the first control of your selected mixer |
||||||
|
# For a list of the available, use `amixer -D $Your_Mixer scontrols` |
||||||
|
SCONTROL="${BLOCK_INSTANCE:-$(amixer -D $MIXER scontrols | |
||||||
|
sed -n "s/Simple mixer control '\([A-Za-z ]*\)',0/\1/p" | |
||||||
|
head -n1 |
||||||
|
)}" |
||||||
|
|
||||||
|
# The first parameter sets the step to change the volume by (and units to display) |
||||||
|
# This may be in in % or dB (eg. 5% or 3dB) |
||||||
|
STEP="${1:-5%}" |
||||||
|
|
||||||
|
#------------------------------------------------------------------------ |
||||||
|
|
||||||
|
capability() { # Return "Capture" if the device is a capture device |
||||||
|
amixer -D $MIXER get $SCONTROL | |
||||||
|
sed -n "s/ Capabilities:.*cvolume.*/Capture/p" |
||||||
|
} |
||||||
|
|
||||||
|
volume() { |
||||||
|
amixer -D $MIXER get $SCONTROL $(capability) |
||||||
|
} |
||||||
|
|
||||||
|
format() { |
||||||
|
perl_filter='if (/.*\[(\d+%)\] (\[(-?\d+.\d+dB)\] )?\[(on|off)\]/)' |
||||||
|
perl_filter+='{CORE::say $4 eq "off" ? "MUTE" : "' |
||||||
|
# If dB was selected, print that instead |
||||||
|
perl_filter+=$([[ $STEP = *dB ]] && echo '$3' || echo '$1') |
||||||
|
perl_filter+='"; exit}' |
||||||
|
perl -ne "$perl_filter" |
||||||
|
} |
||||||
|
|
||||||
|
#------------------------------------------------------------------------ |
||||||
|
|
||||||
|
case $BLOCK_BUTTON in |
||||||
|
3) amixer -q -D $MIXER sset $SCONTROL $(capability) toggle ;; # right click, mute/unmute |
||||||
|
4) amixer -q -D $MIXER sset $SCONTROL $(capability) ${STEP}+ unmute ;; # scroll up, increase |
||||||
|
5) amixer -q -D $MIXER sset $SCONTROL $(capability) ${STEP}- unmute ;; # scroll down, decrease |
||||||
|
esac |
||||||
|
|
||||||
|
volume | format |
||||||
Loading…
Reference in new issue