Compare commits
	
		
			10 Commits 
		
	
	
		
			741ef20266
			...
			48681cfd4d
		
	
	| Author | SHA1 | Date | 
|---|---|---|
| 
							
							
								
									
								
								 | 
						48681cfd4d | |
| 
							
							
								
									
								
								 | 
						0485edf197 | |
| 
							
							
								
									
								
								 | 
						0f8704bbb5 | |
| 
							
							
								
									
								
								 | 
						e8cad0a7a5 | |
| 
							
							
								
									
								
								 | 
						ea0ec29bce | |
| 
							
							
								
									
								
								 | 
						3aa1900aa2 | |
| 
							
							
								
									
								
								 | 
						378cd0c389 | |
| 
							
							
								
									
								
								 | 
						734896b483 | |
| 
							
							
								
									
								
								 | 
						538b613185 | |
| 
							
							
								
									
								
								 | 
						47b036b046 | 
| 
						 | 
				
			
			@ -1,3 +1,5 @@
 | 
			
		|||
# shellcheck shell=bash
 | 
			
		||||
# shellcheck disable=SC1090
 | 
			
		||||
[[ -f ~/.bashrc ]] && . ~/.bashrc
 | 
			
		||||
 | 
			
		||||
export SSH_AUTH_SOCK="${XDG_RUNTIME_DIR}/ssh-agent.socket"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								.bashrc
								
								
								
								
							
							
						
						
									
										2
									
								
								.bashrc
								
								
								
								
							| 
						 | 
				
			
			@ -1,6 +1,8 @@
 | 
			
		|||
# If not running interactively, don't do anything
 | 
			
		||||
[[ $- != *i* ]] && return
 | 
			
		||||
 | 
			
		||||
export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc
 | 
			
		||||
 | 
			
		||||
source /etc/os-release
 | 
			
		||||
 | 
			
		||||
# Aliases {{{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
ssh "$(ssh-hosts | fzf)"
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,12 @@
 | 
			
		|||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
selected_hosts="$(ssh-hosts | fzf -m)"
 | 
			
		||||
 | 
			
		||||
for host in $selected_hosts; do
 | 
			
		||||
    echo "Saving $host"
 | 
			
		||||
    directories="$(ssh "$host" ls | fzf -m)"
 | 
			
		||||
    for directory in $directories; do
 | 
			
		||||
        echo "Saving $host:$directory"
 | 
			
		||||
        ssh "$host" "(tar cvzf - ~/$directory)" > "${host}_${directory}.tar.gz"
 | 
			
		||||
    done
 | 
			
		||||
done
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,48 @@
 | 
			
		|||
#!/usr/bin/env python
 | 
			
		||||
 | 
			
		||||
import sys
 | 
			
		||||
import subprocess
 | 
			
		||||
 | 
			
		||||
DEFAULT_TEMPERATURE = 3500
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    with open('/tmp/temperature', 'r') as temp_file:
 | 
			
		||||
        current_temperature = int(temp_file.read())
 | 
			
		||||
except FileNotFoundError:
 | 
			
		||||
    current_temperature = DEFAULT_TEMPERATURE
 | 
			
		||||
 | 
			
		||||
# If no argument is given print the current temperature
 | 
			
		||||
if len(sys.argv) == 1:
 | 
			
		||||
    print(current_temperature)
 | 
			
		||||
    sys.exit(0)
 | 
			
		||||
elif len(sys.argv) != 2:
 | 
			
		||||
    print("""
 | 
			
		||||
Usage:
 | 
			
		||||
 | 
			
		||||
  screen-temperature
 | 
			
		||||
      print current temperature
 | 
			
		||||
 | 
			
		||||
  screen-temperature <temperature>
 | 
			
		||||
      set screen temperature to <temperature>
 | 
			
		||||
 | 
			
		||||
  screen-temperature <+|-><temperature>
 | 
			
		||||
      increase or decrease screen temperature by <temperature>
 | 
			
		||||
""")
 | 
			
		||||
    sys.exit(1)
 | 
			
		||||
 | 
			
		||||
temperature_change = sys.argv[1]
 | 
			
		||||
 | 
			
		||||
if temperature_change.startswith("+"):
 | 
			
		||||
    new_temperature = current_temperature + int(temperature_change[1:])
 | 
			
		||||
elif temperature_change.startswith("-"):
 | 
			
		||||
    new_temperature = current_temperature - int(temperature_change[1:])
 | 
			
		||||
else:
 | 
			
		||||
    new_temperature = int(temperature_change)
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    subprocess.run(["redshift", "-O", str(new_temperature), "-P"], check=True)
 | 
			
		||||
    with open('/tmp/temperature', 'w') as temp_file:
 | 
			
		||||
        temp_file.write(str(new_temperature) + '\n')
 | 
			
		||||
