Răsfoiți Sursa

actually add i3

Josh Bicking 7 ani în urmă
părinte
comite
a1e8d0848b
11 a modificat fișierele cu 1211 adăugiri și 1 ștergeri
  1. 0 1
      i3
  2. 235 0
      i3/compton.conf
  3. 69 0
      i3/compton.conf.got
  4. 450 0
      i3/config
  5. 269 0
      i3/config.purple
  6. 3 0
      i3/gnome.sh
  7. 34 0
      i3/i3exit
  8. 129 0
      i3/i3status
  9. 6 0
      i3/rofi.sh
  10. 10 0
      i3/togglecompton.sh
  11. 6 0
      i3/toggletouchpad.sh

+ 0 - 1
i3

@@ -1 +0,0 @@
-/home/josh/Owncloud/Tech/configs/i3-arch

+ 235 - 0
i3/compton.conf

@@ -0,0 +1,235 @@
+# Thank you code_nomad: http://9m.no/ꪯ鵞
+
+#################################
+#
+# Backend
+#
+#################################
+
+# Backend to use: "xrender" or "glx".
+# GLX backend is typically much faster but depends on a sane driver.
+backend = "glx";
+
+#################################
+#
+# 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.
+# Useful with --glx-swap-method, as well.
+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 = true;
+# Don't draw shadows on DND windows.
+no-dnd-shadow = true;
+# Avoid drawing shadows on dock/panel windows.
+no-dock-shadow = true;
+# Zero the part of the shadow's mask behind the window. Fix some weirdness with ARGB windows.
+clear-shadow = true;
+# The blur radius for shadows. (default 12)
+shadow-radius = 5;
+# The left offset for shadows. (default -15)
+shadow-offset-x = -5;
+# The top offset for shadows. (default -15)
+shadow-offset-y = -5;
+# The translucency for shadows. (default .75)
+shadow-opacity = 0.5;
+
+# 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'",
+    "class_g = 'Conky'",
+    "class_g = 'Kupfer'",
+    "class_g = 'Synapse'",
+    "class_g ?= 'Notify-osd'",
+    "class_g ?= 'Cairo-dock'",
+    "class_g ?= 'Xfce4-notifyd'",
+    "class_g ?= 'Xfce4-power-manager'",
+    "_GTK_FRAME_EXTENTS@:c"
+];
+# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners)
+shadow-ignore-shaped = false;
+
+#################################
+#
+# Opacity
+#
+#################################
+
+menu-opacity = 1;
+inactive-opacity = 1;
+active-opacity = 1;
+frame-opacity = 1;
+inactive-opacity-override = false;
+alpha-step = 0.06;
+
+# 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'"
+];
+
+#################################
+#
+# 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;
+
+# Set VSync method. VSync methods currently available:
+# none: No VSync
+# drm: VSync with DRM_IOCTL_WAIT_VBLANK. May only work on some drivers.
+# opengl: Try to VSync with SGI_video_sync OpenGL extension. Only work on some drivers.
+# opengl-oml: Try to VSync with OML_sync_control OpenGL extension. Only work on some drivers.
+# opengl-swc: Try to VSync with SGI_swap_control OpenGL extension. Only work on some drivers. Works only with GLX backend. Known to be most effective on many drivers. Does not actually control paint timing, only buffer swap is affected, so it doesn’t have the effect of --sw-opti unlike other methods. Experimental.
+# opengl-mswc: Try to VSync with MESA_swap_control OpenGL extension. Basically the same as opengl-swc above, except the extension we use.
+# (Note some VSync methods may not be enabled at compile time.)
+vsync = "opengl-swc";
+
+# Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing.
+# Reported to have no effect, though.
+dbe = false;
+# Painting on X Composite overlay window. Recommended.
+paint-on-overlay = true;
+
+# 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.
+# paint-on-overlay may make the flickering less obvious.
+unredir-if-possible = true;
+
+# 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: Fade the particular type of windows.
+        fade = true;
+        # shadow: Give those windows shadow
+        shadow = false;
+        # opacity: Default opacity for the type of windows.
+        opacity = 0.85;
+        # focus: Whether to always consider windows of this type focused.
+        focus = true;
+    };
+};
+
+inactive-dim = 0.2

+ 69 - 0
i3/compton.conf.got

@@ -0,0 +1,69 @@
+backend = "glx";
+vsync = "opengl-swc";
+
+shadow = true;
+no-dock-shadow = true;
+no-dnd-shadow = true;
+clear-shadow = true;
+
+shadow-radius = 10;
+shadow-offset-x = -5;
+shadow-offset-y = 0;
+shadow-opacity = 0.8;
+shadow-red = 0.11;
+shadow-green = 0.12;
+shadow-blue = 0.13;
+shadow-exclude = [
+  "name = 'Notification'",
+  "_GTK_FRAME_EXTENTS@:c",
+  "class_g = 'i3-frame'",
+  "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
+  "_NET_WM_STATE@:32a *= '_NET_WM_STATE_STICKY'",
+  "!I3_FLOATING_WINDOW@:c"
+];
+shadow-ignore-shaped = true;
+
+alpha-step = 0.06;
+blur-background = false;
+blur-background-fixed = true;
+blur-kern = "7x7box";
+blur-background-exclude = [
+  "class_g = 'i3-frame'",
+  "window_type = 'dock'",
+  "window_type = 'desktop'",
+  "_GTK_FRAME_EXTENTS@:c"
+];
+
+opacity-rule = [
+  "97:class_g = 'Termite' && !_NET_WM_STATE@:32a",
+  "0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
+  "90:_NET_WM_STATE@:32a *= '_NET_WM_STATE_STICKY'"
+];
+
+fading = false;
+fade-delta = 7;
+fade-in-step = 0.05;
+fade-out-step = 0.05;
+fade-exclude = [];
+
+mark-wmwin-focused = true;
+mark-ovredir-focused = true;
+use-ewmh-active-win = true;
+detect-rounded-corners = true;
+detect-client-opacity = true;
+refresh-rate = 0;
+dbe = false;
+paint-on-overlay = true;
+glx-no-stencil = true;
+glx-copy-from-front = false;
+glx-swap-method = "undefined";
+sw-opti = true;
+unredir-if-possible = false;
+focus-exclude = [];
+detect-transient = true;
+detect-client-leader = true;
+invert-color-include = [];
+
+wintypes: {
+    tooltip = { fade = true; shadow = false; opacity = 1.00; focus = true; };
+};

+ 450 - 0
i3/config

@@ -0,0 +1,450 @@
+# solarized light
+set $baseA3 #fdf6e3
+set $baseA2 #eee8d5
+set $baseA1 #93a1a1
+set $baseA0 #839496
+set $baseB0 #657b83
+set $baseB1 #586e75
+set $baseB2 #073642
+set $baseB3 #002b36
+set $custom #e1cab3
+
+set_from_resource	  $color15_i3wmthemer	    color15
+set_from_resource	  $color14_i3wmthemer	    color14
+set_from_resource	  $color13_i3wmthemer	    color13
+set_from_resource	  $color12_i3wmthemer	    color12
+set_from_resource	  $color11_i3wmthemer	    color11
+set_from_resource	  $color10_i3wmthemer	    color10
+set_from_resource	  $color09_i3wmthemer		  color9
+set_from_resource	  $color08_i3wmthemer		  color8
+set_from_resource	  $color07_i3wmthemer		  color7
+set_from_resource 	$color06_i3wmthemer		  color6
+set_from_resource 	$color05_i3wmthemer 	    color5
+set_from_resource 	$color04_i3wmthemer 	    color4
+set_from_resource 	$color03_i3wmthemer 	    color3
+set_from_resource 	$color02_i3wmthemer 	    color2
+set_from_resource 	$color01_i3wmthemer 	    color1
+set_from_resource	  $color00_i3wmthemer		  color0
+set_from_resource	  $foreground_i3wmthemer	foreground
+set_from_resource	  $background_i3wmthemer	background
+
+
+
+# from https://github.com/Airblader/dotfiles-manjaro/blob/master/.i3/config
+
+set_from_resource $darkred     color1  #000000
+set_from_resource $red         color9  #000000
+set_from_resource $darkgreen   color2  #000000
+set_from_resource $green       color10 #000000
+set_from_resource $darkyellow  color3  #000000
+set_from_resource $yellow      color11 #000000
+set_from_resource $darkblue    color4  #000000
+set_from_resource $blue        color12 #000000
+set_from_resource $darkmagenta color5  #000000
+set_from_resource $magenta     color13 #000000
+set_from_resource $darkcyan    color6  #000000
+set_from_resource $cyan        color14 #000000
+set_from_resource $darkwhite   color7  #000000
+set_from_resource $white       color15 #000000
+# Use custom colors for black
+set $black       #282828
+set $darkblack   #1d2021
+set $transparent #00000000
+
+set $height 34
+
+set $ws1  "1:  "
+set $ws2  "2:  "
+set $ws3  "3:  "
+set $ws4  "4:  "
+set $ws5  "5:  "
+set $ws6  "6:  "
+set $ws7  "7:  "
+set $ws8  "8:  "
+set $ws9  "9:  "
+set $ws10 "10:  "
+
+#set $default_gaps_inner 0
+#set $default_gaps_outer 0
+#gaps inner $default_gaps_inner
+#gaps outer $default_gaps_outer
+
+workspace $ws1 gaps inner 0
+workspace $ws1 gaps outer 0
+workspace $ws9 gaps inner 0
+workspace $ws9 gaps outer 0
+workspace $ws10 gaps inner 0
+workspace $ws10 gaps outer 0
+
+#workspace_auto_back_and_forth yes
+force_display_urgency_hint 0 ms
+focus_on_window_activation urgent
+
+floating_minimum_size -1 x -1
+floating_maximum_size -1 x -1
+
+font pango:Hack, FontAwesome 12
+
+# dark
+# #                       BORDER      BACKGROUND  TEXT        INDICATOR   CHILD_BORDER
+# client.focused          $black      $black      $white      $darkblack  $darkblack
+# client.unfocused        $black      $black      $darkwhite  $darkblack  $darkblack
+# client.focused_inactive $black      $black      $white      $darkblack  $darkblack
+# client.urgent           $darkred    $darkred    $black      $darkred    $darkred
+# client.background       $black
+
+# solarized-light
+# clientclass 			border  backgr. text 	indicator
+client.focused 			$green	$green	$baseB3 $blue
+client.focused_inactive		$cyan	$cyan	$baseB2 $violet
+client.unfocused  		$baseA2 $baseA2 $baseB1 $baseA1
+#client.urgent 	 		$orange $orange $baseB3 $red
+client.urgent 	 		$yellow $yellow $baseB3 $orange
+
+client.background #fdf6e3
+
+bindsym $mod+d exec --no-startup-id zsh -c 'rofi -show run'
+
+bindsym $mod+Tab workspace back_and_forth
+
+bindsym $mod+Shift+minus move scratchpad
+bindsym $mod+Shift+plus scratchpad show
+
+
+set $mode_gaps gaps
+set $mode_gaps_outer outer gaps
+set $mode_gaps_inner inner gaps
+bindsym $mod+Shift+g mode "$mode_gaps"
+mode "$mode_gaps" {
+    bindsym o      mode "$mode_gaps_outer"
+    bindsym i      mode "$mode_gaps_inner"
+
+    bindsym 0      mode "default", exec --no-startup-id i3-msg "gaps inner current set 0" && i3-msg "gaps outer current set 0"
+    bindsym d      mode "default", exec --no-startup-id i3-msg "gaps inner current set $default_gaps_inner" && i3-msg "gaps outer current set $default_gaps_outer"
+
+    bindsym Return mode "default"
+    bindsym Escape mode "default"
+}
+
+mode "$mode_gaps_inner" {
+    bindsym plus  gaps inner current plus 5
+    bindsym minus gaps inner current minus 5
+    bindsym 0     mode "default", gaps inner current set 0
+    bindsym d     mode "default", gaps inner current set $default_gaps_inner
+
+    bindsym Shift+plus  gaps inner all plus 5
+    bindsym Shift+minus gaps inner all minus 5
+    bindsym Shift+0     mode "default", gaps inner all set 0
+    bindsym Shift+d     mode "default", gaps inner all set $default_gaps_inner
+
+    bindsym Return mode "default"
+    bindsym Escape mode "default"
+}
+
+mode "$mode_gaps_outer" {
+    bindsym plus  gaps outer current plus 5
+    bindsym minus gaps outer current minus 5
+    bindsym 0     mode "default", gaps outer current set 0
+    bindsym d     mode "default", gaps outer current set $default_gaps_outer
+
+    bindsym Shift+plus  gaps outer all plus 5
+    bindsym Shift+minus gaps outer all minus 5
+    bindsym Shift+0     mode "default", gaps outer all set 0
+    bindsym Shift+d     mode "default", gaps outer all set $default_gaps_outer
+
+    bindsym Return mode "default"
+    bindsym Escape mode "default"
+}
+
+
+# fix graphics glitch
+new_window none
+#for_window [class=(?i)termite] border pixel 3
+
+for_window [window_role="pop-up"] floating enable
+for_window [window_role="bubble"] floating enable
+for_window [window_role="task_dialog"] floating enable
+for_window [window_role="Preferences"] floating enable
+
+for_window [window_type="dialog"] floating enable
+for_window [window_type="menu"] floating enable
+
+for_window [class="(?i)gsimplecal"] floating enable, move position mouse, move down $height px
+for_window [class="(?i)qemu-system"] floating enable
+for_window [class="(?i)VirtualBox" title="(?i)Manager"] floating enable
+for_window [class="(?i)blueman"] floating enable
+
+#for_window [instance="sun-awt-X11-XFramePeer"] floating enable
+for_window [instance="__scratchpad"] floating enable
+for_window [instance="__nmtui"] floating enable
+for_window [class="(?i)recordmydesktop"] floating enable
+
+for_window [class="(?i)pavucontrol"] floating enable, move position mouse
+for_window [class="(?i)pavucontrol" instance="pavucontrol-bar"] move down $height px
+
+#assign [class="(?i)chrome"]                       $ws1
+assign [class="(?i)eclipse" window_type="splash"] $ws3
+assign [class="(?i)eclipse" window_type="normal"] $ws3
+assign [class="(?i)thunderbird"]                  $ws9
+
+## MINE 
+# i3 config file (v4)
+#
+# Please see http://i3wm.org/docs/userguide.html for a complete reference!
+
+
+# exec --no-startup-id /usr/lib/gnome-session/gnome-session/binary
+
+set $mod Mod4
+
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
+# start a terminal
+bindsym $mod+Return exec gnome-terminal
+
+# kill focused window
+bindsym $mod+Shift+q kill
+
+# change focus
+bindsym $mod+h focus left
+bindsym $mod+j focus down
+bindsym $mod+k focus up
+bindsym $mod+l 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+h move left
+bindsym $mod+Shift+j move down
+bindsym $mod+Shift+k move up
+bindsym $mod+Shift+l move right
+
+# alternatively, you can use the cursor keys:
+bindsym $mod+Shift+Left move left
+bindsym $mod+Shift+Down move down
+bindsym $mod+Shift+Up move up
+bindsym $mod+Shift+Right move right
+
+# split in horizontal orientation
+bindsym $mod+g split h
+
+# split in vertical orientation
+bindsym $mod+v split v
+
+# enter fullscreen mode for the focused container
+bindsym $mod+Shift+f fullscreen toggle
+
+# change container layout (stacked, tabbed, toggle split)
+bindsym $mod+s layout stacking
+bindsym $mod+q layout tabbed
+bindsym $mod+e layout toggle split
+
+# toggle tiling / floating
+bindsym $mod+Shift+space floating toggle
+
+# 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
+
+# switch to workspace
+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+t workspace next
+bindsym $mod+Shift+T workspace prev
+
+# move focused container to workspace
+bindsym $mod+Shift+1 move container to workspace 1
+bindsym $mod+Shift+2 move container to workspace 2
+bindsym $mod+Shift+3 move container to workspace 3
+bindsym $mod+Shift+4 move container to workspace 4
+bindsym $mod+Shift+5 move container to workspace 5
+bindsym $mod+Shift+6 move container to workspace 6
+bindsym $mod+Shift+7 move container to workspace 7
+bindsym $mod+Shift+8 move container to workspace 8
+bindsym $mod+Shift+9 move container to workspace 9
+bindsym $mod+Shift+0 move container to workspace 10
+
+# reload the configuration file
+bindsym $mod+Shift+c reload
+# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
+bindsym $mod+Shift+r restart
+
+# power/lock options
+set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown
+mode "$mode_system" {
+    bindsym l exec --no-startup-id ~/.i3/i3exit lock, mode "default"
+    bindsym e exec --no-startup-id ~/.i3/i3exit logout, mode "default"
+    bindsym s exec --no-startup-id ~/.i3/i3exit suspend, mode "default"
+    bindsym h exec --no-startup-id ~/.i3/i3exit hibernate, mode "default"
+    bindsym r exec --no-startup-id ~/.i3/i3exit reboot, mode "default"
+    bindsym Shift+s exec --no-startup-id ~/.i3/i3exit shutdown, mode "default"
+
+    # back to normal: Enter or Escape
+    bindsym Return mode "default"
+    bindsym Escape mode "default"
+}
+bindsym $mod+Shift+e mode "$mode_system"
+# 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'"
+
+# 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 h resize shrink width 10 px or 10 ppt
+        bindsym j resize grow height 10 px or 10 ppt
+        bindsym k resize shrink height 10 px or 10 ppt
+        bindsym l 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"
+
+# i3bar likes primary output
+#exec --no-startup-id xrandr --output eDP1 --primary
+
+# Start i3bar to display a workspace bar (plus the system information i3status
+# finds out, if available)
+bar {
+
+    i3bar_command i3bar
+
+    #font pango:Hack, FontAwesome 11
+    font pango:DejaVu Sans Mono 12
+    #status_command i3status -c ~/.i3/i3status
+    status_command py3status -c ~/.i3/i3status
+    #tray_output primary
+
+
+    # solarized-light
+    colors {
+
+        # solarized (clean)
+	###################
+
+        separator $blue
+ 	background $baseA3
+	statusline $baseB2
+
+ 	# workclass 			border  backgr. text
+ 	focused_workspace		$green  $green  $baseA3
+ 	active_workspace		$cyan   $cyan   $baseA2
+ 	inactive_workspace		$baseA2 $baseA2 $baseB1
+ 	urgent_workspace		$orange $orange $baseB3
+ 	#urgent_workspace		$yellow $yellow $baseB3
+    }
+    # dark
+    # colors {
+    #     statusline         #FFFFFF
+    #     background         $black
+    #     separator          $transparent
+    #
+    #     #                  BORDER       BACKGROUND   TEXT
+    #     focused_workspace  $transparent $transparent #FFFFFF
+    #     inactive_workspace $transparent $transparent $darkred
+    #     active_workspace   $transparent $transparent $darkred
+    #     urgent_workspace   $darkred     $darkred     $transparent
+    #     binding_mode       $darkred     $darkred     $transparent
+    # }
+}
+# applets
+exec --no-startup-id nm-applet
+#exec --no-startup-id pasystray
+exec --no-startup-id owncloud
+exec --no-startup-id xfce4-clipman
+
+# default screen brightness
+exec --no-startup-id xbacklight -set 11
+
+# Screen brightness controls
+bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 5 # increase screen brightness
+bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 5 # decrease screen brightness
+
+# Touchpad controls
+bindsym XF86TouchpadToggle exec --no-startup-id /home/josh/.i3/toggletouchpad.sh # toggle touchpad
+
+# Pulse Audio controls
+bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume alsa_output.pci-0000_00_1f.3.analog-stereo +5% #increase sound volume
+bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume alsa_output.pci-0000_00_1f.3.analog-stereo -5% #decrease sound volume
+bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute alsa_output.pci-0000_00_1f.3.analog-stereo toggle # mute sound
+
+# Browser
+bindsym $mod+w exec chromium
+
+# Background
+exec --no-startup-id feh --bg-scale ~/Owncloud/Backgrounds/gnulinux_yinyang_wallpaper_by_dablim-d71ljd7.png
+
+# Emacs daemon
+# exec --no-startup-id emacs --daemon
+# (Now starting through systemd)
+
+# File browser
+bindsym $mod+f exec --no-startup-id nautilus
+
+# Compton
+bindsym $mod+c exec --no-startup-id .i3/togglecompton.sh
+
+exec --no-startup-id compton -bCG
+
+
+# redshift
+exec --no-startup-id redshift -t 6500:3500
+
+# screenshots
+bindsym --release Control+Shift+4 exec --no-startup-id xfce4-screenshooter -r -s ~/Pictures
+bindsym Control+Shift+3 exec --no-startup-id xfce4-screenshooter -f -s ~/Pictures
+bindsym Control+Shift+2 exec --no-startup-id xfce4-screenshooter -w -s ~/Pictures
+
+
+# set menu to super
+exec --no-startup-id xmodmap -e "keycode 135 = Super_R"  
+
+# disable touchpad while typing
+exec --no-startup-id syndaemon -i .2 -d
+
+# border size
+new_window pixel 3
+
+for_window [class="Gsimplecal"] floating enable
+for_window [class="Gsimplecal"] move absolute position 1625px 900px
+
+# exec --no-startup-id dbus-send \
+#     --session \
+#         --print-reply=literal \
+#             --dest=org.gnome.SessionManager \
+#                 "/org/gnome/SessionManager" \
+#                     org.gnome.SessionManager.RegisterClient \
+#                         "string:i3" \
+#                             "string:$DESKTOP_AUTOSTART_ID"

