mirror of
https://github.com/yusufipk/i3-config.git
synced 2026-09-11 10:56:11 +00:00
First commit
This commit is contained in:
@@ -0,0 +1,363 @@
|
|||||||
|
# Mod4 = Super key
|
||||||
|
# Mod1 = Alt key
|
||||||
|
|
||||||
|
#set Super key
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
# Define the movements keys - variables
|
||||||
|
set $up l
|
||||||
|
set $down k
|
||||||
|
set $left j
|
||||||
|
set $right semicolon
|
||||||
|
|
||||||
|
# Single and Dual screen
|
||||||
|
|
||||||
|
#exec --no-startup-id xrandr --output HDMI2 --right-of HDMI1 --auto
|
||||||
|
|
||||||
|
set $firstMonitor HDMI-0
|
||||||
|
set $secondMonitor DVI-D-0
|
||||||
|
|
||||||
|
workspace 1 output $firstMonitor
|
||||||
|
workspace 2 output $firstMonitor
|
||||||
|
workspace 3 output $firstMonitor
|
||||||
|
workspace 4 output $firstMonitor
|
||||||
|
workspace 5 output $firstMonitor
|
||||||
|
workspace 6 output $secondMonitor
|
||||||
|
workspace 7 output $secondMonitor
|
||||||
|
workspace 8 output $secondMonitor
|
||||||
|
workspace 9 output $secondMonitor
|
||||||
|
workspace 10 output $secondMonitor
|
||||||
|
|
||||||
|
bindsym $mod+1 workspace 1
|
||||||
|
bindsym $mod+2 workspace 2
|
||||||
|
bindsym $mod+3 workspace 3
|
||||||
|
bindsym $mod+4 workspace 4
|
||||||
|
bindsym $mod+5 workspace 5
|
||||||
|
bindsym $mod+6 workspace 6
|
||||||
|
bindsym $mod+7 workspace 7
|
||||||
|
bindsym $mod+8 workspace 8
|
||||||
|
bindsym $mod+9 workspace 9
|
||||||
|
bindsym $mod+0 workspace 10
|
||||||
|
|
||||||
|
bindsym $mod+Shift+1 move container to workspace 1; workspace 1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace 2; workspace 2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace 3; workspace 3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace 4; workspace 4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace 5; workspace 5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace 6; workspace 6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace 7; workspace 7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace 8; workspace 8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace 9; workspace 9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace 10; workspace 10
|
||||||
|
|
||||||
|
bindsym control+mod1+X mode "$mode_system"
|
||||||
|
|
||||||
|
set $mode_system System (k) lock, (a) switch (l) logout, (u) suspend, (h) hibernate, (r) reboot, (s) shutdown
|
||||||
|
mode "$mode_system" {
|
||||||
|
bindsym k exec --no-startup-id ~/.config/i3/scripts/i3exit.sh lock, mode "default"
|
||||||
|
bindsym a exec --no-startup-id ~/.config/i3/scripts/i3exit.sh switch, mode "default"
|
||||||
|
bindsym l exec --no-startup-id ~/.config/i3/scripts/i3exit.sh logout, mode "default"
|
||||||
|
bindsym u exec --no-startup-id ~/.config/i3/scripts/i3exit.sh suspend, mode "default"
|
||||||
|
bindsym h exec --no-startup-id ~/.config/i3/scripts/i3exit.sh hibernate, mode "default"
|
||||||
|
bindsym r exec --no-startup-id ~/.config/i3/scripts/i3exit.sh reboot, mode "default"
|
||||||
|
bindsym s exec --no-startup-id ~/.config/i3/scripts/i3exit.sh shutdown, mode "default"
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
bindsym $mod+Shift+s sticky toggle
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+$left focus left
|
||||||
|
bindsym $mod+$down focus down
|
||||||
|
bindsym $mod+$up focus up
|
||||||
|
bindsym $mod+$right 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+$left move left
|
||||||
|
bindsym $mod+Shift+$down move down
|
||||||
|
bindsym $mod+Shift+$up move up
|
||||||
|
bindsym $mod+Shift+$right 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
|
||||||
|
|
||||||
|
#bindsym Mod1+Tab workspace next
|
||||||
|
#bindsym Mod1+Shift+Tab workspace prev
|
||||||
|
#bindsym $mod+Tab workspace back_and_forth
|
||||||
|
|
||||||
|
#navigate workspaces next / previous
|
||||||
|
bindsym Mod1+Ctrl+Right workspace next
|
||||||
|
bindsym Mod1+Ctrl+Left workspace prev
|
||||||
|
|
||||||
|
# switch to workspace with urgent window automatically
|
||||||
|
for_window [urgent=latest] focus
|
||||||
|
|
||||||
|
# orientation for new workspaces
|
||||||
|
default_orientation horizontal
|
||||||
|
|
||||||
|
# split in horizontal orientation
|
||||||
|
bindsym $mod+h split v
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+g split v
|
||||||
|
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+z layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
#bindsym $mod+d focus child
|
||||||
|
|
||||||
|
# Resizing by 1
|
||||||
|
bindsym $mod+Mod1+Ctrl+Right resize shrink width 1 px or 1 ppt
|
||||||
|
bindsym $mod+Mod1+Ctrl+Up resize grow height 1 px or 1 ppt
|
||||||
|
bindsym $mod+Mod1+Ctrl+Down resize shrink height 1 px or 1 ppt
|
||||||
|
bindsym $mod+Mod1+Ctrl+Left resize grow width 1 px or 1 ppt
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
mode "resize" {
|
||||||
|
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
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
font pango:Noto Mono Regular 13
|
||||||
|
|
||||||
|
# Assign applications to workspaces
|
||||||
|
# Workspace 1
|
||||||
|
# Workspace 2
|
||||||
|
# Workspace 3
|
||||||
|
assign [class="Olive|kdenlive"] → 3
|
||||||
|
for_window [class="Olive|Kdenlive"] focus
|
||||||
|
|
||||||
|
# Workspace 4
|
||||||
|
assign [class="Gimp"] → 4
|
||||||
|
for_window [class="Gimp"] focus
|
||||||
|
|
||||||
|
# Workspace 5
|
||||||
|
assign [class="^vlc$|Stremio|jellyfin|mpv"] → 5
|
||||||
|
for_window [class="mpv|^vlc$|^Stremio$|Thunar|Jellyfin"] focus
|
||||||
|
|
||||||
|
# Workspace 6 Video editor
|
||||||
|
# Workspace 7 virtual machines and settings
|
||||||
|
assign [class="^obs$"] → 7
|
||||||
|
for_window [class="^obs$"] focus
|
||||||
|
|
||||||
|
# Workspace 8
|
||||||
|
# Workspace 9
|
||||||
|
# Workspace 10
|
||||||
|
|
||||||
|
# autostart
|
||||||
|
# USER APPLICATIONS TO START AT BOOT
|
||||||
|
exec --no-startup-id easyeffects --gapplication-service
|
||||||
|
exec --no-startup-id qbittorrent
|
||||||
|
#exec --no-startup-id autokey-gtk
|
||||||
|
exec --no-startup-id kdeconnect-indicator
|
||||||
|
exec --no-startup-id /usr/lib/kdeconnectd
|
||||||
|
exec --no-startup-id keepassxc
|
||||||
|
exec --no-startup-id nitrogen --restore
|
||||||
|
exec --no-startup-id blueman-applet
|
||||||
|
exec --no-startup-id redshift -l 41.008240:28.978359
|
||||||
|
|
||||||
|
# Autotiling
|
||||||
|
exec_always --no-startup-id autotiling
|
||||||
|
exec_always --no-startup-id mpris-proxy
|
||||||
|
|
||||||
|
# Authentication dialog
|
||||||
|
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
|
||||||
|
exec --no-startup-id /usr/libexec/polkit-gnome-authentication-agent-1 &
|
||||||
|
|
||||||
|
# Network
|
||||||
|
exec --no-startup-id nm-applet
|
||||||
|
|
||||||
|
# num lock activated
|
||||||
|
exec_always --no-startup-id numlockx on
|
||||||
|
|
||||||
|
# clipman
|
||||||
|
exec --no-startup-id xfce4-clipman
|
||||||
|
|
||||||
|
#Polybar
|
||||||
|
exec_always --no-startup-id ~/.config/polybar/launch.sh &
|
||||||
|
|
||||||
|
# Utilities
|
||||||
|
#exec_always --no-startup-id xset r rate 300 50
|
||||||
|
exec setxkbmap -option caps:escape
|
||||||
|
exec_always xset r rate 500 80
|
||||||
|
exec xset r rate 500 80
|
||||||
|
|
||||||
|
|
||||||
|
# System Applications
|
||||||
|
exec --no-startup-id xfsettingsd
|
||||||
|
exec --no-startup-id xfce4-power-manager &
|
||||||
|
exec --no-startup-id /usr/lib/xfce4/notifyd/xfce4-notifyd &
|
||||||
|
exec_always --no-startup-id picom --config ~/.config/i3/picom.conf
|
||||||
|
bindsym control+mod1+o exec --no-startup-id ~/.config/i3/scripts/picom-toggle.sh
|
||||||
|
|
||||||
|
|
||||||
|
# Applications keyboard shortcuts
|
||||||
|
bindsym $mod+v exec xfce4-popup-clipman
|
||||||
|
|
||||||
|
#ytfzf
|
||||||
|
bindsym $mod+Control+q exec ytfzf -fD
|
||||||
|
bindsym $mod+Control+w exec ytfzf -S -D -f
|
||||||
|
|
||||||
|
# terminal
|
||||||
|
bindsym $mod+Return exec konsole;focus
|
||||||
|
|
||||||
|
bindsym $mod+Shift+Return exec thunar;focus
|
||||||
|
bindsym $mod+shift+f exec rofi -show drun -show-icons
|
||||||
|
bindsym $mod+shift+a exec -modi window -show window
|
||||||
|
bindsym $mod+shift+d exec rofi -modi file-browser -show file-browser
|
||||||
|
|
||||||
|
#System monitor
|
||||||
|
bindsym control+Shift+Return exec --no-startup-id ksysguard;focus
|
||||||
|
|
||||||
|
#settings
|
||||||
|
bindsym control+mod1+m exec --no-startup-id xfce4-settings-manager
|
||||||
|
|
||||||
|
#catfish
|
||||||
|
bindsym control+mod1+c exec --no-startup-id catfish;focus
|
||||||
|
|
||||||
|
#pavucontrol
|
||||||
|
bindsym control+mod1+u exec --no-startup-id pavucontrol
|
||||||
|
|
||||||
|
#xkill
|
||||||
|
bindsym --release $mod+Escape exec xkill
|
||||||
|
|
||||||
|
bindsym $mod+w exec --no-startup-id exo-open --launch webbrowser;focus
|
||||||
|
|
||||||
|
#Screenshot
|
||||||
|
bindsym $mod+shift+x exec spectacle -r
|
||||||
|
|
||||||
|
#xcolor
|
||||||
|
bindsym --release $mod+shift+w exec xcolor --selection
|
||||||
|
|
||||||
|
#workspace 1 related
|
||||||
|
#workspace 2 related
|
||||||
|
#workspace 4 related
|
||||||
|
#workspace 5 related
|
||||||
|
#workspace 6 related
|
||||||
|
#workspace 7 related
|
||||||
|
#workspace 8 related
|
||||||
|
#workspace 9 related
|
||||||
|
#workspace 10 related
|
||||||
|
|
||||||
|
# Make the currently focused window a scratchpad
|
||||||
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
|
|
||||||
|
# Show the first scratchpad window
|
||||||
|
bindsym $mod+minus scratchpad show
|
||||||
|
|
||||||
|
#find class with
|
||||||
|
bindsym --release $mod+Shift+u exec --no-startup-id notify-send "$(bash ~/.config/i3/scripts/get-classname.sh)"
|
||||||
|
|
||||||
|
#Games
|
||||||
|
for_window [class="Wine"] floating enable
|
||||||
|
for_window [class="ChampR"] floating enable
|
||||||
|
for_window [class="^Riot"] floating enable
|
||||||
|
for_window [class="^League of Legends"] floating enable
|
||||||
|
for_window [class="battle.net.exe"] floating enable
|
||||||
|
for_window [class="Wine"] floating enable
|
||||||
|
for_window [class="origin.exe"] floating enable
|
||||||
|
for_window [class="Arena Tracker"] floating enable
|
||||||
|
|
||||||
|
#Utilities
|
||||||
|
for_window [class="Galculator"] floating enable
|
||||||
|
for_window [class="Gnome-disks"] floating disable
|
||||||
|
for_window [class="^Gnome-font-viewer$"] floating enable
|
||||||
|
for_window [instance="gnome-calculator"] floating enable
|
||||||
|
|
||||||
|
for_window [title="Copying"] floating enable
|
||||||
|
for_window [title="Friends List"] floating enable
|
||||||
|
for_window [title="Deleting"] floating enable
|
||||||
|
for_window [title="Moving"] floating enable
|
||||||
|
for_window [title="^Terminator Preferences$"] floating enable
|
||||||
|
|
||||||
|
for_window [window_role="pop-up"] floating enable
|
||||||
|
for_window [window_role="^Preferences$"] floating enable
|
||||||
|
for_window [window_role="setup"] floating enable
|
||||||
|
|
||||||
|
#colors
|
||||||
|
# class border backgr. text indicator child_border
|
||||||
|
client.focused_inactive #4c7899 #285577 #ffffff #00000000 #00000000
|
||||||
|
client.unfocused #333333 #5f676a #ffffff #00000000 #00000000
|
||||||
|
client.focused #333333 #222222 #888888 #00000000 #00000000
|
||||||
|
client.background #ffffff
|
||||||
|
|
||||||
|
# Audio settings
|
||||||
|
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 +5% #increase sound volume
|
||||||
|
bindsym XF86AudioLowerVolume exec pactl set-sink-volume 0 -5% #decrease sound volume
|
||||||
|
bindsym XF86AudioMute exec pactl set-sink-mute 0 toggle # mute sound
|
||||||
|
|
||||||
|
#https://github.com/acrisci/playerctl/
|
||||||
|
bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause
|
||||||
|
bindsym XF86AudioNext exec --no-startup-id playerctl next
|
||||||
|
bindsym XF86AudioPrev exec --no-startup-id playerctl previous
|
||||||
|
bindsym XF86AudioStop exec --no-startup-id playerctl stop
|
||||||
|
|
||||||
|
#backlight
|
||||||
|
bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 10 # increase screen brightness
|
||||||
|
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 10 # decrease screen brightness
|
||||||
|
|
||||||
|
# bar toggle, hide or show
|
||||||
|
bindsym $mod+b bar mode toggle
|
||||||
|
|
||||||
|
# Border control
|
||||||
|
hide_edge_borders both
|
||||||
|
bindsym $mod+shift+b exec --no-startup-id i3-msg border toggle
|
||||||
|
|
||||||
|
#super+t in arcolinux is starting terminal
|
||||||
|
bindsym $mod+t border normal
|
||||||
|
bindsym $mod+y border 1pixel
|
||||||
|
bindsym $mod+u border none
|
||||||
|
|
||||||
|
new_window normal
|
||||||
|
new_float normal
|
||||||
|
|
||||||
|
#Popups during fullscreen mode
|
||||||
|
popup_during_fullscreen smart
|
||||||
|
|
||||||
|
for_window [class="^.*"] border pixel 2
|
||||||
|
gaps inner 5
|
||||||
|
gaps outer 5
|
||||||
|
smart_gaps on
|
||||||
|
smart_borders on
|
||||||
|
|
||||||
|
# The middle button toggles floating
|
||||||
|
bindsym --whole-window $mod+button2 floating toggle
|
||||||
|
|
||||||
|
bindsym --whole-window $mod+Shift+button1 move left
|
||||||
|
bindsym --whole-window $mod+Shift+button3 move right
|
||||||
Executable
+229
@@ -0,0 +1,229 @@
|
|||||||
|
# Thank you code_nomad: http://9m.no/ꪯ鵞
|
||||||
|
# and Arch Wiki contributors: https://wiki.archlinux.org/index.php/Compton
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# Backend
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Backend to use: "xrender" or "glx".
|
||||||
|
# GLX backend is typically much faster but depends on a sane driver.
|
||||||
|
backend = "glx";
|
||||||
|
#backend = "xrender"
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# GLX backend
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
glx-no-stencil = true;
|
||||||
|
|
||||||
|
# GLX backend: Copy unmodified regions from front buffer instead of redrawing them all.
|
||||||
|
# My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified,
|
||||||
|
# but a 20% increase when only 1/4 is.
|
||||||
|
# My tests on nouveau show terrible slowdown.
|
||||||
|
glx-copy-from-front = false;
|
||||||
|
|
||||||
|
# GLX backend: Use MESA_copy_sub_buffer to do partial screen update.
|
||||||
|
# My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated.
|
||||||
|
# May break VSync and is not available on some drivers.
|
||||||
|
# Overrides --glx-copy-from-front.
|
||||||
|
# glx-use-copysubbuffermesa = true;
|
||||||
|
|
||||||
|
# GLX backend: Avoid rebinding pixmap on window damage.
|
||||||
|
# Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe).
|
||||||
|
# Recommended if it works.
|
||||||
|
# glx-no-rebind-pixmap = true;
|
||||||
|
|
||||||
|
# GLX backend: GLX buffer swap method we assume.
|
||||||
|
# Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1).
|
||||||
|
# undefined is the slowest and the safest, and the default value.
|
||||||
|
# copy is fastest, but may fail on some drivers,
|
||||||
|
# 2-6 are gradually slower but safer (6 is still faster than 0).
|
||||||
|
# Usually, double buffer means 2, triple buffer means 3.
|
||||||
|
# buffer-age means auto-detect using GLX_EXT_buffer_age, supported by some drivers.
|
||||||
|
# Useless with --glx-use-copysubbuffermesa.
|
||||||
|
# Partially breaks --resize-damage.
|
||||||
|
# Defaults to undefined.
|
||||||
|
#glx-swap-method = "undefined";
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# Shadows
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Enabled client-side shadows on windows.
|
||||||
|
shadow = false;
|
||||||
|
# The blur radius for shadows. (default 12)
|
||||||
|
shadow-radius = 12;
|
||||||
|
# The left offset for shadows. (default -15)
|
||||||
|
shadow-offset-x = -15;
|
||||||
|
# The top offset for shadows. (default -15)
|
||||||
|
shadow-offset-y = -15;
|
||||||
|
# The translucency for shadows. (default .75)
|
||||||
|
shadow-opacity = 0.75;
|
||||||
|
|
||||||
|
log-level = "warn";
|
||||||
|
#change your username here
|
||||||
|
#log-file = "/home/erik/.config/compton.log";
|
||||||
|
|
||||||
|
# Set if you want different colour shadows
|
||||||
|
# shadow-red = 0.0;
|
||||||
|
# shadow-green = 0.0;
|
||||||
|
# shadow-blue = 0.0;
|
||||||
|
|
||||||
|
# The shadow exclude options are helpful if you have shadows enabled. Due to the way compton draws its shadows, certain applications will have visual glitches
|
||||||
|
# (most applications are fine, only apps that do weird things with xshapes or argb are affected).
|
||||||
|
# This list includes all the affected apps I found in my testing. The "! name~=''" part excludes shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher.
|
||||||
|
shadow-exclude = [
|
||||||
|
"! name~=''",
|
||||||
|
"name = 'Notification'",
|
||||||
|
"name = 'Plank'",
|
||||||
|
"name = 'Docky'",
|
||||||
|
"name = 'Kupfer'",
|
||||||
|
"name = 'xfce4-notifyd'",
|
||||||
|
"name *= 'VLC'",
|
||||||
|
"name *= 'compton'",
|
||||||
|
"name *= 'Chromium'",
|
||||||
|
"name *= 'Chrome'",
|
||||||
|
"name *= 'qBittorrent'",
|
||||||
|
"class_g = 'Firefox' && argb",
|
||||||
|
"class_g = 'Conky'",
|
||||||
|
"class_g = 'Kupfer'",
|
||||||
|
"class_g = 'Synapse'",
|
||||||
|
"class_g ?= 'Notify-osd'",
|
||||||
|
"class_g ?= 'Cairo-dock'",
|
||||||
|
"class_g = 'Cairo-clock'",
|
||||||
|
"class_g ?= 'Xfce4-notifyd'",
|
||||||
|
"class_g ?= 'Xfce4-power-manager'",
|
||||||
|
"_GTK_FRAME_EXTENTS@:c",
|
||||||
|
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
|
||||||
|
];
|
||||||
|
# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners)
|
||||||
|
shadow-ignore-shaped = false;
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# Opacity
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
inactive-opacity = 1;
|
||||||
|
active-opacity = 1;
|
||||||
|
frame-opacity = 1;
|
||||||
|
inactive-opacity-override = false;
|
||||||
|
|
||||||
|
# Dim inactive windows. (0.0 - 1.0)
|
||||||
|
# inactive-dim = 0.2;
|
||||||
|
# Do not let dimness adjust based on window opacity.
|
||||||
|
# inactive-dim-fixed = true;
|
||||||
|
# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred.
|
||||||
|
# blur-background = true;
|
||||||
|
# Blur background of opaque windows with transparent frames as well.
|
||||||
|
# blur-background-frame = true;
|
||||||
|
# Do not let blur radius adjust based on window opacity.
|
||||||
|
blur-background-fixed = false;
|
||||||
|
blur-background-exclude = [
|
||||||
|
"window_type = 'dock'",
|
||||||
|
"window_type = 'desktop'",
|
||||||
|
"_GTK_FRAME_EXTENTS@:c"
|
||||||
|
];
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# Fading
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Fade windows during opacity changes.
|
||||||
|
fading = true;
|
||||||
|
# The time between steps in a fade in milliseconds. (default 10).
|
||||||
|
fade-delta = 4;
|
||||||
|
# Opacity change between steps while fading in. (default 0.028).
|
||||||
|
fade-in-step = 0.03;
|
||||||
|
# Opacity change between steps while fading out. (default 0.03).
|
||||||
|
fade-out-step = 0.03;
|
||||||
|
# Fade windows in/out when opening/closing
|
||||||
|
# no-fading-openclose = true;
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should not be faded.
|
||||||
|
fade-exclude = [ ];
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# Other
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Try to detect WM windows and mark them as active.
|
||||||
|
mark-wmwin-focused = true;
|
||||||
|
# Mark all non-WM but override-redirect windows active (e.g. menus).
|
||||||
|
mark-ovredir-focused = true;
|
||||||
|
# Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused instead of using FocusIn/Out events.
|
||||||
|
# Usually more reliable but depends on a EWMH-compliant WM.
|
||||||
|
use-ewmh-active-win = true;
|
||||||
|
# Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on.
|
||||||
|
detect-rounded-corners = true;
|
||||||
|
|
||||||
|
# Detect _NET_WM_OPACITY on client windows, useful for window managers not passing _NET_WM_OPACITY of client windows to frame windows.
|
||||||
|
# This prevents opacity being ignored for some apps.
|
||||||
|
# For example without this enabled my xfce4-notifyd is 100% opacity no matter what.
|
||||||
|
detect-client-opacity = true;
|
||||||
|
|
||||||
|
# Specify refresh rate of the screen.
|
||||||
|
# If not specified or 0, compton will try detecting this with X RandR extension.
|
||||||
|
refresh-rate = 0;
|
||||||
|
|
||||||
|
# Vertical synchronization: match the refresh rate of the monitor
|
||||||
|
# this breaks transparency in virtualbox - put a "#" before next line to fix that
|
||||||
|
vsync = true;
|
||||||
|
|
||||||
|
# Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing.
|
||||||
|
# Reported to have no effect, though.
|
||||||
|
dbe = false;
|
||||||
|
|
||||||
|
# Limit compton to repaint at most once every 1 / refresh_rate second to boost performance.
|
||||||
|
# This should not be used with --vsync drm/opengl/opengl-oml as they essentially does --sw-opti's job already,
|
||||||
|
# unless you wish to specify a lower refresh rate than the actual value.
|
||||||
|
#sw-opti = true;
|
||||||
|
|
||||||
|
# Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games.
|
||||||
|
# Known to cause flickering when redirecting/unredirecting windows.
|
||||||
|
unredir-if-possible = false;
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should always be considered focused.
|
||||||
|
focus-exclude = [ ];
|
||||||
|
|
||||||
|
# Use WM_TRANSIENT_FOR to group windows, and consider windows in the same group focused at the same time.
|
||||||
|
detect-transient = true;
|
||||||
|
# Use WM_CLIENT_LEADER to group windows, and consider windows in the same group focused at the same time.
|
||||||
|
# WM_TRANSIENT_FOR has higher priority if --detect-transient is enabled, too.
|
||||||
|
detect-client-leader = true;
|
||||||
|
|
||||||
|
#################################
|
||||||
|
#
|
||||||
|
# Window type settings
|
||||||
|
#
|
||||||
|
#################################
|
||||||
|
|
||||||
|
wintypes:
|
||||||
|
{
|
||||||
|
tooltip = { fade = true; shadow = true; opacity = 0.9; focus = true;};
|
||||||
|
dock = { shadow = false; }
|
||||||
|
dnd = { shadow = false; }
|
||||||
|
popup_menu = { opacity = 0.9; }
|
||||||
|
dropdown_menu = { opacity = 0.9; }
|
||||||
|
};
|
||||||
|
|
||||||
|
######################
|
||||||
|
#
|
||||||
|
# XSync
|
||||||
|
# See: https://github.com/yshui/compton/commit/b18d46bcbdc35a3b5620d817dd46fbc76485c20d
|
||||||
|
#
|
||||||
|
######################
|
||||||
|
|
||||||
|
# Use X Sync fence to sync clients' draw calls. Needed on nvidia-drivers with GLX backend for some users.
|
||||||
|
xrender-sync-fence = true;
|
||||||
Executable
+2
@@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
xprop | grep WM_CLASS | awk '{ print $4 }' | xclip
|
||||||
Executable
+29
@@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
case "$1" in
|
||||||
|
lock)
|
||||||
|
i3lock -c 090000
|
||||||
|
;;
|
||||||
|
switch)
|
||||||
|
dm-tool switch-to-greeter
|
||||||
|
;;
|
||||||
|
logout)
|
||||||
|
i3-msg exit
|
||||||
|
;;
|
||||||
|
suspend)
|
||||||
|
systemctl suspend
|
||||||
|
;;
|
||||||
|
hibernate)
|
||||||
|
systemctl hibernate
|
||||||
|
;;
|
||||||
|
reboot)
|
||||||
|
systemctl reboot
|
||||||
|
;;
|
||||||
|
shutdown)
|
||||||
|
shutdown 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {lock|switch|logout|suspend|hibernate|reboot|shutdown}"
|
||||||
|
exit 2
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
||||||
Executable
+7
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
if pgrep -x "picom" > /dev/null
|
||||||
|
then
|
||||||
|
killall picom
|
||||||
|
else
|
||||||
|
picom -b --config ~/.config/i3/picom.conf
|
||||||
|
fi
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
[colors]
|
||||||
|
background = #303643
|
||||||
|
background-module = #303643
|
||||||
|
light-blue = #9fa7ca
|
||||||
|
white = #ffffff
|
||||||
|
|
||||||
|
shade-1 = #5D5E72
|
||||||
|
shade-2 = #7A7B8C
|
||||||
|
shade-3 = #A0A0AB
|
||||||
|
shade-4 = #CACACE
|
||||||
|
shade-5 = #F8F8F8
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
include-file = $HOME/.config/polybar/colors.ini
|
||||||
|
|
||||||
|
[bar/main]
|
||||||
|
monitor = ${env:MONITOR}
|
||||||
|
width = 100%
|
||||||
|
height = 20
|
||||||
|
border-size = 5
|
||||||
|
line-size = 1
|
||||||
|
border-color = ${colors.background}
|
||||||
|
background = ${colors.background}
|
||||||
|
modules-left = round-left i3 round-right
|
||||||
|
modules-center = round-left title round-right
|
||||||
|
modules-right = round-left memory sep cpu sep networkspeeddown sep networkspeedup sep pipewire sep date round-righ
|
||||||
|
tray-detached = false
|
||||||
|
tray-offset-x = 0
|
||||||
|
tray-offset-y = 0
|
||||||
|
tray-padding = 2
|
||||||
|
tray-maxsize = 20
|
||||||
|
tray-scale = 1.0
|
||||||
|
tray-position = right
|
||||||
|
|
||||||
|
include-file = $HOME/.config/polybar/fonts.ini
|
||||||
|
include-file = $HOME/.config/polybar/modules/i3.ini
|
||||||
|
include-file = $HOME/.config/polybar/modules/date.ini
|
||||||
|
include-file = $HOME/.config/polybar/modules/round-left.ini
|
||||||
|
include-file = $HOME/.config/polybar/modules/round-right.ini
|
||||||
|
include-file = $HOME/.config/polybar/modules/pulseaudio.ini
|
||||||
|
include-file = $HOME/.config/polybar/modules/cpu.ini
|
||||||
|
include-file = $HOME/.config/polybar/modules/memory.ini
|
||||||
|
include-file = $HOME/.config/polybar/modules/network.ini
|
||||||
|
include-file = $HOME/.config/polybar/modules/title.ini
|
||||||
|
include-file = $HOME/.config/polybar/modules/sep.ini
|
||||||
|
include-file = $HOME/.config/polybar/modules/temperature.ini
|
||||||
|
include-file = $HOME/.config/polybar/modules/screenshot.ini
|
||||||
|
include-file = $HOME/.config/polybar/modules/pipewire.ini
|
||||||
|
include-file = $HOME/.config/polybar/modules/networkspeeddown.ini
|
||||||
|
include-file = $HOME/.config/polybar/modules/networkspeedup.ini
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
font-0 = "Noto Sans:size=10;1"
|
||||||
|
font-7 = "Material Icons:size=11;4"
|
||||||
|
font-8 = "JetBrainsMono Nerd Font:style=Medium Italic:size=15;4"
|
||||||
|
font-9 = "JetBrainsMono Nerd Font:style=Normal:size=8;3"
|
||||||
Executable
+8
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
killall -q polybar
|
||||||
|
|
||||||
|
echo "---" | tee -a /tmp/polybar.log
|
||||||
|
MONITOR="HDMI-0" polybar main 2>&1 | tee -a /tmp/polybar.log & disown
|
||||||
|
MONITOR="DVI-D-0" polybar main 2>&1 | tee -a /tmp/polybar.log & disown
|
||||||
|
echo "Bars launched..."
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
[module/cpu]
|
||||||
|
type = internal/cpu
|
||||||
|
interval = 1
|
||||||
|
|
||||||
|
format = <label>%
|
||||||
|
label = %percentage%
|
||||||
|
format-background = ${colors.background-module}
|
||||||
|
format-padding = 1
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
[module/date]
|
||||||
|
type = internal/date
|
||||||
|
interval = 1
|
||||||
|
|
||||||
|
time = " %H:%M"
|
||||||
|
time-alt = " %a, %b %d %H:%M:%S"
|
||||||
|
|
||||||
|
format = <label>
|
||||||
|
format-background = ${colors.background-module}
|
||||||
|
format-padding = 1
|
||||||
|
format-prefix = %{T5}%{T-}
|
||||||
|
label = %{T2}%time%%{T-}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
[module/filesystem]
|
||||||
|
type = internal/fs
|
||||||
|
interval = 180
|
||||||
|
mount-0 = /
|
||||||
|
label-mounted = %{F#0a81f5}%mountpoint%%{F-}%percentage_used%%
|
||||||
|
label-unmounted = %mountpoint% not mounted
|
||||||
|
label-unmounted-foreground = ${colors.foreground}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
[module/i3]
|
||||||
|
type = internal/i3
|
||||||
|
|
||||||
|
format-background = ${colors.background-module}
|
||||||
|
index-sort = true
|
||||||
|
enable-click = true
|
||||||
|
|
||||||
|
#label-focused-background = ${colors.workspace-selected}
|
||||||
|
label-focused-underline = ${colors.light-blue}
|
||||||
|
label-focused = "%name%"
|
||||||
|
label-unfocused = "%name%"
|
||||||
|
label-visible = "%name%"
|
||||||
|
label-urgent = "%name%"
|
||||||
|
|
||||||
|
label-focused-padding = 2
|
||||||
|
label-unfocused-padding = 2
|
||||||
|
label-visible-padding = 2
|
||||||
|
label-urgent-padding = 2
|
||||||
|
label-mode-padding = 2
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
[module/memory]
|
||||||
|
type = internal/memory
|
||||||
|
interval = 5
|
||||||
|
|
||||||
|
format = <label>
|
||||||
|
format-background = ${colors.background-module}
|
||||||
|
format-padding = 1
|
||||||
|
|
||||||
|
label = %gb_used% / %gb_total%
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
[module/network]
|
||||||
|
type = internal/network
|
||||||
|
interface = enp3s0
|
||||||
|
|
||||||
|
interface-type = wired
|
||||||
|
label-connected-background = ${colors.background-module}
|
||||||
|
label-disconnected-background = ${colors.background-module}
|
||||||
|
|
||||||
|
interval = 1
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
[module/networkspeeddown]
|
||||||
|
;https://github.com/jaagr/polybar/wiki/Module:-network
|
||||||
|
type = internal/network
|
||||||
|
;interface = wlp3s0
|
||||||
|
;interface = enp14s0
|
||||||
|
;interface = enp0s31f6
|
||||||
|
;interface = eth0
|
||||||
|
interface = enp3s0
|
||||||
|
label-connected = "%downspeed:7%"
|
||||||
|
format-connected = <label-connected>
|
||||||
|
format-connected-prefix = "D"
|
||||||
|
format-connected-prefix-foreground = #ffffffff
|
||||||
|
format-connected-foreground = ${colors.foreground}
|
||||||
|
format-connected-background = ${colors.background}
|
||||||
|
#format-connected-underline = #62FF00
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
[module/networkspeedup]
|
||||||
|
;https://github.com/jaagr/polybar/wiki/Module:-network
|
||||||
|
type = internal/network
|
||||||
|
;interface = wlp3s0
|
||||||
|
;interface = enp14s0
|
||||||
|
;interface = enp0s31f6
|
||||||
|
;interface = eth0
|
||||||
|
interface = enp3s0
|
||||||
|
label-connected = "%upspeed:7%"
|
||||||
|
format-connected = <label-connected>
|
||||||
|
format-connected-prefix = "U"
|
||||||
|
format-connected-prefix-foreground = #fffffff
|
||||||
|
format-connected-foreground = ${colors.foreground}
|
||||||
|
format-connected-background = ${colors.background}
|
||||||
|
#format-connected-underline = #f01313
|
||||||
Executable
+32
@@ -0,0 +1,32 @@
|
|||||||
|
[module/pipewire]
|
||||||
|
type = custom/script
|
||||||
|
tail = true
|
||||||
|
format-underline = ${colors.cyan}
|
||||||
|
label-padding = 2
|
||||||
|
label-foreground = ${colors.foreground}
|
||||||
|
|
||||||
|
# Icons mixed from Font Awesome 5 and Material Icons
|
||||||
|
# You can copy-paste your options for each possible action, which is more
|
||||||
|
# trouble-free but repetitive, or apply only the relevant ones (for example
|
||||||
|
# --node-blacklist is only needed for next-node).
|
||||||
|
exec = pulseaudio-control --icons-volume "" --icon-muted "" --node-nicknames-from "device.description" --node-nickname "alsa_output.pci-0000_00_1b.0.analog-stereo: Speakers" --node-nickname "alsa_output.usb-Kingston_HyperX_Virtual_Surround_Sound_00000000-00.analog-stereo: Headphones" listen
|
||||||
|
click-right = exec pavucontrol &
|
||||||
|
click-left = pulseaudio-control togmute
|
||||||
|
click-middle = pulseaudio-control --node-blacklist "alsa_output.pci-0000_01_00.1.hdmi-stereo-extra2" next-node
|
||||||
|
scroll-up = pulseaudio-control --volume-max 150 up
|
||||||
|
scroll-down = pulseaudio-control --volume-max 150 down
|
||||||
|
|
||||||
|
[module/pulseaudio-control-input]
|
||||||
|
type = custom/script
|
||||||
|
tail = true
|
||||||
|
format-underline = ${colors.cyan}
|
||||||
|
label-padding = 2
|
||||||
|
label-foreground = ${colors.foreground}
|
||||||
|
|
||||||
|
# Use --node-blacklist to remove the unwanted PulseAudio .monitor that are child of sinks
|
||||||
|
exec = pulseaudio-control --node-type input --icons-volume "" --icon-muted "" --node-nickname "alsa_output.pci-0000_0c_00.3.analog-stereo: Webcam" --node-nickname "alsa_output.usb-Kingston_HyperX_Virtual_Surround_Sound_00000000-00.analog-stereo: Headphones" --node-blacklist "*.monitor" listen
|
||||||
|
click-right = exec pavucontrol &
|
||||||
|
click-left = pulseaudio-control --node-type input togmute
|
||||||
|
click-middle = pulseaudio-control --node-type input next-node
|
||||||
|
scroll-up = pulseaudio-control --node-type input --volume-max 130 up
|
||||||
|
scroll-down = pulseaudio-control --node-type input --volume-max 130 down
|
||||||
Executable
+25
@@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
SOURCE=$(pw-record --list-targets | sed -n 's/^*.*"\(.*\)" prio=.*$/\1/p')
|
||||||
|
SINK=$(pw-play --list-targets | sed -n 's/^*.*"\(.*\)" prio=.*$/\1/p')
|
||||||
|
VOLUME=$(pactl list sinks | sed -n "/${SINK}/,/Volume/ s!^[[:space:]]\+Volume:.* \([[:digit:]]\+\)%.*!\1!p")
|
||||||
|
IS_MUTED=$(pactl list sinks | sed -n "/${SINK}/,/Mute/ s/Mute: \(yes\)/\1/p")
|
||||||
|
|
||||||
|
action=$1
|
||||||
|
if [ "${action}" == "up" ]; then
|
||||||
|
pactl set-sink-volume @DEFAULT_SINK@ +10%
|
||||||
|
elif [ "${action}" == "down" ]; then
|
||||||
|
pactl set-sink-volume @DEFAULT_SINK@ -10%
|
||||||
|
elif [ "${action}" == "mute" ]; then
|
||||||
|
pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||||
|
else
|
||||||
|
if [ "${IS_MUTED}" != "" ]; then
|
||||||
|
echo " ${SOURCE} | MUTED ${SINK}"
|
||||||
|
else
|
||||||
|
echo " ${SOURCE} | ${VOLUME}% ${SINK}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
[module/pulseaudio]
|
||||||
|
type = internal/pulseaudio
|
||||||
|
use-ui-max = false
|
||||||
|
|
||||||
|
format-volume = <ramp-volume> <label-volume>
|
||||||
|
format-volume-background = ${colors.background-module}
|
||||||
|
format-muted-background = ${colors.background-module}
|
||||||
|
format-volume-padding = 1
|
||||||
|
format-muted-padding = 1
|
||||||
|
|
||||||
|
|
||||||
|
label-muted = Mute
|
||||||
|
ramp-volume-0 =
|
||||||
|
ramp-volume-1 =
|
||||||
|
ramp-volume-2 =
|
||||||
|
ramp-volume-3 =
|
||||||
|
|
||||||
|
click-right = pavucontrol
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
[module/round-left]
|
||||||
|
type = custom/text
|
||||||
|
|
||||||
|
content = %{T9}%{T-}
|
||||||
|
content-foreground = ${colors.background-module}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
[module/round-right]
|
||||||
|
type = custom/text
|
||||||
|
|
||||||
|
content = %{T9}%{T-}
|
||||||
|
content-foreground = ${colors.background-module}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
[module/screenshot]
|
||||||
|
type = custom/text
|
||||||
|
content = %{T10} %{T-}
|
||||||
|
content-background = ${colors.background-module}
|
||||||
|
|
||||||
|
click-left = flameshot gui
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
[module/sep]
|
||||||
|
type = custom/text
|
||||||
|
content =" | "
|
||||||
|
content-background = ${colors.background-module}
|
||||||
|
content-foreground = ${colors.light-blue}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
[module/temperature]
|
||||||
|
type = internal/temperature
|
||||||
|
thermal-zone = 0
|
||||||
|
warn-temperature = 60
|
||||||
|
|
||||||
|
format-padding = 1
|
||||||
|
|
||||||
|
format = <label>
|
||||||
|
format-warn = <label-warn>
|
||||||
|
|
||||||
|
format-background = ${colors.background-module}
|
||||||
|
format-warn-background = ${colors.bg}
|
||||||
|
format-warn-padding = 1
|
||||||
|
|
||||||
|
label = %temperature-c%
|
||||||
|
label-warn = %temperature-c%
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
[module/title]
|
||||||
|
type = internal/xwindow
|
||||||
|
format = <label>
|
||||||
|
format-background = ${colors.background-module}
|
||||||
|
label = " %title% "
|
||||||
|
label-maxlen = 40
|
||||||
|
label-empty = Desktop
|
||||||
|
|
||||||
Reference in New Issue
Block a user