except subprocess.CalledProcessError:
 | 
			
		||||
    print("Error: could not set screen temperature.")
 | 
			
		||||
    sys.exit(1)
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
ssh_hosts=$(grep -E 'Host [a-z0-9\-]*$' ~/.ssh/config | awk '{print $2}')
 | 
			
		||||
 | 
			
		||||
echo "$ssh_hosts"
 | 
			
		||||
| 
						 | 
				
			
			@ -1,13 +0,0 @@
 | 
			
		|||
# Atom config
 | 
			
		||||
 | 
			
		||||
Quick and dirty Atom config for live-coding (Tidalcycles, Hydra.js).
 | 
			
		||||
 | 
			
		||||
## Setup
 | 
			
		||||
 | 
			
		||||
Note: by default Atom uses `$HOME/.atom` as its config directory, to use
 | 
			
		||||
`$HOME/.config/atom` add a global environment variable `ATOM_HOME`
 | 
			
		||||
 | 
			
		||||
E.g. for arch you can add `export ATOM_HOME=$HOME/.config/atom` to the
 | 
			
		||||
following file
 | 
			
		||||
 | 
			
		||||
`/etc/profile.d/atom.sh`
 | 
			
		||||
| 
						 | 
				
			
			@ -1,52 +0,0 @@
 | 
			
		|||
"*":
 | 
			
		||||
  "atom-package-deps":
 | 
			
		||||
    ignored: [
 | 
			
		||||
      "linter-ui-default"
 | 
			
		||||
    ]
 | 
			
		||||
  core:
 | 
			
		||||
    autoHideMenuBar: true
 | 
			
		||||
    disabledPackages: [
 | 
			
		||||
      "linter-glslify"
 | 
			
		||||
      "github"
 | 
			
		||||
      "spell-check"
 | 
			
		||||
      "background-tips"
 | 
			
		||||
      "wrap-guide"
 | 
			
		||||
      "whitespace"
 | 
			
		||||
      "welcome"
 | 
			
		||||
      "markdown-preview"
 | 
			
		||||
      "tabs"
 | 
			
		||||
      "git-diff"
 | 
			
		||||
      "go-to-line"
 | 
			
		||||
      "image-view"
 | 
			
		||||
      "language-coffee-script"
 | 
			
		||||
      "language-git"
 | 
			
		||||
      "autocomplete-glsl"
 | 
			
		||||
      "autocomplete-atom-api"
 | 
			
		||||
      "autocomplete-css"
 | 
			
		||||
      "autocomplete-html"
 | 
			
		||||
      "autocomplete-plus"
 | 
			
		||||
      "autocomplete-snippets"
 | 
			
		||||
      "notifications"
 | 
			
		||||
    ]
 | 
			
		||||
    telemetryConsent: "no"
 | 
			
		||||
    themes: [
 | 
			
		||||
      "one-dark-ui"
 | 
			
		||||
      "dun-syntax"
 | 
			
		||||
    ]
 | 
			
		||||
  editor:
 | 
			
		||||
    fontFamily: "Iosevka Term SS08"
 | 
			
		||||
    fontSize: 21
 | 
			
		||||
    scrollPastEnd: true
 | 
			
		||||
  "exception-reporting":
 | 
			
		||||
    userId: "6f9fc289-7b3c-4490-937e-5e58e9765c5e"
 | 
			
		||||
  "linter-ui-default":
 | 
			
		||||
    showPanel: true
 | 
			
		||||
  "prettier-atom":
 | 
			
		||||
    formatOnSaveOptions:
 | 
			
		||||
      enabled: true
 | 
			
		||||
  "status-bar":
 | 
			
		||||
    isVisible: false
 | 
			
		||||
  tabs:
 | 
			
		||||
    alwaysShowTabBar: false
 | 
			
		||||
  welcome:
 | 
			
		||||
    showOnStartup: false
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
atom.commands.dispatch(document.querySelector('atom-workspace'), 'atom-hydra:toggle')
 | 
			
		||||
| 
						 | 
				
			
			@ -1,13 +0,0 @@
 | 
			
		|||
'atom-text-editor.vim-mode-plus:not(.insert-mode)':
 | 
			
		||||
  'space s h': 'window:focus-pane-on-left'
 | 
			
		||||
  'space s l': 'window:focus-pane-on-right'
 | 
			
		||||
  'space s k': 'window:focus-pane-above'
 | 
			
		||||
  'space s j': 'window:focus-pane-below'
 | 
			
		||||
  'space s v': 'pane:split-right-and-copy-active-item'
 | 
			
		||||
  'space s s': 'pane:split-down-and-copy-active-item'
 | 
			
		||||
  'space q': 'core:close'
 | 
			
		||||
  's': 'unset!'
 | 
			
		||||
  'space p': 'fuzzy-finder:toggle-file-finder'
 | 
			
		||||
 | 
			
		||||