+ 269 - 0
i3/config.purple

@@ -0,0 +1,269 @@
+# i3 config file (v4)
+#
+# Please see http://i3wm.org/docs/userguide.html for a complete reference!
+
+exec --no-startup-id /usr/bin/gnome-settings-daemon
+
+set $mod Mod4
+
+# Font for window titles. Will also be used by the bar unless a different font
+# is used in the bar {} block below.
+#font pango:monospace 8
+font pango:Ubuntu Mono 10
+#font pango:Droid Sans 10
+#font pango:Adwaita 10
+#font pango:DejaVu Sans Mono 10
+
+# 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 10
+
+# Before i3 v4.8, we used to recommend this one as the default:
+# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
+# The font above is very space-efficient, that is, it looks good, sharp and
+# clear in small sizes. However, its unicode glyph coverage is limited, the old
+# X core fonts rendering does not support right-to-left and this being a bitmap
+# font, it doesn’t scale on retina/hidpi displays.
+
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
+# start a terminal
+#bindsym $mod+Return exec i3-sensible-terminal
+bindsym $mod+Return exec gnome-terminal
+#bindsym $mod+Return exec xfce4-terminal
+
+# kill focused window
+bindsym $mod+Shift+q kill
+
+# start dmenu (a program launcher)
+#bindsym $mod+d exec PATH=$HOME/bin:$PATH dmenu_run
+
+# start rofi
+bindsym $mod+d exec ~/.config/i3/rofi.sh
+
+# There also is the (new) i3-dmenu-desktop which only displays applications
+# shipping a .desktop file. It is a wrapper around dmenu, so you need that
+# installed.
+# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
+
+# change focus
+bindsym $mod+h focus left
+bindsym $mod+j focus down
+bindsym $mod+k focus up
+bindsym $mod+l 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+h move left
+bindsym $mod+Shift+j move down
+bindsym $mod+Shift+k move up
+bindsym $mod+Shift+l move right
+
+# alternatively, you can use the cursor keys:
+bindsym $mod+Shift+Left move left
+bindsym $mod+Shift+Down move down
+bindsym $mod+Shift+Up move up
+bindsym $mod+Shift+Right move right
+
+# split in horizontal orientation
+bindsym $mod+g split h
+
+# split in vertical orientation
+bindsym $mod+v split v
+
+# enter fullscreen mode for the focused container
+bindsym $mod+Shift+f fullscreen toggle
+
+# change container layout (stacked, tabbed, toggle split)
+bindsym $mod+s layout stacking
+bindsym $mod+q layout tabbed
+bindsym $mod+e layout toggle split
+
+# toggle tiling / floating
+bindsym $mod+Shift+space floating toggle
+
+# 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
+
+# switch to workspace
+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
+
+# move focused container to workspace
+bindsym $mod+Shift+1 move container to workspace 1
+bindsym $mod+Shift+2 move container to workspace 2
+bindsym $mod+Shift+3 move container to workspace 3
+bindsym $mod+Shift+4 move container to workspace 4
+bindsym $mod+Shift+5 move container to workspace 5
+bindsym $mod+Shift+6 move container to workspace 6
+bindsym $mod+Shift+7 move container to workspace 7
+bindsym $mod+Shift+8 move container to workspace 8
+bindsym $mod+Shift+9 move container to workspace 9
+bindsym $mod+Shift+0 move container to workspace 10
+
+# reload the configuration file
+bindsym $mod+Shift+c reload
+# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
+bindsym $mod+Shift+r restart
+
+# power/lock options
+set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown
+mode "$mode_system" {
+    bindsym l exec --no-startup-id ~/.config/i3/i3exit lock, mode "default"
+    bindsym e exec --no-startup-id ~/.config/i3/i3exit logout, mode "default"
+    bindsym s exec --no-startup-id ~/.config/i3/i3exit suspend, mode "default"
+    bindsym h exec --no-startup-id ~/.config/i3/i3exit hibernate, mode "default"
+    bindsym r exec --no-startup-id ~/.config/i3/i3exit reboot, mode "default"
+    bindsym Shift+s exec --no-startup-id ~/.config/i3/i3exit shutdown, mode "default"
+
+    # back to normal: Enter or Escape
+    bindsym Return mode "default"
+    bindsym Escape mode "default"
+}
+bindsym $mod+Shift+e mode "$mode_system"
+# 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'"
+
+# 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 h resize shrink width 10 px or 10 ppt
+        bindsym j resize grow height 10 px or 10 ppt
+        bindsym k resize shrink height 10 px or 10 ppt
+        bindsym l 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"
+
+# i3bar likes primary output
+#exec --no-startup-id xrandr --output eDP1 --primary
+
+# Start i3bar to display a workspace bar (plus the system information i3status
+# finds out, if available)
+bar {
+
+    # transparency
+    i3bar_command i3bar -t
+
+    font pango:DejaVu Sans Mono 10
+    #status_command i3status -c ~/.config/i3/i3status
+    status_command py3status -c ~/.config/i3/i3status
+    #tray_output primary
+
+    colors {
+        background #000000AA
+        statusline #ffffff
+
+        # Light purple (#E066FF)
+        focused_workspace  #FFFFFF #660080 #FFFFFF
+        active_workspace   #FFFFFF #660080 #FFFFFF
+        inactive_workspace #333333 #222222 #FFFFFF
+        urgent_workspace   #2f343a #900000 #ffffff
+    }
+}
+
+# applets
+exec --no-startup-id nm-applet
+exec --no-startup-id pasystray
+exec --no-startup-id owncloud
+exec --no-startup-id xfce4-clipman
+
+# default screen brightness
+exec --no-startup-id xbacklight -set 10
+
+# Screen brightness controls
+bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 5 # increase screen brightness
+bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 5 # decrease screen brightness
+
+#exec --no-startup-id xbacklight --set 25 # start at 25
+
+# Touchpad controls
+bindsym XF86TouchpadToggle exec --no-startup-id /home/josh/.config/i3/toggletouchpad.sh # toggle touchpad
+
+# Pulse Audio controls
+bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo +5% #increase sound volume
+bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo -5% #decrease sound volume
+bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo toggle # mute sound
+
+# Browser
+bindsym $mod+w exec firefox
+
+# Background
+exec --no-startup-id feh --bg-scale ~/Owncloud/Backgrounds/ram-purple.png
+
+# Thunar keybind
+bindsym $mod+f exec --no-startup-id thunar
+
+# Compton toggle keybind
+bindsym $mod+c exec --no-startup-id .config/i3/togglecompton.sh
+
+# compton
+# exec --no-startup-id compton -b -c --config .config/compton.conf -i .8 -e .8
+
+# redshift
+exec --no-startup-id redshift -t 6500:3500
+
+# screenshots
+bindsym Control+Shift+4 exec --no-startup-id xfce4-screenshooter -r -s ~/Pictures
+bindsym Control+Shift+3 exec --no-startup-id xfce4-screenshooter -f -s ~/Pictures
+bindsym Control+Shift+2 exec --no-startup-id xfce4-screenshooter -w -s ~/Pictures
+
+# bind caps lock to esc
+#exec --no-startup-id xmodmap -e "clear lock" #disable caps lock switch
+#exec --no-startup-id xmodmap -e "keysym Caps_Lock = Escape" #set caps_lock as escape
+
+# set menu to super
+exec --no-startup-id xmodmap -e "keycode 135 = Super_R"  
+
+
+# border size
+new_window pixel 3
+
+# yellow
+#client.focused          #4c7899 #285577 #ffffff #2e9ef4   #FFCC00
+
+# Dark purple (#660080)
+# Darker purple (#3d004d)
+
+client.focused          #000000 #8f00b3 #ffffff #2e9ef4   #8f00b3
+client.unfocused        #000000 #660080 #ffffff #2e9ef4   #660080
+client.focused_inactive #000000 #660080 #ffffff #2e9ef4   #660080
+
+# gaps - set window gap to 10
+gaps inner 10
+

+ 3 - 0
i3/gnome.sh

@@ -0,0 +1,3 @@
+#/bin/sh
+
+sudo /usr/lib/gnome-session/gnome-session-binary

+ 34 - 0
i3/i3exit

@@ -0,0 +1,34 @@
+#!/bin/sh
+lock() {
+        $HOME/.config/i3lock/i3lock.sh
+}
+
+case "$1" in
+    lock)
+        lock
+        ;;
+    logout)
+        emacsclient -e '(kill-emacs)'
+        i3-msg exit
+        # gnome-session-quit
+        ;;
+    suspend)
+        lock && systemctl suspend
+        ;;
+    hibernate)
+        lock && systemctl hibernate
+        ;;
+    reboot)
+        emacsclient -e '(kill-emacs)'
+        systemctl reboot
+        ;;
+    shutdown)
+        emacsclient -e '(kill-emacs)'
+        systemctl poweroff
+        ;;
+    *)
+        echo "Usage: $0 {lock|logout|suspend|hibernate|reboot|shutdown}"
+        exit 2
+esac
+
+exit 0

+ 129 - 0
i3/i3status

@@ -0,0 +1,129 @@
+#general {
+#    colors = true
+#    color_good = "#BBBBBB"
+#    color_bad = "#CC1616"
+#    color_degraded = "#55858E"
+#    interval = 2
+#}
+
+# order += "battery 0"
+# order += "tztime local"
+# 
+# battery 0 {
+#         integer_battery_capacity = true
+#         format = "%status %percentage %remaining"
+#         hide_seconds = true
+#         format_down = "No battery"
+#         status_chr = "⚇"
+#         status_bat = "⚡"
+#         status_full = "✓"
+#         path = "/sys/class/power_supply/BAT%d/uevent"
+#         low_threshold = 10
+#         last_full_capacity = true
+# }
+# 
+# tztime local {
+#     format = " %h %d %-I:%M %p"
+#     # format = "%Y-%m-%d %H:%M:%S"
+#     on_click 1 = "exec gsimplecal"
+# }
+
+# github.com/rafi i3status config
+
+# i3status configuration file
+# see "man i3status" for documentation.
+
+# It is important that this file is edited as UTF-8.
+# The following line should contain a sharp s:
+# ß
+# If the above line is not correctly displayed, fix your editor first!
+
+general {
+	colors = true
+	color_good = "#777777"
+	color_bad = "#CC1616"
+	color_degraded = "#55858E"
+	interval = 2
+}
+
+order += "volume master"
+#order += "load"
+order += "cpu_usage"
+order += "disk /"
+order += "disk /mnt/data"
+order += "ethernet enp4s0"
+order += "wireless wlp5s0"
+order += "battery 0"
+order += "tztime local"
+#order += "run_watch VPN"
+
+battery 0 {
+        integer_battery_capacity = true
+        format = "%status %percentage %remaining"
+        hide_seconds = true
+        format_down = "No battery"
+        status_chr = "⚇"
+        status_bat = "⚡"
+        status_full = "✓"
+        path = "/sys/class/power_supply/BAT%d/uevent"
+        low_threshold = 10
+        last_full_capacity = true
+}
+
+volume master {
+	format = "♪: %volume " 
+	device = "default"
+	mixer = "Master"
+	mixer_idx = 0
+	# termsyn font
+#	format = "À %volume "
+}
+
+load {
+	format = " Δ: %1min "
+	# termsyn font
+#	format = " Î %1min"
+}
+
+cpu_usage {
+	format = "CPU: %usage "
+}
+
+disk "/" {
+	format = "/: %avail " 
+}
+
+disk "/mnt/data" {
+	format = "data: %avail "
+}
+
+wireless wlp5s0 {
+	format_up = "W: (%quality at %essid) %ip "
+	#format_down = "W: down "
+	format_down = ""
+}
+
+ethernet enp4s0 {
+	# if you use %speed, i3status requires root privileges
+	format_up =  " E: %ip "
+	#format_down = " E: down "
+	format_down = ""
+
+	# termsyn font
+#	format_up =  " ­ %ip "
+#	format_down = " Ð enp4s0 "
+}
+
+run_watch DHCP {
+	pidfile = "/var/run/dhclient*.pid"
+}
+
+run_watch VPN {
+	pidfile = "/var/run/vpnc/pid "
+}
+
+tztime local {
+    format = " %h %d %-I:%M %p"
+    # format = "%Y-%m-%d %H:%M:%S"
+    on_click 1 = "exec gsimplecal"
+}

