20 Commits
Author SHA1 Message Date
GeorgeSG d831d50f92 tmux: fix copying 2016-12-19 12:10:48 +02:00
GeorgeSG d5c4d667cf i3: Fix floating windows; fancy lock 2016-12-19 12:10:36 +02:00
GeorgeSG 816f554917 i3: Add rofi window shortcut 2016-12-19 11:18:18 +02:00
GeorgeSG 0c436ff667 i3: change theme 2016-12-19 11:16:26 +02:00
GeorgeSG 656270c493 Sublime: Add find_all_under shortcut. Remove broken shortcuts 2016-12-19 11:11:12 +02:00
GeorgeSG 3d5fe4be9a X: Add ROFI theme 2016-12-19 11:08:06 +02:00
GeorgeSG 02e5f7c7c3 Sublime: Change font 2016-12-19 11:07:45 +02:00
GeorgeSG 430a596b45 i3: Add compton, i3blocks, more config 2016-12-19 11:07:10 +02:00
GeorgeSG a76a129813 Boxy: Large sidebar font 2016-12-19 02:27:18 +02:00
GeorgeSG 801966d006 bash-git-prompt: revert spaces after symbols, fix rendering instead 2016-12-19 02:26:39 +02:00
GeorgeSG 3fe5aac199 i3: Add sticky shortcut 2016-12-19 02:26:00 +02:00
GeorgeSG 100bddedef Add color to ls aliases 2016-12-19 02:05:35 +02:00
GeorgeSG 007a718065 Add i3 config 2016-12-19 02:03:46 +02:00
GeorgeSG 8db5e00a66 Set sublime ruler @ 100 2016-12-19 02:03:02 +02:00
GeorgeSG 9d941a22c1 Update sublime shortcuts 2016-12-19 01:59:34 +02:00
GeorgeSG 67bae2d046 Update sublime preferences 2016-12-19 01:55:38 +02:00
GeorgeSG eb9ef29c11 Add spaces to theme 2016-12-19 01:35:39 +02:00
GeorgeSG fa01011210 Update bash-git theme, bash prompt 2016-12-19 01:35:16 +02:00
GeorgeSG 3ded649998 Add bash_git_prompt 2016-12-19 01:31:09 +02:00
GeorgeSG a25041aa8f Update linux dotfiles 2016-12-19 01:30:24 +02:00
41 changed files with 2504 additions and 211 deletions
+8
View File
@@ -0,0 +1,8 @@
! ------------------------------------------------------------------------------
! ROFI Color theme
! ------------------------------------------------------------------------------
rofi.color-enabled: true
rofi.color-window: #002b37, #002b37, #003642
rofi.color-normal: #002b37, #819396, #002b37, #003642, #819396
rofi.color-active: #002b37, #008ed4, #002b37, #003642, #008ed4
rofi.color-urgent: #002b37, #da4281, #002b37, #003642, #da4281
+13 -12
View File
@@ -20,33 +20,34 @@ alias gbd="git branch -D"
alias gm="git mergetool" alias gm="git mergetool"
alias tm="tmux -2 attach-session -t "default" || tmux -2 new-session -s \"default\"" alias tm="tmux -2 attach-session -t "default" || tmux -2 new-session -s \"default\""
alias tmv="tmux -2 attach-session -t "vscode" || tmux -2 new-session -s \"vscode\""
# Editing files # Editing files
alias aliases="code ~/.bash_aliases" alias aliases="vim ~/.bash_aliases"
alias vimrc="vim ~/.vimrc" alias vimrc="vim ~/.vimrc"
# NPM
alias npr="npm run"
# CD-ing to some commonly used folders # CD-ing to some commonly used folders
alias og="cd ~/Git" alias og="cd ~/Git"
alias sass_watch="sass --watch ./:./" alias sass_watch="sass --watch ./:./"
alias s="sublime"
alias grep="grep --color=auto" alias grep="grep --color=auto"
alias c="clear" alias c="clear"
alias be="bundle exec" alias be="bundle exec"
alias share="python -m SimpleHTTPServer" alias share="python -m SimpleHTTPServer"
##### Mac OS Specific ##### ##### Ubuntu/Linux Specific #####
alias showfiles="defaults write com.apple.finder AppleShowAllFiles YES; killall Finder /System/Library/CoreServices/Finder.app" # Easier APT
alias hidefiles="defaults write com.apple.finder AppleShowAllFiles NO; killall Finder /System/Library/CoreServices/Finder.app" alias install="sudo apt-get install"
alias cask="brew cask" alias purge="sudo apt-get purge"
alias search="sudo apt-cache search"
alias remove="sudo apt-get remove"
alias autoremove="sudo apt-get autoremove"
alias fl="open -a ForkLift" # PC Info
alias mountinfo="mount | column -t"
alias meminfo="free -mlt"
alias driveinfo="df -h"
if [ -f ~/.bash_local_aliases ]; then if [ -f ~/.bash_local_aliases ]; then
. ~/.bash_local_aliases . ~/.bash_local_aliases
fi fi
alias dokku='$HOME/.dokku/contrib/dokku_client.sh'
+1 -1
View File
@@ -1 +1 @@
source ~/.bashrc source ~/.bashrc
Executable → Regular
+58 -6
View File
@@ -1,5 +1,52 @@
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
shopt -s autocd
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
force_color_prompt=yes
# Colors # Colors
PS1='\[\e[1;32m\]\w\[\e[m\]\[\e[1;0m\] \[\e[0m\] \[\e[1;0m\]' PS1='\[\e[1;32m\]\w\[\e[m\]\[\e[1;0m\] λ\[\e[m\] \[\e[1;37m\]'
export TERM=xterm-256color export TERM=xterm-256color
shopt -s autocd shopt -s autocd
@@ -38,7 +85,7 @@ fi
GIT_PROMPT_ONLY_IN_REPO=1 GIT_PROMPT_ONLY_IN_REPO=1
GIT_PROMPT_START="\[\e[1;32m\]\w\[\e[m\]" GIT_PROMPT_START="\[\e[1;32m\]\w\[\e[m\]"
GIT_PROMPT_END="\[\e[1;m\] \[\e[1;m\]" GIT_PROMPT_END="\[\e[1;37m\] λ \[\e[1;37m\]"
GIT_PROMPT_THEME=Georgi GIT_PROMPT_THEME=Georgi
###################### ######################
@@ -54,10 +101,10 @@ if [ -x /usr/bin/dircolors ]; then
fi fi
# some more ls aliases # some more ls aliases
alias ls='ls -G' alias ls='ls -G --color=auto'
alias ll='ls -alFG' alias ll='ls -alFG --color=auto'
alias la='ls -AG' alias la='ls -AG --color=auto'
alias l='ls -CFG' alias l='ls -CFG --color=auto'
if [ -f ~/.bash_aliases ]; then if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases . ~/.bash_aliases
@@ -89,3 +136,8 @@ fi
# Editor # Editor
export EDITOR='subl -w' export EDITOR='subl -w'
# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
+5 -17
View File
@@ -1,4 +1,3 @@
[color] [color]
diff = auto diff = auto
status = auto status = auto
@@ -27,29 +26,18 @@
# various pretty loggers from various places # various pretty loggers from various places
l = log --pretty=oneline --abbrev-commit l = log --pretty=oneline --abbrev-commit
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative
lgg = log --graph --pretty=format:'%Creset %s' --abbrev-commit
lc = log ORIG_HEAD.. --stat --no-merges lc = log ORIG_HEAD.. --stat --no-merges
# from http://blog.kfish.org/2010/04/git-lola.html # from http://blog.kfish.org/2010/04/git-lola.html
lol = log --graph --decorate --pretty=oneline --abbrev-commit lol = log --graph --decorate --pretty=oneline --abbrev-commit
lola = log --graph --decorate --pretty=oneline --abbrev-commit --all lola = log --graph --decorate --pretty=oneline --abbrev-commit --all
ll = log --graph --date=short ll = log --graph --date=short
[push] [push]
default = simple default = simple
[mergetool "sourcetree"]
cmd = /Applications/Sourcetree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
trustExitCode = true
[diff]
tool = default-difftool
[difftool "default-difftool"]
cmd = code --wait --diff $LOCAL $REMOTE
[difftool "sourcetree"]
cmd = opendiff \"$LOCAL\" \"$REMOTE\"
path =
[filter "media"] [filter "media"]
clean = git media clean %f clean = git media clean %f
smudge = git media smudge %f smudge = git media smudge %f
required = true required = true
# local user config, usernames, etc # local user config, usernames, etc
[include] [include]
path=~/.gitconfig-local path=~/.gitconfig-local
Executable → Regular
+20 -39
View File
@@ -6,9 +6,6 @@
set -g prefix C-a set -g prefix C-a
unbind C-b unbind C-b
# Start in newer bash
set-option -g default-command "/usr/local/bin/bash --login"
# Disable delay # Disable delay
set -sg escape-time 1 set -sg escape-time 1
@@ -26,43 +23,26 @@ setw -g pane-base-index 1
set -g default-terminal "screen-256color" set -g default-terminal "screen-256color"
# Theme # Theme
set -g status-bg black
# Theme "Tomorrow" set -g status-fg white
set -g status-left-length 30
TMUX_PANE_BORDER_FG="#d6d6d6" set -g status-right-length 60
TMUX_PANE_ACTIVE_BORDER_FG="#3e999f" #
TMUX_MESSAGE_FG="#3e999f" # Colors
TMUX_MESSAGE_BG="#d6d6d6" set -g status-fg white
TMUX_STATUS_BG="#efefef" set -g status-bg colour234
set -g pane-border-fg colour245
TMUX_NAMESPACE_FG="#efefef" set -g pane-active-border-fg colour25
TMUX_NAMESPACE_BG="#c82829" set -g message-fg white
TMUX_USERNAME_FG="#efefef" set -g message-bg colour25
TMUX_USERNAME_BG="#f5871f" set -g message-attr bold
# Pane borders
set -g pane-border-style "fg=$TMUX_PANE_BORDER_FG"
set -g pane-active-border-style "fg=$TMUX_PANE_ACTIVE_BORDER_FG"
# Message in status bar (e.g. Copied successfully)
set -g message-style "fg=$TMUX_MESSAGE_FG,bg=$TMUX_MESSAGE_BG"
# Status bar # Status bar
set-option -g status-position bottom # set-option -g status-position bottom
set -g status-left '#[fg=colour25,bg=white,bold] #S #[fg=colour252,bg=colour238,bold]#[fg=colour245,bg=colour238,bold] #(whoami) #[fg=colour238,bg=colour234,bold]'
# Status mid style set -g status-right '#[fg=colour238,bg=colour234,bold]#[fg=colour245,bg=colour238,bold] #H #[fg=colour252,bg=colour238,bold]#[fg=colour25,bg=white,bold] #(date +%H:%M) '
set -g status-style "fg=white,bg=$TMUX_STATUS_BG" set -g window-status-format "#[fg=white,bg=colour234] #I #W "
set -g window-status-current-format "#[fg=white,bg=colour25,noreverse,bold] #I #W "
set -g status-left '#[fg=#(echo $TMUX_NAMESPACE_FG),bg=#(echo $TMUX_NAMESPACE_BG),bold] #S #[fg=#(echo $TMUX_NAMESPACE_BG),bg=#(echo $TMUX_USERNAME_BG),bold]#[fg=#(echo $TMUX_STATUS_BG),bg=#(echo $TMUX_USERNAME_BG),bold] #(whoami) #[fg=#(echo $TMUX_USERNAME_BG),bg=#(echo $TMUX_STATUS_BG),bold]'
set -g status-left-length 30
set -g status-right '#[fg=#(echo $TMUX_USERNAME_BG),bg=#(echo $TMUX_NAMESPACE_FG),bold]#[fg=#(echo $TMUX_NAMESPACE_FG),bg=#(echo $TMUX_USERNAME_BG),bold] #H #[fg=#(echo $TMUX_NAMESPACE_BG),bg=#(echo $TMUX_USERNAME_BG),bold]#[fg=#(echo $TMUX_NAMESPACE_FG),bg=#(echo $TMUX_NAMESPACE_BG),bold] #(date +%H:%M) '
set -g status-right-length 60
# window name options
set -g window-status-format "#[fg=#3e999f,bg=#efefef] #I #W "
set -g window-status-current-format "#[fg=#efefef,bg=#3e999f,noreverse,bold] #I #W "
# -------------------- # --------------------
# Custom keybindings # Custom keybindings
@@ -121,4 +101,5 @@ bind -r L resize-pane -R 5
# Copy & Paste # Copy & Paste
bind Escape copy-mode bind Escape copy-mode
bind p paste-buffer bind p paste-buffer
bind C-c run-shell "bash -c 'tmux show-buffer | pbcopy'" \; display 'Copied to clipboard' bind -t vi-copy 'v' begin-selection
bind C-c run "tmux save-buffer - | xclip -i -selection clipboard >/dev/null" \; display 'Copied to clipboard'
+1 -1
View File
@@ -13,7 +13,7 @@ override_git_prompt_colors() {
GIT_PROMPT_CONFLICTS="${BoldRed}✖" GIT_PROMPT_CONFLICTS="${BoldRed}✖"
GIT_PROMPT_CLEAN="${BoldCyan}✔" GIT_PROMPT_CLEAN="${BoldCyan}✔"
GIT_PROMPT_SYMBOLS_AHEAD="${BoldBlack}↑" GIT_PROMPT_SYMBOLS_AHEAD="${BoldWhite}↑"
GIT_PROMPT_SYMBOLS_BEHIND="${BoldMagenta}↓" GIT_PROMPT_SYMBOLS_BEHIND="${BoldMagenta}↓"
GIT_PROMPT_SYMBOLS_PREHASH="${BoldRed}:" GIT_PROMPT_SYMBOLS_PREHASH="${BoldRed}:"
+233
View File
@@ -0,0 +1,233 @@
# 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 = 10;
# 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;
# 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 = 0.85;
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 doesnt 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;
};
};
+223
View File
@@ -0,0 +1,223 @@
# Custom Variables
set $workspace1 "1 "
set $workspace2 "2 "
set $workspace3 "3 "
set $workspace4 "4 "
set $workspace5 "5 "
set $workspace6 "6 "
set $workspace7 "7 "
set $workspace8 "8 "
set $workspace9 "9 "
set $workspace10 "10 "
set $outputPrimary "DP-2"
set $outputSecondary "DVI-D-0"
set $outputTV "HDMI-0"
# mod: Alt key
set $mod Mod4
# font
font pango:System San Francisco Display 9
# thin borders, no titlebars
for_window [class="^.*"] border pixel 2
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier Mod1
# The middle button over a titlebar kills the window
bindsym --release button2 kill
# kill focused window
bindsym $mod+q kill
# Setup Monitors
exec_always xrandr --output DVI-D-0 --mode 1920x1200 --pos 0x0 --rotate normal --output HDMI-1 --off --output HDMI-0 --off --output DP-3 --off --output DP-2 --primary --mode 2560x1440 --pos 1920x0 --rotate normal --output DP-1 --off --output DP-0 --off
# Setup Wallpaper
exec_always feh --bg-scale $HOME/Pictures/grass-blades.jpg
# Startup Programs
exec google-chrome
exec gnome-terminal
exec subl
exec spotify
exec --no-startup-id compton --config "$HOME/.config/i3/compton.conf"
# Default workspaces
assign [class="Google-chrome"] $workspace1
assign [class="Gnome-terminal"] $workspace7
assign [class="Sublime_text"] $workspace2
assign [class="Spotify"] $workspace4
assign [class="TelegramDesktop"] $workspace6
for_window [class="Skype"] floating enable
for_window [class="Skype"] border normal
for_window [class="Pavucontrol"] floating enable
for_window [class="Pavucontrol"] border normal
for_window [class="TelegramDesktop"] floating enable
for_window [class="TelegramDesktop"] border normal
# summon most used apps
bindsym $mod+F1 [class="Google-chrome"] move workspace current
bindsym $mod+F2 [class="terminal"] move workspace current
# start a terminal
bindsym $mod+Return exec i3-sensible-terminal
bindsym $mod+space exec rofi -show run -lines 5 -width 100 -padding 300 -fullscreen -opacity "90" -font "Roboto 50" -separator-style "none"
bindsym $mod+d exec rofi -show window -lines 5 -width 100 -padding 300 -fullscreen -opacity "90" -font "Roboto 50" -separator-style "none"
# 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 menu.
set $mode_system System (l) lock, (e) logout, (s) suspend, (r) reboot, (Shift+s) shutdown
mode "$mode_system" {
bindsym l exec --no-startup-id $HOME/.config/i3/i3exit lock, mode "default"
bindsym e exec --no-startup-id $HOME/.config/i3/i3exit logout, mode "default"
bindsym s exec --no-startup-id $HOME/.config/i3/i3exit suspend, mode "default"
bindsym r exec --no-startup-id $HOME/.config/i3/i3exit reboot, mode "default"
bindsym Shift+s exec --no-startup-id $HOME/.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"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
separator_symbol " / "
position top
tray_output $outputPrimary
tray_output $outputSecondary
status_command i3blocks -c "$HOME/.config/i3/i3blocks.conf"
colors {
separator #666666
background #222222
statusline #dddddd
focused_workspace #0088CC #0088CC #ffffff
active_workspace #333333 #333333 #ffffff
inactive_workspace #333333 #333333 #888888
urgent_workspace #2f343a #900000 #ffffff
}
}
#####################
# Window Management #
#####################
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l 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
bindsym $mod+Tab workspace next_on_output
bindsym $mod+Shift+Tab workspace prev_on_output
# 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+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
# bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# sticky window
bindsym $mod+Shift+s sticky 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
workspace $workspace1 output $outputPrimary
workspace $workspace2 output $outputPrimary
workspace $workspace3 output $outputPrimary
workspace $workspace4 output $outputPrimary
workspace $workspace5 output $outputPrimary
workspace $workspace6 output $outputSecondary
workspace $workspace7 output $outputSecondary
workspace $workspace8 output $outputSecondary
workspace $workspace9 output $outputSecondary
workspace $workspace10 output $outputSecondary
# switch to workspace
bindsym $mod+1 workspace $workspace6; workspace $workspace1
bindsym $mod+2 workspace $workspace7; workspace $workspace2
bindsym $mod+3 workspace $workspace8; workspace $workspace3
bindsym $mod+4 workspace $workspace9; workspace $workspace4
bindsym $mod+5 workspace $workspace10; workspace $workspace5
bindsym $mod+6 workspace $workspace6
bindsym $mod+7 workspace $workspace7
bindsym $mod+8 workspace $workspace8
bindsym $mod+9 workspace $workspace9
bindsym $mod+0 workspace $workspace10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace $workspace1
bindsym $mod+Shift+2 move container to workspace $workspace2
bindsym $mod+Shift+3 move container to workspace $workspace3
bindsym $mod+Shift+4 move container to workspace $workspace4
bindsym $mod+Shift+5 move container to workspace $workspace5
bindsym $mod+Shift+6 move container to workspace $workspace6
bindsym $mod+Shift+7 move container to workspace $workspace7
bindsym $mod+Shift+8 move container to workspace $workspace8
bindsym $mod+Shift+9 move container to workspace $workspace9
bindsym $mod+Shift+0 move container to workspace $workspace10
# 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 windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows 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
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
client.focused #0088CC #0088CC #ffffff #dddddd
client.focused_inactive #333333 #333333 #888888 #292d2e
client.unfocused #333333 #333333 #888888 #292d2e
client.urgent #2f343a #900000 #ffffff #900000
+30
View File
@@ -0,0 +1,30 @@
[spotify]
label=
command=$HOME/.config/i3/i3blocks/spotify.py
color=#81b71a
interval=1
[load]
command=$HOME/.config/i3/i3blocks/load_average
interval=1
label=
[disk]
command=$HOME/.config/i3/i3blocks/disk
interval=1
label=
[volume]
command=$HOME/.config/i3/i3blocks/volume 2
label=
interval=1
[date]
command=date '+%b %d'
interval=60
label=
[time]
command=date '+%H:%M'
interval=60
label=
+107
View File
@@ -0,0 +1,107 @@
#!/bin/bash
# Copyright (C) 2012 Stefan Breunig <stefan+measure-net-speed@mathphys.fsk.uni-heidelberg.de>
# Copyright (C) 2014 kaueraal
# Copyright (C) 2015 Thiago Perrotta <perrotta dot thiago at poli dot ufrj dot br>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Get custom IN and OUT labels if provided by command line arguments
while [[ $# -gt 1 ]]; do
key="$1"
case "$key" in
-i|--inlabel)
INLABEL="$2"
shift;;
-o|--outlabel)
OUTLABEL="$2"
shift;;
esac
shift
done
[[ -z $INLABEL ]] && INLABEL=" "
[[ -z $OUTLABEL ]] && OUTLABEL=" "
# Use the provided interface, otherwise the device used for the default route.
if [[ -n $BLOCK_INSTANCE ]]; then
INTERFACE=$BLOCK_INSTANCE
else
INTERFACE=$(ip route | awk '/^default/ { print $5 ; exit }')
fi
# Issue #36 compliant.
if ! [ -e "/sys/class/net/${INTERFACE}/operstate" ] || ! [ "`cat /sys/class/net/${INTERFACE}/operstate`" = "up" ]
then
echo "$INTERFACE OFFLINE"
echo "$INTERFACE OFFLINE"
echo "#FF0000"
exit 0
fi
# path to store the old results in
path="/dev/shm/$(basename $0)-${INTERFACE}"
# grabbing data for each adapter.
read rx < "/sys/class/net/${INTERFACE}/statistics/rx_bytes"
read tx < "/sys/class/net/${INTERFACE}/statistics/tx_bytes"
# get time
time=$(date +%s)
# write current data if file does not exist. Do not exit, this will cause
# problems if this file is sourced instead of executed as another process.
if ! [[ -f "${path}" ]]; then
echo "${time} ${rx} ${tx}" > "${path}"
chmod 0666 "${path}"
fi
# read previous state and update data storage
read old < "${path}"
echo "${time} ${rx} ${tx}" > "${path}"
# parse old data and calc time passed
old=(${old//;/ })
time_diff=$(( $time - ${old[0]} ))
# sanity check: has a positive amount of time passed
[[ "${time_diff}" -gt 0 ]] || exit
# calc bytes transferred, and their rate in byte/s
rx_diff=$(( $rx - ${old[1]} ))
tx_diff=$(( $tx - ${old[2]} ))
rx_rate=$(( $rx_diff / $time_diff ))
tx_rate=$(( $tx_diff / $time_diff ))
# shift by 10 bytes to get KiB/s. If the value is larger than
# 1024^2 = 1048576, then display MiB/s instead
# incoming
echo -n "$INLABEL"
rx_kib=$(( $rx_rate >> 10 ))
if [[ "$rx_rate" -gt 1048576 ]]; then
printf '%sM' "`echo "scale=1; $rx_kib / 1024" | bc`"
else
echo -n "${rx_kib}K"
fi
echo -n " "
# outgoing
echo -n "$OUTLABEL"
tx_kib=$(( $tx_rate >> 10 ))
if [[ "$tx_rate" -gt 1048576 ]]; then
printf '%sM' "`echo "scale=1; $tx_kib / 1024" | bc`"
else
echo -n "${tx_kib}K"
fi
+89
View File
@@ -0,0 +1,89 @@
#!/usr/bin/perl
#
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
#
# Licensed under the terms of the GNU GPL v3, or any later version.
#
# This script is meant to use with i3blocks. It parses the output of the "acpi"
# command (often provided by a package of the same name) to read the status of
# the battery, and eventually its remaining time (to full charge or discharge).
#
# The color will gradually change for a percentage below 85%, and the urgency
# (exit code 33) is set if there is less that 5% remaining.
use strict;
use warnings;
use utf8;
my $acpi;
my $status;
my $percent;
my $full_text;
my $short_text;
my $bat_number = $ENV{BLOCK_INSTANCE} || 0;
# read the first line of the "acpi" command output
open (ACPI, "acpi -b | grep 'Battery $bat_number' |") or die;
$acpi = <ACPI>;
close(ACPI);
# fail on unexpected output
if ($acpi !~ /: (\w+), (\d+)%/) {
die "$acpi\n";
}
$status = $1;
$percent = $2;
if ($status eq 'Discharging') {
if ($percent < 20) {
$full_text = ' ';
} elsif ($percent <40) {
$full_text = ' ';
} elsif ($percent <60) {
$full_text = ' ';
} elsif ($percent <80) {
$full_text = ' ';
} else {
$full_text = ' ';
}
} elsif ($status eq 'Charging') {
$full_text = ' ';
}
$full_text .= "$percent%";
$short_text = $full_text;
if ($acpi =~ /(\d\d:\d\d):/) {
$full_text .= " [$1]";
}
# print text
print "$full_text\n";
print "$short_text\n";
# consider color and urgent flag only on discharge
if ($status eq 'Discharging') {
if ($percent < 20) {
print "#FF0000\n";
} elsif ($percent < 40) {
print "#FFAE00\n";
} elsif ($percent < 60) {
print "#FFF600\n";
} elsif ($percent < 85) {
print "#A8FF00\n";
}
if ($percent < 5) {
exit(33);
}
}
exit(0);
+59
View File
@@ -0,0 +1,59 @@
#!/usr/bin/perl
#
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
# Copyright 2014 Andreas Guldstrand <andreas.guldstrand@gmail.com>
#
# Licensed under the terms of the GNU GPL v3, or any later version.
use strict;
use warnings;
use utf8;
use Getopt::Long;
# default values
my $t_warn = 50;
my $t_crit = 80;
my $cpu_usage = -1;
my $decimals = 2;
sub help {
print "Usage: cpu_usage [-w <warning>] [-c <critical>] [-d <decimals>]\n";
print "-w <percent>: warning threshold to become yellow\n";
print "-c <percent>: critical threshold to become red\n";
print "-d <decimals>: Use <decimals> decimals for percentage (default is $decimals) \n";
exit 0;
}
GetOptions("help|h" => \&help,
"w=i" => \$t_warn,
"c=i" => \$t_crit,
"d=i" => \$decimals,
);
# Get CPU usage
$ENV{LC_ALL}="en_US"; # if mpstat is not run under en_US locale, things may break, so make sure it is
open (MPSTAT, 'mpstat 1 1 |') or die;
while (<MPSTAT>) {
if (/^.*\s+(\d+\.\d+)\s+$/) {
$cpu_usage = 100 - $1; # 100% - %idle
last;
}
}
close(MPSTAT);
$cpu_usage eq -1 and die 'Can\'t find CPU information';
# Print short_text, full_text
printf "%.${decimals}f%%\n", $cpu_usage;
printf "%.${decimals}f%%\n", $cpu_usage;
# Print color, if needed
if ($cpu_usage >= $t_crit) {
print "#FF0000\n";
exit 33;
} elsif ($cpu_usage >= $t_warn) {
print "#FFFC00\n";
}
exit 0;
+41
View File
@@ -0,0 +1,41 @@
#!/bin/sh
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
DIR="${BLOCK_INSTANCE:-$HOME}"
ALERT_LOW="${1:-10}" # color will turn red under this value (default: 10%)
df -h -P -l "$DIR" | awk -v alert_low=$ALERT_LOW '
/\/.*/ {
# full text
print $4
# short text
print $4
use=$5
# no need to continue parsing
exit 0
}
END {
gsub(/%$/,"",use)
if (100 - use < alert_low) {
# color
print "#FF0000"
}
}
'
+61
View File
@@ -0,0 +1,61 @@
#!/bin/bash
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
# Copyright (C) 2014 Alexander Keller <github@nycroth.com>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#------------------------------------------------------------------------
# Use the provided interface, otherwise the device used for the default route.
if [[ -n $BLOCK_INSTANCE ]]; then
IF=$BLOCK_INSTANCE
else
IF=$(ip route | awk '/^default/ { print $5 ; exit }')
fi
#------------------------------------------------------------------------
# As per #36 -- It is transparent: e.g. if the machine has no battery or wireless
# connection (think desktop), the corresponding block should not be displayed.
[[ ! -d /sys/class/net/${IF} ]] && exit
#------------------------------------------------------------------------
if [[ "$(cat /sys/class/net/$IF/operstate)" = 'down' ]]; then
echo down # full text
echo down # short text
echo \#FF0000 # color
exit
fi
case $1 in
-4)
AF=inet ;;
-6)
AF=inet6 ;;
*)
AF=inet6? ;;
esac
# if no interface is found, use the first device with a global scope
IPADDR=$(ip addr show $IF | perl -n -e "/$AF ([^\/]+).* scope global/ && print \$1 and exit")
case $BLOCK_BUTTON in
3) echo -n "$IPADDR" | xclip -q -se c ;;
esac
#------------------------------------------------------------------------
echo "$IPADDR" # full text
echo "$IPADDR" # short text
+34
View File
@@ -0,0 +1,34 @@
#!/bin/sh
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
load="$(cut -d ' ' -f1 /proc/loadavg)"
cpus="$(nproc)"
# full text
echo "$load"
# short text
echo "$load"
# color if load is too high
awk -v cpus=$cpus -v cpuload=$load '
BEGIN {
if (cpus <= cpuload) {
print "#FF0000";
exit 33;
}
}
'
+126
View File
@@ -0,0 +1,126 @@
#!/usr/bin/perl
# Copyright (C) 2014 Tony Crisci <tony@dubstepdish.com>
# Copyright (C) 2015 Thiago Perrotta <perrotta dot thiago at poli dot ufrj dot br>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Requires playerctl binary to be in your path (except cmus)
# See: https://github.com/acrisci/playerctl
# Set instance=NAME in the i3blocks configuration to specify a music player
# (playerctl will attempt to connect to org.mpris.MediaPlayer2.[NAME] on your
# DBus session).
use Time::HiRes qw(usleep);
use Env qw(BLOCK_INSTANCE);
use constant DELAY => 50; # Delay in ms to let network-based players (spotify) reflect new data.
use constant SPOTIFY_STR => 'spotify';
my @metadata = ();
my $player_arg = "";
if ($BLOCK_INSTANCE) {
$player_arg = "--player='$BLOCK_INSTANCE'";
}
sub buttons {
my $method = shift;
if($method eq 'mpd') {
if ($ENV{'BLOCK_BUTTON'} == 1) {
system("mpc prev");
} elsif ($ENV{'BLOCK_BUTTON'} == 2) {
system("mpc toggle");
} elsif ($ENV{'BLOCK_BUTTON'} == 3) {
system("mpc next");
}
} elsif ($method eq 'cmus') {
if ($ENV{'BLOCK_BUTTON'} == 1) {
system("cmus-remote --prev");
} elsif ($ENV{'BLOCK_BUTTON'} == 2) {
system("cmus-remote --pause");
} elsif ($ENV{'BLOCK_BUTTON'} == 3) {
system("cmus-remote --next");
}
} elsif ($method eq 'playerctl') {
if ($ENV{'BLOCK_BUTTON'} == 1) {
system("playerctl $player_arg previous");
usleep(DELAY * 1000) if $BLOCK_INSTANCE eq SPOTIFY_STR;
} elsif ($ENV{'BLOCK_BUTTON'} == 2) {
system("playerctl $player_arg play-pause");
} elsif ($ENV{'BLOCK_BUTTON'} == 3) {
system("playerctl $player_arg next");
usleep(DELAY * 1000) if $BLOCK_INSTANCE eq SPOTIFY_STR;
}
}
}
sub cmus {
my @cmus = split /^/, qx(cmus-remote -Q);
if ($? == 0) {
foreach my $line (@cmus) {
my @data = split /\s/, $line;
if (shift @data eq 'tag') {
my $key = shift @data;
my $value = join ' ', @data;
@metadata[0] = $value if $key eq 'artist';
@metadata[1] = $value if $key eq 'title';
}
}
if (@metadata) {
buttons('cmus');
# metadata found so we are done
print(join ' - ', @metadata);
exit 0;
}
}
}
sub mpd {
my $data = qx(mpc current);
if (not $data eq '') {
buttons("mpd");
print($data);
exit 0;
}
}
sub playerctl {
buttons('playerctl');
my $artist = qx(playerctl $player_arg metadata artist);
# exit status will be nonzero when playerctl cannot find your player
exit(0) if $? || $artist eq '(null)';
push(@metadata, $artist) if $artist;
my $title = qx(playerctl $player_arg metadata title);
exit(0) if $? || $title eq '(null)';
push(@metadata, $title) if $title;
print(join(" - ", @metadata)) if @metadata;
}
if ($player_arg eq '' or $player_arg =~ /mpd/) {
mpd;
}
if ($player_arg =~ /cmus/) {
cmus;
}
playerctl;
+66
View File
@@ -0,0 +1,66 @@
#!/bin/sh
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
TYPE="${BLOCK_INSTANCE:-mem}"
awk -v type=$TYPE '
/^MemTotal:/ {
mem_total=$2
}
/^MemFree:/ {
mem_free=$2
}
/^Buffers:/ {
mem_free+=$2
}
/^Cached:/ {
mem_free+=$2
}
/^SwapTotal:/ {
swap_total=$2
}
/^SwapFree:/ {
swap_free=$2
}
END {
if (type == "swap") {
free=swap_free/1024/1024
used=(swap_total-swap_free)/1024/1024
total=swap_total/1024/1024
} else {
free=mem_free/1024/1024
used=(mem_total-mem_free)/1024/1024
total=mem_total/1024/1024
}
pct=used/total*100
# full text
#printf("%.1fG/%.1fG (%.f%%)\n", used, total, pct)
# short text
printf("%.f%%\n", pct)
printf("%.f%%\n", pct)
# color
if (pct > 90) {
print("#FF0000\n")
} else if (pct > 80) {
print("#FFAE00\n")
} else if (pct > 70) {
print("#FFF600\n")
}
}
' /proc/meminfo
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/python
import dbus
try:
bus = dbus.SessionBus()
spotify = bus.get_object("org.mpris.MediaPlayer2.spotify", "/org/mpris/MediaPlayer2")
spotify_iface = dbus.Interface(spotify, 'org.freedesktop.DBus.Properties')
props = spotify_iface.Get('org.mpris.MediaPlayer2.Player', 'Metadata')
print(str(props['xesam:artist'][0]) + " - " + str(props['xesam:title']))
exit
except dbus.exceptions.DBusException:
exit
+70
View File
@@ -0,0 +1,70 @@
#!/bin/bash
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
# Copyright (C) 2014 Alexander Keller <github@nycroth.com>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#------------------------------------------------------------------------
# The second parameter overrides the mixer selection
# For PulseAudio users, use "pulse"
# For Jack/Jack2 users, use "jackplug"
# For ALSA users, you may use "default" for your primary card
# or you may use hw:# where # is the number of the card desired
MIXER="default"
[ -n "$(lsmod | grep pulse)" ] && MIXER="pulse"
[ -n "$(lsmod | grep jack)" ] && MIXER="jackplug"
MIXER="${2:-$MIXER}"
# The instance option sets the control to report and configure
# This defaults to the first control of your selected mixer
# For a list of the available, use `amixer -D $Your_Mixer scontrols`
SCONTROL="${BLOCK_INSTANCE:-$(amixer -D $MIXER scontrols |
sed -n "s/Simple mixer control '\([A-Za-z ]*\)',0/\1/p" |
head -n1
)}"
# The first parameter sets the step to change the volume by (and units to display)
# This may be in in % or dB (eg. 5% or 3dB)
STEP="${1:-5%}"
#------------------------------------------------------------------------
capability() { # Return "Capture" if the device is a capture device
amixer -D $MIXER get $SCONTROL |
sed -n "s/ Capabilities:.*cvolume.*/Capture/p"
}
volume() {
amixer -D $MIXER get $SCONTROL $(capability)
}
format() {
perl_filter='if (/.*\[(\d+%)\] (\[(-?\d+.\d+dB)\] )?\[(on|off)\]/)'
perl_filter+='{CORE::say $4 eq "off" ? "MUTE" : "'
# If dB was selected, print that instead
perl_filter+=$([[ $STEP = *dB ]] && echo '$3' || echo '$1')
perl_filter+='"; exit}'
perl -ne "$perl_filter"
}
#------------------------------------------------------------------------
case $BLOCK_BUTTON in
3) amixer -q -D $MIXER sset $SCONTROL $(capability) toggle ;; # right click, mute/unmute
4) amixer -q -D $MIXER sset $SCONTROL $(capability) ${STEP}+ unmute ;; # scroll up, increase
5) amixer -q -D $MIXER sset $SCONTROL $(capability) ${STEP}- unmute ;; # scroll down, decrease
esac
volume | format
+46
View File
@@ -0,0 +1,46 @@
#!/bin/bash
# Copyright (C) 2014 Alexander Keller <github@nycroth.com>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#------------------------------------------------------------------------
INTERFACE="${BLOCK_INSTANCE:-wlan0}"
#------------------------------------------------------------------------
# As per #36 -- It is transparent: e.g. if the machine has no battery or wireless
# connection (think desktop), the corresponding block should not be displayed.
[[ ! -d /sys/class/net/${INTERFACE}/wireless ]] ||
[[ "$(cat /sys/class/net/$INTERFACE/operstate)" = 'down' ]] && exit
#------------------------------------------------------------------------
QUALITY=$(grep $INTERFACE /proc/net/wireless | awk '{ print int($3 * 100 / 70) }')
#------------------------------------------------------------------------
echo $QUALITY% # full text
echo $QUALITY% # short text
# color
if [[ $QUALITY -ge 80 ]]; then
echo "#00FF00"
elif [[ $QUALITY -lt 80 ]]; then
echo "#FFF600"
elif [[ $QUALITY -lt 60 ]]; then
echo "#FFAE00"
elif [[ $QUALITY -lt 40 ]]; then
echo "#FF0000"
fi
Executable
+35
View File
@@ -0,0 +1,35 @@
#!/bin/sh
lock() {
# Pausing notification daemon to prevent flicker during lock.
killall -SIGUSR1 dunst
i3lock --nofork
# Resuming notifications once out of lock screen.
killall -SIGUSR2 dunst
}
case "$1" in
lock)
$HOME/.config/i3/lock.sh
;;
logout)
i3-msg exit
;;
suspend)
systemctl suspend && lock
;;
reboot)
reboot
;;
shutdown)
systemctl poweroff
;;
*)
echo "Usage: $0 {lock|logout|suspend|hibernate|reboot|shutdown}"
exit 2
esac
exit 0
Executable
+34
View File
@@ -0,0 +1,34 @@
#!/bin/bash
scrot /tmp/screen.png
convert /tmp/screen.png -scale 10% -scale 1000% /tmp/screen.png
if [[ -f $HOME/.config/i3/screen-lock.png ]]
then
# placement x/y
PX=0
PY=0
# lockscreen image info
R=$(file ~/.config/i3/screen-lock.png | grep -o '[0-9]* x [0-9]*')
RX=$(echo $R | cut -d' ' -f 1)
RY=$(echo $R | cut -d' ' -f 3)
SR=$(xrandr --query | grep ' connected' | sed 's/primary //' | cut -f3 -d' ' | grep '+')
for RES in $SR
do
# monitor position/offset
SRX=$(echo $RES | cut -d'x' -f 1) # x pos
SRY=$(echo $RES | cut -d'x' -f 2 | cut -d'+' -f 1) # y pos
SROX=$(echo $RES | cut -d'x' -f 2 | cut -d'+' -f 2) # x offset
SROY=$(echo $RES | cut -d'x' -f 2 | cut -d'+' -f 3) # y offset
PX=$(($SROX + $SRX / 2 - $RX / 2))
PY=$(($SROY + $SRY / 2 - $RY / 2))
convert /tmp/screen.png $HOME/.config/i3/screen-lock.png -geometry +$PX+$PY -composite -matte /tmp/screen.png
echo "done"
done
fi
# dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Stop
# i3lock -I 10 -d -e -u -n -i /tmp/screen.png
i3lock -e -n -i /tmp/screen.png
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