'atom-text-editor':
 | 
			
		||||
  'ctrl-b': 'tree-view:toggle'
 | 
			
		||||
| 
						 | 
				
			
			@ -1,8 +0,0 @@
 | 
			
		|||
atom-hydra@0.3.6
 | 
			
		||||
autocomplete-glsl@0.2.3
 | 
			
		||||
dun-syntax@0.6.0
 | 
			
		||||
linter@3.4.0
 | 
			
		||||
linter-glslify@1.0.0
 | 
			
		||||
linter-ui-default@3.4.1
 | 
			
		||||
platformio-ide-terminal@2.10.1
 | 
			
		||||
vim-mode-plus@1.36.7
 | 
			
		||||
| 
						 | 
				
			
			@ -1,133 +0,0 @@
 | 
			
		|||
// The ui-variables file is provided by base themes provided by Atom.
 | 
			
		||||
//
 | 
			
		||||
// See https://github.com/atom/atom-dark-ui/blob/master/styles/ui-variables.less
 | 
			
		||||
// for a full listing of what's available.
 | 
			
		||||
@import "ui-variables";
 | 
			
		||||
 | 
			
		||||
&.hydra-flash {
 | 
			
		||||
  // color: @text-color-selected;
 | 
			
		||||
  // background-color: @background-color-selected;
 | 
			
		||||
//  color: #000;
 | 
			
		||||
  background: rgba(255, 255, 255, 0.5) !important;
 | 
			
		||||
 //background: #0f0 !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
&.evalFlash {
 | 
			
		||||
  // color: @text-color-selected;
 | 
			
		||||
  // background-color: @background-color-selected;
 | 
			
		||||
//  color: #000;
 | 
			
		||||
  background: rgba(255, 255, 255, 0.8) !important;
 | 
			
		||||
 //background: #0f0 !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.hydra,
 | 
			
		||||
.hydra canvas {
 | 
			
		||||
    position: fixed;
 | 
			
		||||
    top: 0;
 | 
			
		||||
    left: 0;
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    height: 100%;
 | 
			
		||||
    z-index: -1;
 | 
			
		||||
    background: black;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
body.hydra-enabled {
 | 
			
		||||
    &,
 | 
			
		||||
    atom-workspace,
 | 
			
		||||
    .header *,
 | 
			
		||||
    .footer *,
 | 
			
		||||
    atom-workspace-axis,
 | 
			
		||||
    atom-workspace-axis
 | 
			
		||||
        :not(.cursor):not(autocomplete-suggestion-list):not(atom-overlay):not(span):not(.region),
 | 
			
		||||
    atom-workspace *:before,
 | 
			
		||||
    atom-workspace *:after {
 | 
			
		||||
        background: transparent; /*!important;*/
 | 
			
		||||
        border: none !important;
 | 
			
		||||
        text-shadow: 0 1px 1px black;
 | 
			
		||||
        box-shadow: none !important;
 | 
			
		||||
     }
 | 
			
		||||
    .line > span {
 | 
			
		||||
       background: rgba(0, 0, 0, 0.6);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .cursor {
 | 
			
		||||
        width: 0 !important;
 | 
			
		||||
        box-shadow: 0 0 3px #0ff !important;
 | 
			
		||||
        border-left: 4px solid #0ff !important;
 | 
			
		||||
    }
 | 
			
		||||
    autocomplete-suggestion-list,
 | 
			
		||||
    atom-overlay {
 | 
			
		||||
        background: rgba(0, 0, 0, 0.9) !important;
 | 
			
		||||
    }
 | 
			
		||||
    .region {
 | 
			
		||||
        background: rgba(0, 255, 255, 0.4) !important;
 | 
			
		||||
        z-index: 9 !important;
 | 
			
		||||
    }
 | 
			
		||||
    .selected:before {
 | 
			
		||||
        background: #0005 !important;
 | 
			
		||||
        border-left: 8px #8888 solid !important;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /* transparent background for file tabs */
 | 
			
		||||
    li.texteditor.tab{
 | 
			
		||||
      background: rgba(0, 0, 0, 0.0)!important;
 | 
			
		||||
    }
 | 
			
		||||
 }
 | 
			
		||||
 | 
			
		||||
/*.evalFlash > span {
 | 
			
		||||
    background-color: rgba(255, 255, 255, 0.9);
 | 
			
		||||
}
 | 
			
		||||
//styles from tidal-atom
 | 
			
		||||
 | 
			
		||||
atom-text-editor.editor .line {
 | 
			
		||||
  transition:  background-color .8s ease-out;
 | 
			
		||||
  -webkit-transition: background-color .8s ease-out;
 | 
			
		||||
  background-color: rgba(0, 0, 0, 0.6);
 | 
			
		||||
  // &.line-green {
 | 
			
		||||
  //   background-color: @green-color;
 | 
			
		||||
  // }
 | 
			
		||||
  //
 | 
			
		||||
  // &.line-blue {
 | 
			
		||||
  //   background-color: @blue-color;
 | 
			
		||||
  // }
 | 
			
		||||
 | 
			
		||||
  &.line-error {
 | 
			
		||||
    background-color: fadeout(@background-color-error, 95%);
 | 
			
		||||
    border: 1px solid fadeout(@background-color-error, 50%);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  &.line-highlight {
 | 
			
		||||
    background-color: @background-color-highlight;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  &.eval-success {
 | 
			
		||||
    color: @text-color-success;
 | 
			
		||||
    background-color: fadeout(@background-color-success, 50%);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  &.eval-error,
 | 
			
		||||
  &.eval-syntax-error {
 | 
			
		||||
    color: @text-color-error;
 | 
			
		||||
    background-color: @background-color-error;
 | 
			
		||||
  }
 | 
			
		||||
}*/
 | 
			
		||||
 | 
			
		||||
.elegante {
 | 
			
		||||
  background-color: #f00;
 | 
			
		||||
  font-family: fantasy;
 | 
			
		||||
}
 | 
			
		||||
/*
 | 
			
		||||
atom-panel div.tidalcycles.console {
 | 
			
		||||
  height: 100px;
 | 
			
		||||
  padding: 3px 10px;
 | 
			
		||||
  font-size: 14px;
 | 
			
		||||
  overflow: scroll;
 | 
			
		||||
  font-family: Consolas, monospace;
 | 
			
		||||
 | 
			
		||||
  .error{
 | 
			
		||||
    color: @text-color-error;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
*/
 | 
			
		||||
| 
						 | 
				
			
			@ -1,322 +0,0 @@
 | 
			
		|||
@import "syntax-variables";
 | 
			
		||||
@import "ui-variables";
 | 
			
		||||
 | 
			
		||||
// Cursor style
 | 
			
		||||
// =========================
 | 
			
		||||
.cursor-base () {
 | 
			
		||||
  border: none;
 | 
			
		||||
  background: none;
 | 
			
		||||
  opacity: 0.5;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.underline-cursor(@bottom-width: 0.2em) {
 | 
			
		||||
  .cursor-base();
 | 
			
		||||
  border-bottom-width: @bottom-width;
 | 
			
		||||
  border-bottom-style: solid;
 | 
			
		||||
  border-bottom-color: @syntax-cursor-color;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
atom-text-editor.vim-mode-plus.normal-mode,
 | 
			
		||||
atom-text-editor.vim-mode-plus.visual-mode,
 | 
			
		||||
atom-text-editor.vim-mode-plus.operator-pending-mode,
 | 
			
		||||
atom-text-editor.vim-mode-plus.insert-mode.replace {
 | 
			
		||||
  &.is-focused,
 | 
			
		||||
  &.vim-mode-plus-input-focused,
 | 
			
		||||
  &.vim-mode-plus-search-input-focused {
 | 
			
		||||
    .cursor {
 | 
			
		||||
      .cursor-base();
 | 
			
		||||
      background-color: @syntax-cursor-color; // block-cursor
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  &.vim-mode-plus-input-focused.hide-cursor {
 | 
			
		||||
    .cursor { opacity: 0; }
 | 
			
		||||
    .cursors.blink-off .cursor { opacity: 0; }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
atom-text-editor.vim-mode-plus.operator-pending-mode {
 | 
			
		||||
  &.is-focused,
 | 
			
		||||
  &.vim-mode-plus-search-input-focused {
 | 
			
		||||
    .cursor { .underline-cursor(0.6em); }
 | 
			
		||||
    .cursors.blink-off .cursor { opacity: 0; }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
atom-text-editor.vim-mode-plus.insert-mode.replace {
 | 
			
		||||
  &.is-focused {
 | 
			
		||||
    .cursor {
 | 
			
		||||
      .underline-cursor(0.3em);
 | 
			
		||||
      opacity: 0.8;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// vim-mode-plus-input-focused for surround, f, F, t, T, r etc.
 | 
			
		||||
atom-text-editor.vim-mode-plus.normal-mode,
 | 
			
		||||
atom-text-editor.vim-mode-plus.visual-mode,
 | 
			
		||||
atom-text-editor.vim-mode-plus.operator-pending-mode, {
 | 
			
		||||
  &.vim-mode-plus-input-focused {
 | 
			
		||||
    .cursor { .underline-cursor(); }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
atom-text-editor.vim-mode-plus-input-char-waiting {
 | 
			
		||||
  &.is-focused { .cursor { .underline-cursor(); } }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Flash ranges e.g. flashing yanked range.
 | 
			
		||||
// =========================
 | 
			
		||||
.flash-animation (@animation-name, @color) {
 | 
			
		||||
  @keyframes @animation-name {
 | 
			
		||||
    from { background-color: @color; }
 | 
			
		||||
    to { background-color: transparent; }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
.flash (@animation-name; @duration) {
 | 
			
		||||
  animation-name: @animation-name;
 | 
			
		||||
  animation-duration: @duration;
 | 
			
		||||
  animation-iteration-count: 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@flash-base-color: contrast(@syntax-background-color, darken(@syntax-selection-color, 3%), lighten(@syntax-selection-color, 3%));
 | 
			
		||||
@flash-search-color: fadeout(darken(@syntax-selection-flash-color, 10%), 20%);
 | 
			
		||||
@flash-added-color: fadeout(darken(@syntax-color-added, 10%), 50%);
 | 
			
		||||
@flash-removed-color: fadeout(@syntax-color-removed, 50%);
 | 
			
		||||
 | 
			
		||||
// flashOnOperate
 | 
			
		||||
.flash-animation(flash-operator, @flash-base-color);
 | 
			
		||||
.flash-animation(flash-operator-occurrence, @flash-added-color);
 | 
			
		||||
.flash-animation(flash-operator-remove-occurrence, @flash-removed-color);
 | 
			
		||||
 | 
			
		||||
// flashOnUndoRedo
 | 
			
		||||
.flash-animation(flash-undo-redo, @flash-base-color);
 | 
			
		||||
.flash-animation(flash-undo-redo-multiple-changes, @flash-added-color);
 | 
			
		||||
.flash-animation(flash-undo-redo-multiple-deletes, @flash-removed-color);
 | 
			
		||||
 | 
			
		||||
// flashOnSearch
 | 
			
		||||
.flash-animation(flash-search, @flash-search-color);
 | 
			
		||||
.flash-animation(flash-screen, @flash-base-color);
 | 
			
		||||
 | 
			
		||||
atom-text-editor .vim-mode-plus-flash {
 | 
			
		||||
  // flashOnOperate
 | 
			
		||||
  &.operator                   .region { .flash(flash-operator, 0.5s); }
 | 
			
		||||
  &.operator-long              .region { .flash(flash-operator, 0.8s); }
 | 
			
		||||
  &.operator-occurrence        .region { .flash(flash-operator-occurrence, 0.8s); }
 | 
			
		||||
  &.operator-remove-occurrence .region { .flash(flash-operator-remove-occurrence, 0.8s); }
 | 
			
		||||
 | 
			
		||||
  // flashOnUndoRedo
 | 
			
		||||
  &.undo-redo                  .region { .flash(flash-undo-redo, 0.5s); }
 | 
			
		||||
  &.undo-redo-multiple-changes .region { .flash(flash-undo-redo-multiple-changes, 0.5s); }
 | 
			
		||||
  &.undo-redo-multiple-deletes .region { .flash(flash-undo-redo-multiple-deletes, 0.5s); }
 | 
			
		||||
 | 
			
		||||
  // flashOnSearch
 | 
			
		||||
  &.search .region { .flash(flash-search, 1.0s); z-index: 1; }
 | 
			
		||||
  &.screen .region { .flash(flash-screen, 0.3s); }
 | 
			
		||||
 | 
			
		||||
  // demo-mode pkg integration to stop flash while demo-mode's hover is active
 | 
			
		||||
  &.operator-demo                   .region { background: @flash-base-color; }
 | 
			
		||||
  &.operator-long-demo              .region { background: @flash-base-color; }
 | 
			
		||||
  &.operator-occurrence-demo        .region { background: @flash-added-color; }
 | 
			
		||||
  &.operator-remove-occurrence-demo .region { background: @flash-removed-color; }
 | 
			
		||||
  &.undo-redo-demo                  .region { background: @flash-base-color; }
 | 
			
		||||
  &.undo-redo-multiple-changes-demo .region { background: @flash-added-color; }
 | 
			
		||||
  &.undo-redo-multiple-deletes-demo  .region { background: @flash-removed-color; }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Hover Counter
 | 
			
		||||
// =========================
 | 
			
		||||
.vim-mode-plus-hover {
 | 
			
		||||
  display: block;
 | 
			
		||||
  color: @text-color-highlight;
 | 
			
		||||
  background-color: @base-background-color;
 | 
			
		||||
  border-radius: @component-border-radius;
 | 
			
		||||
  box-shadow: 0 0 1px @syntax-text-color;
 | 
			
		||||
 | 
			
		||||
  margin-top: -3.0em;
 | 
			
		||||
  margin-left: -0.3em;
 | 
			
		||||
  padding-left: 0.2em;
 | 
			
		||||
  padding-right: 0.2em;
 | 
			
		||||
  text-align: center;
 | 
			
		||||
 | 
			
		||||
  &.first { background-color: @background-color-info; }
 | 
			
		||||
  &.last { background-color: @background-color-error; }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
atom-text-editor[mini].vim-mode-plus-input {
 | 
			
		||||
  background-color: inherit;
 | 
			
		||||
  font-weight: normal;
 | 
			
		||||
  color: @text-color;
 | 
			
		||||
  line-height: 1.28;
 | 
			
		||||
  cursor: default;
 | 
			
		||||
  white-space: nowrap;
 | 
			
		||||
  padding-left: 10px;
 | 
			
		||||
  height: 0px !important;
 | 
			
		||||
  width: 0px !important;
 | 
			
		||||
  overflow: hidden !important;
 | 
			
		||||
  border: none !important;
 | 
			
		||||
  padding: 0 !important;
 | 
			
		||||
  display: block !important;
 | 
			
		||||
  position: fixed !important;
 | 
			
		||||
  top: -10px !important;
 | 
			
		||||
  left: -10px !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Search
 | 
			
		||||
// =========================
 | 
			
		||||
// input
 | 
			
		||||
.vim-mode-plus-search-container {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  > div {
 | 
			
		||||
    padding: @component-padding/2 @component-padding;
 | 
			
		||||
    border: none;
 | 
			
		||||
  }
 | 
			
		||||
  .editor-container { width: 100%; }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
atom-text-editor[mini].vim-mode-plus-search {
 | 
			
		||||
  border: none;
 | 
			
		||||
  color: @text-color;
 | 
			
		||||
  cursor: default;
 | 
			
		||||
  &.is-focused { box-shadow: none; }
 | 
			
		||||
  &::before {
 | 
			
		||||
    font-size: 1.2em;
 | 
			
		||||
    padding-right: 0.5em;
 | 
			
		||||
    content: "/";
 | 
			
		||||
  }
 | 
			
		||||
  &.backwards::before { content: "?"; }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@search-match-base: @syntax-result-marker-color;
 | 
			
		||||
@search-match: hsla(hue(@search-match-base), saturation(@search-match-base), lightness(@search-match-base), 0.4);
 | 
			
		||||
@search-match-first: fadeout(@syntax-color-renamed, 60%);
 | 
			
		||||
@search-match-last: fadeout(@syntax-color-removed, 60%);
 | 
			
		||||
@search-match-border-current: hsla(hue(@search-match-base), saturation(@search-match-base), lightness(@search-match-base), 1.0);
 | 
			
		||||
@search-match-border-first: syntax-color-renamed;
 | 
			
		||||
@search-match-border-last: syntax-color-removed;
 | 
			
		||||
 | 
			
		||||
atom-text-editor:not(.silent) {
 | 
			
		||||
  .vim-mode-plus-search-match {
 | 
			
		||||
    .region { background-color: @search-match; }
 | 
			
		||||
    &.first .region { background-color: @search-match-first; }
 | 
			
		||||
    &.last .region { background-color: @search-match-last; }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@keyframes flash-find-char {
 | 
			
		||||
  from { border-color: @syntax-color-function; }
 | 
			
		||||
  to { border-color: transparent; }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// highlight
 | 
			
		||||
.round-box {
 | 
			
		||||
  box-sizing: border-box;
 | 
			
		||||
  border-radius: @component-border-radius;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
atom-text-editor {
 | 
			
		||||
  .vim-mode-plus-search-match {
 | 
			
		||||
    .region {
 | 
			
		||||
      .round-box();
 | 
			
		||||
      border: 2px solid transparent;
 | 
			
		||||
      transition: border-color 0.2s;
 | 
			
		||||
    }
 | 
			
		||||
    &.current .region {
 | 
			
		||||
      border-color: @search-match-border-current;
 | 
			
		||||
      transition-duration: 0.1s;
 | 
			
		||||
    }
 | 
			
		||||
    &.first.current .region {
 | 
			
		||||
      border-color: search-match-border-first;
 | 
			
		||||
    }
 | 
			
		||||
    &.last.current .region {
 | 
			
		||||
      border-color: @search-match-border-last;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  .vim-mode-plus-highlight-search .region {
 | 
			
		||||
    .round-box();
 | 
			
		||||
    border: 1px solid fadeout(@syntax-text-color, 70%);
 | 
			
		||||
    background-color: @syntax-selection-color;
 | 
			
		||||
  }
 | 
			
		||||
  .vim-mode-plus-persistent-selection .region {
 | 
			
		||||
    background-color: @syntax-selection-color;
 | 
			
		||||
  }
 | 
			
		||||
  .vim-mode-plus-target-range .region {
 | 
			
		||||
    background-color: @syntax-selection-color;
 | 
			
		||||
  }
 | 
			
		||||
  .vim-mode-plus-occurrence-base .region {
 | 
			
		||||
    box-sizing: border-box;
 | 
			
		||||
    border-bottom-width: 2px;
 | 
			
		||||
    border-bottom-style: dotted;
 | 
			
		||||
 | 
			
		||||
    z-index: 1;
 | 
			
		||||
    border-color: @syntax-color-modified;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .vim-mode-plus-find-char {
 | 
			
		||||
    .region {
 | 
			
		||||
      box-sizing: border-box;
 | 
			
		||||
      border-width: 0px;
 | 
			
		||||
      border-bottom-width: 2px;
 | 
			
		||||
      border-style: solid;
 | 
			
		||||
    }
 | 
			
		||||
    &.pre-confirm .region {
 | 
			
		||||
      border-color: @syntax-color-modified;
 | 
			
		||||
      &.current { border-bottom-width: 5px; }
 | 
			
		||||
    }
 | 
			
		||||
    &.post-confirm .region {
 | 
			
		||||
      .flash(flash-find-char, 2.0s);
 | 
			
		||||
      &.long { animation-duration: 4.0s; }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Maximize Pane
 | 
			
		||||
// =========================
 | 
			
		||||
atom-workspace.vim-mode-plus--pane-maximized {
 | 
			
		||||
  atom-dock.left { display: none; }
 | 
			
		||||
  atom-dock.right { display: none; }
 | 
			
		||||
  atom-dock.bottom { display: none; }
 | 
			
		||||
  atom-pane-container {
 | 
			
		||||
    position: relative;
 | 
			
		||||
    atom-pane-axis:not(.vim-mode-plus--active-pane-axis) { display: none; }
 | 
			
		||||
    atom-pane {
 | 
			
		||||
      .item-views { background: @syntax-background-color !important; }
 | 
			
		||||
      display: none;
 | 
			
		||||
      &.vim-mode-plus--active-pane {
 | 
			
		||||
        display: flex;
 | 
			
		||||
        position: absolute;
 | 
			
		||||
        top: 0;
 | 
			
		||||
        right: 0;
 | 
			
		||||
        left: 0;
 | 
			
		||||
        bottom: 0;
 | 
			
		||||
        z-index: 100;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  &.vim-mode-plus--hide-tab-bar { .tab-bar { display: none; } }
 | 
			
		||||
  &.vim-mode-plus--hide-status-bar { .status-bar { display: none; } }
 | 
			
		||||
  &.vim-mode-plus--pane-centered {
 | 
			
		||||
    atom-text-editor:not(.mini) {
 | 
			
		||||
      margin-left: 20%;
 | 
			
		||||
      atom-text-editor {
 | 
			
		||||
        // Some package embed another text-editor into normal text-editor by using block decoration.
 | 
			
		||||
        // But we don't want this editor in editor centered again.
 | 
			
		||||
        // E.g. git-diff-details, inline-git-diff
 | 
			
		||||
        margin-left: 0%;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// SelectList Highlight matched text
 | 
			
		||||
// =========================
 | 
			
		||||
.vim-mode-plus-select-list .list-group .character-match {
 | 
			
		||||
  color: @text-color-highlight;
 | 
			
		||||
  font-weight: bold;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.demo-mode-container {
 | 
			
		||||
  .kind {
 | 
			
		||||
    color: @text-color-selected;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -6,3 +6,10 @@ mode 3840x2160
 | 
			
		|||
pos 0x0
 | 
			
		||||
primary
 | 
			
		||||
rate 60.00
 | 
			
		||||
x-prop-max_bpc 8
 | 
			
		||||
x-prop-non_desktop 0
 | 
			
		||||
x-prop-scaling_mode None
 | 
			
		||||
x-prop-tearfree auto
 | 
			
		||||
x-prop-underscan off
 | 
			
		||||
x-prop-underscan_hborder 0
 | 
			
		||||
x-prop-underscan_vborder 0
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,25 @@
 | 
			
		|||
output eDP
 | 
			
		||||
off
 | 
			
		||||
output HDMI-A-0
 | 
			
		||||
crtc 0
 | 
			
		||||
mode 3840x2160
 | 
			
		||||
pos 0x0
 | 
			
		||||
primary
 | 
			
		||||
rate 60.00
 | 
			
		||||
x-prop-max_bpc 8
 | 
			
		||||
x-prop-non_desktop 0
 | 
			
		||||
x-prop-scaling_mode None
 | 
			
		||||
x-prop-tearfree auto
 | 
			
		||||
x-prop-underscan off
 | 
			
		||||
x-prop-underscan_hborder 0
 | 
			
		||||
x-prop-underscan_vborder 0
 | 
			
		||||
output eDP
 | 
			
		||||
crtc 1
 | 
			
		||||
mode 1920x1080
 | 
			
		||||
pos 960x2160
 | 
			
		||||
rate 60.00
 | 
			
		||||
x-prop-max_bpc 16
 | 
			
		||||
x-prop-non_desktop 0
 | 
			
		||||
x-prop-scaling_mode None
 | 
			
		||||
x-prop-tearfree auto
 | 
			
		||||
x-prop-underscan off
 | 
			
		||||
x-prop-underscan_hborder 0
 | 
			
		||||
x-prop-underscan_vborder 0
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
$HOME/.bin/set-wacom-draw-area
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +1,5 @@
 | 
			
		|||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
for i in ~/.mozilla/firefox/*.*default*
 | 
			
		||||
  do ln -s user.js "$i/user.js"
 | 
			
		||||
  do ln -s "$XDG_CONFIG_HOME"/firefox/user.js "$i/user.js"
 | 
			
		||||
done
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,4 +11,5 @@
 | 
			
		|||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
user_pref('browser.download.dir', '/home/h/dl')
 | 
			
		||||
// Set default download directory
 | 
			
		||||
user_pref("browser.download.dir", "/home/h/dl");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,4 +13,3 @@ K add video-pan-y  0.01
 | 
			
		|||
J add video-pan-y -0.01
 | 
			
		||||
 | 
			
		||||
m cycle mute
 | 
			
		||||
s subs
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -48,8 +48,6 @@ local user_opts = {
 | 
			
		|||
    seekrangeseparate = true,   -- wether the seekranges overlay on the bar-style seekbar
 | 
			
		||||
    seekrangealpha = 210,       -- transparency of seekranges
 | 
			
		||||
    seekbarkeyframes = true,    -- use keyframes when dragging the seekbar
 | 
			
		||||
    title = "${media-title}",   -- string compatible with property-expansion
 | 
			
		||||
                                -- to be shown as OSC title
 | 
			
		||||
    tooltipborder = 1,          -- border of tooltip in bottom/topbar
 | 
			
		||||
    tooltipfontsize = 17.5,
 | 
			
		||||
    tooltipseekbar = false,     -- following cursor bar over the playback seekbar
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,7 @@ set-option -sg escape-time 10
 | 
			
		|||
set -g status-left ''
 | 
			
		||||
set -g status-right ''
 | 
			
		||||
 | 
			
		||||
bind r source-file ~/.tmux.conf # reload tmux conf
 | 
			
		||||
bind r source-file ~/.config/tmux/tmux.conf # reload tmux conf
 | 
			
		||||
 | 
			
		||||
# Keybindings
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -252,9 +252,9 @@ pause = spawn "playerctl pause"
 | 
			
		|||
brighten, dim, warm, cool, resetTemp :: X ()
 | 
			
		||||
brighten = spawn "brightnessctl set 20+"
 | 
			
		||||
dim = spawn "brightnessctl set 20-"
 | 
			
		||||
warm = spawn "echo $(($(cat /tmp/temperature) + 50)) > /tmp/temperature && redshift -O $(cat /tmp/temperature) -P && notify < /tmp/temperature -h string:x-canonical-private-synchronous:anything"
 | 
			
		||||
cool = spawn "echo $(($(cat /tmp/temperature) - 50)) > /tmp/temperature && redshift -O $(cat /tmp/temperature) -P && notify < /tmp/temperature -h string:x-canonical-private-synchronous:anything"
 | 
			
		||||
resetTemp = spawn "echo 3000 > /tmp/temperature && redshift -x"
 | 
			
		||||
warm = spawn "screen-temperature +50 && notify < /tmp/temperature -h string:x-canonical-private-synchronous:anything"
 | 
			
		||||
cool = spawn "screen-temperature -50 && notify < /tmp/temperature -h string:x-canonical-private-synchronous:anything"
 | 
			
		||||
resetTemp = spawn "screen-temperature 3000"
 | 
			
		||||
 | 
			
		||||
-- }}}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue