diff --git a/dot_tmux/dot_tmux.conf b/dot_tmux.conf similarity index 100% rename from dot_tmux/dot_tmux.conf rename to dot_tmux.conf diff --git a/dot_tmux/LICENSE.MIT b/dot_tmux/LICENSE.MIT deleted file mode 100644 index cbda5cd..0000000 --- a/dot_tmux/LICENSE.MIT +++ /dev/null @@ -1,18 +0,0 @@ -Copyright 2012— Gregory Pakosz - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/dot_tmux/LICENSE.WTFPLv2 b/dot_tmux/LICENSE.WTFPLv2 deleted file mode 100644 index c6c7def..0000000 --- a/dot_tmux/LICENSE.WTFPLv2 +++ /dev/null @@ -1,13 +0,0 @@ - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 - - Copyright (C) 2004 Sam Hocevar - - Everyone is permitted to copy and distribute verbatim or modified - copies of this license document, and changing it is allowed as long - as the name is changed. - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/dot_tmux/README.md b/dot_tmux/README.md deleted file mode 100644 index 92f5e4c..0000000 --- a/dot_tmux/README.md +++ /dev/null @@ -1,386 +0,0 @@ -.tmux -===== - -Self-contained, pretty and versatile `.tmux.conf` configuration file. - -![Screenshot](https://cloud.githubusercontent.com/assets/553208/19740585/85596a5a-9bbf-11e6-8aa1-7c8d9829c008.gif) - -Installation ------------- - -Requirements: - - - tmux **`>= 2.4`** running inside Linux, Mac, OpenBSD, Cygwin or WSL - - awk, perl and sed - - outside of tmux, `$TERM` must be set to `xterm-256color` - -⚠️ Before installing, you may want to backup your existing configuration. - -You can install Oh my tmux! at any of the following locations: -- `~` -- `$XDG_CONFIG_HOME/tmux` -- `~/.config/tmux` - -Installing in `~`: -``` -$ cd -$ git clone https://github.com/gpakosz/.tmux.git -$ ln -s -f .tmux/.tmux.conf -$ cp .tmux/.tmux.conf.local . -``` - -Installing in `$XDG_CONFIG_HOME/tmux`: -``` -$ git clone https://github.com/gpakosz/.tmux.git "/path/to/oh-my-tmux" -$ mkdir -p "$XDG_CONFIG_HOME/tmux" -$ ln -s "/path/to/oh-my-tmux/.tmux.conf" "$XDG_CONFIG_HOME/tmux/tmux.conf" -$ cp "/path/to/oh-my-tmux/.tmux.conf.local" "$XDG_CONFIG_HOME/tmux/tmux.conf.local" -``` - -Installing in `~/.config/tmux`: -``` -$ git clone https://github.com/gpakosz/.tmux.git "/path/to/oh-my-tmux" -$ mkdir -p "~/.config/tmux" -$ ln -s "/path/to/oh-my-tmux/.tmux.conf" "~/.config/tmux/tmux.conf" -$ cp "/path/to/oh-my-tmux/.tmux.conf.local" "~/.config/tmux/tmux.conf.local" -``` -⚠️ When installing `$XDG_CONFIG_HOME/tmux` or `~/.config/tmux`, the configuration -file names don't have a leading `.` character. - -❗️ You should never alter the main `.tmux.conf` or `tmux.conf` file. If you do, -you're on your own. Instead, every customization should happen in your -`.tmux.conf.local` or `tmux.conf.local` customization file copy. - -If you're a Vim user, setting the `$EDITOR` environment variable to `vim` will -enable and further customize the vi-style key bindings (see tmux manual). - -If you're new to tmux, I recommend you to read [tmux 2: Productive Mouse-Free -Development][bhtmux2] by [@bphogan]. - -Now proceed to [adjust] your `.local` customization file copy. - -[bhtmux2]: https://pragprog.com/titles/bhtmux2/tmux-2 -[@bphogan]: https://twitter.com/bphogan -[adjust]: #configuration - -Troubleshooting ---------------- - - - **I'm running tmux `HEAD` and things don't work properly. What should I do?** - - Please open an issue describing what doesn't work with upcoming tmux. I'll do - my best to address it. - - - **Status line is broken and/or gets duplicated at the bottom of the screen. - What gives?** - - This particularly happens on Linux when the distribution provides a version - of glib that received Unicode 9.0 upgrades (glib `>= 2.50.1`) while providing - a version of glibc that didn't (glibc `< 2.26`). You may also configure - `LC_CTYPE` to use an `UTF-8` locale. Typically VTE based terminal emulators - rely on glib's `g_unichar_iswide()` function while tmux relies on glibc's - `wcwidth()` function. When these two functions disagree, display gets messed - up. - - This can also happen on macOS when using iTerm2 and "Use Unicode version 9 - character widths" is enabled in `Preferences... > Profiles > Text` - - For that reason, the default sample `.local` customization file stopped using - Unicode characters for which width changed in between Unicode 8.0 and 9.0 - standards, as well as Emojis. - - - **I installed Powerline and/or (patched) fonts but can't see Powerline - symbols.** - - First, you don't need to install Powerline. You only need fonts patched with - Powerline symbols or the standalone `PowerlineSymbols.otf` font. Then make - sure your `.local` customization file copy uses the Powerline code points for - `tmux_conf_theme_left_separator_XXX` values. - - - **I'm using Bash On Windows (WSL), colors and the Powerline look are broken.** - - There is currently a [bug][1681] in the new console powering Bash On Windows - preventing text attributes (bold, underscore, ...) to combine properly with - colors. The workaround is to search your `.local` customization file copy and - replace attributes with `'none'`. - - Also, until Window's console replaces its GDI based render with a DirectWrite - one, Powerline symbols will be broken. - - The alternative is to use the [Mintty terminal for WSL][wsltty]. - -[1681]: https://github.com/Microsoft/BashOnWindows/issues/1681 -[wsltty]: https://github.com/mintty/wsltty - -Features --------- - - - `C-a` acts as secondary prefix, while keeping default `C-b` prefix - - visual theme inspired by [Powerline][] - - [maximize any pane to a new window with ` +`][maximize-pane] - - SSH/Mosh aware username and hostname status line information - - mouse mode toggle with ` m` - - automatic usage of [`reattach-to-user-namespace`][reattach-to-user-namespace] - if available - - laptop battery status line information - - uptime status line information - - optional highlight of focused pane - - configurable new windows and panes behavior (optionally retain current path) - - SSH/Mosh aware split pane (reconnects to remote server) - - copy to OS clipboard (needs [`reattach-to-user-namespace`][reattach-to-user-namespace] - on macOS, `xsel`, `xclip`, or `wl-copy` on Linux) - - support for 4-digit hexadecimal Unicode characters - - [Facebook PathPicker][] integration if available - - [Urlview][] integration if available - -[Powerline]: https://github.com/Lokaltog/powerline -[maximize-pane]: http://pempek.net/articles/2013/04/14/maximizing-tmux-pane-new-window/ -[reattach-to-user-namespace]: https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard -[Facebook PathPicker]: https://facebook.github.io/PathPicker/ -[Urlview]: https://packages.debian.org/stable/misc/urlview - -The "maximize any pane to a new window with ` +`" feature is different -from builtin `resize-pane -Z` as it allows you to further split a maximized -pane. It's also more flexible by allowing you to maximize a pane to a new -window, then change window, then go back and the pane is still in maximized -state in its own window. You can then minimize a pane by using ` +` -either from the source window or the maximized window. - -![Maximize pane](https://cloud.githubusercontent.com/assets/553208/9890858/ee3c0ca6-5c02-11e5-890e-05d825a46c92.gif) - -Mouse mode allows you to set the active window, set the active pane, resize -panes and automatically switches to copy-mode to select text. - -![Mouse mode](https://cloud.githubusercontent.com/assets/553208/9890797/8dffe542-5c02-11e5-9c06-a25b452e6fcc.gif) - -Bindings --------- - -tmux may be controlled from an attached client by using a key combination of a -prefix key, followed by a command key. This configuration uses `C-a` as a -secondary prefix while keeping `C-b` as the default prefix. In the following -list of key bindings: - - `` means you have to either hit Ctrl + a or Ctrl + b - - ` c` means you have to hit Ctrl + a or Ctrl + b followed by c - - ` C-c` means you have to hit Ctrl + a or Ctrl + b followed by Ctrl + c - -This configuration uses the following bindings: - - - ` e` opens the `.local` customization file copy with the editor - defined by the `$EDITOR` environment variable (defaults to `vim` when empty) - - ` r` reloads the configuration - - `C-l` clears both the screen and the tmux history - - - ` C-c` creates a new session - - ` C-f` lets you switch to another session by name - - - ` C-h` and ` C-l` let you navigate windows (default - ` n` and ` p` are unbound) - - ` Tab` brings you to the last active window - - - ` -` splits the current pane vertically - - ` _` splits the current pane horizontally - - ` h`, ` j`, ` k` and ` l` let you navigate - panes ala Vim - - ` H`, ` J`, ` K`, ` L` let you resize panes - - ` <` and ` >` let you swap panes - - ` +` maximizes the current pane to a new window - - - ` m` toggles mouse mode on or off - - - ` U` launches Urlview (if available) - - ` F` launches Facebook PathPicker (if available) - - - ` Enter` enters copy-mode - - ` b` lists the paste-buffers - - ` p` pastes from the top paste-buffer - - ` P` lets you choose the paste-buffer to paste from - -Additionally, `copy-mode-vi` matches [my own Vim configuration][] - -[my own Vim configuration]: https://github.com/gpakosz/.vim.git - -Bindings for `copy-mode-vi`: - -- `v` begins selection / visual mode -- `C-v` toggles between blockwise visual mode and visual mode -- `H` jumps to the start of line -- `L` jumps to the end of line -- `y` copies the selection to the top paste-buffer -- `Escape` cancels the current operation - -Configuration -------------- - -While this configuration tries to bring sane default settings, you may want to -customize it further to your needs. - -❗️ Again, you should never alter the main `.tmux.conf` or `tmux.conf` file. -If you do, you're on your own. - -Please refer to the sample `.local` customization file to know more about the -variables that allow you to alter different behaviors. Upon successful -installation, pressing ` e` will open your `.local` customization file -copy with the editor defined by the `$EDITOR` environment variable (defaults to -`vim` when empty). - -### Enabling the Powerline look - -Powerline originated as a status-line plugin for Vim. Its popular eye-catching -look is based on the use of special symbols: Powerline Symbols - -To make use of these symbols, there are several options: - -- use a font that already bundles those: this is e.g. the case of the - [2.030R-ro/1.050R-it version][source code pro] of the Source Code Pro font -- use a [pre-patched font][powerline patched fonts] -- use your preferred font along with the [Powerline font][powerline font] (that - only contains the Powerline symbols): [this highly depends on your operating - system and your terminal emulator][terminal support], for instance here's a - screenshot of iTerm2 configured to use `PowerlineSymbols.otf` - ![iTerm2 + Powerline font](https://user-images.githubusercontent.com/553208/62243890-8232f500-b3de-11e9-9b8c-51a5d38bdaa8.png) - -[source code pro]: https://github.com/adobe-fonts/source-code-pro/releases/tag/2.030R-ro/1.050R-it -[powerline patched fonts]: https://github.com/powerline/fonts -[powerline font]: https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf -[terminal support]: http://powerline.readthedocs.io/en/master/usage.html#usage-terminal-emulators - -Then edit your `.local` customization file copy (with ` e`) and adjust -the following variables: - -``` -tmux_conf_theme_left_separator_main='\uE0B0' -tmux_conf_theme_left_separator_sub='\uE0B1' -tmux_conf_theme_right_separator_main='\uE0B2' -tmux_conf_theme_right_separator_sub='\uE0B3' -``` - -The [Powerline manual] contains further details on how to install fonts -containing the Powerline symbols. You don't need to install Powerline itself -though. - -[Powerline manual]: http://powerline.readthedocs.org/en/latest/installation.html#fonts-installation - -### Configuring the status line - -Edit your `.local` customization file copy (` e`) and adjust the -`tmux_conf_theme_status_left` and `tmux_conf_theme_status_right` variables to -your own preferences. - -This configuration supports the following builtin variables: - - - `#{battery_bar}`: horizontal battery charge bar - - `#{battery_percentage}`: battery percentage - - `#{battery_status}`: is battery charging or discharging? - - `#{battery_vbar}`: vertical battery charge bar - - `#{circled_session_name}`: circled session number, up to 20 - - `#{hostname}`: SSH/Mosh aware hostname information - - `#{hostname_ssh}`: SSH/Mosh aware hostname information, blank when not - connected to a remote server through SSH/Mosh - - `#{loadavg}`: load average - - `#{pairing}`: is session attached to more than one client? - - `#{prefix}`: is prefix being depressed? - - `#{root}`: is current user root? - - `#{synchronized}`: are the panes synchronized? - - `#{uptime_y}`: uptime years - - `#{uptime_d}`: uptime days, modulo 365 when `#{uptime_y}` is used - - `#{uptime_h}`: uptime hours - - `#{uptime_m}`: uptime minutes - - `#{uptime_s}`: uptime seconds - - `#{username}`: SSH/Mosh aware username information - - `#{username_ssh}`: SSH aware username information, blank when not connected - to a remote server through SSH/Mosh - -Beside the variables mentioned above, the `tmux_conf_theme_status_left` and -`tmux_conf_theme_status_right` variables support usual tmux syntax, e.g. using -`#()` to call an external command that inserts weather information provided by -[wttr.in]: -``` -tmux_conf_theme_status_right='#{prefix}#{pairing}#{synchronized} #(curl -m 1 wttr.in?format=3 2>/dev/null; sleep 900) , %R , %d %b | #{username}#{root} | #{hostname} ' -``` -The `sleep 900` call makes sure the network request is issued at most every 15 -minutes whatever the value of `status-interval`. - -![Weather information from wttr.in](https://user-images.githubusercontent.com/553208/52175490-07797c00-27a5-11e9-9fb6-42eec4fe4188.png) - -[wttr.in]: https://github.com/chubin/wttr.in#one-line-output - -💡 You can also define your own custom variables by writing special functions, -see the sample `.local` customization file for instructions. - -Finally, remember `tmux_conf_theme_status_left` and -`tmux_conf_theme_status_right` end up being given to tmux as `status-left` and -`status-right` which means they're passed through `strftime()`. As such, the `%` -character has a special meaning and needs to be escaped by doubling it, e.g. -``` -tmux_conf_theme_status_right='#(echo foo %% bar)' -``` -See also `man 3 strftime`. - -### Using TPM plugins - -This configuration now comes with built-in [TPM] support: -- use the `set -g @plugin ...` syntax to enable a plugin -- whenever a plugin introduces a variable to be used in `status-left` or - `status-right`, you can use it in `tmux_conf_theme_status_left` and - `tmux_conf_theme_status_right` variables, see instructions above 👆 -- ⚠️ do not add `set -g @plugin 'tmux-plugins/tpm'` to any configuration file -- ⛔️ do not add `run '~/.tmux/plugins/tpm/tpm'` to any configuration file - -⚠️ The TPM bindings differ slightly from upstream: - - installing plugins: ` + I` - - uninstalling plugins: ` + Alt + u` - - updating plugins: ` + u` - -See the sample `.local` customization file for instructions. - -[TPM]: https://github.com/tmux-plugins/tpm - -### Accessing the macOS clipboard from within tmux sessions (tmux `< 2.6`) - -[Chris Johnsen created the `reattach-to-user-namespace` -utility][reattach-to-user-namespace] that makes `pbcopy` and `pbpaste` work -again within tmux. - -To install `reattach-to-user-namespace`, use either [MacPorts][] or -[Homebrew][]: - - $ port install tmux-pasteboard - -or - - $ brew install reattach-to-user-namespace - -Once installed, `reattach-to-usernamespace` will be automatically detected. - -[MacPorts]: http://www.macports.org/ -[Homebrew]: http://brew.sh/ - -### Using the configuration under Cygwin within Mintty - -**I don't recommend running this configuration with Cygwin anymore. Forking -under Cygwin is extremely slow and this configuration issues a lot of -`run-shell` commands under the hood. As such, you will experience high CPU -usage. As an alternative consider using [Mintty terminal for WSL][wsltty].** - -![cygwin](https://cloud.githubusercontent.com/assets/553208/19741789/67a3f3d8-9bc2-11e6-9ecc-499fc0228ee6.png) - -It is possible to use this configuration under Cygwin within Mintty, however -support for Unicode symbols and emojis lacks behind Mac and Linux. - -Particularly, Mintty's text rendering is implemented with GDI which has -limitations: - -- color emojis are only available through DirectWrite starting with Windows 8.1 -- display of double width symbols, like the battery discharging symbol indicator - (U+1F50B) is buggy - -To get Unicode symbols displayed properly, you have to use [font linking]. -Open `regedit.exe` then navigate to the registry key at -`HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink` -and add a new entry for you preferred font to link it with the Segoe UI Symbol -font. - -![regedit](https://cloud.githubusercontent.com/assets/553208/19741304/71a2f3ae-9bc0-11e6-96aa-4c09a812c313.png) - -[font linking]: https://msdn.microsoft.com/en-us/goglobal/bb688134.aspx diff --git a/dot_tmux/dot_git/HEAD b/dot_tmux/dot_git/HEAD deleted file mode 100644 index cb089cd..0000000 --- a/dot_tmux/dot_git/HEAD +++ /dev/null @@ -1 +0,0 @@ -ref: refs/heads/master diff --git a/dot_tmux/dot_git/branches/.keep b/dot_tmux/dot_git/branches/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/dot_tmux/dot_git/config b/dot_tmux/dot_git/config deleted file mode 100644 index 42ab92e..0000000 --- a/dot_tmux/dot_git/config +++ /dev/null @@ -1,11 +0,0 @@ -[core] - repositoryformatversion = 0 - filemode = true - bare = false - logallrefupdates = true -[remote "origin"] - url = https://github.com/gpakosz/.tmux.git - fetch = +refs/heads/*:refs/remotes/origin/* -[branch "master"] - remote = origin - merge = refs/heads/master diff --git a/dot_tmux/dot_git/description b/dot_tmux/dot_git/description deleted file mode 100644 index 498b267..0000000 --- a/dot_tmux/dot_git/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/dot_tmux/dot_git/hooks/executable_applypatch-msg.sample b/dot_tmux/dot_git/hooks/executable_applypatch-msg.sample deleted file mode 100644 index a5d7b84..0000000 --- a/dot_tmux/dot_git/hooks/executable_applypatch-msg.sample +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# -# An example hook script to check the commit log message taken by -# applypatch from an e-mail message. -# -# The hook should exit with non-zero status after issuing an -# appropriate message if it wants to stop the commit. The hook is -# allowed to edit the commit message file. -# -# To enable this hook, rename this file to "applypatch-msg". - -. git-sh-setup -commitmsg="$(git rev-parse --git-path hooks/commit-msg)" -test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} -: diff --git a/dot_tmux/dot_git/hooks/executable_commit-msg.sample b/dot_tmux/dot_git/hooks/executable_commit-msg.sample deleted file mode 100644 index b58d118..0000000 --- a/dot_tmux/dot_git/hooks/executable_commit-msg.sample +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# -# An example hook script to check the commit log message. -# Called by "git commit" with one argument, the name of the file -# that has the commit message. The hook should exit with non-zero -# status after issuing an appropriate message if it wants to stop the -# commit. The hook is allowed to edit the commit message file. -# -# To enable this hook, rename this file to "commit-msg". - -# Uncomment the below to add a Signed-off-by line to the message. -# Doing this in a hook is a bad idea in general, but the prepare-commit-msg -# hook is more suited to it. -# -# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') -# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" - -# This example catches duplicate Signed-off-by lines. - -test "" = "$(grep '^Signed-off-by: ' "$1" | - sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { - echo >&2 Duplicate Signed-off-by lines. - exit 1 -} diff --git a/dot_tmux/dot_git/hooks/executable_fsmonitor-watchman.sample b/dot_tmux/dot_git/hooks/executable_fsmonitor-watchman.sample deleted file mode 100644 index 23e856f..0000000 --- a/dot_tmux/dot_git/hooks/executable_fsmonitor-watchman.sample +++ /dev/null @@ -1,174 +0,0 @@ -#!/usr/bin/perl - -use strict; -use warnings; -use IPC::Open2; - -# An example hook script to integrate Watchman -# (https://facebook.github.io/watchman/) with git to speed up detecting -# new and modified files. -# -# The hook is passed a version (currently 2) and last update token -# formatted as a string and outputs to stdout a new update token and -# all files that have been modified since the update token. Paths must -# be relative to the root of the working tree and separated by a single NUL. -# -# To enable this hook, rename this file to "query-watchman" and set -# 'git config core.fsmonitor .git/hooks/query-watchman' -# -my ($version, $last_update_token) = @ARGV; - -# Uncomment for debugging -# print STDERR "$0 $version $last_update_token\n"; - -# Check the hook interface version -if ($version ne 2) { - die "Unsupported query-fsmonitor hook version '$version'.\n" . - "Falling back to scanning...\n"; -} - -my $git_work_tree = get_working_dir(); - -my $retry = 1; - -my $json_pkg; -eval { - require JSON::XS; - $json_pkg = "JSON::XS"; - 1; -} or do { - require JSON::PP; - $json_pkg = "JSON::PP"; -}; - -launch_watchman(); - -sub launch_watchman { - my $o = watchman_query(); - if (is_work_tree_watched($o)) { - output_result($o->{clock}, @{$o->{files}}); - } -} - -sub output_result { - my ($clockid, @files) = @_; - - # Uncomment for debugging watchman output - # open (my $fh, ">", ".git/watchman-output.out"); - # binmode $fh, ":utf8"; - # print $fh "$clockid\n@files\n"; - # close $fh; - - binmode STDOUT, ":utf8"; - print $clockid; - print "\0"; - local $, = "\0"; - print @files; -} - -sub watchman_clock { - my $response = qx/watchman clock "$git_work_tree"/; - die "Failed to get clock id on '$git_work_tree'.\n" . - "Falling back to scanning...\n" if $? != 0; - - return $json_pkg->new->utf8->decode($response); -} - -sub watchman_query { - my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') - or die "open2() failed: $!\n" . - "Falling back to scanning...\n"; - - # In the query expression below we're asking for names of files that - # changed since $last_update_token but not from the .git folder. - # - # To accomplish this, we're using the "since" generator to use the - # recency index to select candidate nodes and "fields" to limit the - # output to file names only. Then we're using the "expression" term to - # further constrain the results. - my $last_update_line = ""; - if (substr($last_update_token, 0, 1) eq "c") { - $last_update_token = "\"$last_update_token\""; - $last_update_line = qq[\n"since": $last_update_token,]; - } - my $query = <<" END"; - ["query", "$git_work_tree", {$last_update_line - "fields": ["name"], - "expression": ["not", ["dirname", ".git"]] - }] - END - - # Uncomment for debugging the watchman query - # open (my $fh, ">", ".git/watchman-query.json"); - # print $fh $query; - # close $fh; - - print CHLD_IN $query; - close CHLD_IN; - my $response = do {local $/; }; - - # Uncomment for debugging the watch response - # open ($fh, ">", ".git/watchman-response.json"); - # print $fh $response; - # close $fh; - - die "Watchman: command returned no output.\n" . - "Falling back to scanning...\n" if $response eq ""; - die "Watchman: command returned invalid output: $response\n" . - "Falling back to scanning...\n" unless $response =~ /^\{/; - - return $json_pkg->new->utf8->decode($response); -} - -sub is_work_tree_watched { - my ($output) = @_; - my $error = $output->{error}; - if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { - $retry--; - my $response = qx/watchman watch "$git_work_tree"/; - die "Failed to make watchman watch '$git_work_tree'.\n" . - "Falling back to scanning...\n" if $? != 0; - $output = $json_pkg->new->utf8->decode($response); - $error = $output->{error}; - die "Watchman: $error.\n" . - "Falling back to scanning...\n" if $error; - - # Uncomment for debugging watchman output - # open (my $fh, ">", ".git/watchman-output.out"); - # close $fh; - - # Watchman will always return all files on the first query so - # return the fast "everything is dirty" flag to git and do the - # Watchman query just to get it over with now so we won't pay - # the cost in git to look up each individual file. - my $o = watchman_clock(); - $error = $output->{error}; - - die "Watchman: $error.\n" . - "Falling back to scanning...\n" if $error; - - output_result($o->{clock}, ("/")); - $last_update_token = $o->{clock}; - - eval { launch_watchman() }; - return 0; - } - - die "Watchman: $error.\n" . - "Falling back to scanning...\n" if $error; - - return 1; -} - -sub get_working_dir { - my $working_dir; - if ($^O =~ 'msys' || $^O =~ 'cygwin') { - $working_dir = Win32::GetCwd(); - $working_dir =~ tr/\\/\//; - } else { - require Cwd; - $working_dir = Cwd::cwd(); - } - - return $working_dir; -} diff --git a/dot_tmux/dot_git/hooks/executable_post-update.sample b/dot_tmux/dot_git/hooks/executable_post-update.sample deleted file mode 100644 index ec17ec1..0000000 --- a/dot_tmux/dot_git/hooks/executable_post-update.sample +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# -# An example hook script to prepare a packed repository for use over -# dumb transports. -# -# To enable this hook, rename this file to "post-update". - -exec git update-server-info diff --git a/dot_tmux/dot_git/hooks/executable_pre-applypatch.sample b/dot_tmux/dot_git/hooks/executable_pre-applypatch.sample deleted file mode 100644 index 4142082..0000000 --- a/dot_tmux/dot_git/hooks/executable_pre-applypatch.sample +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# -# An example hook script to verify what is about to be committed -# by applypatch from an e-mail message. -# -# The hook should exit with non-zero status after issuing an -# appropriate message if it wants to stop the commit. -# -# To enable this hook, rename this file to "pre-applypatch". - -. git-sh-setup -precommit="$(git rev-parse --git-path hooks/pre-commit)" -test -x "$precommit" && exec "$precommit" ${1+"$@"} -: diff --git a/dot_tmux/dot_git/hooks/executable_pre-commit.sample b/dot_tmux/dot_git/hooks/executable_pre-commit.sample deleted file mode 100644 index e144712..0000000 --- a/dot_tmux/dot_git/hooks/executable_pre-commit.sample +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# -# An example hook script to verify what is about to be committed. -# Called by "git commit" with no arguments. The hook should -# exit with non-zero status after issuing an appropriate message if -# it wants to stop the commit. -# -# To enable this hook, rename this file to "pre-commit". - -if git rev-parse --verify HEAD >/dev/null 2>&1 -then - against=HEAD -else - # Initial commit: diff against an empty tree object - against=$(git hash-object -t tree /dev/null) -fi - -# If you want to allow non-ASCII filenames set this variable to true. -allownonascii=$(git config --type=bool hooks.allownonascii) - -# Redirect output to stderr. -exec 1>&2 - -# Cross platform projects tend to avoid non-ASCII filenames; prevent -# them from being added to the repository. We exploit the fact that the -# printable range starts at the space character and ends with tilde. -if [ "$allownonascii" != "true" ] && - # Note that the use of brackets around a tr range is ok here, (it's - # even required, for portability to Solaris 10's /usr/bin/tr), since - # the square bracket bytes happen to fall in the designated range. - test $(git diff --cached --name-only --diff-filter=A -z $against | - LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 -then - cat <<\EOF -Error: Attempt to add a non-ASCII file name. - -This can cause problems if you want to work with people on other platforms. - -To be portable it is advisable to rename the file. - -If you know what you are doing you can disable this check using: - - git config hooks.allownonascii true -EOF - exit 1 -fi - -# If there are whitespace errors, print the offending file names and fail. -exec git diff-index --check --cached $against -- diff --git a/dot_tmux/dot_git/hooks/executable_pre-merge-commit.sample b/dot_tmux/dot_git/hooks/executable_pre-merge-commit.sample deleted file mode 100644 index 399eab1..0000000 --- a/dot_tmux/dot_git/hooks/executable_pre-merge-commit.sample +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# -# An example hook script to verify what is about to be committed. -# Called by "git merge" with no arguments. The hook should -# exit with non-zero status after issuing an appropriate message to -# stderr if it wants to stop the merge commit. -# -# To enable this hook, rename this file to "pre-merge-commit". - -. git-sh-setup -test -x "$GIT_DIR/hooks/pre-commit" && - exec "$GIT_DIR/hooks/pre-commit" -: diff --git a/dot_tmux/dot_git/hooks/executable_pre-push.sample b/dot_tmux/dot_git/hooks/executable_pre-push.sample deleted file mode 100644 index 4ce688d..0000000 --- a/dot_tmux/dot_git/hooks/executable_pre-push.sample +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh - -# An example hook script to verify what is about to be pushed. Called by "git -# push" after it has checked the remote status, but before anything has been -# pushed. If this script exits with a non-zero status nothing will be pushed. -# -# This hook is called with the following parameters: -# -# $1 -- Name of the remote to which the push is being done -# $2 -- URL to which the push is being done -# -# If pushing without using a named remote those arguments will be equal. -# -# Information about the commits which are being pushed is supplied as lines to -# the standard input in the form: -# -# -# -# This sample shows how to prevent push of commits where the log message starts -# with "WIP" (work in progress). - -remote="$1" -url="$2" - -zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" - exit 1 - fi - fi -done - -exit 0 diff --git a/dot_tmux/dot_git/hooks/executable_pre-rebase.sample b/dot_tmux/dot_git/hooks/executable_pre-rebase.sample deleted file mode 100644 index 6cbef5c..0000000 --- a/dot_tmux/dot_git/hooks/executable_pre-rebase.sample +++ /dev/null @@ -1,169 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2006, 2008 Junio C Hamano -# -# The "pre-rebase" hook is run just before "git rebase" starts doing -# its job, and can prevent the command from running by exiting with -# non-zero status. -# -# The hook is called with the following parameters: -# -# $1 -- the upstream the series was forked from. -# $2 -- the branch being rebased (or empty when rebasing the current branch). -# -# This sample shows how to prevent topic branches that are already -# merged to 'next' branch from getting rebased, because allowing it -# would result in rebasing already published history. - -publish=next -basebranch="$1" -if test "$#" = 2 -then - topic="refs/heads/$2" -else - topic=`git symbolic-ref HEAD` || - exit 0 ;# we do not interrupt rebasing detached HEAD -fi - -case "$topic" in -refs/heads/??/*) - ;; -*) - exit 0 ;# we do not interrupt others. - ;; -esac - -# Now we are dealing with a topic branch being rebased -# on top of master. Is it OK to rebase it? - -# Does the topic really exist? -git show-ref -q "$topic" || { - echo >&2 "No such branch $topic" - exit 1 -} - -# Is topic fully merged to master? -not_in_master=`git rev-list --pretty=oneline ^master "$topic"` -if test -z "$not_in_master" -then - echo >&2 "$topic is fully merged to master; better remove it." - exit 1 ;# we could allow it, but there is no point. -fi - -# Is topic ever merged to next? If so you should not be rebasing it. -only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` -only_next_2=`git rev-list ^master ${publish} | sort` -if test "$only_next_1" = "$only_next_2" -then - not_in_topic=`git rev-list "^$topic" master` - if test -z "$not_in_topic" - then - echo >&2 "$topic is already up to date with master" - exit 1 ;# we could allow it, but there is no point. - else - exit 0 - fi -else - not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` - /usr/bin/perl -e ' - my $topic = $ARGV[0]; - my $msg = "* $topic has commits already merged to public branch:\n"; - my (%not_in_next) = map { - /^([0-9a-f]+) /; - ($1 => 1); - } split(/\n/, $ARGV[1]); - for my $elem (map { - /^([0-9a-f]+) (.*)$/; - [$1 => $2]; - } split(/\n/, $ARGV[2])) { - if (!exists $not_in_next{$elem->[0]}) { - if ($msg) { - print STDERR $msg; - undef $msg; - } - print STDERR " $elem->[1]\n"; - } - } - ' "$topic" "$not_in_next" "$not_in_master" - exit 1 -fi - -<<\DOC_END - -This sample hook safeguards topic branches that have been -published from being rewound. - -The workflow assumed here is: - - * Once a topic branch forks from "master", "master" is never - merged into it again (either directly or indirectly). - - * Once a topic branch is fully cooked and merged into "master", - it is deleted. If you need to build on top of it to correct - earlier mistakes, a new topic branch is created by forking at - the tip of the "master". This is not strictly necessary, but - it makes it easier to keep your history simple. - - * Whenever you need to test or publish your changes to topic - branches, merge them into "next" branch. - -The script, being an example, hardcodes the publish branch name -to be "next", but it is trivial to make it configurable via -$GIT_DIR/config mechanism. - -With this workflow, you would want to know: - -(1) ... if a topic branch has ever been merged to "next". Young - topic branches can have stupid mistakes you would rather - clean up before publishing, and things that have not been - merged into other branches can be easily rebased without - affecting other people. But once it is published, you would - not want to rewind it. - -(2) ... if a topic branch has been fully merged to "master". - Then you can delete it. More importantly, you should not - build on top of it -- other people may already want to - change things related to the topic as patches against your - "master", so if you need further changes, it is better to - fork the topic (perhaps with the same name) afresh from the - tip of "master". - -Let's look at this example: - - o---o---o---o---o---o---o---o---o---o "next" - / / / / - / a---a---b A / / - / / / / - / / c---c---c---c B / - / / / \ / - / / / b---b C \ / - / / / / \ / - ---o---o---o---o---o---o---o---o---o---o---o "master" - - -A, B and C are topic branches. - - * A has one fix since it was merged up to "next". - - * B has finished. It has been fully merged up to "master" and "next", - and is ready to be deleted. - - * C has not merged to "next" at all. - -We would want to allow C to be rebased, refuse A, and encourage -B to be deleted. - -To compute (1): - - git rev-list ^master ^topic next - git rev-list ^master next - - if these match, topic has not merged in next at all. - -To compute (2): - - git rev-list master..topic - - if this is empty, it is fully merged to "master". - -DOC_END diff --git a/dot_tmux/dot_git/hooks/executable_pre-receive.sample b/dot_tmux/dot_git/hooks/executable_pre-receive.sample deleted file mode 100644 index a1fd29e..0000000 --- a/dot_tmux/dot_git/hooks/executable_pre-receive.sample +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# -# An example hook script to make use of push options. -# The example simply echoes all push options that start with 'echoback=' -# and rejects all pushes when the "reject" push option is used. -# -# To enable this hook, rename this file to "pre-receive". - -if test -n "$GIT_PUSH_OPTION_COUNT" -then - i=0 - while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" - do - eval "value=\$GIT_PUSH_OPTION_$i" - case "$value" in - echoback=*) - echo "echo from the pre-receive-hook: ${value#*=}" >&2 - ;; - reject) - exit 1 - esac - i=$((i + 1)) - done -fi diff --git a/dot_tmux/dot_git/hooks/executable_prepare-commit-msg.sample b/dot_tmux/dot_git/hooks/executable_prepare-commit-msg.sample deleted file mode 100644 index 10fa14c..0000000 --- a/dot_tmux/dot_git/hooks/executable_prepare-commit-msg.sample +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -# -# An example hook script to prepare the commit log message. -# Called by "git commit" with the name of the file that has the -# commit message, followed by the description of the commit -# message's source. The hook's purpose is to edit the commit -# message file. If the hook fails with a non-zero status, -# the commit is aborted. -# -# To enable this hook, rename this file to "prepare-commit-msg". - -# This hook includes three examples. The first one removes the -# "# Please enter the commit message..." help message. -# -# The second includes the output of "git diff --name-status -r" -# into the message, just before the "git status" output. It is -# commented because it doesn't cope with --amend or with squashed -# commits. -# -# The third example adds a Signed-off-by line to the message, that can -# still be edited. This is rarely a good idea. - -COMMIT_MSG_FILE=$1 -COMMIT_SOURCE=$2 -SHA1=$3 - -/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" - -# case "$COMMIT_SOURCE,$SHA1" in -# ,|template,) -# /usr/bin/perl -i.bak -pe ' -# print "\n" . `git diff --cached --name-status -r` -# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; -# *) ;; -# esac - -# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') -# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" -# if test -z "$COMMIT_SOURCE" -# then -# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" -# fi diff --git a/dot_tmux/dot_git/hooks/executable_push-to-checkout.sample b/dot_tmux/dot_git/hooks/executable_push-to-checkout.sample deleted file mode 100644 index af5a0c0..0000000 --- a/dot_tmux/dot_git/hooks/executable_push-to-checkout.sample +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/sh - -# An example hook script to update a checked-out tree on a git push. -# -# This hook is invoked by git-receive-pack(1) when it reacts to git -# push and updates reference(s) in its repository, and when the push -# tries to update the branch that is currently checked out and the -# receive.denyCurrentBranch configuration variable is set to -# updateInstead. -# -# By default, such a push is refused if the working tree and the index -# of the remote repository has any difference from the currently -# checked out commit; when both the working tree and the index match -# the current commit, they are updated to match the newly pushed tip -# of the branch. This hook is to be used to override the default -# behaviour; however the code below reimplements the default behaviour -# as a starting point for convenient modification. -# -# The hook receives the commit with which the tip of the current -# branch is going to be updated: -commit=$1 - -# It can exit with a non-zero status to refuse the push (when it does -# so, it must not modify the index or the working tree). -die () { - echo >&2 "$*" - exit 1 -} - -# Or it can make any necessary changes to the working tree and to the -# index to bring them to the desired state when the tip of the current -# branch is updated to the new commit, and exit with a zero status. -# -# For example, the hook can simply run git read-tree -u -m HEAD "$1" -# in order to emulate git fetch that is run in the reverse direction -# with git push, as the two-tree form of git read-tree -u -m is -# essentially the same as git switch or git checkout that switches -# branches while keeping the local changes in the working tree that do -# not interfere with the difference between the branches. - -# The below is a more-or-less exact translation to shell of the C code -# for the default behaviour for git's push-to-checkout hook defined in -# the push_to_deploy() function in builtin/receive-pack.c. -# -# Note that the hook will be executed from the repository directory, -# not from the working tree, so if you want to perform operations on -# the working tree, you will have to adapt your code accordingly, e.g. -# by adding "cd .." or using relative paths. - -if ! git update-index -q --ignore-submodules --refresh -then - die "Up-to-date check failed" -fi - -if ! git diff-files --quiet --ignore-submodules -- -then - die "Working directory has unstaged changes" -fi - -# This is a rough translation of: -# -# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX -if git cat-file -e HEAD 2>/dev/null -then - head=HEAD -else - head=$(git hash-object -t tree --stdin &2 - exit 1 -} - -unset GIT_DIR GIT_WORK_TREE -cd "$worktree" && - -if grep -q "^diff --git " "$1" -then - validate_patch "$1" -else - validate_cover_letter "$1" -fi && - -if test "$GIT_SENDEMAIL_FILE_COUNTER" = "$GIT_SENDEMAIL_FILE_TOTAL" -then - git config --unset-all sendemail.validateWorktree && - trap 'git worktree remove -ff "$worktree"' EXIT && - validate_series -fi diff --git a/dot_tmux/dot_git/hooks/executable_update.sample b/dot_tmux/dot_git/hooks/executable_update.sample deleted file mode 100644 index c4d426b..0000000 --- a/dot_tmux/dot_git/hooks/executable_update.sample +++ /dev/null @@ -1,128 +0,0 @@ -#!/bin/sh -# -# An example hook script to block unannotated tags from entering. -# Called by "git receive-pack" with arguments: refname sha1-old sha1-new -# -# To enable this hook, rename this file to "update". -# -# Config -# ------ -# hooks.allowunannotated -# This boolean sets whether unannotated tags will be allowed into the -# repository. By default they won't be. -# hooks.allowdeletetag -# This boolean sets whether deleting tags will be allowed in the -# repository. By default they won't be. -# hooks.allowmodifytag -# This boolean sets whether a tag may be modified after creation. By default -# it won't be. -# hooks.allowdeletebranch -# This boolean sets whether deleting branches will be allowed in the -# repository. By default they won't be. -# hooks.denycreatebranch -# This boolean sets whether remotely creating branches will be denied -# in the repository. By default this is allowed. -# - -# --- Command line -refname="$1" -oldrev="$2" -newrev="$3" - -# --- Safety check -if [ -z "$GIT_DIR" ]; then - echo "Don't run this script from the command line." >&2 - echo " (if you want, you could supply GIT_DIR then run" >&2 - echo " $0 )" >&2 - exit 1 -fi - -if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then - echo "usage: $0 " >&2 - exit 1 -fi - -# --- Config -allowunannotated=$(git config --type=bool hooks.allowunannotated) -allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) -denycreatebranch=$(git config --type=bool hooks.denycreatebranch) -allowdeletetag=$(git config --type=bool hooks.allowdeletetag) -allowmodifytag=$(git config --type=bool hooks.allowmodifytag) - -# check for no description -projectdesc=$(sed -e '1q' "$GIT_DIR/description") -case "$projectdesc" in -"Unnamed repository"* | "") - echo "*** Project description file hasn't been set" >&2 - exit 1 - ;; -esac - -# --- Check types -# if $newrev is 0000...0000, it's a commit to delete a ref. -zero=$(git hash-object --stdin &2 - echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 - exit 1 - fi - ;; - refs/tags/*,delete) - # delete tag - if [ "$allowdeletetag" != "true" ]; then - echo "*** Deleting a tag is not allowed in this repository" >&2 - exit 1 - fi - ;; - refs/tags/*,tag) - # annotated tag - if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 - then - echo "*** Tag '$refname' already exists." >&2 - echo "*** Modifying a tag is not allowed in this repository." >&2 - exit 1 - fi - ;; - refs/heads/*,commit) - # branch - if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then - echo "*** Creating a branch is not allowed in this repository" >&2 - exit 1 - fi - ;; - refs/heads/*,delete) - # delete branch - if [ "$allowdeletebranch" != "true" ]; then - echo "*** Deleting a branch is not allowed in this repository" >&2 - exit 1 - fi - ;; - refs/remotes/*,commit) - # tracking branch - ;; - refs/remotes/*,delete) - # delete tracking branch - if [ "$allowdeletebranch" != "true" ]; then - echo "*** Deleting a tracking branch is not allowed in this repository" >&2 - exit 1 - fi - ;; - *) - # Anything else (is there anything else?) - echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 - exit 1 - ;; -esac - -# --- Finished -exit 0 diff --git a/dot_tmux/dot_git/index b/dot_tmux/dot_git/index deleted file mode 100644 index 7b221b5..0000000 Binary files a/dot_tmux/dot_git/index and /dev/null differ diff --git a/dot_tmux/dot_git/info/exclude b/dot_tmux/dot_git/info/exclude deleted file mode 100644 index a5196d1..0000000 --- a/dot_tmux/dot_git/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/dot_tmux/dot_git/logs/HEAD b/dot_tmux/dot_git/logs/HEAD deleted file mode 100644 index 751c3a2..0000000 --- a/dot_tmux/dot_git/logs/HEAD +++ /dev/null @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 fd1bbb56148101f4b286ddafd98f2ac2dcd69cd8 Simon Rieger 1699881584 +0100 clone: from https://github.com/gpakosz/.tmux.git diff --git a/dot_tmux/dot_git/logs/refs/heads/master b/dot_tmux/dot_git/logs/refs/heads/master deleted file mode 100644 index 751c3a2..0000000 --- a/dot_tmux/dot_git/logs/refs/heads/master +++ /dev/null @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 fd1bbb56148101f4b286ddafd98f2ac2dcd69cd8 Simon Rieger 1699881584 +0100 clone: from https://github.com/gpakosz/.tmux.git diff --git a/dot_tmux/dot_git/logs/refs/remotes/origin/HEAD b/dot_tmux/dot_git/logs/refs/remotes/origin/HEAD deleted file mode 100644 index 751c3a2..0000000 --- a/dot_tmux/dot_git/logs/refs/remotes/origin/HEAD +++ /dev/null @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 fd1bbb56148101f4b286ddafd98f2ac2dcd69cd8 Simon Rieger 1699881584 +0100 clone: from https://github.com/gpakosz/.tmux.git diff --git a/dot_tmux/dot_git/objects/info/.keep b/dot_tmux/dot_git/objects/info/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/dot_tmux/dot_git/objects/pack/readonly_pack-e0fbe9d0c2f58689ac5ec06d9b3e9590b4988752.idx b/dot_tmux/dot_git/objects/pack/readonly_pack-e0fbe9d0c2f58689ac5ec06d9b3e9590b4988752.idx deleted file mode 100644 index 40be36a..0000000 Binary files a/dot_tmux/dot_git/objects/pack/readonly_pack-e0fbe9d0c2f58689ac5ec06d9b3e9590b4988752.idx and /dev/null differ diff --git a/dot_tmux/dot_git/objects/pack/readonly_pack-e0fbe9d0c2f58689ac5ec06d9b3e9590b4988752.pack b/dot_tmux/dot_git/objects/pack/readonly_pack-e0fbe9d0c2f58689ac5ec06d9b3e9590b4988752.pack deleted file mode 100644 index 850f817..0000000 Binary files a/dot_tmux/dot_git/objects/pack/readonly_pack-e0fbe9d0c2f58689ac5ec06d9b3e9590b4988752.pack and /dev/null differ diff --git a/dot_tmux/dot_git/objects/pack/readonly_pack-e0fbe9d0c2f58689ac5ec06d9b3e9590b4988752.rev b/dot_tmux/dot_git/objects/pack/readonly_pack-e0fbe9d0c2f58689ac5ec06d9b3e9590b4988752.rev deleted file mode 100644 index a04931b..0000000 Binary files a/dot_tmux/dot_git/objects/pack/readonly_pack-e0fbe9d0c2f58689ac5ec06d9b3e9590b4988752.rev and /dev/null differ diff --git a/dot_tmux/dot_git/packed-refs b/dot_tmux/dot_git/packed-refs deleted file mode 100644 index df8ec45..0000000 --- a/dot_tmux/dot_git/packed-refs +++ /dev/null @@ -1,10 +0,0 @@ -# pack-refs with: peeled fully-peeled sorted -eebdc02e19dee69adca855eceefd4a8445083175 refs/remotes/origin/gh-243 -7b7aa809822baf859662f2c933bbb9bc6b786f04 refs/remotes/origin/gh-295 -a0cf19634cbae500df47c093472f3fcff16fc7c8 refs/remotes/origin/gh-361 -0c6d5d1c648f816480bf538c1c5637421d914e29 refs/remotes/origin/gh-403 -7ca52f8864cb65042a79d6f6269dd83db7268392 refs/remotes/origin/gh-425 -948611ad5fe49b04feb9dae570bd6bf5fea30cc6 refs/remotes/origin/gh-479 -79729cc4ac7097a7a26aa076e05419b5e9a59145 refs/remotes/origin/gh-679 -fd1bbb56148101f4b286ddafd98f2ac2dcd69cd8 refs/remotes/origin/master -25daf139067bd5ba8ba07f4a17841bea44a6ad0d refs/remotes/origin/remote-clipboard diff --git a/dot_tmux/dot_git/refs/heads/master b/dot_tmux/dot_git/refs/heads/master deleted file mode 100644 index 220c80e..0000000 --- a/dot_tmux/dot_git/refs/heads/master +++ /dev/null @@ -1 +0,0 @@ -fd1bbb56148101f4b286ddafd98f2ac2dcd69cd8 diff --git a/dot_tmux/dot_git/refs/remotes/origin/HEAD b/dot_tmux/dot_git/refs/remotes/origin/HEAD deleted file mode 100644 index 6efe28f..0000000 --- a/dot_tmux/dot_git/refs/remotes/origin/HEAD +++ /dev/null @@ -1 +0,0 @@ -ref: refs/remotes/origin/master diff --git a/dot_tmux/dot_git/refs/tags/.keep b/dot_tmux/dot_git/refs/tags/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/dot_tmux/dot_gitattributes b/dot_tmux/dot_gitattributes deleted file mode 100644 index 8e06491..0000000 --- a/dot_tmux/dot_gitattributes +++ /dev/null @@ -1,7 +0,0 @@ -* text=auto - -# git -.gitignore text - -.tmux.conf eol=lf -.tmux.conf.local eol=lf diff --git a/dot_tmux/dot_github/funding.yml b/dot_tmux/dot_github/funding.yml deleted file mode 100644 index a942c9f..0000000 --- a/dot_tmux/dot_github/funding.yml +++ /dev/null @@ -1 +0,0 @@ -github: gpakosz diff --git a/dot_tmux/dot_gitignore b/dot_tmux/dot_gitignore deleted file mode 100644 index 9bfd626..0000000 --- a/dot_tmux/dot_gitignore +++ /dev/null @@ -1 +0,0 @@ -plugins/** diff --git a/dot_tmux/dot_tmux.conf.local b/dot_tmux/dot_tmux.conf.local deleted file mode 100644 index 01fa27a..0000000 --- a/dot_tmux/dot_tmux.conf.local +++ /dev/null @@ -1,447 +0,0 @@ -# : << EOF -# https://github.com/gpakosz/.tmux -# (‑●‑●)> dual licensed under the WTFPL v2 license and the MIT license, -# without any warranty. -# Copyright 2012— Gregory Pakosz (@gpakosz). - - -# -- session creation ---------------------------------------------------------- - -# prompt for session name when creating a new session, possible values are: -# - true -# - false (default) -# - disabled (do not modify new-session bindings) -tmux_conf_new_session_prompt=false - - -# -- windows & pane creation --------------------------------------------------- - -# new window retains current path, possible values are: -# - true -# - false (default) -# - disabled (do not modify new-window bindings) -tmux_conf_new_window_retain_current_path=false - -# new window tries to reconnect ssh sessions, possible values are: -# - true -# - false (default) -# - disabled (do not modify new-window bindings) -tmux_conf_new_window_reconnect_ssh=false - -# new pane retains current path, possible values are: -# - true (default) -# - false -# - disabled (do not modify split-window bindings) -tmux_conf_new_pane_retain_current_path=true - -# new pane tries to reconnect ssh sessions, possible values are: -# - true -# - false (default) -# - disabled (do not modify split-window bindings) -tmux_conf_new_pane_reconnect_ssh=false - - -# -- display ------------------------------------------------------------------- - -# RGB 24-bit colour support, possible values are: -# - true -# - false -# - auto (default) -# -# automatic detection relies on the COLORTERM environment variable being defined -# to 'truecolor' or '24bit' or '$ tput colors' answering '16777216' -# see https://github.com/termstandard/colors -tmux_conf_24b_colour=auto - - -# -- theming ------------------------------------------------------------------- - -# enable or disable theming: -# - enabled (default) -# - disabled -# when disabled, all tmux_conf_theme_xxx variables are ignored except: -# - tmux_conf_theme_pairing -# - tmux_conf_theme_prefix -# - tmux_conf_theme_mouse -# - tmux_conf_theme_root -# - tmux_conf_theme_synchronized -tmux_conf_theme=enabled - -# default theme -tmux_conf_theme_colour_1="#080808" # dark gray -tmux_conf_theme_colour_2="#303030" # gray -tmux_conf_theme_colour_3="#8a8a8a" # light gray -tmux_conf_theme_colour_4="#00afff" # light blue -tmux_conf_theme_colour_5="#ffff00" # yellow -tmux_conf_theme_colour_6="#080808" # dark gray -tmux_conf_theme_colour_7="#e4e4e4" # white -tmux_conf_theme_colour_8="#080808" # dark gray -tmux_conf_theme_colour_9="#ffff00" # yellow -tmux_conf_theme_colour_10="#ff00af" # pink -tmux_conf_theme_colour_11="#5fff00" # green -tmux_conf_theme_colour_12="#8a8a8a" # light gray -tmux_conf_theme_colour_13="#e4e4e4" # white -tmux_conf_theme_colour_14="#080808" # dark gray -tmux_conf_theme_colour_15="#080808" # dark gray -tmux_conf_theme_colour_16="#d70000" # red -tmux_conf_theme_colour_17="#e4e4e4" # white - -# default theme (ansi) -#tmux_conf_theme_colour_1="colour0" -#tmux_conf_theme_colour_2="colour8" -#tmux_conf_theme_colour_3="colour8" -#tmux_conf_theme_colour_4="colour14" -#tmux_conf_theme_colour_5="colour11" -#tmux_conf_theme_colour_6="colour0" -#tmux_conf_theme_colour_7="colour15" -#tmux_conf_theme_colour_8="colour0" -#tmux_conf_theme_colour_9="colour11" -#tmux_conf_theme_colour_10="colour13" -#tmux_conf_theme_colour_11="colour10" -#tmux_conf_theme_colour_12="colour8" -#tmux_conf_theme_colour_13="colour15" -#tmux_conf_theme_colour_14="colour0" -#tmux_conf_theme_colour_15="colour0" -#tmux_conf_theme_colour_16="colour1" -#tmux_conf_theme_colour_17="colour15" - -# window style -tmux_conf_theme_window_fg="default" -tmux_conf_theme_window_bg="default" - -# highlight focused pane, possible values are: -# - true -# - false (default) -tmux_conf_theme_highlight_focused_pane=false - -# focused pane colours: -tmux_conf_theme_focused_pane_bg="$tmux_conf_theme_colour_2" - -# pane border style, possible values are: -# - thin (default) -# - fat -tmux_conf_theme_pane_border_style=thin - -# pane borders colours: -tmux_conf_theme_pane_border="$tmux_conf_theme_colour_2" -tmux_conf_theme_pane_active_border="$tmux_conf_theme_colour_4" -%if #{>=:#{version},3.2} -tmux_conf_theme_pane_active_border="#{?pane_in_mode,$tmux_conf_theme_colour_9,#{?synchronize-panes,$tmux_conf_theme_colour_16,$tmux_conf_theme_colour_4}}" -%endif - -# pane indicator colours (when you hit + q) -tmux_conf_theme_pane_indicator="$tmux_conf_theme_colour_4" -tmux_conf_theme_pane_active_indicator="$tmux_conf_theme_colour_4" - -# status line style -tmux_conf_theme_message_fg="$tmux_conf_theme_colour_1" -tmux_conf_theme_message_bg="$tmux_conf_theme_colour_5" -tmux_conf_theme_message_attr="bold" - -# status line command style ( : Escape) -tmux_conf_theme_message_command_fg="$tmux_conf_theme_colour_5" -tmux_conf_theme_message_command_bg="$tmux_conf_theme_colour_1" -tmux_conf_theme_message_command_attr="bold" - -# window modes style -tmux_conf_theme_mode_fg="$tmux_conf_theme_colour_1" -tmux_conf_theme_mode_bg="$tmux_conf_theme_colour_5" -tmux_conf_theme_mode_attr="bold" - -# status line style -tmux_conf_theme_status_fg="$tmux_conf_theme_colour_3" -tmux_conf_theme_status_bg="$tmux_conf_theme_colour_1" -tmux_conf_theme_status_attr="none" - -# terminal title -# - built-in variables are: -# - #{circled_window_index} -# - #{circled_session_name} -# - #{hostname} -# - #{hostname_ssh} -# - #{hostname_full} -# - #{hostname_full_ssh} -# - #{username} -# - #{username_ssh} -tmux_conf_theme_terminal_title="#h ❐ #S ● #I #W" - -# window status style -# - built-in variables are: -# - #{circled_window_index} -# - #{circled_session_name} -# - #{hostname} -# - #{hostname_ssh} -# - #{hostname_full} -# - #{hostname_full_ssh} -# - #{username} -# - #{username_ssh} -tmux_conf_theme_window_status_fg="$tmux_conf_theme_colour_3" -tmux_conf_theme_window_status_bg="$tmux_conf_theme_colour_1" -tmux_conf_theme_window_status_attr="none" -tmux_conf_theme_window_status_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}" -#tmux_conf_theme_window_status_format="#{circled_window_index} #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}" -#tmux_conf_theme_window_status_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}" - -# window current status style -# - built-in variables are: -# - #{circled_window_index} -# - #{circled_session_name} -# - #{hostname} -# - #{hostname_ssh} -# - #{hostname_full} -# - #{hostname_full_ssh} -# - #{username} -# - #{username_ssh} -tmux_conf_theme_window_status_current_fg="$tmux_conf_theme_colour_1" -tmux_conf_theme_window_status_current_bg="$tmux_conf_theme_colour_4" -tmux_conf_theme_window_status_current_attr="bold" -tmux_conf_theme_window_status_current_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}" -#tmux_conf_theme_window_status_current_format="#{circled_window_index} #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}" -#tmux_conf_theme_window_status_current_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}" - -# window activity status style -tmux_conf_theme_window_status_activity_fg="default" -tmux_conf_theme_window_status_activity_bg="default" -tmux_conf_theme_window_status_activity_attr="underscore" - -# window bell status style -tmux_conf_theme_window_status_bell_fg="$tmux_conf_theme_colour_5" -tmux_conf_theme_window_status_bell_bg="default" -tmux_conf_theme_window_status_bell_attr="blink,bold" - -# window last status style -tmux_conf_theme_window_status_last_fg="$tmux_conf_theme_colour_4" -tmux_conf_theme_window_status_last_bg="$tmux_conf_theme_colour_2" -tmux_conf_theme_window_status_last_attr="none" - -# status left/right sections separators -tmux_conf_theme_left_separator_main="" -tmux_conf_theme_left_separator_sub="|" -tmux_conf_theme_right_separator_main="" -tmux_conf_theme_right_separator_sub="|" -#tmux_conf_theme_left_separator_main='\uE0B0' # /!\ you don't need to install Powerline -#tmux_conf_theme_left_separator_sub='\uE0B1' # you only need fonts patched with -#tmux_conf_theme_right_separator_main='\uE0B2' # Powerline symbols or the standalone -#tmux_conf_theme_right_separator_sub='\uE0B3' # PowerlineSymbols.otf font, see README.md - -# status left/right content: -# - separate main sections with "|" -# - separate subsections with "," -# - built-in variables are: -# - #{battery_bar} -# - #{battery_hbar} -# - #{battery_percentage} -# - #{battery_status} -# - #{battery_vbar} -# - #{circled_session_name} -# - #{hostname_ssh} -# - #{hostname} -# - #{hostname_full} -# - #{hostname_full_ssh} -# - #{loadavg} -# - #{mouse} -# - #{pairing} -# - #{prefix} -# - #{root} -# - #{synchronized} -# - #{uptime_y} -# - #{uptime_d} (modulo 365 when #{uptime_y} is used) -# - #{uptime_h} -# - #{uptime_m} -# - #{uptime_s} -# - #{username} -# - #{username_ssh} -tmux_conf_theme_status_left=" ❐ #S | ↑#{?uptime_y, #{uptime_y}y,}#{?uptime_d, #{uptime_d}d,}#{?uptime_h, #{uptime_h}h,}#{?uptime_m, #{uptime_m}m,} " -tmux_conf_theme_status_right=" #{prefix}#{mouse}#{pairing}#{synchronized}#{?battery_status,#{battery_status},}#{?battery_bar, #{battery_bar},}#{?battery_percentage, #{battery_percentage},} , %R , %d %b | #{username}#{root} | #{hostname} " - -# status left style -tmux_conf_theme_status_left_fg="$tmux_conf_theme_colour_6,$tmux_conf_theme_colour_7,$tmux_conf_theme_colour_8" -tmux_conf_theme_status_left_bg="$tmux_conf_theme_colour_9,$tmux_conf_theme_colour_10,$tmux_conf_theme_colour_11" -tmux_conf_theme_status_left_attr="bold,none,none" - -# status right style -tmux_conf_theme_status_right_fg="$tmux_conf_theme_colour_12,$tmux_conf_theme_colour_13,$tmux_conf_theme_colour_14" -tmux_conf_theme_status_right_bg="$tmux_conf_theme_colour_15,$tmux_conf_theme_colour_16,$tmux_conf_theme_colour_17" -tmux_conf_theme_status_right_attr="none,none,bold" - -# pairing indicator -tmux_conf_theme_pairing="⚇" # U+2687 -tmux_conf_theme_pairing_fg="none" -tmux_conf_theme_pairing_bg="none" -tmux_conf_theme_pairing_attr="none" - -# prefix indicator -tmux_conf_theme_prefix="⌨" # U+2328 -tmux_conf_theme_prefix_fg="none" -tmux_conf_theme_prefix_bg="none" -tmux_conf_theme_prefix_attr="none" - -# mouse indicator -tmux_conf_theme_mouse="↗" # U+2197 -tmux_conf_theme_mouse_fg="none" -tmux_conf_theme_mouse_bg="none" -tmux_conf_theme_mouse_attr="none" - -# root indicator -tmux_conf_theme_root="!" -tmux_conf_theme_root_fg="none" -tmux_conf_theme_root_bg="none" -tmux_conf_theme_root_attr="bold,blink" - -# synchronized indicator -tmux_conf_theme_synchronized="⚏" # U+268F -tmux_conf_theme_synchronized_fg="none" -tmux_conf_theme_synchronized_bg="none" -tmux_conf_theme_synchronized_attr="none" - -# battery bar symbols -tmux_conf_battery_bar_symbol_full="◼" -tmux_conf_battery_bar_symbol_empty="◻" -#tmux_conf_battery_bar_symbol_full="♥" -#tmux_conf_battery_bar_symbol_empty="·" - -# battery bar length (in number of symbols), possible values are: -# - auto -# - a number, e.g. 5 -tmux_conf_battery_bar_length="auto" - -# battery bar palette, possible values are: -# - gradient (default) -# - heat -# - "colour_full_fg,colour_empty_fg,colour_bg" -tmux_conf_battery_bar_palette="gradient" -#tmux_conf_battery_bar_palette="#d70000,#e4e4e4,#000000" # red, white, black - -# battery hbar palette, possible values are: -# - gradient (default) -# - heat -# - "colour_low,colour_half,colour_full" -tmux_conf_battery_hbar_palette="gradient" -#tmux_conf_battery_hbar_palette="#d70000,#ff5f00,#5fff00" # red, orange, green - -# battery vbar palette, possible values are: -# - gradient (default) -# - heat -# - "colour_low,colour_half,colour_full" -tmux_conf_battery_vbar_palette="gradient" -#tmux_conf_battery_vbar_palette="#d70000,#ff5f00,#5fff00" # red, orange, green - -# symbols used to indicate whether battery is charging or discharging -tmux_conf_battery_status_charging="↑" # U+2191 -tmux_conf_battery_status_discharging="↓" # U+2193 -#tmux_conf_battery_status_charging="🔌" # U+1F50C -#tmux_conf_battery_status_discharging="🔋" # U+1F50B - -# clock style (when you hit + t) -# you may want to use %I:%M %p in place of %R in tmux_conf_theme_status_right -tmux_conf_theme_clock_colour="$tmux_conf_theme_colour_4" -tmux_conf_theme_clock_style="24" - - -# -- clipboard ----------------------------------------------------------------- - -# in copy mode, copying selection also copies to the OS clipboard -# - true -# - false (default) -# - disabled -# on macOS, this requires installing reattach-to-user-namespace, see README.md -# on Linux, this requires xsel, xclip or wl-copy -tmux_conf_copy_to_os_clipboard=false - - -# -- user customizations ------------------------------------------------------- -# this is the place to override or undo settings - -# increase history size -#set -g history-limit 10000 - -# start with mouse mode enabled -#set -g mouse on - -# force Vi mode -# really you should export VISUAL or EDITOR environment variable, see manual -#set -g status-keys vi -#set -g mode-keys vi - -# replace C-b by C-a instead of using both prefixes -# set -gu prefix2 -# unbind C-a -# unbind C-b -# set -g prefix C-a -# bind C-a send-prefix - -# if you don't want Oh my tmux! to alter a binding, use #!important -# bind c new-window -c '#{pane_current_path}' #!important - -# move status line to top -#set -g status-position top - - -# -- tpm ----------------------------------------------------------------------- - -# while I don't use tpm myself, many people requested official support so here -# is a seamless integration that automatically installs plugins in parallel - -# whenever a plugin introduces a variable to be used in 'status-left' or -# 'status-right', you can use it in 'tmux_conf_theme_status_left' and -# 'tmux_conf_theme_status_right' variables. - -# by default, launching tmux will update tpm and all plugins -# - true (default) -# - false -tmux_conf_update_plugins_on_launch=true - -# by default, reloading the configuration will update tpm and all plugins -# - true (default) -# - false -tmux_conf_update_plugins_on_reload=true - -# by default, reloading the configuration will uninstall tpm and plugins when no -# plugins are enabled -# - true (default) -# - false -tmux_conf_uninstall_plugins_on_reload=true - -# /!\ the tpm bindings differ slightly from upstream: -# - installing plugins: + I -# - uninstalling plugins: + Alt + u -# - updating plugins: + u - -# /!\ do not add set -g @plugin 'tmux-plugins/tpm' -# /!\ do not add run '~/.tmux/plugins/tpm/tpm' - -# to enable a plugin, use the 'set -g @plugin' syntax: -# visit https://github.com/tmux-plugins for available plugins -#set -g @plugin 'tmux-plugins/tmux-copycat' -#set -g @plugin 'tmux-plugins/tmux-cpu' -#set -g @plugin 'tmux-plugins/tmux-resurrect' -#set -g @plugin 'tmux-plugins/tmux-continuum' -#set -g @continuum-restore 'on' - - -# -- custom variables ---------------------------------------------------------- - -# to define a custom #{foo} variable, define a POSIX shell function between the -# '# EOF' and the '# "$@"' lines. Please note that the opening brace { character -# must be on the same line as the function name otherwise the parse won't detect -# it. -# -# then, use #{foo} in e.g. the 'tmux_conf_theme_status_left' or the -# 'tmux_conf_theme_status_right' variables. - -# # /!\ do not remove the following line -# EOF -# -# # /!\ do not "uncomment" the functions: the leading "# " characters are needed -# -# weather() { # see https://github.com/chubin/wttr.in#one-line-output -# curl -f -s -m 2 'wttr.in?format=3' || printf '\n' # /!\ make sure curl is installed -# sleep 900 # sleep for 15 minutes, throttle network requests whatever the value of status-interval -# } -# -# online() { -# ping -c 1 1.1.1.1 >/dev/null 2>&1 && printf '✔' || printf '✘' -# } -# -# "$@" -# # /!\ do not remove the previous line diff --git a/symlink_dot_tmux.conf b/symlink_dot_tmux.conf deleted file mode 100644 index 6a08cee..0000000 --- a/symlink_dot_tmux.conf +++ /dev/null @@ -1 +0,0 @@ -.tmux/.tmux.conf