-7
View File
@@ -1,7 +0,0 @@
brew install git
brew install tmux
brew install zsh
brew install macvim
brew linkapps macvim
brew install kdiff3
-39
View File
@@ -1,39 +0,0 @@
# Install Cask
brew install caskroom/cask/brew-cask
# Install Casks
brew cask install firefox
brew cask install spotify
brew cask install steam
# brew cask install adium
brew cask install sublime-text
brew cask install eclipse-java
brew cask install evernote
brew cask install skype
brew cask install sizeup
# brew cask install cinch
brew cask install battle-net
brew cask install istat-menus
brew cask install bartender
brew cask install karabiner
brew cask install macvim
brew cask install google-chrome
brew cask install the-unarchiver
brew cask install magicprefs
brew cask install dropbox
brew cask install vlc
brew cask install divvy
brew cask install seil
brew cask install quicklook-csv
brew cask install lastpass
brew cask install sourcetree
# brew cask install postbox
brew cask install transmission
brew cask install plex-home-theater
brew cask install teamviewer
brew cask install telegram
brew cask install itsycal
-17
View File
@@ -1,17 +0,0 @@
<?xml version="1.0"?>
<root>
<item>
<name>Use PC Style "Change Input Source" Georgi</name>
<appendix>Flip between input modes</appendix>
<appendix>(Option_L+Shift_L to Command+Space)</appendix>
<appendix>If you want to use Option_L+Shift_L as modifier, press Shift_L first. (then press Option_L.)</appendix>
<identifier>remap.pcstyle_changeinputmethod1georgi</identifier>
<autogen>__KeyToKey__ KeyCode::SHIFT_L, ModifierFlag::COMMAND_L, KeyCode::SLASH, ModifierFlag::COMMAND_L, ModifierFlag::SHIFT_L</autogen>
</item>
<item>
<name>Replace ± with ~ Georgi</name>
<appendix>Fix keys</appendix>
<identifier>remap.pcstyle_changetildebacktick</identifier>
<autogen>__KeyToKey__ KeyCode::UK_SECTION, KeyCode::BACKQUOTE</autogen>
</item>
</root>
-7
View File
@@ -1,7 +0,0 @@
degrees
wunderlist
pocket
twitter
xcode
watts
snap
+683
View File
@@ -0,0 +1,683 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Espresso Soda</string>
<key>settings</key>
<array>
<dict>
<key>settings</key>
<dict>
<key>background</key>
<string>#FFFFFF</string>
<key>caret</key>
<string>#000000</string>
<key>foreground</key>
<string>#000000</string>
<key>invisibles</key>
<string>#E0E0E0</string>
<key>lineHighlight</key>
<string>#A5A5A526</string>
<key>selection</key>
<string>#C2E8FF</string>
<key>selectionBorder</key>
<string>#AACBDF</string>
<key>inactiveSelection</key>
<string>#EDEDED</string>
<key>findHighlight</key>
<string>#FFE792</string>
<key>findHighlightForeground</key>
<string>#000000</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Comments</string>
<key>scope</key>
<string>comment, comment punctuation</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#ADADAD</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Comments: Preprocessor</string>
<key>scope</key>
<string>comment.block.preprocessor</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#ADADAD</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Comments: Documentation</string>
<key>scope</key>
<string>comment.documentation, comment.block.documentation</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FFFDF7</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#BC670F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid - Deprecated</string>
<key>scope</key>
<string>invalid.deprecated</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#EFCFCF</string>
<key>fontStyle</key>
<string>italic underline</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid - Illegal</string>
<key>scope</key>
<string>invalid.illegal</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#F93232</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#F9F2CE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Operators</string>
<key>scope</key>
<string>keyword.operator</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#626FC9</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Keywords</string>
<key>scope</key>
<string>keyword, storage</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#61862F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Types</string>
<key>scope</key>
<string>storage.type, support.type</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#6700B9</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Language Constants</string>
<key>scope</key>
<string>constant.language, support.constant, variable.language</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#F3F2FF</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#7653C1</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variables</string>
<key>scope</key>
<string>variable, support.variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#4C8FC7</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variables: Punctuation</string>
<key>scope</key>
<string>variable punctuation</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#4C8FC7</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Functions</string>
<key>scope</key>
<string>entity.name.function, support.function, entity</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#61862F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Classes</string>
<key>scope</key>
<string>entity.name.type, entity.other.inherited-class, support.class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#3A1D72</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Exceptions</string>
<key>scope</key>
<string>entity.name.exception</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#F93232</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Sections</string>
<key>scope</key>
<string>entity.name.section</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Numbers</string>
<key>scope</key>
<string>constant.numeric, constant</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#F3F2FF</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#7653C1</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Punctuation</string>
<key>scope</key>
<string>punctuation</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#000000</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Strings</string>
<key>scope</key>
<string>constant.character, string</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FBE9AD1A</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#BC670F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Strings: Punctuation</string>
<key>scope</key>
<string>string punctuation</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#E69A4C</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Strings: Escape Sequences</string>
<key>scope</key>
<string>constant.character.escape</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FBE9ADCC</string>
<key>fontStyle</key>
<string>bold</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Strings: Regular Expressions</string>
<key>scope</key>
<string>string.regexp</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#699D36</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Strings: Symbols</string>
<key>scope</key>
<string>constant.other.symbol</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#E8FFD5</string>
<key>fontStyle</key>
<string>bold</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Embedded Source</string>
<key>scope</key>
<string>string source, text source</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#434343</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>-----------------------------------</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>HTML: Doctype Declaration</string>
<key>scope</key>
<string>meta.tag.sgml.doctype</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#7F7F7F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>HTML: Tags</string>
<key>scope</key>
<string>entity.name.tag</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#F4FAFF</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#2F6F9F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>HTML: Attribute Punctuation</string>
<key>scope</key>
<string>meta.tag string punctuation</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#5FAFEF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>HTML: Tag Punctuation</string>
<key>scope</key>
<string>punctuation.definition.tag</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#4F9FCF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>HTML: Entities</string>
<key>scope</key>
<string>constant.character.entity</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#000000</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>HTML: Attribute Names</string>
<key>scope</key>
<string>entity.other.attribute-name</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#4F9FCF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>HTML: Attribute Values</string>
<key>scope</key>
<string>meta.tag string.quoted, meta.tag string.quoted constant.character.entity</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FFFFFF</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#D44950</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>-----------------------------------</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>CSS: Selectors</string>
<key>scope</key>
<string>meta.selector, meta.selector entity, meta.selector entity punctuation, entity.name.tag.css</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#3A77BF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>CSS: Property Names</string>
<key>scope</key>
<string>meta.property-name, support.type.property-name</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#D4430D</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>CSS: Property Values</string>
<key>scope</key>
<string>meta.property-value constant.numeric, meta.property-value constant, meta.property-value keyword</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FFFFFF</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#43A202</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>-----------------------------------</string>
<key>settings</key>
<dict/>
</dict>
<dict>
<key>name</key>
<string>Markup: Changed</string>
<key>scope</key>
<string>markup.changed</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FFFFDD</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#000000</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markup: Deletion</string>
<key>scope</key>
<string>markup.deleted</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FFDDDD</string>
<key>foreground</key>
<string>#000000</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markup: Emphasis</string>
<key>scope</key>
<string>markup.italic</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markup: Error</string>
<key>scope</key>
<string>markup.error</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#F93232</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#F9F2CE</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markup: Insertion</string>
<key>scope</key>
<string>markup.inserted</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#DDFFDD</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#000000</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markup: Output</string>
<key>scope</key>
<string>markup.output, markup.raw</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#7F7F7F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markup: Prompt</string>
<key>scope</key>
<string>markup.prompt</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#555555</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markup: Heading</string>
<key>scope</key>
<string>markup.heading</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markup: Strong</string>
<key>scope</key>
<string>markup.bold</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markup: Traceback</string>
<key>scope</key>
<string>markup.traceback</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#F93232</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markup: Underline</string>
<key>scope</key>
<string>markup.underline</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>underline</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>-----------------------------------</string>
<key>settings</key>
<dict/>
</dict>
<dict>
<key>name</key>
<string>Extra: Diff Range</string>
<key>scope</key>
<string>meta.diff.range, meta.diff.index, meta.separator</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#EAF2F5</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#434343</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Extra: Diff From</string>
<key>scope</key>
<string>meta.diff.header.from-file</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#FFDDDD</string>
<key>foreground</key>
<string>#434343</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Extra: Diff To</string>
<key>scope</key>
<string>meta.diff.header.to-file</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#DDFFDD</string>
<key>foreground</key>
<string>#434343</string>
</dict>
</dict>
</array>
<key>uuid</key>
<string>BF4E1964-0DB9-4E88-8142-E8F52D7EDEEC</string>
</dict>
</plist>
Binary file not shown.
+351
View File
@@ -0,0 +1,351 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Monokai Soda</string>
<key>settings</key>
<array>
<dict>
<key>settings</key>
<dict>
<key>background</key>
<string>#222222</string>
<key>caret</key>
<string>#F8F8F0</string>
<key>foreground</key>
<string>#F8F8F2</string>
<key>invisibles</key>
<string>#3B3A32</string>
<key>lineHighlight</key>
<string>#333333</string>
<key>selection</key>
<string>#444444</string>
<key>findHighlight</key>
<string>#FFE792</string>
<key>findHighlightForeground</key>
<string>#000000</string>
<key>selectionBorder</key>
<string>#1c1c1c</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Comment</string>
<key>scope</key>
<string>comment</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#75715E</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String</string>
<key>scope</key>
<string>string</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E6DB74</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Number</string>
<key>scope</key>
<string>constant.numeric</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#AE81FF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Built-in constant</string>
<key>scope</key>
<string>constant.language</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#AE81FF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>User-defined constant</string>
<key>scope</key>
<string>constant.character, constant.other</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#AE81FF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable</string>
<key>scope</key>
<string>variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Keyword</string>
<key>scope</key>
<string>keyword</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#F92672</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage</string>
<key>scope</key>
<string>storage</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#F92672</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage type</string>
<key>scope</key>
<string>storage.type</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#66D9EF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Class name</string>
<key>scope</key>
<string>entity.name.class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>underline</string>
<key>foreground</key>
<string>#A6E22E</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Inherited class</string>
<key>scope</key>
<string>entity.other.inherited-class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic underline</string>
<key>foreground</key>
<string>#A6E22E</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function name</string>
<key>scope</key>
<string>entity.name.function</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#A6E22E</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function argument</string>
<key>scope</key>
<string>variable.parameter</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#FD971F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag name</string>
<key>scope</key>
<string>entity.name.tag</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#F92672</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag attribute</string>
<key>scope</key>
<string>entity.other.attribute-name</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#A6E22E</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library function</string>
<key>scope</key>
<string>support.function</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#66D9EF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library constant</string>
<key>scope</key>
<string>support.constant</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#66D9EF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library class/type</string>
<key>scope</key>
<string>support.type, support.class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#66D9EF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library variable</string>
<key>scope</key>
<string>support.other.variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid</string>
<key>scope</key>
<string>invalid</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#F92672</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#F8F8F0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid deprecated</string>
<key>scope</key>
<string>invalid.deprecated</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#AE81FF</string>
<key>foreground</key>
<string>#F8F8F0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>JSON String</string>
<key>scope</key>
<string>meta.structure.dictionary.json string.quoted.double.json</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#CFCFC2</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff.header</string>
<key>scope</key>
<string>meta.diff, meta.diff.header</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#75715E</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff.deleted</string>
<key>scope</key>
<string>markup.deleted</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#F92672</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff.inserted</string>
<key>scope</key>
<string>markup.inserted</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#A6E22E</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>diff.changed</string>
<key>scope</key>
<string>markup.changed</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E6DB74</string>
</dict>
</dict>
</array>
<key>uuid</key>
<string>5EAF4173-5DDE-4D64-A1E8-C1671C7EE339</string>
</dict>
</plist>
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
Symlink this folder in Sublime's Packages/ folder
+22
View File
@@ -0,0 +1,22 @@
[
{ "keys": ["ctrl+shift+up"], "command": "swap_line_up" },
{ "keys": ["ctrl+shift+down"], "command": "swap_line_down" },
{ "keys": ["ctrl+d", "ctrl+d"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Line.sublime-macro"} },
{ "keys": ["ctrl+d", "ctrl+shift+d"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete to Hard EOL.sublime-macro"} },
{ "keys": ["ctrl+d", "ctrl+backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete to Hard BOL.sublime-macro"} },
{ "keys": ["ctrl+d", "ctrl+c"], "command": "show_at_center" },
{ "keys": ["ctrl+shift+k"], "command": "find_under_expand" },
{ "keys": ["ctrl+shift+a"], "command": "find_all_under" },
{ "keys": ["ctrl+tab"], "command": "next_view" },
{ "keys": ["ctrl+shift+tab"], "command": "prev_view" },
{ "keys": ["ctrl+a", "s"], "command": "new_pane" },
{ "keys": ["ctrl+a", "x"], "command": "close_pane" },
{ "keys": ["ctrl+a", "h"], "command": "focus_neighboring_group", "args": {"forward": false} },
{ "keys": ["ctrl+a", "l"], "command": "focus_neighboring_group" },
{ "keys": ["ctrl+a", "ctrl+h"], "command": "move_to_neighboring_group", "args": {"forward": false} },
{ "keys": ["ctrl+a", "ctrl+l"], "command": "move_to_neighboring_group" },
]
+11 -21
View File
@@ -1,23 +1,13 @@
[ [
{ "keys": ["alt+super+up"], "command": "swap_line_up" }, { "keys": ["ctrl+tab"], "command": "next_view" },
{ "keys": ["alt+super+down"], "command": "swap_line_down" }, { "keys": ["ctrl+shift+tab"], "command": "prev_view" },
{ "keys": ["ctrl+d", "ctrl+d"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Line.sublime-macro"} }, { "keys": ["f11"], "command": "toggle_full_screen" },
{ "keys": ["ctrl+d", "ctrl+shift+d"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete to Hard EOL.sublime-macro"} }, { "keys": ["shift+f11"], "command": "toggle_distraction_free" },
{ "keys": ["ctrl+d", "ctrl+backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete to Hard BOL.sublime-macro"} }, { "keys": ["ctrl+d"], "command": "run_macro_file", "args": {"file": "Packages/Default/Delete Line.sublime-macro"} },
{ "keys": ["ctrl+d", "ctrl+c"], "command": "show_at_center" }, { "keys": ["ctrl+shift+k"], "command": "find_under_expand" },
{ "keys": ["alt+shift+t"], "command": "delete_trailing_spaces" },
{ "keys": ["ctrl+shift+k"], "command": "find_under_expand" }, { "keys": ["ctrl+t"], "command": "new_file" },
{ "keys": ["ctrl+shift+a"], "command": "find_all_under" }, { "keys": ["ctrl+w"], "command": "close" },
{ "keys": ["ctrl+tab"], "command": "next_view" }, { "keys": ["ctrl+d"], "command": "run_macro_file", "args": {"file": "Packages/Default/Delete Line.sublime-macro"} },
{ "keys": ["ctrl+shift+tab"], "command": "prev_view" }, { "keys": ["ctrl+shift+d"], "command": "duplicate_line" }
{ "keys": ["alt+super+left"], "command": "jump_back" },
{ "keys": ["alt+super+right"], "command": "jump_forward" },
{ "keys": ["ctrl+a", "s"], "command": "new_pane" },
{ "keys": ["ctrl+a", "x"], "command": "close_pane" },
{ "keys": ["ctrl+a", "h"], "command": "focus_neighboring_group", "args": {"forward": false} },
{ "keys": ["ctrl+a", "l"], "command": "focus_neighboring_group" },
{ "keys": ["ctrl+a", "ctrl+h"], "command": "move_to_neighboring_group", "args": {"forward": false} },
{ "keys": ["ctrl+a", "ctrl+l"], "command": "move_to_neighboring_group" },
] ]
+4
View File
@@ -0,0 +1,4 @@
[
{ "keys": ["ctrl+d"], "command": "run_macro_file", "args": {"file": "Packages/Default/Delete Line.sublime-macro"} },
{ "keys": ["ctrl+shift+k"], "command": "find_under_expand" }
]
+25 -44
View File
@@ -1,46 +1,10 @@
{ {
"bold_folder_labels": true, "color_scheme": "Packages/Boxy Theme/schemes/Boxy Yesterday.tmTheme",
"ensure_newline_at_eof_on_save": true, "ensure_newline_at_eof_on_save": true,
"file_exclude_patterns": "fallback_encoding": "Cyrillic (Windows 1251)",
[ "font_face": "Monaco for Powerline",
"*.map", "font_size": 10.0,
"*.pyc",
"*.pyo",
"*.exe",
"*.dll",
"*.obj",
"*.o",
"*.a",
"*.lib",
"*.so",
"*.dylib",
"*.ncb",
"*.sdf",
"*.suo",
"*.pdb",
"*.idb",
".DS_Store",
"*.class",
"*.psd",
"*.db",
"*.sublime-workspace",
"*ng-all.min.js",
"*lpall.js",
"*.min.js"
],
"folder_exclude_patterns":
[
"generated/",
"*landing*",
".svn",
".git",
".hg",
"CVS"
],
"font_face": "Monaco",
"font_size": 13,
"highlight_line": true, "highlight_line": true,
"highlight_modified_tabs": true,
"ignored_packages": "ignored_packages":
[ [
"Vintage" "Vintage"
@@ -49,9 +13,26 @@
[ [
100 100
], ],
"scroll_past_end": true, "scroll_speed": 0,
"shift_tab_unindent": true, "theme": "Boxy Yesterday.sublime-theme",
"tab_size": 2, "theme_accent_mono": true,
"theme_autocomplete_item_selected_colored": true,
"theme_bar": true,
"theme_bar_colored": true,
"theme_bar_logo_atomized": true,
"theme_find_panel_atomized": true,
"theme_panel_switcher_atomized": true,
"theme_quick_panel_item_selected_colored": true,
"theme_sidebar_border": true,
"theme_sidebar_disclosure": true,
"theme_sidebar_font_lg": true,
"theme_sidebar_indent_md": true,
"theme_sidebar_indent_top_level_disabled": true,
"theme_statusbar_colored": true,
"theme_tab_arrows_hidden": true,
"theme_tab_selected_underlined": true,
"theme_tab_size_md": true,
"translate_tabs_to_spaces": true, "translate_tabs_to_spaces": true,
"trim_trailing_white_space_on_save": true "trim_trailing_white_space_on_save": true,
"word_wrap": true
} }
+2
View File
@@ -0,0 +1,2 @@
* Symlink these files in the Sublime's Packages/User folder
* The `package_control_packages` is just a useful list of packages. You have to install them manually and keep track of them yourself
+3
View File
@@ -0,0 +1,3 @@
{
"tab_size": 2
}
+4
View File
@@ -0,0 +1,4 @@
{
"tab_size": 2,
"translate_tabs_to_spaces": true
}
+23
View File
@@ -0,0 +1,23 @@
{
"bootstrapped": true,
"in_process_packages":
[
],
"installed_packages":
[
"Alignment",
"Cucumber",
"Cucumber Step Finder",
"Git",
"GitGutter",
"Guard",
"Package Control",
"Rake",
"RSpec",
"RubyTest",
"SublimeREPL"
"Git Commit Message Syntax",
"Gitignore",
"Jade"
]
}