From 6b24d438cfe24924648310914630b06e0b6621f2 Mon Sep 17 00:00:00 2001 From: Josh Fabean Date: Sat, 29 Apr 2017 07:55:58 -0500 Subject: [PATCH] updated everything to what it is now on Arch Linux computer --- .compton.conf | 58 ++++++++ .config/i3/config | 227 +++++++++++++++++++++++++++++++ .nvimrc => .config/nvim/init.vim | 0 .config/rofi/config | 18 +++ .config/termite/config | 3 + .tmux.conf | 26 ++-- .tmux.powerline.conf | 53 ++++---- .zshrc | 57 ++++---- 8 files changed, 368 insertions(+), 74 deletions(-) create mode 100644 .compton.conf create mode 100644 .config/i3/config rename .nvimrc => .config/nvim/init.vim (100%) create mode 100644 .config/rofi/config create mode 100644 .config/termite/config diff --git a/.compton.conf b/.compton.conf new file mode 100644 index 0000000..31f3878 --- /dev/null +++ b/.compton.conf @@ -0,0 +1,58 @@ +backend = "xr_glx_hybrid"; +glx-swap-method = "3"; +paint-on-overlay = true; +glx-no-stencil = true; +glx-no-rebind-pixmap = true; +vsync = "opengl-swc"; +unredir-if-possible= true; + +# These are important. The first one enables the opengl backend. The last one is the vsync method. Depending on the driver you might need to use a different method. +# The other options are smaller performance tweaks that work well in most cases. +# You can find the rest of the options here: https://github.com/chjj/compton/wiki/perf-guide, and here: https://github.com/chjj/compton/wiki/vsync-guide + + +# Shadow +shadow = false; # 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 (experimental). +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-exclude = [ + "! name~=''", + "n:e:Notification", + "n:e:Plank", + "n:e:Docky", + "g:e:Synapse", + "g:e:Kupfer", + "g:e:Conky", + "n:w:*Firefox*", + "n:w:*Chrome*", + "n:w:*Chromium*", + "class_g ?= 'Notify-osd'", + "class_g ?= 'Cairo-dock'", + "class_g ?= 'Xfce4-notifyd'", + "class_g ?= 'Xfce4-power-manager'" +]; + +# 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. + +# Fading +fading = true; # Fade windows during opacity changes. +fade-delta = 4; # 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; # Fade windows in/out when opening/closing */ + +detect-client-opacity = true; # This prevents opacity being ignored for some apps. For example without this enabled my xfce4-notifyd is 100% opacity no matter what. + +# Window type settings +wintypes: +{ + tooltip = { fade = true; shadow = false; }; +}; + + diff --git a/.config/i3/config b/.config/i3/config new file mode 100644 index 0000000..1d9c66e --- /dev/null +++ b/.config/i3/config @@ -0,0 +1,227 @@ +# Please see http://i3wm.org/docs/userguide.html for a complete reference! + +set $mod Mod4 +set $alt Mod1 + +exec --no-startup-id nitrogen --restore ~/Wallpapers +# exec --no-startup-id compton -b +exec --no-startup-id nm-applet +exec --no-startup-id xss-lock -- i3lock-wrapper +exec --no-startup-id xset r rate 250 25 +exec --no-startup-id xset b off +exec --no-startup-id setxkbmap -option caps:escape +exec --no-startup-id /home/igneo676/bin/libinput-gestures +exec --no-startup-id /home/igneo676/bin/pullover +exec --no-startup-id /home/igneo676/bin/mail-checker +exec --no-startup-id xcalib /usr/share/color/icc/colord/D6500XYZLUT+MTX.icc +exec --no-startup-id nightshift -l 39.0315533:-94.4954291 -d + +font pango:Roboto Mono 10 + +bindsym $mod+F7 exec --no-startup-id xset r rate 250 25 && xset b off && setxkbmap -option caps:escape + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# start a terminal +bindsym $mod+Return exec --no-startup-id termite + +# kill focused window +bindsym $mod+q kill + +# start dmenu (a program launcher) +bindsym XF86LaunchA exec --no-startup-id rofi -fullscreen -show run +bindcode 225 exec --no-startup-id rofi -fullscreen -show run +bindsym $mod+F9 exec --no-startup-id rofi -fullscreen -show run +bindsym $mod+space exec --no-startup-id rofi -fullscreen -show run + +# change focus +bindsym $mod+j focus left +bindsym $mod+k focus down +bindsym $mod+l focus up +bindsym $mod+semicolon focus right + +# alternatively, you can use the cursor keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +bindsym $mod+Shift+j move left +bindsym $mod+Shift+k move down +bindsym $mod+Shift+l move up +bindsym $mod+Shift+semicolon move right + +# alternatively, you can use the cursor keys: +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# split in horizontal orientation +bindsym $mod+h split h + +# split in vertical orientation +bindsym $mod+v split v + +# enter fullscreen mode for the focused container +bindsym $mod+d fullscreen +bindsym $mod+$alt+f fullscreen + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+t 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+$alt+space focus mode_toggle + +# focus the parent container +bindsym $mod+p focus parent + +# focus the child container +bindsym $mod+c focus child + +# switch to workspace +bindsym $mod+1 workspace 1: Browser +bindsym $mod+2 workspace 2: CK +bindsym $mod+3 workspace 3: Chat +bindsym $mod+4 workspace 4: Term +bindsym $mod+5 workspace 5: Code +bindsym $mod+6 workspace 6: Code +bindsym $mod+7 workspace 7: Code +bindsym $mod+8 workspace 8: Code +bindsym $mod+9 workspace 9: Code +bindsym $mod+0 workspace 10: Code +bindsym Mod1+Control+Right workspace next +bindsym Mod1+Control+Left workspace prev +workspace_auto_back_and_forth yes +bindsym $mod+z workspace back_and_forth +bindsym $mod+Shift+z move container to workspace back_and_forth + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace number 1: Browser +bindsym $mod+Shift+2 move container to workspace number 2: CK +bindsym $mod+Shift+3 move container to workspace number 3: Chat +bindsym $mod+Shift+4 move container to workspace number 4: Term +bindsym $mod+Shift+5 move container to workspace number 5: Code +bindsym $mod+Shift+6 move container to workspace number 6: Code +bindsym $mod+Shift+7 move container to workspace number 7: Code +bindsym $mod+Shift+8 move container to workspace number 8: Code +bindsym $mod+Shift+9 move container to workspace number 9: Code +bindsym $mod+Shift+0 move container to workspace number 10: Code + +#Custom Keybindings + +bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 10% #-steps 1 +bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 10% #-steps 1 +bindsym $mod+w exec --no-startup-id google-chrome-beta +bindsym $mod+f exec --no-startup-id termite -e ranger +bindsym Print exec scrot -s -e 'mv $f ~/Downloads' +bindsym $mod+m move scratchpad +bindsym $mod+n scratchpad show + +#Make sure these windows behave as they should +for_window [class="Android SDK Manager" instance="Android SDK Manager"] floating enable + +for_window [class="Cb-exit" instance="cb-exit"] floating enable +for_window [class="Cb-exit" instance="cb-exit"] border none + +for_window [class="Pidgin" instance="Pidgin"] floating enable + +for_window [instance="crx_gaedmjdfmmahhbjefcbgaolhhanlaolb"] floating enable +for_window [class="Google-chrome" instance="crx_nckgahadagoaajjgafhacjanaoiihapd"] floating enable +for_window [class="chrome_app_list"] floating enable + +assign [class="Pidgin"] "3: Chat" + +new_window 1pixel +#Hide border if 1 window +hide_edge_borders both +# 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 +# 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 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" + +# Resize Containers, Vim-style ($mod+Control+[hjkl]) +bindsym $mod+Control+j resize grow height 5 px or 5 ppt +bindsym $mod+Control+k resize shrink height 5 px or 5 ppt +bindsym $mod+Control+l resize grow width 5 px or 5 ppt +bindsym $mod+Control+h resize shrink width 5 px or 5 ppt + +bindsym $mod+Control+Up resize grow height 5 px or 5 ppt +bindsym $mod+Control+Down resize shrink height 5 px or 5 ppt +bindsym $mod+Control+Right resize grow width 5 px or 5 ppt +bindsym $mod+Control+Left resize shrink width 5 px or 5 ppt + +# Start i3bar to display a workspace bar (plus the system information i3status +# finds out, if available) +bar { + position top + status_command i3blocks + font pango:Roboto Mono 12 + # strip_workspace_numbers yes + + colors { + separator #586e75 + background #0c1014 + statusline #aea79f + focused_workspace #091f2e #091f2e #ffffff + active_workspace #073642 #073642 #ffffff + inactive_workspace #0c1014 #0c1014 #aea79f + urgent_workspace #77216f #77216f #ffffff + } +} + +# class border backgr. text indicator +client.focused #586e75 #586e75 #fdf6e3 #268bd2 +client.focused_inactive #073642 #073642 #93a1a1 #002b36 +client.unfocused #002b36 #002b36 #586e75 #002b36 +client.urgent #dc322f #dc322f #fdf6e3 #dc322f + +# exec --no-startup-id xfce4-volumed-pulse +# exec --no-startup-id pasystray +exec --no-startup-id pcmanfm -d +# exec --no-startup-id rescuetime +exec --no-startup-id blueman-applet +exec --no-startup-id dunst + +bindsym XF86AudioLowerVolume exec --no-startup-id "pulseaudio-ctl down ; pkill -RTMIN+1 i3blocks" +bindsym XF86AudioRaiseVolume exec --no-startup-id "pulseaudio-ctl up ; pkill -RTMIN+1 i3blocks" +bindsym XF86AudioMute exec --no-startup-id "pulseaudio-ctl mute ; pkill -RTMIN+1 i3blocks" +# Chrome special flags and others set in /etc/profiles.d/variables.sh like the following: --touch-devices=2 --force-device-scale-factor=2 +# +exec --nostartup-id compton -b diff --git a/.nvimrc b/.config/nvim/init.vim similarity index 100% rename from .nvimrc rename to .config/nvim/init.vim diff --git a/.config/rofi/config b/.config/rofi/config new file mode 100644 index 0000000..e2d860e --- /dev/null +++ b/.config/rofi/config @@ -0,0 +1,18 @@ +! ------------------------------------------------------------------------------ +! ROFI Color theme +! ------------------------------------------------------------------------------ +rofi.color-enabled: true +rofi.color-window: #0a0f14, #0a0f14, #091f2e +rofi.color-normal: #0a0f14, #c1c1c1, #0a0f14, #394249, #ffffff +rofi.color-active: #0a0f14, #98d1ce, #0a0f14, #98d1ce, #ffffff +rofi.color-urgent: #0a0f14, #ff1844, #0a0f14, #394249, #ff1844 +rofi.lines: 10 +rofi.eh: 2 +rofi.width: 200 +rofi.padding: 300 +rofi.opacity: 100 +rofi.bw: 0 +rofi.terminal: termite +rofi.glob: true +rofi.tokenize: false +rofi.font: Source Sans Pro 30 diff --git a/.config/termite/config b/.config/termite/config new file mode 100644 index 0000000..9ee71e1 --- /dev/null +++ b/.config/termite/config @@ -0,0 +1,3 @@ +[options] + +font = Roboto Mono 12 diff --git a/.tmux.conf b/.tmux.conf index 35f15f6..7450a24 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -7,11 +7,12 @@ set -s escape-time 0 set -g prefix C-b set-option -g default-shell /bin/zsh -set-option -ga terminal-overrides ",xterm-256color:Tc" +set-option -ga terminal-overrides ",*:Tc" +set -g -a terminal-overrides ',*:Ss=\E[%p1%d q:Se=\E[2 q' set-window-option -g mode-keys vi -bind-key -t vi-copy 'v' begin-selection -bind-key -t vi-copy 'y' copy-selection +bind-key -Tcopy-mode-vi 'v' send -X begin-selection +bind-key -Tcopy-mode-vi 'y' send -X copy-selection bind -n S-left prev bind -n S-right next @@ -45,20 +46,17 @@ set-option -gw xterm-keys on set-window-option -g xterm-keys on setw -g mouse on -#set -g mouse-select-pane on -#set -g mouse-resize-pane on -#set -g mouse-select-window on bind-key -T root PPage if-shell -F "#{alternate_on}" "send-keys PPage" "copy-mode -e; send-keys PPage" -bind-key -t vi-copy PPage page-up -bind-key -t vi-copy NPage page-down +bind-key -Tcopy-mode-vi PPage send -X page-up +bind-key -Tcopy-mode-vi NPage send -X page-down set-option -g base-index 1 set-window-option -g pane-base-index 1 bind-key -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M" bind-key -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M" -bind-key -t vi-copy WheelUpPane halfpage-up -bind-key -t vi-copy WheelDownPane halfpage-down +bind-key -Tcopy-mode-vi WheelUpPane send -X halfpage-up +bind-key -Tcopy-mode-vi WheelDownPane send -X halfpage-down # Smart pane switching with awareness of vim splits is_vim='echo "#{pane_current_command}" | grep -iqE "(^|\/)g?(view|n?vim?)(diff)?$"' @@ -72,19 +70,15 @@ bind -n M-\ if-shell "$is_vim" "send-keys M-\\" "select-pane -l" bind v split-window -h bind h split-window -v -set-option -g default-command "reattach-to-user-namespace -l zsh" - # Plugins set -g @plugin 'tmux-plugins/tmux-battery' set -g @plugin 'tmux-plugins/tmux-yank' set -g @plugin 'tmux-plugins/tmux-sensible' set -g @plugin 'tmux-plugins/tmux-copycat' -set -g @plugin 'jimeh/tmux-themepack set -g @shell_mode 'vi' -# theme -set -g @themepack 'block/blue' -source ~/.tmux.powerline.conf +#source /home/igneo676/.local/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf +source /home/igneo676/.tmux.powerline.conf run '~/.tmux/plugins/tpm/tpm' diff --git a/.tmux.powerline.conf b/.tmux.powerline.conf index fc111ad..b03841d 100644 --- a/.tmux.powerline.conf +++ b/.tmux.powerline.conf @@ -1,28 +1,25 @@ -# This tmux statusbar config was created by tmuxline.vim -# on Tue, 02 Feb 2016 - -# set -g status-bg "colour8" -# set -g message-command-fg "colour14" -# set -g status-justify "left" -# set -g status-left-length "100" -# set -g status "on" -# set -g pane-active-border-fg "colour11" -# set -g message-bg "colour10" -# set -g status-right-length "100" -# set -g status-right-attr "none" -# set -g message-fg "colour14" -# set -g message-command-bg "colour10" -# set -g status-attr "none" -# set -g pane-border-fg "colour10" -# set -g status-left-attr "none" -# setw -g window-status-fg "colour11" -# setw -g window-status-attr "none" -# setw -g window-status-activity-bg "colour8" -# setw -g window-status-activity-attr "none" -# setw -g window-status-activity-fg "colour11" -# setw -g window-status-separator "" -# setw -g window-status-bg "colour8" -# set -g status-left "#[fg=colour15,bg=colour11] #S #[fg=colour11,bg=colour8,nobold,nounderscore,noitalics]" -# set -g status-right "#[fg=colour10,bg=colour8,nobold,nounderscore,noitalics]#[fg=colour14,bg=colour10]#{battery_icon} #{battery_percentage} #{battery_remain}  #[fg=colour14,bg=colour10] %m-%d-%Y  %l:%M #[fg=colour11,bg=colour10,nobold,nounderscore,noitalics]#[fg=colour15,bg=colour11] #h " -# setw -g window-status-format "#[fg=colour11,bg=colour8] #I #[fg=colour11,bg=colour8] #W " -# setw -g window-status-current-format "#[fg=colour8,bg=colour10,nobold,nounderscore,noitalics]#[fg=colour14,bg=colour10] #I #[fg=colour14,bg=colour10] #W #[fg=colour10,bg=colour8,nobold,nounderscore,noitalics]" +set -g status-bg "colour8" +set -g message-command-fg "colour14" +set -g status-justify "left" +set -g status-left-length "100" +set -g status "on" +set -g pane-active-border-fg "colour11" +set -g message-bg "colour10" +set -g status-right-length "100" +set -g status-right-attr "none" +set -g message-fg "colour14" +set -g message-command-bg "colour10" +set -g status-attr "none" +set -g pane-border-fg "colour10" +set -g status-left-attr "none" +setw -g window-status-fg "colour11" +setw -g window-status-attr "none" +setw -g window-status-activity-bg "colour8" +setw -g window-status-activity-attr "none" +setw -g window-status-activity-fg "colour11" +setw -g window-status-separator "" +setw -g window-status-bg "colour8" +set -g status-left "#[fg=colour15,bg=colour11] #S #[fg=colour11,bg=colour8,nobold,nounderscore,noitalics]" +set -g status-right "#[fg=colour10,bg=colour8,nobold,nounderscore,noitalics]#[fg=colour14,bg=colour10]#{battery_icon} #{battery_percentage} #{battery_remain}  #[fg=colour14,bg=colour10] %m-%d-%Y  %l:%M #[fg=colour11,bg=colour10,nobold,nounderscore,noitalics]#[fg=colour15,bg=colour11] #h " +setw -g window-status-format "#[fg=colour11,bg=colour8] #I #[fg=colour11,bg=colour8] #W " +setw -g window-status-current-format "#[fg=colour8,bg=colour10,nobold,nounderscore,noitalics]#[fg=colour14,bg=colour10] #I #[fg=colour14,bg=colour10] #W #[fg=colour10,bg=colour8,nobold,nounderscore,noitalics]" diff --git a/.zshrc b/.zshrc index 09e2db9..0fa5399 100644 --- a/.zshrc +++ b/.zshrc @@ -1,19 +1,13 @@ -source ~/.profile +# If you come from bash you might have to change your $PATH. +# export PATH=$HOME/bin:/usr/local/bin:$PATH # Path to your oh-my-zsh installation. -export ZSH=/Users/joshfabean/.oh-my-zsh -export EDITOR=vim -# Set name of the theme to load. -# Look in ~/.oh-my-zsh/themes/ -# Path to your oh-my-zsh installation. -export ZSH=/Users/joshfabean/.oh-my-zsh + export ZSH=/home/josh/.oh-my-zsh -# Set name of the theme to load. -# Look in ~/.oh-my-zsh/themes/ -# Optionally, if you set this to "random", it'll load a random theme each -# time that oh-my-zsh is loaded. -#ZSH_THEME="agnoster" -ZSH_THEME="avit" +# Set name of the theme to load. Optionally, if you set this to "random" +# it'll load a random theme each time that oh-my-zsh is loaded. +# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes +ZSH_THEME="agnoster" # Uncomment the following line to use case-sensitive completion. # CASE_SENSITIVE="true" @@ -59,15 +53,12 @@ ZSH_THEME="avit" # Add wisely, as too many plugins slow down shell startup. plugins=(git) +source $ZSH/oh-my-zsh.sh + # User configuration -export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" # export MANPATH="/usr/local/man:$MANPATH" -source $ZSH/oh-my-zsh.sh - -source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh - # You may need to manually set your language environment # export LANG=en_US.UTF-8 @@ -82,7 +73,7 @@ source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh # export ARCHFLAGS="-arch x86_64" # ssh -# export SSH_KEY_PATH="~/.ssh/dsa_id" +# export SSH_KEY_PATH="~/.ssh/rsa_id" # Set personal aliases, overriding those provided by oh-my-zsh libs, # plugins, and themes. Aliases can be placed here, though oh-my-zsh @@ -92,14 +83,20 @@ source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh # Example aliases # alias zshconfig="mate ~/.zshrc" # alias ohmyzsh="mate ~/.oh-my-zsh" - -###-tns-completion-start-### -if [ -f /Users/joshfabean/.tnsrc ]; then - source /Users/joshfabean/.tnsrc -fi -###-tns-completion-end-### -# Gotham Shell -GOTHAM_SHELL="$HOME/.config/gotham/gotham.sh" -[[ -s $GOTHAM_SHELL ]] && source $GOTHAM_SHELL -export NVM_DIR="/Users/joshfabean/.nvm" -[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm +# +dlogin() { + docker exec -ti $1 /bin/bash +} +alias docker-composer='docker-compose' + +alias gs='g status' +#alias ga 'g add' +alias ci='composer install' +alias cu='composer update' +alias vim='nvim' + + +[ -z "NVM_DIR" ] && export NVM_DIR "$HOME/.nvm" +source /usr/share/nvm/nvm.sh +source /usr/share/nvm/bash_completion +source /usr/share/nvm/install-nvm-exec