From 9a6771b513520222e6c967dbadd982021f71235e Mon Sep 17 00:00:00 2001 From: Max Christian Pohle Date: Sun, 16 Oct 2016 03:31:37 +0200 Subject: Cool config with window highlighting uses compton and a special i3 version, currently i3-gaps to make windows borderless if they are the only windows on the screen --- compton.conf | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++ config | 102 ++++++++++++++++++++++++++++++---------------------------- i3status.conf | 33 +++++++++++++++++-- 3 files changed, 175 insertions(+), 51 deletions(-) create mode 100644 compton.conf diff --git a/compton.conf b/compton.conf new file mode 100644 index 0000000..242f000 --- /dev/null +++ b/compton.conf @@ -0,0 +1,91 @@ +# Shadow +shadow = true; # Enabled client-side shadows on windows. +no-dock-shadow = true; # Avoid drawing shadows on dock/panel windows. +no-dnd-shadow = true; # Don't draw shadows on DND windows. +clear-shadow = true; # Zero the part of the shadow's mask behind the + # window. Fix some weirdness with ARGB windows. +shadow-radius = 7; # The blur radius for shadows. (default 12) +shadow-offset-x = -7; # The left offset for shadows. (default -15) +shadow-offset-y = -7; # The top offset for shadows. (default -15) +shadow-opacity = 0.7; # The translucency for shadows. (default .75) +# shadow-red = 0.0; # Red color value of shadow. (0.0 - 1.0, defaults to 0) +# shadow-green = 0.0; # Green color value of shadow. (0.0 - 1.0, defaults to 0) +# shadow-blue = 0.0; # Blue color value of shadow. (0.0 - 1.0, defaults to 0) +shadow-exclude = [ "n:e:Notification" ]; # Exclude conditions for shadows. +# shadow-exclude = "n:e:Notification"; +shadow-ignore-shaped = true; # Avoid drawing shadow on all shaped windows + # (see also: --detect-rounded-corners) + +# Opacity +menu-opacity = 0.9; # The opacity for menus. (default 1.0) +inactive-opacity = 0.9; # Default opacity of inactive windows. (0.0 - 1.0) +# active-opacity = 0.8; # Default opacity for active windows. (0.0 - 1.0) +# frame-opacity = 0.8; # Opacity of window titlebars and borders. (0.1 - 1.0) +# inactive-opacity-override = true; # Let inactive opacity set by 'inactive-opacity' overrides + # value of _NET_WM_OPACITY. Bad choice. +alpha-step = 0.06; # XRender backend: Step size for alpha pictures. Increasing + # it may result in less X resource usage, + # Yet fading may look bad. +# inactive-dim = 0.2; # Dim inactive windows. (0.0 - 1.0) +# inactive-dim-fixed = true; # Do not let dimness adjust based on window opacity. +# blur-background = true; # Blur background of transparent windows. + # Bad performance with X Render backend. + # GLX backend is preferred. +# blur-background-frame = true; # Blur background of opaque windows with transparent + # frames as well. +blur-background-fixed = false; # Do not let blur radius adjust based on window opacity. +blur-background-exclude = [ "window_type = 'dock'", "window_type = 'desktop'" ]; + # Exclude conditions for background blur. + +# Fading +fading = true; # Fade windows during opacity changes. +# fade-delta = 30; # The time between steps in a fade in milliseconds. (default 10). +fade-in-step = 0.03; # Opacity change between steps while fading in. (default 0.028). +fade-out-step = 0.03; # Opacity change between steps while fading out. (default 0.03). +# no-fading-openclose = true; # Avoid fade windows in/out when opening/closing. +fade-exclude = [ ]; # Exclude conditions for fading. + +# Other +backend = "xrender" # Backend to use: "xrender" or "glx". GLX backend is typically + # much faster but depends on a sane driver. +mark-wmwin-focused = true; # Try to detect WM windows and mark them as active. +mark-ovredir-focused = true; # Mark all non-WM but override-redirect windows active (e.g. menus). +use-ewmh-active-win = false; # 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. +detect-rounded-corners = true; # Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on. +detect-client-opacity = true; # Detect _NET_WM_OPACITY on client windows, useful for window + # managers not passing _NET_WM_OPACITY of client windows to frame + # windows. +refresh-rate = 0; # For --sw-opti: Specify refresh rate of the screen. 0 for auto. +vsync = "none"; # "none", "drm", "opengl", "opengl-oml", "opengl-swc", "opengl-mswc" + # See man page for more details. +dbe = false; # Enable DBE painting mode. Rarely needed. +paint-on-overlay = true; # Painting on X Composite overlay window. Recommended. +sw-opti = false; # Limit compton to repaint at most once every 1 / refresh_rate. + # Incompatible with certain VSync methods. +unredir-if-possible = false; # Unredirect all windows if a full-screen opaque window is + # detected, to maximize performance for full-screen windows. +focus-exclude = [ ]; # A list of conditions of windows that should always be considered + # focused. +detect-transient = true; # Use WM_TRANSIENT_FOR to group windows, and consider windows in + # the same group focused at the same time. +detect-client-leader = true; # Use WM_CLIENT_LEADER to group windows. +invert-color-include = [ ]; # Conditions for windows to be painted with inverted color. + +# GLX backend # GLX backend fine-tune options. See man page for more info. +# glx-no-stencil = true; # Recommended. +glx-copy-from-front = false; # Useful with --glx-swap-method, +# glx-use-copysubbuffermesa = true; # Recommended if it works. Breaks VSync. +# glx-no-rebind-pixmap = true; # Recommended if it works. +glx-swap-method = "undefined"; # See man page. + +# Window type settings +wintypes: +{ + tooltip = { fade = true; shadow = false; opacity = 0.75; focus = true; }; + # fade: Fade the particular type of windows. + # shadow: Give those windows shadow + # opacity: Default opacity for the type of windows. + # focus: Whether to always consider windows of this type focused. +}; diff --git a/config b/config index d613e14..0a3cbde 100644 --- a/config +++ b/config @@ -17,7 +17,8 @@ set $mod Mod4 # 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:Neris SemiBold 11 +# font pango:Neris SemiBold 10 +font pango:Source Code Pro Bold 11 # font pango:DejaVu Sans Mono 12 # Before i3 v4.8, we used to recommend this one as the default: @@ -32,7 +33,8 @@ floating_modifier $mod # start a terminal # bindsym $mod+Return exec i3-sensible-terminal -bindsym $mod+Return exec xfce4-terminal +bindsym $mod+Return exec xfce4-appfinder +bindsym Mod1+F2 exec --no-startup-id rofi -show run -bg #222222 -fg #888888 -hlbg #285577 -hlfg #ffffff bindsym $mod+t exec xfce4-terminal bindsym $mod+e exec thunar @@ -47,22 +49,22 @@ bindsym Mod1+F4 kill # installed. # bindsym $mod+d exec --no-startup-id i3-dmenu-desktop bindsym $mod+d exec --no-startup-id j4-dmenu-desktop -bindsym Mod1+F2 exec --no-startup-id j4-dmenu-desktop # 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 +bindsym $mod+Left focus left ; exec pkill -SIGRTMIN+11 i3blocks +bindsym $mod+Down focus down ; exec pkill -SIGRTMIN+11 i3blocks +bindsym $mod+Up focus up ; exec pkill -SIGRTMIN+11 i3blocks +bindsym $mod+Right focus right ; exec pkill -SIGRTMIN+11 i3blocks + # 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 $mod+Shift+Left move left ; exec pkill -SIGRTMIN+11 i3blocks +bindsym $mod+Shift+Down move down ; exec pkill -SIGRTMIN+11 i3blocks +bindsym $mod+Shift+Up move up ; exec pkill -SIGRTMIN+11 i3blocks +bindsym $mod+Shift+Right move right ; exec pkill -SIGRTMIN+11 i3blocks # split in horizontal orientation # bindsym $mod+h split h @@ -91,6 +93,7 @@ bindsym $mod+a focus parent #bindsym $mod+d focus child workspace 1 output VGA1 +workspace_layout tabbed # switch to workspace bindsym $mod+1 workspace 1 @@ -127,34 +130,19 @@ bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcu bindsym $mod+m move scratchpad bindsym $mod+Shift+m scratchpad show ; resize set 1920 920 ; move position center -for_window [class="^.*"] border pixel 8 -# smart_borders on -# gaps inner 8 -# gaps outer 8 +for_window [class="^.*"] border normal 4 +for_window [title="^.*Thunderbird"] border pixel 0 +for_window [title="^HexChat.*"] border pixel 0 +for_window [title="^.*"] exec pkill -SIGRTMIN+11 i3blocks +for_window [title="^.*"] exec pkill -SIGRTMIN+11 i3blocks +for_window [title="cairo-dock"] floating enable ; border none +for_window[class="Plank"] floating enable,move absolute center + -# 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" -# } + +smart_borders on +# gaps inner 5 +# gaps outer 5 bindsym $mod+r mode "resize" @@ -162,21 +150,32 @@ bindsym $mod+r mode "resize" # finds out, if available) bar { status_command i3status --config ~/.config/i3/i3status.conf + # status_command i3blocks colors { - background #061229 + background #2a3448 statusline #ffffff } # tray_output VGA1 - tray_padding 4 + # tray_padding 4 # font pango:DejaVu Sans Mono 12 # separator_symbol "┋" - position top + position bottom # output VGA1 binding_mode_indicator yes } -client.focused #ffffff #061229 #ffffff #5299BF #ffffff -# client.unfocused #000000 #061229 #000000 #ff0000 #000000 + +# client.focused #ffffff #061229 #ffffff #5299BF #ffffff +# client.unfocused #000000 #061229 #ffffff #ff0000 #000000 +#colors: border backgr. text indicator + +client.focused #2a3448 #5299bf #2a3448 #f0a000 +client.focused_inactive #061229 #061229 #ffffff #ffffff +client.unfocused #061229 #061229 #5299bf #ffffff +client.urgent #2a3448 #900000 #5299bf #ffffff +client.background #000000 #000000 #000000 #ffffff + +# hide_edge_borders both bindsym $mod+F2 exec i3-input -F 'rename workspace to "%s"' -P 'New name: ' bindsym Control+Mod1+Left workspace prev_on_output @@ -195,10 +194,10 @@ bindsym Control+Mod1+Right workspace next_on_output # bindsym $mod+Shift+semicolon move right # change focus -bindsym $mod+h focus left -bindsym $mod+j focus down -bindsym $mod+k focus up -bindsym $mod+l focus right +bindsym $mod+h focus left ; exec killall -USR1 i3status +bindsym $mod+j focus down ; exec killall -USR1 i3status +bindsym $mod+k focus up ; exec killall -USR1 i3status +bindsym $mod+l focus right ; exec killall -USR1 i3status # move focused window bindsym $mod+Shift+h move left @@ -242,9 +241,14 @@ mode "resize" { + exec --no-startup-id dbus-launch gnome-settings-daemon exec --no-startup-id dbus-launch nm-applet exec --no-startup-id dbus-launch nextcloud -exec --no-startup-id nitrogen --restore + exec --no-startup-id setxkbmap -option caps:escape -exec xset r rate 330 75 +exec --no-startup-id xset r rate 330 40 + +# start compositor... +exec --no-startup-id compton -bc +exec --no-startup-id nitrogen --restore diff --git a/i3status.conf b/i3status.conf index 34a56d9..fd093ed 100644 --- a/i3status.conf +++ b/i3status.conf @@ -8,11 +8,13 @@ general { colors = true + color_good = "#88ff88" + color_bad = "#880000" interval = 5 + output_format = i3bar } order += "ipv6" -order += "disk /" # order += "run_watch VPN" order += "path_exists VPN" order += "run_watch DHCP" @@ -20,9 +22,24 @@ order += "run_watch DHCP" order += "ethernet _first_" order += "ethernet enp7s0" # order += "battery 0" +order += "volume master" +order += "cpu_temperature 1" +order += "cpu_usage" order += "load" +order += "disk /" order += "tztime local" +ipv6 +{ + format_down = "" +} + +cpu_temperature 1 +{ + format = "%degrees°C" + path = "/sys/class/thermal/thermal_zone2/temp" +} + wireless _first_ { format_up = "W: (%quality at %essid) %ip" format_down = "W: down" @@ -48,12 +65,14 @@ battery 0 { run_watch DHCP { pidfile = "/var/run/dhclient*.pid" + format = "%title" } path_exists VPN { # path exists when a VPN tunnel launched by nmcli/nm-applet is active path = "/proc/sys/net/ipv4/conf/tun0" + format_down = "" } run_watch VPN { @@ -65,9 +84,19 @@ tztime local { } load { - format = "%1min" + format = "%5min" } disk "/" { format = "%avail" } + +volume master { + format = "♪: %volume" + format_muted = "♪: muted (%volume)" + device = "pulse:0" +} + +cpu_usage { + format = "%usage" +} -- cgit v1.2.3