+ 6 - 0
i3/rofi.sh

@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Purple
+PATH=$HOME/bin:$PATH rofi -show run -font "Dejavu Sans Mono 16" -color-window "#000000, #5e0098, #000000" -color-normal "#313131, #12f0ff, #000000, #d522ff, #000000" -color-active "#fdf6e3, #268bd2, #eee8d5, #268bd2, #fdf6e3" -color-urgent "#fdf6e3, #dc322f, #eee8d5, #dc322f, #fdf6e3"
+
+# PATH=$HOME/bin:$PATH rofi -show run -font "Dejavu Sans Mono 16" -color-window "#000000, #d0da00, #000000" -color-normal "#313131, #efff00, #000000, #e4ff00, #000000" -color-active "#fdf6e3, #268bd2, #eee8d5, #268bd2, #fdf6e3" -color-urgent "#fdf6e3, #dc322f, #eee8d5, #dc322f, #fdf6e3" -width 30 -lines 8 -padding 20 -separator-style none -hide-scrollbar -bw 2

+ 10 - 0
i3/togglecompton.sh

@@ -0,0 +1,10 @@
+#!/bin/bash
+
+if pidof compton
+then
+    echo Killing compton
+    pkill compton
+else
+    echo Starting compton
+    compton -bcG
+fi

+ 6 - 0
i3/toggletouchpad.sh

@@ -0,0 +1,6 @@
+#!/bin/bash
+if synclient -l | grep "TouchpadOff .*=.*0" ; then
+    synclient TouchpadOff=1 ;
+else
+    synclient TouchpadOff=0 ;
+fi