Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Key repeat broken in macOS Sierra #687

Open
jdsimcoe opened this issue Jul 14, 2016 · 65 comments
Open

Key repeat broken in macOS Sierra #687

jdsimcoe opened this issue Jul 14, 2016 · 65 comments

Comments

@jdsimcoe
Copy link

Currently your script...

defaults write NSGlobalDomain KeyRepeat -int 0

...does not work in macOS Sierra. I've found that if I set things up here they work great:

screen shot 2016-07-14 at 10 20 05 am

Maybe they changed the preference file location or something.

@hkdobrev
Copy link
Contributor

I've played with that a bit. I think 0 is no longer allowed as a value, but you could use 1, 2 etc. It makes it awfully fast then though. So they might have changed the scale. If you set it to the fastest Key Repeat and shortest initial delay and then read the values on the command line you get 2 and 15.

@jdsimcoe
Copy link
Author

Tried doing this:

defaults write NSGlobalDomain KeyRepeat -int 1

And here's what I get:

2016-07-14 13:51:07.168 defaults[8647:1323339] Could not write domain Apple Global Domain; exiting

@Tatsh
Copy link

Tatsh commented Jul 15, 2016

Use diff to compare before and after the changes (quickly). I can't imagine Apple changed this to no longer use NSUserDefaults. Maybe it's not in NSGlobalDomain anymore.

@ktgvv
Copy link

ktgvv commented Aug 1, 2016

@hkdobrev If it was just a matter of forbidden value, replacing -int 0 with -float 0.001 would have done the trick and been a better way than -int 1 [except if -float was forbidden too]. ;)

@mathiasbynens
Copy link
Owner

mathiasbynens commented Aug 1, 2016

@kvpb Yeah, using float seems to work (as in, fast keyboard repeat is enabled by it after a reboot):

defaults write NSGlobalDomain KeyRepeat -float 0.000000000001; defaults read-type NSGlobalDomain KeyRepeat; defaults read NSGlobalDomain KeyRepeat
Type is float
1e-12

@jdsimcoe
Copy link
Author

jdsimcoe commented Aug 1, 2016

@mathiasbynens That didn't seem to work.

@mathiasbynens
Copy link
Owner

@jdsimcoe It does for me on OS X El Capitan 10.11.6 (15G31) when rebooting afterwards.

@jdsimcoe
Copy link
Author

jdsimcoe commented Aug 1, 2016

@mathiasbynens I'm on macOS Sierra and that setting has changed or something because neither works at all... they must have changed the value.

@mathiasbynens
Copy link
Owner

@jdsimcoe Could you do this please?

  1. defaults read > a
  2. Open system preferences and change the setting to some other value than the default.
  3. defaults read > b
  4. Post diff a b here.

@jdsimcoe
Copy link
Author

jdsimcoe commented Aug 1, 2016

when I do this defaults read NSGlobalDomain KeyRepeat... I get 1e-12. When I do defaults read-type NSGlobalDomain KeyRepeat I get Type is float.

@jdsimcoe
Copy link
Author

jdsimcoe commented Aug 1, 2016

When I change it in the Preferences slider to the fastest value I do defaults read NSGlobalDomain KeyRepeat and get 2. And the type is integer.

@jdsimcoe
Copy link
Author

jdsimcoe commented Aug 1, 2016

@mathiasbynens defaults write NSGlobalDomain KeyRepeat -int 1 is the best I can do on macOS Sierra. The float just doesn't work.

@mathiasbynens mathiasbynens reopened this Aug 2, 2016
@ktgvv
Copy link

ktgvv commented Aug 5, 2016

I tried to take a wild guess, I don't have any Mac running macOS Sierra DP. If I get what @mathiasbynens and you @jdsimcoe say, my trick works for OS X 10.11.6 El Capitan but not macOS 10.12 DP4 Sierra. Maybe it actually is a matter of forbidden values.
If -int works, -float maybe works too. Have you tried to defaults read NSGlobalDomain KeyRepeat with the slider put at different random values [not just the extremes and middle but some points here and there on the slider as well]? Right now, the question I'm asking myself is: did Apple reverse how it works [eg a bigger value means a higher rate] or just lock the values to a certain range [eg between 1 and 3]?, and if they did, does setting the slider's cursor to a point somewhere changes from an integer to a floating-point number [eg the extremes and middle at 1, 2 and 3, and the values between as 1.n and 2.n]?
What bugs me is that either the slider is locked to a range of integers such as one integer by stopping point [which would explain why floating-point numbers don't work], the slider is locked to a range of integers by can accept floating-point numbers within that range or something escapes me.

nepur added a commit to nepur/dotfiles that referenced this issue Aug 10, 2016
* README: Tweak Git-free install command

* bin: Update `subl` symlink to `Sublime Text 3.app`

* .osx: Add Spotlight settings

Closes mathiasbynens#91 and mathiasbynens#174.

* .bash_profile: Remove ‘autocomplete Grunt commands’

Closes mathiasbynens#224.

* .brew: Install PHP 5.5

* .gitattributes: Disable normalizing line endings globally

Instead of removing `~/.gitattributes` completely, I decided to just comment out the `* text=auto` line. This makes it easier to temporarily re-enable the setting should I ever want to.

Closes mathiasbynens#149.

* .curlrc: Disguise as IE 9 on Windows 7

This matches the `.wgetrc` settings.

* .aliases: Add `timer`

`timer` can be used as a stopwatch.

Hat tip: https://twitter.com/tow8ie/status/360077953238962176

* .gitconfig: Improve display of astral Unicode symbols in diffs

Thanks to @holman for the tip: https://speakerdeck.com/holman/more-git-and-github-secrets?slide=38

* .osx: Add GPGMail 2 settings

http://support.gpgtools.org/kb/faq-gpgmail/gpgmail-2-hidden-settings

* .osx: Disable the sound effects on boot

* .aliases: Add `-F` to `ls` aliases

Don’t do this for the default `ls`, though.

Closes mathiasbynens#234.

* bin: Point `subl` to the default ST3 location

Sublime Text 3 does not use the `/Application/Sublime Text 3.app` folder by default. It uses `/Application/Sublime Text.app`.

Closes mathiasbynens#232.

* .gitconfig: Remove global remote branch

This causes duplicate remotes to be created, potentially leading Git to throw errors when `push`ing.

Closes mathiasbynens#215.

* .aliases: Add `chromekill` to kill all Chrome tabs to free up memory

Useful when you have a lot of tabs open (which I always do), but you don’t want to close them.

Tabs in Chrome are just processes, so we just filter out the ones we want, and kill them.

Closes mathiasbynens#236.

* .osx: `~/.CFUserTextEncoding` can break several Adobe apps

Ref. mathiasbynens#237.

* .gitconfig: Add comment about `color.ui` in Git ≥ 1.8.4

Ref. mathiasbynens#239.

* .gitconfig: Add note about whitespace defaults

Closes mathiasbynens#256.

* .functions: Add `m` to open stuff in TextMate

Closes mathiasbynens#253.

* .functions: Add `s` to open stuff in Sublime Text

Closes mathiasbynens#252.

* .functions: Add `v` to open stuff in Vim

Closes mathiasbynens#251.

* .bash_profile: Make sure only files get sourced

Closes mathiasbynens#250.

* .functions: Add `o` to `open` stuff

Closes mathiasbynens#245.

* Add `np` function to ease publishing node modules

I use this to ease the publishing of npm modules. `np`, done ;)

np = npm publish (and, `no problem`, (and `nutella party`))

Closes mathiasbynens#261.

* .osx: Remove “Enable access for assistive devices”

This feature doesn’t work anymore in OS X 10.9 Mavericks. The setting has moved to System Preferences → Security & Privacy → Accessibility, where you now have to check every app you want to allow access rather than enabling it globally.

Closes mathiasbynens#262.

* .osx: Use plain text smileys in Messages

Messages in OS X 10.9 Mavericks automatically substitutes e.g. `:)` with `😊`, with no way to disable this feature through the app’s preferences pane.

After analyzing the `defaults read` output it turns out there is a hidden preference for it.

* .osx: Consistently specify the type for `dict-add` actions

* .functions: Add `tre` shorthand

Closes mathiasbynens#249.

* .osx: Disable smart quotes in Messages.app

* .osx: Disable continuous spell checking in Messages.app

* .brew: Move casks to their own file

* .osx: Add threaded email display settings for Mail.app

* .osx: Remove old iTunes commands

They only applied to iTunes 10 and older anyway.

* .osx: Make coding style more consistent

* .osx: Disable inline attachments in Mail

Thanks to Christophe Platteeuw via Twitter: https://twitter.com/cplatteeuw/status/393465401310318592

* .osx: Disable automatic spell checking in Mail.app

* .osx: Stop iTunes from responding to the keyboard media keys

Commented out, as I actually use these keys.

Closes mathiasbynens#265.

* .osx: Suppress error messages when running `~/.osx` twice

Closes mathiasbynens#266.

* .aliases: Improve `ips`

Ref. mathiasbynens#268 and mathiasbynens#269.

* Make `.cask` executable

* .osx: Minimize windows into their application’s icon

Closes mathiasbynens#271.

* init: Add iTerm colors

Closes mathiasbynens#274.

* init: Install Sublime Text settings

Closes mathiasbynens#275.

* .osx: Rename computer name

* .aliases: Lowercase `projects` dir

* .osx: Don’t prompt when quitting iTerm

* README: Update link to Lauri Ranta’s resources

* .osx: Add SSD-specific tweaks

Source: http://forums.macrumors.com/showthread.php?t=1505922

* .osx: Remove broken three-finger swipe commands

If anyone knows how to make this work, please let me or @necolas know!

Ref. mathiasbynens#171.

* .osx: Don’t `kill` Dashboard

`killall Dashboard` doesn’t actually do anything. To apply the changes for Dashboard, `killall Dock` is enough as Dock is Dashboard’s parent process.

Closes mathiasbynens#277.

* .aliases: Add `afk` to lock the screen

Closes mathiasbynens#258.

* README: Document the `.cask` file

Closes mathiasbynens#280.

* .osx: Disable smart quotes and dashes

* .aliases: Add `reload`

`reload` invokes the shell as a login shell, which essentially reloads it.

Closes mathiasbynens#247.

* .aliases: Update RubyGems before updating installed gems

Closes mathiasbynens#282.

* .aliases: Add `npme`

`npme` is like `npm` except it uses a registry located in Europe, causing it to be much faster for Europeans. See <http://npmjs.eu/> for more information.

Closes mathiasbynens#284.

* Use `Brewfile` now that Homebrew supports it

https://github.com/mxcl/homebrew/blob/master/Library/Contributions/cmd/brew-bundle.rb
https://coderwall.com/p/afmnbq

* .gitconfig: Make `git rebase` safer on OS X

See <http://www.git-tower.com/blog/make-git-rebase-safe-on-osx/>.

Closes mathiasbynens#291.

* .aliases: Improve `lsd`

Ref. mathiasbynens#292.

* README: Use `Brewfile` instead of `.brew`

Closes mathiasbynens#294.

* .osx: Hide Safari’s sidebar in Top Sites by default

Closes mathiasbynens#296.

* .gitconfig: Add aliases to find branches/tags/commits

Closes mathiasbynens#304.

* bin: Make `httpcompression` prevent caching

In some cases, intermediate proxies ignore the `Content-Encoding` header
altogether.

Sending `Cache-Control no-cache` as a request header solves this problem
by forcing validation of the resources in the intermediate proxies,
thereby, ensuring that every request is fetched from the origin server.

Ref. alrra/dotfiles#2. Closes mathiasbynens#308.

* init: Fix typo in Sublime Text settings

* .osx: Hide some menu bar icons in OS X 10.9 Mavericks

Kudos to @kevinSuttle for finding the appropriate `plist` file!
mathiasbynens#305 (comment)

Ref. mathiasbynens#305.

* .osx: Delete some old commands that no longer work

These commands only work on outdated versions of OS X.

Ref. mathiasbynens#305.

* .gitconfig: Add `dm` alias

`git dm` deletes local branches that have been merged with master.

Closes mathiasbynens#309.

* init: Tweak Sublime Text settings

* .osx: Add Activity Monitor settings

* .osx: Add Finder ‘Get Info’ settings

* .osx: Display Bluetooth icon in menu bar

* README: Credit @kevinSuttle

* .osx: Set Desktop as the default location for new Finder windows

Closes mathiasbynens#285.

* .aliases: Add `jsc` alias

Useful for testing code in JavaScriptCore.

Hat tip: https://twitter.com/RussB/status/420409644117262336 (via @rauschma)

* .functions: Make `np` remove `node_modules`

This lets you catch cases where you forgot to add a dependency to `package.json`.

Closes mathiasbynens#321.

* .osx: Support multiple `systemuiserver` pref files

Closes mathiasbynens#319.

* Brewfile: Install `p7zip` (i.e. `7z` etc.)

* .osx: Kill `cfprefsd` after changing preferences

As of OS X 10.9 this is necessary to make sure the changes persist.

Closes mathiasbynens#330.

* Brewfile: Install ImageMagick with WebP support

* .vimrc: Explicitly use the Molokai theme

* Brewfile: install `moreutils`, if only for `sponge`

Hat tip: @chastell / http://talks.chastell.net/kodio-2014/#/21

* Brewfile: install `pv` (pipe viewer)

Hat tip: @chastell / http://talks.chastell.net/kodio-2014/#/39

* .osx: Make Dock more transparent

Closes mathiasbynens#346.

* Brewfile: explicitly list non-default taps

* .functions: Add `a` alias for `atom`

Closes mathiasbynens#349.

* .osx: Remove old keyboard illumination settings

These commands don’t have any effect anymore in OS X 10.9.

Closes mathiasbynens#327.

* .gitconfig: Explicitly disable `indent-with-non-tab`

Don’t use `indent-with-non-tab`. This config flag is PERNICIOUS. If turned on, Git won’t tell you that you indented your code incorrectly. Instead, when it is pushing your changes to your remote repo, Git will silently convert any consecutive 8-space strings it sees into tab characters. This can be highly undesirable, especially if you collaborate with a team that expects the code to be indented using spaces instead of tabs.

At the very least, the comment above this line should very clearly explain the fact that `indent-with-non-tab` does more than advertised in the `git-config man page (https://www.kernel.org/pub/software/scm/git/docs/git-config.html).

Closes mathiasbynens#351.

* .osx: Add missing value

In order to properly overwrite the `key` of a `domain`, `defaults` needs to be provided with a valid `value` for the `key`:

    `defaults write <domain> <key> <value>`

Closes mathiasbynens#350.

* .cask: Add Opera, Opera Developer and Opera Next

Closes mathiasbynens#348.

* .osx: Allow installing Chrome user scripts via GitHub Gist or Userscripts.org

* .osx: Change minimize/maximize window effect

By default, OS X Mavericks uses the annoying `genie` effect whenever windows are minimized/maximized. This commit changes that preference and makes OS X use the more tolerable `scale` effect.

Closes mathiasbynens#355. Ref. mathiasbynens#270.

* .osx: Remove “disable opening and closing window animations”

Sadly, this doesn’t work anymore in OS X 10.9.

Closes mathiasbynens#270.

* .osx: Comment computer name settings

It’s good to have these commands here as a reference, but it’s annoying when running `.osx` on multiple computers in the same network.

* .exports: Explicitly use UTF-8 even for `LANG`

* .osx: Add ExpandedStateFor* variants for OS X 10.9

Closes mathiasbynens#361.

* .aliases: Use `en0` for `localip`

* .osx: Update iOS Simulator symlink

* Install casks via Caskfile

`brew bundle` can now be used for casks as well.

Closes mathiasbynens#365.

* Brewfile: Install GNU `sed`

* Brewfile: Install some more useful tools

* .functions: Make `gi` accept any number of arguments

Closes mathiasbynens#367.

* Brewfile: Install `xpdf`, if only for `pdfinfo`

* .osx: Don’t reset the desktop wallpaper when resetting Launchpad

Files like `530142A0-6AEC-4921-A3A7-7C2B72FFF6E3.db` and `desktoppicture.db` exist in `~/Library/Application\ Support/Dock`, so let’s add a `-` with a wildcard `*` to both sides to ensure we don’t delete `desktoppicture.db` and reset the desktop wallpaper.

Closes mathiasbynens#370.

* Brewfile: Install `ucspi-tcp`, if only for `tcpserver`

* Brewfile: Install PHP 5.5 with GMP support

* .osx: Don’t show hidden files by default

Most of the time I don’t need it, and when I do, I can temporarily enable it using the `show` alias, and revert it using the `hide` alias.

* Brewfile: Fix PHP 5.5 installation

Thanks to @interputed for the heads up: mathiasbynens@a76db30#commitcomment-6200104

* Caskfile: Move `phinze/cask` to `caskroom/cask`

Homebrew Cask has been moved to https://github.com/caskroom/homebrew-cask.

Closes mathiasbynens#375.

* .gitconfig: Make sure `go` never overrides branches

Closes mathiasbynens#357. Thanks to @yukideluxe!

* Brewfile: Install `hashpump`

* .bash_prompt: Speed up the Git commands for the prompt

Fixes mathiasbynens#227 and closes mathiasbynens#380.

* .bash_profile: Enable tab completion for `git` and `g`

Closes mathiasbynens#197.

* Brewfile: add instructions on how to change the default shell to Bash 4

* Brewfile: Install Node with npm

Ref. Homebrew/legacy-homebrew#28075. Closes mathiasbynens#362.

* bootstrap.sh: Make `rsync` output numbers in a human-readable format

Closes mathiasbynens#383.

* Brewfile: Install BFG Repo-Cleaner

* .curlrc: Set connection timeout to 60 seconds

This matches the setting in `.wgetrc`.

* Remove some things that I don’t use

This commit drops some aliases, functions, and settings from the project that I wasn’t using at all. It also cleans up some of the remaining code.

* Caskfile: Update Tor formula name

Closes mathiasbynens#388.

* .gitconfig: Improve configuration

Closes mathiasbynens#366.

* .osx: Add (commented-out) instructions on how to set the wallpaper

Closes mathiasbynens#356.

* .osx: Only install custom Terminal profile once

Closes mathiasbynens#336 and mathiasbynens#337.

* .screenrc: Add some more settings

Closes mathiasbynens#334.

* .osx: Disable the Launchpad gesture

Closes mathiasbynens#316.

* Brewfile: Install a more recent version of `screen`

Closes mathiasbynens#295.

* .bash_profile: Enable Bash completion if `/etc/bash_completion` exists too

This is useful on Linux.

Ref. mathiasbynens#278.

* Update Bash prompt to match the Solarized theme

Screenshot: http://i.imgur.com/EkEtphC.png

* Enable Solarized Dark theme in Vim

* .gitconfig: Remove `push.default`

This was causing issues on servers that don’t have an up-to-date Git installation. As a workaround, I decided to remove this from `.gitconfig` and add this to `~/.extra` for my laptop only:

    git config --global push.default simple

* .gitconfig: Tweak `diff` colors

* init: Use the Solarized Dark theme in Sublime Text

* .gitconfig: Add default Git `push.default` config

Use the backwards-compatible `matching` setting by default. On machines with newer Git installations, it avoids the annoying Git warning, and it can be overriden to use `simple` instead in `~/.extra`.

Closes mathiasbynens#400.

* Add `.editorconfig`

See <http://editorconfig.org/>.

* .bash_prompt: Avoid double-escaping ANSI codes

Fixes mathiasbynens#399 and closes mathiasbynens#402.

* .bash_prompt: Add back escape sequences

Fixes mathiasbynens#403.

* .bash_prompt: Interpret escape sequences correctly in all cases

Closes mathiasbynens#407.

* .vimrc: Avoid creating backups when editing files in `/tmp`

See http://vim.wikia.com/wiki/Editing_crontab.

* .aliases: Remove the now-broken `whois` alias

Closes mathiasbynens#397.

* .osx: Use `sudo` for `systemsetup`

Closes mathiasbynens#415.

* .osx: Disable the all-too-sensitive backswipe on Chrome

Closes mathiasbynens#416.

* Update URLs

* .vimrc: Treat `.md` files as Markdown

`filetype` is set implicitly, without using setfiletype, because `*.md` is already associated with Modula-2 files and `setfiletype` doesn’t allow `filetype` to be set twice.

`setlocal` is used to apply a new `filetype` value for each Markdown file as it is being added to the buffer.

Fixes mathiasbynens#418. Closes mathiasbynens#419.

* .functions: Add SNI support in `getcertnames`

* Update URLs

* .functions: Improve `getcertnames`

* .gitconfig: Add alias to merge GitHub pull request

Ref. https://help.github.com/articles/checking-out-pull-requests-locally

Closes mathiasbynens#422.

* Brewfile: add some CTF tools

See https://github.com/ctfs/write-ups for more info.

* Brewfile: add binutils and cifer

* .osx: Disable transparency in the menu bar and elsewhere on Yosemite

* .osx: Remove a few commands that no longer have any effect in Yosemite

Closes mathiasbynens#436.

* .osx: Use the system-native print preview dialog in Chrome

Closes mathiasbynens#434.

* .aliases: Update `npm` the right way

`npm install npm -g` is the new recommended way to update npm as specified in the npm-faq at https://github.com/npm/npm/blob/master/doc/misc/npm-faq.md.

Closes mathiasbynens#423.

* .osx: Don’t send Safari search queries to Apple

* .osx: Make Yosemite Safari more useful

* Use `brew.sh` instead of `Brewfile`

Also, remove `Caskfile` since I didn’t use it.

Closes mathiasbynens#428.

* .bash_profile: Support multiple hosts in SSH completion

Useful in cases such as:

```

Host vm1 vm2 vm3 vm4
     Host localhost
     # ...
```

Simply adding a `-` to `tr` fixes this.

Closes mathiasbynens#437.

* .vimrc: Enable `g:solarized_termtrans`

It improves the display in OS X Terminal.app.

http://ethanschoonover.com/solarized/vim-colors-solarized

Ref. mathiasbynens#425.

* brew.sh: Use `--with-iri` for `wget`

The older `--enable-iri` flag is deprecated.

Closes mathiasbynens#445.

* .exports: Remove `export HOMEBREW_CASK_OPTS`

It’s not needed anymore now that the `Caskfile` has been removed.

Closes mathiasbynens#446.

* .aliases: Remove npmjs.eu reference

See the deprecation notice: http://npmjs.eu/

Closes mathiasbynens#448.

* .functions: Make `mkd` `cd` into the last directory in the list

…rather than the first.

Closes mathiasbynens#447 and mathiasbynens#450.

* brew.sh: Install Lua the new way

Closes mathiasbynens#453.

* .osx: Update `iOS Simulator.app` path

The iOS Simulator app has been moved.

Closes mathiasbynens#452.

* brew.sh: Update `gnu-sed` option

Closes mathiasbynens#454.

* .osx: Disable Spotlight suggestions from Safari

Safari has a “Spotlight Suggestions” setting that, if left enabled, will send a copy of all search queries to Apple.

Closes mathiasbynens#455.

* .osx: Add Yosemite’s search results for Spotlight

Yosemite introduces new Spotlight search results, and if you don’t add it to `defaults write com.apple.spotlight orderedItems` it will be removed from the System Preferences → Spotlight → Search Results` list with no way to re-enable them through the System Preferences panel.

Closes mathiasbynens#456.

* Add .gdbinit

* .osx: Fix comment for menu bar items

Closes mathiasbynens#459.

* .osx: Use `-array` instead of `-array ""`

Ref. mathiasbynens#350.

* .osx: Remove “increase window resize speed”

Sadly, this doesn’t work anymore in OS X 10.10.

* README: Tweak `~/.path` example

* brew.sh: Install speedtest_cli

Hat tip: @bramushttps://www.bram.us/2014/12/17/speedtest-cli/

* .osx: Kill apps with `-HUP` to make sure they restart

Note that a full system restart is needed after running `.osx` anyhow, but this small change improves the situation for those who don’t do that.

Closes mathiasbynens#469.

* .osx: Revert to plain `killall` without `-HUP`

This reverts commit 07cd263.

Ref. mathiasbynens#469.

* .gitconfig: Prevent showing files whose names contain non-ASCII symbols as unversioned

http://michael-kuehnel.de/git/2014/11/21/git-mac-osx-and-german-umlaute.html

Closes mathiasbynens#460.

* brew.sh: Fix copy-paste typo

Closes mathiasbynens#472.

* .osx: Add back the “increase window resize speed” hack

It didn’t work in OS X 10.10 anymore, but it seems OS X 10.10.1 does support it.

Ref. 4471e27.

* .curlrc: Remove `max-time`

Don’t globally timeout cURL operations without knowing the size of the files being downloaded. Hat tip: @necolas.

* .exports: Set `HISTCONTROL`

Omit duplicates and commands that begin with a space from history.

* .curlrc: Add back `connect-timeout`

This was removed by mistake in 216a633. Thanks to @alrra for spotting it!

* brew.sh: Install `openssh`

This includes a more up-to-date `ssh` binary.

* brew.sh: Install font tools

Thanks to @bramstein for creating these formulae!
https://twitter.com/bram_stein/status/556357864038883328

* bin: Point Bash symlink to `/usr/local/opt/bash/bin/bash`

This is a link to whatever happens to be both in-the-cellar and linked.

Ref. mathiasbynens#479 (comment). Fixes mathiasbynens#479.

* .gitconfig: Add `retag`

* bin: Update and improve `httpcompression`

Simplify and improve the `httpcompression` script while also modifying it so that it accepts multiple URLs and checks if `cURL` is installed.

Closes mathiasbynens#491.

* .osx: Fix code that sets the custom terminal theme

Fix the `.osx` script so that it correctly sets the custom terminal theme, and the change will be persistent.

Closes mathiasbynens#492.

* Install io.js & add aliases to switch to io/node

* Install `io.js`.
  https://iojs.org/en/index.html

* Add aliases to easily switch between `io.js` and `Node.js`.
  https://gist.github.com/phelma/ce4eeeedb8fb9a9e8e63

* README: Fix @alrra’s name

Closes mathiasbynens#495.

* .osx: Add Spectacle.app settings

Fixes mathiasbynens#507.

* .osx: Disable swipe navigation in Chrome for mouse users

Closes mathiasbynens#508.

* brew.sh: Add `ssh-copy-id`

`ssh-copy-id` allows one to easily set up passwordless SSH connections on a new machine. It does this by copying over your pubic key and setting the correct permissions.

It becomes as simple as `ssh-copy-id user@hostname.example.com`. Probably safer than using manual or scripted methods.

Ref. http://askubuntu.com/a/4833/42234.

Closes mathiasbynens#510.

* .aliases: Remove `use-iojs` and `use-node` in favor of nvm

https://github.com/creationix/nvm

* brew.sh: Add aircrack-ng

* .gvimrc: Don’t blink cursor in normal mode

Closes mathiasbynens#43 and mathiasbynens#473.

* .osx: Expand print dialog in Chrome & Opera by default

mathiasbynens#434 (comment)

* brew.sh: Install git-lfs

https://git-lfs.github.com/

* brew.sh: Use bash-completion2 for improved Bash 4 completion

Hat tip: @elyscape in mathiasbynens@91be10d#commitcomment-10654929.

* .osx: Update Spectacle.app keyboard shortcuts

* brew.sh: Install netpbm

* Add `--all` to `brew upgrade`

Homebrew recently started to hint that everyone should update their workflows for `brew upgrade`:

> brew upgrade with no arguments will change behaviour soon! It currently upgrades all formula but this will soon change to require `--all`. Please update any workflows, documentation and scripts!

Homebrew/legacy-homebrew@9032f16

Closes mathiasbynens#531.

* .exports: Enable persistent REPL history for `node`

This works as of io.js v2.0.0.

https://github.com/iojs/io.js/blob/v2.0.0/CHANGELOG.md#2015-05-04-version-200-rvagg

* .gitconfig: Add `push.followTags`

Thanks to @sindresorhus: https://twitter.com/sindresorhus/status/596347008975241216

* .osx: Fix `/private` path

Closes mathiasbynens#529.

* brew.sh: Add `dark-mode`

For toggling Dark Mode from the command-line.

https://github.com/sindresorhus/dark-mode

Closes mathiasbynens#545.

* .gitconfig: Use `hexdump` to diff binary files

* README: Add warning

Closes mathiasbynens#530, mathiasbynens#575, and mathiasbynens#576.

* .aliases: Make `emptytrash` clear download history too

See https://mths.be/bum for more details. Thanks to @nvartolomei for the suggestion in mathiasbynens#177.

* .exports: Add missing `export` commands

Closes mathiasbynens#585.

* .osx: Remove “enable text selection in Quick Look”

As of OS X 10.11, it no longer has any effect.

Closes mathiasbynens#580.

* .exports: Update Node environment variables

Thanks to @alrra for the heads up in mathiasbynens@9d30bd6#commitcomment-13835031.

* .osx: Simplify `killall` redirection

`&>` is the same as `2>&1`.

Closes mathiasbynens#589.

* .osx: Fix typo

Fixes mathiasbynens#592.

* .aliases: Enable colored `grep` output

Note that `GREP_OPTIONS=--color=auto` is deprecated in GNU `grep`.

Closes mathiasbynens#467 and mathiasbynens#590.

* .osx: Stop iTunes from automatically syncing connected devices

Closes mathiasbynens#593.

* .osx: Don’t enable “secure empty trash”

This feature has been removed, sadly, so enabling has no effect anymore.

https://support.apple.com/en-us/HT205267#CVE-2015-5901

Closes mathiasbynens#596.

* .exports: Add `PYTHONIOENCODING`

https://docs.python.org/2/using/cmdline.html#envvar-PYTHONIOENCODING

* .osx: Remove non-functional iTunes setting

Ref. mathiasbynens@cd88be0#commitcomment-14145185. Thanks to @chdiza!

* .osx: Bypass t.co URLs in Tweetbot

Hat tip: https://twitter.com/dermdaly/status/664065150329163777

* .bash_prompt: Improve escape sequences

Closes mathiasbynens#598. See mathiasbynens#598 (comment).

* .osx: Show only open applications in the Dock

Closes mathiasbynens#604.

* .gitconfig: Improve `mpr` command

Change the `mpr` command so that it merges the specified pull request into the current branch¹, or if a branch name is specified², into the specified branch.

¹ git mpr <number>
² git mpr <number> <branch_name>

Closes mathiasbynens#607.

* .osx: Disable the over-the-top focus ring animation

See http://arstechnica.com/apple/2014/10/os-x-10-10/5/ for an example.

Closes mathiasbynens#511.

* bin: Add Brotli and LZMA to `httpcompression`

Closes mathiasbynens#613.

* .osx: Prevent Photos from opening automatically

Closes mathiasbynens#608.

* .osx: Update Simulator paths for El Capitan

Closes mathiasbynens#616.

* brew.sh: Upgrade to PHP 5.6 (from 5.5)

PHP 5.5 caused a segmentation fault when trying to run `arc`, the `anarcist` command.

Ref. https://stackoverflow.com/a/33512066/96656.

Closes mathiasbynens#617.

* brew.sh: Add `testssl`

https://github.com/drwetter/testssl.sh

* .functions: Improve `fs`

Accept file names with a dash without interpreting them as a command-line flag. Found by running `shellcheck`.

Closes mathiasbynens#565.

* .osx: Show the `/Volumes` folder

Closes mathiasbynens#621.

* .bash_prompt: Improve title

This will set the title of the current terminal tab to the name of the folder you are in rather than the whole path.

Closes mathiasbynens#623.

* .bash_prompt: Improve terminal title

Closes mathiasbynens#625.

* bin: Remove `httpcompression`

@alrra maintains it now. Hopefully it can be moved to its own repository and installed through npm/brew soon.

See alrra/dotfiles#18.

* .osx: Remove duplicate `disablelocal` setting

This setting is already set under the “Time Machine” section.

Closes mathiasbynens#631.

* .gitconfig: Sign commits using GPG

* brew.sh: Install vbindiff

Probably the best binary diff tool out there.

* brew.sh: Remove useless use of `sudo`

Thanks to @jonnybarnes for spotting this.

Closes mathiasbynens#647.

* .bash_profile: Redirect all `which brew` output

On RHEL6, `which brew` prints `/usr/bin/which: no brew in …` to stderr. Changing `> /dev/null` to `&>/dev/null` redirects both stdout and stderr to `/dev/null`, silencing the check completely.

Closes mathiasbynens#650.

* .functions: Update `gitio` to use HTTPS

Looks like git.io recently enabled HTTPS. Because they’re now redirecting from HTTP to HTTPS the old script stopped working.

Thanks to @sixertoy for spotting this: mathiasbynens@4f48f25#commitcomment-17317282

* Enable GitHub highlighting for Bash files

Closes mathiasbynens#662.

* .brew.sh: Automate switch to brew-installed Bash

Closes mathiasbynens#658.

* .osx: Fix ⌘ + Enter shortcut in Mail.app

Removing `-string` and just passing the unescaped string value of the shortcut as a second param seems to solve the problem.

Closes mathiasbynens#603 and mathiasbynens#661.

* .functions: Add file size output to `targz`

Closes mathiasbynens#670.

* Rename .osx to .macos

Apple renamed OS X to macOS, so this repository must follow.

* .macos: Add some more Transmission options

* Do not prompt for download confirmation on magnet links.
* Activate the IP block list.

Closes mathiasbynens#679.

* .macos: Enable Secure Keyboard Entry in Terminal.app

Closes mathiasbynens#685.

* .macos: Make Safari config more robust/secure

Closes mathiasbynens#684.

* .macos: Auto-play videos when opened with QuickTime Player

Closes mathiasbynens#683.

* .macos: Extend Mac App Store configuration

Closes mathiasbynens#681.

* .macos: Remove `AllowBypassOfAutocompleteOff`

This setting is ignored by Safari 7.0.3+.

See https://discussions.apple.com/thread/6036813?start=0&tstart=0.

Thanks to @chdiza for pointing this out! mathiasbynens@4a4cdea#commitcomment-18177720

* .macos: Fix the keyboard repeat rate command

Closes mathiasbynens#687.
benkroeger pushed a commit to benkroeger/dotfiles that referenced this issue Aug 12, 2016
@wprater
Copy link

wprater commented Aug 16, 2016

Im on DP 5 and cannot seem to get the float to increase to speeds I was experiencing prior. also, you may need to tweak the InitialKeyRepeat value if you're getting no key repeat at all.

@mickeys
Copy link

mickeys commented Aug 18, 2016

On macOS build 16a294a, after setting values through the prefs panel (and verifying that it works in the terminal), these are the values I see:

% defaults read NSGlobalDomain ApplePressAndHoldEnabled
0
% defaults read NSGlobalDomain KeyRepeat
6
% defaults read NSGlobalDomain InitialKeyRepeat
25

@ktgvv
Copy link

ktgvv commented Aug 19, 2016

@wprater InitialKeyRepeat's value is actually the time it takes for key repeat to initialize, that is how long you have to stay pressing the key before it automatically repeats. Maybe it needs to be set to a shorter value along KeyRepeat in macOS Sierra?

Also, I highly discommend setting InitialKeyRepeat lower than [ 7 ; 10 ]: hardly will you press a key that 2 or 3 characters will have been input; on my 2013 MacBook Pro, I can set it to 5 but I need to keep it around 10 on my 2010 MacBook. See my .osxmavericks for more.

asbjornu pushed a commit to asbjornu/dotfiles that referenced this issue Aug 25, 2016
dunn pushed a commit to dunn/mb-dotfiles that referenced this issue Sep 1, 2016
@anhkind
Copy link

anhkind commented Sep 21, 2016

I can't find any command that works for macOS Sierra. Something must have changed ...

@knpwrs
Copy link

knpwrs commented Sep 21, 2016

Same here. I just ugpraded to Sierra and I had to use... the GUI. And even then key repeat wasn't as fast as it was in El Capitan.

@danemacmillan
Copy link

danemacmillan commented Sep 21, 2016

@knpwrs I'm experiencing the same thing. They key repeat set from CLI appears to have no affect. Furthermore, after a reboot, the settings set from the GUI are lost, which means I need to set the preferences every time.

@kdeldycke
Copy link
Contributor

For keyboards and mouse fine-tuning I'm exploring the use of https://pqrs.org/osx/karabiner/ . Only thing is a rewrite of the app is in progress for macOS Sierra support at: https://github.com/tekezo/Karabiner-Elements

@jdsimcoe
Copy link
Author

jdsimcoe commented Sep 21, 2016

@anhkind @knpwrs @danemacmillan @kdeldycke If you want to close to 0 try this:

defaults write NSGlobalDomain KeyRepeat -int 1

It is as close as you can get on macOS Sierra.

@nuc
Copy link

nuc commented Sep 21, 2016

For me:

defaults write NSGlobalDomain KeyRepeat -int 1
defaults write NSGlobalDomain InitialKeyRepeat -int 10

makes it blazing fast. Even a bit too much, maybe.

@blakeperdue
Copy link

blakeperdue commented Sep 21, 2016

This is sad, I really liked having blazing fast key repeat. Has anyone found anything faster than

defaults write NSGlobalDomain KeyRepeat -int 1
defaults write NSGlobalDomain InitialKeyRepeat -int 10

?

@rjorgenson
Copy link

Nothing i've tried has been as fast as keyrepeat 1 and initialkeyrepeat 10 =/ I miss lightning fast, but I imagine i'll get used to this speed shortly.

@padi
Copy link

padi commented Aug 11, 2017

Leaving an update here. Using macOS Sierra 10.12.5 and it seems like
defaults write -g KeyRepeat -int 0 + logout + login now works, albeit too fast.

The scales have changed drastically, as @hkdobrev has previously stated. I've documented this behavior here:

keyrepeat

Take note that while the GIF is indeed skipping frames, it really does skip some frames until I stop holding the repeating key. It's that fast. The terminal frame skips seem to happen, but they're more evident in my older MacBook, which means this is probably just dependent on how much text the terminal can handle given the limited resources of the laptop.

This behavior "works" on both my 11-inch Mac Book Air (2014) and my 13-inch Mac Book Air (2017). I've since set it to 1, but it 2 can be comfortable as well since the new 1 might be a little bit too fast for some people.

padi added a commit to padi/dotfiles that referenced this issue Sep 21, 2017
Looks like they've changed the scale in macOS Sierrra. `KeyRepeat -int 0` seems to be too impractical. I can't even hold backspace because it erases too much. Since you've taken this from another repo, it's worth referencing the same issue in that repo:

mathiasbynens/dotfiles#687
ppries pushed a commit to ppries/dotfiles-skwp that referenced this issue Oct 4, 2017
Looks like they've changed the scale in macOS Sierrra. `KeyRepeat -int 0` seems to be too impractical. I can't even hold backspace because it erases too much. Since you've taken this from another repo, it's worth referencing the same issue in that repo:

mathiasbynens/dotfiles#687
bobek pushed a commit to bobek/dotfiles that referenced this issue Dec 5, 2017
Looks like they've changed the scale in macOS Sierrra. `KeyRepeat -int 0` seems to be too impractical. I can't even hold backspace because it erases too much. Since you've taken this from another repo, it's worth referencing the same issue in that repo:

mathiasbynens/dotfiles#687
csuhta added a commit to csuhta/environment that referenced this issue Jan 29, 2018
@ktgvv
Copy link

ktgvv commented Mar 4, 2018

@mathiasbynens You could disable Slow Keys before setting key repeat, like so:

defaults write com.apple.universalaccess slowKey -int 0 # Disable Slow Keys.
defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool FALSE # Disable Press-And-Hold for keys.
defaults write NSGlobalDomain InitialKeyRepeat -int 10 # Set key repeat triggering delay to even shorter.
defaults write NSGlobalDomain KeyRepeat -int 3 # Set key repeat rate to even faster.

matt-hh pushed a commit to matt-hh/dotfiles that referenced this issue Aug 23, 2018
Looks like they've changed the scale in macOS Sierrra. `KeyRepeat -int 0` seems to be too impractical. I can't even hold backspace because it erases too much. Since you've taken this from another repo, it's worth referencing the same issue in that repo:

mathiasbynens/dotfiles#687
c0nscience pushed a commit to c0nscience/dotfiles that referenced this issue Jun 13, 2019
c0nscience pushed a commit to c0nscience/dotfiles that referenced this issue Jun 13, 2019
Unfortunately it seems the float trick (6b4d961) no longer works in macOS Sierra. As @kirbysayshi pointed out, setting `KeyRepeat` to a float or zero value actually *disables* key repeat now (i.e. holding a key does nothing). It seems like setting it to `1` is the best we can do for now. Note that this is way slower than before.

Ref. mathiasbynens#687.
@hprobotic
Copy link

In case you guys found default ./.macos setting is too fast. Here is good setting:

defaults write NSGlobalDomain KeyRepeat -int 3
defaults write NSGlobalDomain InitialKeyRepeat -int 20

@a-x-
Copy link

a-x- commented Feb 21, 2020

It works for me:
sudo defaults write NSGlobalDomain KeyRepeat -float 0.000000000001

W/o sudo it does not work

@ktgvv
Copy link

ktgvv commented Feb 22, 2020

wouldn't've thought to try sudo. Does it work for other broken commands?

parejadan added a commit to parejadan/dotfiles that referenced this issue Apr 4, 2020
parejadan added a commit to parejadan/dotfiles that referenced this issue Apr 4, 2020
Unfortunately it seems the float trick (6b4d961) no longer works in macOS Sierra. As @kirbysayshi pointed out, setting `KeyRepeat` to a float or zero value actually *disables* key repeat now (i.e. holding a key does nothing). It seems like setting it to `1` is the best we can do for now. Note that this is way slower than before.

Ref. mathiasbynens#687.
alrra added a commit to alrra/dotfiles that referenced this issue Oct 12, 2020
alrra added a commit to alrra/dotfiles that referenced this issue Oct 19, 2020
alrra added a commit to alrra/dotfiles that referenced this issue Oct 19, 2020
alrra added a commit to alrra/dotfiles that referenced this issue Oct 20, 2020
alrra added a commit to alrra/dotfiles that referenced this issue May 17, 2021
alrra added a commit to alrra/dotfiles that referenced this issue May 17, 2021
alrra added a commit to alrra/dotfiles that referenced this issue May 17, 2021
alrra added a commit to alrra/dotfiles that referenced this issue May 17, 2021
steezeburger pushed a commit to steezeburger/dotfiles that referenced this issue Jan 11, 2023
Looks like they've changed the scale in macOS Sierrra. `KeyRepeat -int 0` seems to be too impractical. I can't even hold backspace because it erases too much. Since you've taken this from another repo, it's worth referencing the same issue in that repo:

mathiasbynens/dotfiles#687
phanyzewski pushed a commit to phanyzewski/dotfiles that referenced this issue Sep 5, 2023
phanyzewski pushed a commit to phanyzewski/dotfiles that referenced this issue Sep 5, 2023
Unfortunately it seems the float trick (6b4d961) no longer works in macOS Sierra. As @kirbysayshi pointed out, setting `KeyRepeat` to a float or zero value actually *disables* key repeat now (i.e. holding a key does nothing). It seems like setting it to `1` is the best we can do for now. Note that this is way slower than before.

Ref. mathiasbynens#687.
vegerot added a commit to vegerot/dotfiles.old that referenced this issue Jan 2, 2024
EXPLANATION: Back when I was a noob I had written my dotfiles but didn't
have a good way to install them when moving between devices.  I searched
and found this repo with its magic "bootstrap.sh" script.  For some
reason, instead of just stealing that one file I decided to fork the
repo and replace all the files with my own.

I never liked that it showed hundreds of commits to "my" dotfiles were
from Mathias.

This commit is restarting the history to be all mine.  The first commit,
where I based my work off of, will still be authored by Mathias but the
rest of the history shall be my own :)

This commit includes all patches from the inital commit
(7d022705ed126d78881fb7356e28f64ee7e540f4)
until (8cf8c1c8315a6349224eeb3ecc033d469456025f)

Again, everything in this commit is by Mathias!!
(besides for the commit message which is written by me)

Initial commit.

Whitespace cleanup.

Add installation instructions.

Add update instructions.

Typo.

Add TRACE and OPTIONS aliases.

Add a note about the `.osx` file.

Add `undopush` alias.

Fix a typo in the fix for the ancient UTF-8 bug in QuickLook.

Remove the disturbing ".dmg" Mounting Verification

Add some more goodies to .osx.

Avoid creating .DS_Store files on network volumes.

Enable Safari’s debug menu.

Added "lsd" to list only directories

Tweak README.

Disable Resume system-wide.

Thanks to nspragmatic on Hacker News. http://news.ycombinator.com/item?id=2974911

Enable full keyboard access for all controls (e.g. enable Tab in modal dialogs).

Show a warning and ask for user confirmation before running the
bootstrapper. Fixes #8.

Added enable-spring-load-actions-on-all-items -bool true

Ignore duplicate history entries.

Comment tweak.

Make sure rsync output starts on a new line.

added stuff for ssh tab completion

Better tab completion for SSH hostnames based on ~/.ssh/config.

Add aliases to show/hide hidden files in Finder. Closes #15.

Posix path in finder title, sheet speed, hidden application's icons are transparent

Minor cleanup.

Fix typo.

Add tab completion for `defaults read|write NSGlobalDomain`. Useful when looking for new ~/.osx additions.

Reload dotfiles after updating through the bootstrapper.

Check if ~/.ssh/config exists before grepping it.

Add aliases to hide/show all desktop icons.

Enable AirDrop over Ethernet and on unsupported Macs running OS X Lion.

Added HISTIGNORE to ignore certain commands in history

Show indicator lights for open applications in the Dock, and don’t animate opening applications from the Dock. (These can be set through System Preferences → Dock as well.)

Disable the “Are you sure you want to open this application?” dialog.

Always show scrollbars.

Use `NSGlobalDomain` instead of `-g`.

Require password immediately after sleep or screen saver begins. (Can also be set via System Preferences → Security & Privacy → General.)

Map bottom right Trackpad corner to secondary click (right-click).

Add `emptytrash` alias.

Show all filename extensions in Finder. (Can be set via Finder → Preferences too.)

Thanks for the pointer, @Lri! https://github.com/mathiasbynens/dotfiles/issues/5#issuecomment-2162323

Allow quitting Finder via ⌘ + Q; doing so will also hide desktop icons.

Enable tap to click (Trackpad).

Typo.

Set a blazingly fast keyboard repeat rate.

Show remaining battery time; hide percentage.

Automatically hide and show the Dock.

Only use UTF-8 in Terminal.app.

Empty Trash securely by default.

Disable the warning when changing a file extension.

Disable the warning before emptying the Trash.

Add PlistBuddy alias, because sometimes `defaults` just doesn’t cut it.

Show item info below desktop icons.

Disable the Ping sidebar in iTunes.

Disable Ping entirely.

Use full PlistBuddy path instead of the alias, so `.osx` can be used stand-alone.

Check if `tmutil` is available before using it. (It’s not available on Snow Leopard.)

Only reset Launchpad when it’s actually available. Fixes #24.

The fix for the UTF-8 bug in QuickLook causes problems when saving files in Adobe Illustrator CS5, so comment it out.

Enable subpixel font rendering on non-Apple LCDs

Minor tweaks.

Fix .gitconfig formatting (use tabs instead of spaces).

Typo.

Add `json` function. Example usage: `json http://fronteers.nl/congres/2011/attendees.json`

make it possible for bootstap.sh to be executed from wherever

Undid some silly mistakes and made the script more simplerder

Typo.

Add a more convenient `whois` alias.

Make the `json()` function more generic by allowing any JSON string instead of just JSON URLs.

Add a link to @janmoesen’s tilde repository.

Sexier file sourcing.

Add .vimrc, heavily based on the one @gf3 uses. Fixes #4.

Link to the issue tracker for suggestions.

.vimrc: Make tabs as wide as two spaces.

Looks like `IncludeDebugMenu` was replaced by `IncludeInternalDebugMenu` recently.

Don’t source .bash_profile when PS1 is not set (for non-interactive shells).

Stolen from @janmoesen’s https://github.com/janmoesen/tilde/blob/master/.bashrc:

Use `hd` alias for canonical hex dump. Thanks, @janmoesen!

Steal some `.inputrc` goodies from @janmoesen/tilde.

Steal some nifty aliases from @janmoesen/tilde.

Prefer US English and use UTF-8.

Use double quotes more consistently.

Remove the green checkmark icons in Dropbox.

Clarify Dropbox icon comment.

Add `cleanup` alias, which recursively deletes `.DS_Store` files. Useful for cleaning up external HDDs after copying over some folders.

Make `cleanup` list the files it deletes. Kind of like how `rm -v` works.

.vimrc: add `set wildmenu` for better command-line completion. Thanks, @alrra!

Removing duplicate `set mark-symlinked-directories on` settings.

Add some more commands to `$HISTIGNORE`.

Add a link to cowboy/dotfiles

.vimrc: Centralize backups, swapfiles and undo history

Move disabled QuickLook fix to the bottom

Add `escape` function which escapes UTF-8 characters into their 3-byte format

Example:

    $ escape "♥♡♥"
    \xE2\x99\xA5\xE2\x99\xA1\xE2\x99\xA5
    $ echo -e "\xE2\x99\xA5\xE2\x99\xA1\xE2\x99\xA5"
    ♥♡♥

Add `unidecode` function

Example:

    $ unidecode "\x{1D306}"
    𝌆

Use tabs instead of double-space indents

Allow piping to the `json` function

Make `emptytrash` empty the trash for mounted external volumes too

The downside is that this requires `sudo`. Closes #32.

Create .vim/{backups,swaps,undo} directories if they don’t exist

Allow running bootstrap.sh with a --force or -f option

This avoids the confirmation prompt.

Replace the `server` alias with a function that optionally takes an argument specifying the port number

Inspired by @padolsey’s https://gist.github.com/1525217#gistcomment-71652.

Remove old `server` alias

Ref. 958517dcf4210aefffcafa3cc41f4ebb4edd5e36

`server`: Use parameter expansion instead of a fake ternary

README: Document the -f/--force option for bootstrap.sh

`server` function: Set the default Content-Type to `text/plain` instead of `application/octet-stream`

Hat tip to @cowboy: https://github.com/cowboy/dotfiles/blob/2874a86d207883a18e5e4c01219f9adb42d82c09/bin/serve#L26-43

README: Add Git-less installation instructions

Closes #35.

Use `tar -z` explicitly

Ref. #35.

Serve unknown file types as UTF-8, as suggested by @janmoesen

Include .vim directory and subdirectories

README: List files while untarring

Better `json` function

Ref. 9b0af44766d2a2cc61ae0142ac3ec9f0bed75674

`.osx`: Restart the `SystemUIServer` and suppress `kill` output.

.gitignore: Add more OS-specific hidden files

`server` function: Serve everything as UTF-8

Even though this is not technically correct for binary files, it doesn’t actually break anything.

.osx: Enable iTunes track notifications in the Dock

Screenshot: http://www.maclife.com/article/howtos/5_ways_customize_dock_terminal

README: Clarify that it doesn’t matter where the repository is cloned, and document ~/.extra

README: Tweak the part about ~/.extra

.bash_prompt: Add screenshot URL

.bash_profile: Be sure to source `.bash_prompt` first, in case it sets the PATH and subsequent dotfiles rely on it

.aliases: Use `sudo` to empty local trash as well

nerfing .vimrc's setrelativenumber and undodir options in case of older vim version

.vimrc: Tabs, not spaces

Add `urlencode` alias

Via http://twatlr.com/thread/166830178226540544.

Add .gvimrc and gVim-specific color scheme

.aliases: Make `emptytrash` clear Apple System Logs

This results in a faster shell launch. I just deleted 5.1 MB of logs and my shell startup time went from about 3 seconds to 3 milliseconds (or so it feels).

Shift the '-type f' argument before the '-name' argument in `find` to make it more efficient.

.vimrc: Add some goodies found in @alrra’s dotfiles

.osx: Make ⌘ + F focus the search input in iTunes

Move `undopush` alias to `.gitconfig`, as suggested by @necolas

Also, add some other Git aliases while we’re at it.

.gitconfig: Add comments

.gitconfig: Add `go` and `ca` aliases

.gitattributes: Add a comment explaining what `* text=auto` does

.gitconfig: Add `c` alias which clones a repository including all submodules

.gitconfig: Add `d` alias

.osx: Enable snap-to-grid for desktop icons

Ref. #5

.osx: Tweak some more hidden preferences

Thanks to @Lri! Ref. #5.

.bash_profile: Tweaks

* Append to the Bash history file, rather than overwriting it
* Autocorrect typos in path names when using `cd`

README: Add @necolas and @tejr

.inputrc: Don’t prompt when autocompleting unless there are over 500 possible completions

See http://blog.sanctum.geek.nz/lazier-tab-completion/.

.gitconfig: Use `origin` as the default remote on the `master` branch

Apparently there are cases where this is not the default: http://stackoverflow.com/q/658885/96656

Hat tip to @cowboy.

.osx: Disable the “reopen windows when logging back in” option

.functions: Add `gurl` function for gzip-enabled `curl`

Inspired by @bluesmoon: http://twitter.com/bluesmoon/status/179982379098710017

.wgetrc: Initial commit

Disclaimer: most of these settings have been stolen from @janmoesen’s extremely well-commented .wgetrc.

.screenrc: Initial commit

Inspired by @janmoesen’s .screenrc.

.wgetrc: Remove the `iri` command

It’s enabled by default on builds that support it, and setting in other builds throws an error.

.wgetrc: Remove the `local_encoding` setting for now

Is it possible to conditionally configure a wget setting, only if it’s supported by the current wget build? http://unix.stackexchange.com/q/34730/6040

.functions: Add `dataurl` function

Based on @lri’s http://lri.me/profile.

.brew: Initial commit

Make .brew executable

.functions: Alias `diff` to `git diff` when available

.aliases: Enable sudo with aliases

@janmoesen explains it here: https://github.com/janmoesen/tilde/commit/805e8117fd0fb429055d280509e14be8427c226b

http://www.gnu.org/software/bash/manual/bashref.html#Aliases says: “If the last character of the alias value is a space or tab character, then the next command word following the alias is also checked for alias expansion.”

.aliases: Add `update` alias

Added codepoint function

Added newline after codepoint

.functions: Minor comment tweaks

.osx: Show status bar in Finder

.osx: Copy email addresses as `foo@example.com` instead of `Foo Bar <foo@example.com>` in Mail.app

Thanks to @zmoazeni for the suggestion.

.osx: Fix typo in the Dock spring loading tweak

TextMate is awesome, but it would be nice to have a SublimeText alias, too.

.osx: Remove the auto-hiding Dock delay

.osx: Enable the debug menu in iCal and Address Book

Thanks to @3vincent. See issue #5: https://github.com/mathiasbynens/dotfiles/issues/5#issuecomment-4896967

.exports: Highlight (color-code) section titles in manual pages

Added default to add a spacer to the dock.

.osx: Disable the “add spacer to Dock” commands by default

Added line to add text selection to QuickLook

Created another entry for the ability to select text when viewing a
document in QuickLook

.osx: Minor tweaks

.osx: Group commands by type

.bash_profile: Add tab completion for `killall SystemUIServer`

.osx: Make Trackpad settings more robust

Fixes #48.

.osx: Add hot corners

.osx: Cleanup

.osx: Add “focus follows mouse” commands for Terminal.app and X11 apps

I disabled (commented) these settings by default as I think it’s confusing that “focus follows mouse” works only for some apps. I’d rather have consistent, less confusing behavior across all apps, even if it’s not as useful.

.osx: Prevent Time Machine from prompting to use new hard drives as backup volume

.aliases: More generally useful shortcuts

.aliases: Better organization

.osx: `killall` all affected apps

.bash_profile: Add `killall` tab completion for common apps

.brew: Add `exiv2` and `imagemagick` (disabled by default)

I have some others in my `brew ls` that I’ll probably add soon.

.brew: Disable `exiv2` and `imagemagick` by default

.gitconfig: Make `git ca` remove deleted files, too

remove dupe config from .inputrc (compare lines 7-8)

Fix error thrown when Reseting Launchpad in some conditions

When multiple *.db files existed in ~/Library/Application Support/Dock/ ,
[ -e ~/Library/Application\ Support/Dock/*.db ] would throw an error.

adding screenshot location and file format

.osx: Clean up after commit 5b36bee8676dc8e800f68e3a559e102dcefcae36

Icon size of 48 pixels for dock items

.osx: Set the icon size of Dock items to 36 pixels

Comment out change of "Open windows on startup", OSX 10.7.4 introduces this by default

.osx: Remove the “disable reopen windows when logging back in” command

This behavior was fixed in OS X 10.7.4, and the previous solution was a hack anyway.

Maximum set volume is 7, not 10

See:
http://docs.info.apple.com/article.html?path=AppleScript/2.1/en/as213.ht
ml

.aliases: Make `ips` show IPv6 addresses as well

.gitconfig: Add `credit` alias to quickly change the author of the latest commit

Inspired by @holman’s https://github.com/holman/dotfiles/blob/master/bin/git-credit.

Update .inputrc

.functions: Add `gz` function to get gzipped file size

.gitconfig: Add `tags`, `branches` and `remotes` aliases

.gitconfig: Show the diff when writing a commit message

Thanks to @miketaylr: http://twitter.com/miketaylr/status/209688450868326400

.gitconfig: Tweak `ca` alias

Thanks to @necolas! https://github.com/mathiasbynens/dotfiles/commit/15d4c9583d66be40a497706134b637e8c1f10ae6#commitcomment-1416521

.vimrc: Use the OS clipboard by default

Add .hushlogin

The mere presence of this file in the home directory disables the system
copyright notice, the date and time of the last login, the message of the
day as well as other information that may otherwise appear on login.
See `man login`.

.aliases: Add `....` and `.....`

.aliases: Add `h` (`history`) and `j` (`jobs`)

.bash_profile: Add tab completion for many more commands

.vimrc: Explicitly allow the use of backspace in insert mode

.vimrc: Fix typo in comment

.gitignore: Ignore compiled Python files

.hgignore: Initial commit

.bash_profile: Load `.extra` last, allowing it to override any previous settings

.osx: Set language and text formats

.osx: Disable “natural” (Lion-style) scrolling

.osx: Fix typo

.osx: Enable swipe between pages with three fingers

Ref. #80. Thanks to @Lri for the help.

.osx: Group commands in categories

.osx: Minor formatting tweak

.aliases: Update to `stat` v8.17 (GNU coreutils)

.osx: Enable the debug menu in Disk Utility

.osx: Disable automatic termination of inactive apps

.osx: Speed up Mission Control animations

Note that I don’t completely disable the animation, as that results in a very unpleasant effect.

.brew: Install a recent version of `grep`

.brew: Install GNU core utilities (those that come with OS X are outdated)

.osx: Explicitly enable swipe between pages

Ref #80.

README: Mention `.brew`

Ref. #83.

.osx: Make iTunes arrows go to your library by default (rather than the iTunes Store)

.osx: Disable the iTunes arrow links completely

Enable some Bash 4 features when possible:

- `autocd`
- Recursive globbing

Remove the feature tests for Bash 4 features and just fail silently

Hat tip: @svnpenn.

.bash_prompt: Tweak `$PS2`

.osx: Show hidden files by default in Finder

I’ve had the `show` and `hide` aliases for ages, but since I use `show` as
the default setting, it makes sense to include it in `.osx` as well.

.vimrc: Respect modeline by default

.vimrc: Enable per-directory `.vimrc` files

Ref. #86. Thanks to @necolas for the suggestion.

.osx: Increase sound quality for Bluetooth headphones/headsets

This has the same effect as setting Bluetooth Explorer → Utilities →
Special Options → Minimum bitpool to `40`. See
http://scott.dier.name/2009/10/osx-snow-leopard-a2dp.html.

.brew: Install PHP 5.4

.aliases: Support colorized output for `ls` 8.17 only (GNU coreutils)

.aliases: Detect which `ls` flavor is in use and use the appropriate flag for colorized output

Thanks to @divya for making me do this ;)

.aliases: Optimize the way we detect the `ls` flavor

Follow-up to 4169a34df1783b6b0727a527b867cefecaa069b5. Thanks to @janmoesen!

.aliases: Optimize the `ls` flavor detection even further

Ref. #89.

.osx: Hide the useless Time Machine and Volume icons

Fun fact — this is what the OS X Mountain Lion menu bar looks like
with all the menu extras (/System/Library/CoreServices/Menu Extras)
enabled: http://i.imgur.com/DHTuw.png

.osx: Comment out the line that enables the 2D Dock

I’ll try out the new frost glass Mountain Lion Dock for a while.

.osx: Add Twitter.app settings

.aliases: Make `update` update `npm` and its installed packages as well

.bash_profile: Source `~/.extra` before the other dotfiles

This is needed in case `$PATH` is expanded in `~/.extra`.

.osx: Show icons for hard drives, servers, and removable media on the desktop

.osx: Add more Finder settings for icons on the desktop and in icon views

.osx: Set computer name

.osx: Don’t show Dashboard as a Space

.osx: Group windows by application in Mission Control

.osx: Hide Safari’s bookmarks bar by default

.functions: Attempt to make `server` open the browser *after* the server has started

.osx: Use the Pro theme by default in Terminal.app

.osx: Enable the Develop Menu and the Web Inspector in Safari

.osx: Add commented out command to disable smooth scrolling

This is only really useful on older Macs that mess up the animation.

.brew: Install GNU Find Utilities, `g`-prefixed

Thanks to @jacobj and @olov for the suggestion.

.aliases: Add `lscleanup` alias that cleans up LaunchServices

This removes duplicates in the “Open With” menu.

.osx: Enable HiDPI display modes without using Quartz Debug

.aliases: Add `ios` alias to launch iOS Simulator

.functions: Add `unquarantine` which force-removes a downloaded app or file from the quarantine

Thanks to @jasomill on Hacker News: http://news.ycombinator.com/item?id=4307379.

.brew: Fix typo

Thanks to @oschrenk for the heads up on https://github.com/mathiasbynens/dotfiles/commit/8a79072feb638ab964f4ba6385551be4e7ae3edf#commitcomment-164452.

.osx: Use a modified version of the Pro theme in Terminal.app

.osx: Allow hitting the Backspace key to go to the previous page in Safari’s history

.brew: Remove outdated versions from the cellar

.osx: Don’t group windows by application in Mission Control

This makes it use the old Exposé behavior instead.

.aliases: Add `mergepdf` alias that concatenates PDF files

Credit goes to Fritz Stelluto: http://blog.gotofritz.net/howto/joining-pdf-files-in-os-x-from-the-command-line/.

.functions: Add `note` and `remind`

`note` quickly adds a note to Notes.app, and `remind` adds a reminder to — you guessed it — Reminders.app. Both applications are available on OS X 10.8.

Note that in order for `note` to work, iCloud sync must be enabled for Notes.app.

.osx: Explain how to use the ⌘ + F iTunes hack with other system languages

Thanks to @renaudleo for this discovery.

.aliases: Make `fs` work with both GNU `stat` and OS X `stat`

.osx: Add the keyboard shortcut ⌘ + Enter to send an email in Mail.app

.osx: Reveal IP address, hostname, OS version, etc. when clicking the clock in the login window

.osx: Ask for the administrator password upfront

Use @cowboy’s `sudo` keep-alive snippet (https://gist.github.com/3118588)
to continuously update the existing `sudo` time stamp until `.osx` has
finished running.

.osx: Kill the affected applications by their new OS X 10.8 names as well

E.g. by killing both iCal and Calendar we support pre-OS X 10.8 and OS X 10.8 itself.

.osx: Add a note about the iTunes track notifications in OS X 10.8

.functions: Rename `md` to `mkd` now that OS X 10.8 has an utility named `md`

.osx: Remove the iTunes track notifications tweak

It crashes the Dock in OS X 10.7.4 and doesn’t work in OS X 10.8 anyway.

Ref. https://github.com/mathiasbynens/dotfiles/commit/45c1bced7371b93a49f884bc6fe868571fe94402#commitcomment-1671603.

.osx: Add a note saying that the iCal debug menu tweak doesn’t work in OS X 10.8

Ref. #113.

.osx: Update some iTunes tweaks to work with iTunes 10.6.3

Ref. #114. Thanks to @mourawaldson for the heads-up!

.aliases: Use `command -v` instead of `type -t`

`type -t` is not as portable (i.e., not in POSIX) as `command -v`, and `command -v` also takes aliases and functions into account.

Ref. #109.

.bash_profile: Source `~/.path` before and `~/.extra` after all the other dotfiles

.bash_profile: Fix typo

Only source `~/.extra` once.

.functions: Make `dataurl` more generic

.functions: Add `phpserver`

Ref. #116.

.bash_profile: Update `killall` Tab completion for OS X 10.8

README: Add example `~/.path` file

.osx: Use list view in all Finder windows by default

http://superuser.com/questions/320955/forcing-lion-finder-to-open-in-list-view#comment345957_320955

bin: Add `subl` symbolic link

.bash_profile: Add `~/bin` to the `$PATH`

Just like before, the `$PATH` can still safely be extended by adding `~/.path`.

.exports: Append `ls` with an argument to the `$HISTFILE`

.osx: Set NetBIOS name

.osx: Set the timezone

.osx: Enable advanced image options in Disk Utility’s debug menu

.osx: When performing a search, search the current folder by default in Finder

.osx: Enable access for assistive devices

.osx: Enable scroll to zoom

.osx: Add energy saver settings

.osx: Automatically illuminate built-in MacBook keyboard in low light

.brew: Install Bash 4

.osx: Drop the energy saver preferences

bin: Update Bash symlink

.osx: Disable the Genius sidebar in iTunes

.osx: Disable radio stations in iTunes

.osx: Set Safari’s home page to `about:blank`

.osx: Add energy saver preferences

README: Credit Chris Gerke (@cgerke)

.osx: Automatically quit printer app once the print jobs complete

.osx: Disable the crash reporter (commented)

.osx: Set Help Viewer windows to non-floating mode

.osx: Add TextEdit settings

.osx: Add Transmission.app settings

.osx: Add SizeUp.app preferences

README: Credit @ptb

.osx: Use `sudo` to set the NetBIOS name

.osx: Hide `systemsetup` output when setting the timezone

.osx: Improve categorization

.osx: Save to disk (not to iCloud) by default

README: Credit Lauri

.osx: Tweak formatting

.aliases: Add `badge`

This rings the terminal bell, and — when using Terminal.app — puts a badge on its Dock icon. Screenshot: http://i.imgur.com/OtYdu.png

.osx: Prevent Safari from opening ‘safe’ files automatically after downloading

Ref. #123.

.functions: Optimize `dataurl`

Thanks to @lri: https://github.com/fin1te/dotfiles/commit/b8ce15ee91bc8658c27599347c376c30c6bfa1e1#commitcomment-1749202

.functions: Add `fs`

…and remove the `fs` alias from `.aliases`.

Ref. #125.

README: Link to @matijs/dotfiles instead of @matijs/homedir

.aliases: Make `flush` kill `mDNSResponder` as well

Ref. #126 and http://support.apple.com/kb/HT5343.

.osx: Add iPhone Simulator.app to Launchpad

.aliases: Remove `ios`

.gitconfig: Add `reb` alias

Stolen from https://github.com/porada/dotfiles/commit/05162b585b2e9cd6a92f12e1c61e1f5687104a17.

.aliases: Add `gurl` for Gzip-enabled `curl`

Ref. 1b3ed7a646de7a652f0596985af976a438e32aca.

.osx: Check for software updates daily

.osx: Enable the WebKit Developer Tools in the Mac App Store

More info here: http://osxdaily.com/2011/09/07/enable-element-inspector-mac-app-store/

Ref. #129.

.functions: Tweak `fs`

.gitconfig: Tweak `diff` aliases

.gitconfig: Explain `diff`-related aliases

.osx: Correct symlink for iOS Simulator

Ref. #135.

.osx: Restart Dashboard

.aliases: Add `dt`

.osx: Consistency tweaks

.aliases: Alias `sha1sum` if needed

Ref. #141.

.aliases: Add `dl`

Ref. #142.

.aliases: Make `update` update Ruby gems as well

.osx: Allow installing user scripts via GitHub or gists

.osx: Allow installing user scripts via Userscripts.org

.aliases: Make `update` run `brew cleanup`

Thanks to @patrickkettner for the suggestion on Twitter:
http://twitter.com/patrickkettner/statuses/254387082791903232

.osx: Add Mac App Store section

- Move existing command to new section
- Add debug menu command

Ref. #150.

README: Recommend sourcing the bootstrapper

Thanks to @svnpenn and @nvartolomei in https://github.com/mathiasbynens/dotfiles/commit/a77f4872f26d681a35cface9d6bcb4ad55fec752#commitcomment-2100022, and thanks to @janmoesen for the BASH_SOURCE pointer.

.osx: Add command to remove all Dock icons

.bash_prompt: Use `tput setaf 0` for white

Using `tput setaf 0` instead of `tput setaf 256` makes sure that `WHITE` is white instead of the previous color.

Thanks to @rudolph9 for reporting this in #153.

bin: Update to Bash 4.2.39

.gitconfig: Set `push.default = simple`

This will be the default in Git v2.

.bash_prompt: Fix `parse_git_dirty` for Git v1.8.0+

Git 1.8.0+ says “nothing to commit (working directory clean)”.
Older Git versions return “nothing to commit (working directory clean)”.

Thanks to @nicolahery in #143 for the suggestion.

.aliases: Add `map`

Ref. #157.

.functions: Make `gz` more awesome

.aliases: Lowercase `com.apple.finder`

Hat tip: @alrra.

.osx: Show item info to the right of the icons on the desktop

.functions: Add `calc`

.bash_profile: Move the `LANG` & `LC_ALL` exports into `.exports`

.osx: Remove the iTunes Ping settings

Apple officially closed the iTunes Ping service on September 30th, 2012 (http://i.imgur.com/U7bHo.jpg).

.osx: Document the various values for Hot Corners settings

.osx: Clarify that the iTunes settings are for pre-iTunes 11 only

README: Update Lauri Ranta’s hidden preferences URL

The previous URL now 404s.

bin: Update to Bash 4.2.42

.osx: Fix typo

Ref. #183.

.functions: Add `getcertnames`

This function shows all the names (CNs and SANs) listed in the SSL certificate for a given domain.

As always, improvements and other feedback is welcome!

.functions: Improve `getcertnames`

Follow-up to 12bb9dac8ee7f4bcdf3e74fcbc0455a04be0211f.

Many thanks to @dserodio!

.osx: Tweak language settings comment

Fixes #189.

.osx: Show the path bar in Finder

.osx: Add Notification Center value for hot corners

Ref. #187.

.bash_profile: Support hostname aliases defined in `~/.ssh/config`

`~/.ssh/config` allows for the usage of hostname aliases, formatted as follows:

    Host first_alias second_alias third_alias
    HostName foo.example.com

This change makes sure these aliases are parsed out individually and added to the autocomplete list.

Ref. #178.

.osx: Disable Notification Center

This also removes the annoying menu bar icon.

Ref. #168.

Use newlines at EOF consistently

.osx: Enable the MacBook Air SuperDrive on any Mac

Ref. #146.

.osx: Disable Dashboard

Ref. #136.

.osx: Configure spring loading for directories

Ref. #133.

.osx: Set highlight color to orange

.osx: Set sidebar icon size to medium

.osx: Fix typo

.brew: Install Lua 5.2

I need this specific version to test the new `GotoStatement`s in Lua during http://mths.be/luamin development.

.gitconfig: Remove the destructive `undopush` alias

.osx: Set standby delay to 24 hours

Hat tip: http://www.ewal.net/2012/09/09/slow-wake-for-macbook-pro-retina/

.bash_profile: Autocomplete Grunt commands

Ref. https://github.com/gruntjs/grunt-cli#shell-tab-auto-completion

.functions: Print trailing newlines when not piping the output

Add .curlrc

Closes #152.

.aliases: Add `week`

Thanks to @sindresorhus: https://twitter.com/sindresorhus/status/312206490880589824

.functions: Add `cdf`

`cdf` changes the working directory to the top-most Finder window location. Thanks to @sindresorhus and @paulirish!

.exports: Always enable colored `grep` output

bootstrap.sh: Pull from the master branch explicitly

.osx: Add possible values for AppleShowScrollBars

Ref. #170.

Update shebangs

If the user installs a custom Bash build, why not use it?

Ref. #196 and #198.

README: Add author field

.functions: Add `targz`

`targz some-directory` creates `some-directory.tar.gz`, where compression is handled by either `zopfli` (if available) or `gzip`.

.functions: Avoid `rm` error message in `targz` when `gzip` is used

.functions: Improve `targz`

* Only use `zopfli` when it’s available and if the `.tar` file is smaller than 50 MB.
* Use `pigz` instead of `gzip` when it’s available.
* Always exclude `.DS_Store` files when creating a tarball.

Closes #199.

bootstrap.sh: Don’t make the home directory world-readable

Fixes #159.

.brew: Install native apps through homebrew-cask

Closes #200.

.brew: Add some more applications

.osx: Update filename for Dropbox’s green checkmark icon

README: Update contributors list

Add @sindresorhus and @alrra because of their many contributions. Sort the list alphabetically.

README: Fix minor typo

.functions: Tweak `targz`

Trim the trailing slash from the path argument passed to `targz`.

This fixes the annoying behavior where `targz foo/` created `foo/.tar.gz` instead of `foo.tar.gz`.

Ref. #202.

.gitconfig: Use `push.default = matching`

I couldn’t get used to `simple`.

.functions: Add `gi`

This is an easy way to install Grunt plugins and add them as `devDependencies` to `package.json`.
Example:

    gi contrib-watch contrib-uglify zopfli

Closes #191.

.functions: Improve `note`

Give the Notes.app function the ability to add both `title` and `body`.

Closes #203.

.functions: Improve `httpcompression` and move it to its own file

Closes #162.

Dual license these dotfiles under MIT/GPL

As requested by @lathan. Closes #205.

.osx: Fix `ShowPathBar` typo

Closes #204.

.bash_profile: Try to grunt more quietly

Ref. #209.

.functions: Add `gitio`

Closes #210.

.osx: Don’t automatically rearrange Spaces

Closes #213.

.gitconfig: Tweak `l` alias

Update to Bash v4.2.45

.osx: Update the GitHub fork link

Closes #221.

Remove GPL license

The MIT license is GPL-compatible anyway, as per @sindresorhus. Ref. https://github.com/mathiasbynens/dotfiles/commit/a89e2f2d226de274c998b0b8de5fd4af2e0b444f#commitcomment-3485954.

bootstrap.sh: Avoid `source` if there are no changes

Closes #220.

.aliases: Make Grunt print stack traces by default

README: Tweak Git-free install command

bin: Update `subl` symlink to `Sublime Text 3.app`

.osx: Add Spotlight settings

Closes #91 and #174.

.bash_profile: Remove ‘autocomplete Grunt commands’

Closes #224.

.brew: Install PHP 5.5

.gitattributes: Disable normalizing line endings globally

Instead of removing `~/.gitattributes` completely, I decided to just comment out the `* text=auto` line. This makes it easier to temporarily re-enable the setting should I ever want to.

Closes #149.

.curlrc: Disguise as IE 9 on Windows 7

This matches the `.wgetrc` settings.

.aliases: Add `timer`

`timer` can be used as a stopwatch.

Hat tip: https://twitter.com/tow8ie/status/360077953238962176

.gitconfig: Improve display of astral Unicode symbols in diffs

Thanks to @holman for the tip: https://speakerdeck.com/holman/more-git-and-github-secrets?slide=38

.osx: Add GPGMail 2 settings

http://support.gpgtools.org/kb/faq-gpgmail/gpgmail-2-hidden-settings

.osx: Disable the sound effects on boot

.aliases: Add `-F` to `ls` aliases

Don’t do this for the default `ls`, though.

Closes #234.

bin: Point `subl` to the default ST3 location

Sublime Text 3 does not use the `/Application/Sublime Text 3.app` folder by default. It uses `/Application/Sublime Text.app`.

Closes #232.

.gitconfig: Remove global remote branch

This causes duplicate remotes to be created, potentially leading Git to throw errors when `push`ing.

Closes #215.

.aliases: Add `chromekill` to kill all Chrome tabs to free up memory

Useful when you have a lot of tabs open (which I always do), but you don’t want to close them.

Tabs in Chrome are just processes, so we just filter out the ones we want, and kill them.

Closes #236.

.osx: `~/.CFUserTextEncoding` can break several Adobe apps

Ref. #237.

.gitconfig: Add comment about `color.ui` in Git ≥ 1.8.4

Ref. #239.

.gitconfig: Add note about whitespace defaults

Closes #256.

.functions: Add `m` to open stuff in TextMate

Closes #253.

.functions: Add `s` to open stuff in Sublime Text

Closes #252.

.functions: Add `v` to open stuff in Vim

Closes #251.

.bash_profile: Make sure only files get sourced

Closes #250.

.functions: Add `o` to `open` stuff

Closes #245.

Add `np` function to ease publishing node modules

I use this to ease the publishing of npm modules. `np`, done ;)

np = npm publish (and, `no problem`, (and `nutella party`))

Closes #261.

.osx: Remove “Enable access for assistive devices”

This feature doesn’t work anymore in OS X 10.9 Mavericks. The setting has moved to System Preferences → Security & Privacy → Accessibility, where you now have to check every app you want to allow access rather than enabling it globally.

Closes #262.

.osx: Use plain text smileys in Messages

Messages in OS X 10.9 Mavericks automatically substitutes e.g. `:)` with `😊`, with no way to disable this feature through the app’s preferences pane.

After analyzing the `defaults read` output it turns out there is a hidden preference for it.

.osx: Consistently specify the type for `dict-add` actions

.functions: Add `tre` shorthand

Closes #249.

.osx: Disable smart quotes in Messages.app

.osx: Disable continuous spell checking in Messages.app

.brew: Move casks to their own file

.osx: Add threaded email display settings for Mail.app

.osx: Remove old iTunes commands

They only applied to iTunes 10 and older anyway.

.osx: Make coding style more consistent

.osx: Disable inline attachments in Mail

Thanks to Christophe Platteeuw via Twitter: https://twitter.com/cplatteeuw/status/393465401310318592

.osx: Disable automatic spell checking in Mail.app

.osx: Stop iTunes from responding to the keyboard media keys

Commented out, as I actually use these keys.

Closes #265.

.osx: Suppress error messages when running `~/.osx` twice

Closes #266.

.aliases: Improve `ips`

Ref. #268 and #269.

Make `.cask` executable

.osx: Minimize windows into their application’s icon

Closes #271.

init: Add iTerm colors

Closes #274.

init: Install Sublime Text settings

Closes #275.

.osx: Rename computer name

.aliases: Lowercase `projects` dir

.osx: Don’t prompt when quitting iTerm

README: Update link to Lauri Ranta’s resources

.osx: Add SSD-specific tweaks

Source: http://forums.macrumors.com/showthread.php?t=1505922

.osx: Remove broken three-finger swipe commands

If anyone knows how to make this work, please let me or @necolas know!

Ref. #171.

.osx: Don’t `kill` Dashboard

`killall Dashboard` doesn’t actually do anything. To apply the changes for Dashboard, `killall Dock` is enough as Dock is Dashboard’s parent process.

Closes #277.

.aliases: Add `afk` to lock the screen

Closes #258.

README: Document the `.cask` file

Closes #280.

.osx: Disable smart quotes and dashes

.aliases: Add `reload`

`reload` invokes the shell as a login shell, which essentially reloads it.

Closes #247.

.aliases: Update RubyGems before updating installed gems

Closes #282.

.aliases: Add `npme`

`npme` is like `npm` except it uses a registry located in Europe, causing it to be much faster for Europeans. See <http://npmjs.eu/> for more information.

Closes #284.

Use `Brewfile` now that Homebrew supports it

https://github.com/mxcl/homebrew/blob/master/Library/Contributions/cmd/brew-bundle.rb
https://coderwall.com/p/afmnbq

.gitconfig: Make `git rebase` safer on OS X

See <http://www.git-tower.com/blog/make-git-rebase-safe-on-osx/>.

Closes #291.

.aliases: Improve `lsd`

Ref. #292.

README: Use `Brewfile` instead of `.brew`

Closes #294.

.osx: Hide Safari’s sidebar in Top Sites by default

Closes #296.

.gitconfig: Add aliases to find branches/tags/commits

Closes #304.

bin: Make `httpcompression` prevent caching

In some cases, intermediate proxies ignore the `Content-Encoding` header
altogether.

Sending `Cache-Control no-cache` as a request header solves this problem
by forcing validation of the resources in the intermediate proxies,
thereby, ensuring that every request is fetched from the origin server.

Ref. alrra/dotfiles#2. Closes #308.

init: Fix typo in Sublime Text settings

.osx: Hide some menu bar icons in OS X 10.9 Mavericks

Kudos to @kevinSuttle for finding the appropriate `plist` file!
https://github.com/mathiasbynens/dotfiles/issues/305#issuecomment-30102827

Ref. #305.

.osx: Delete some old commands that no longer work

These commands only work on outdated versions of OS X.

Ref. #305.

.gitconfig: Add `dm` alias

`git dm` deletes local branches that have been merged with master.

Closes #309.

init: Tweak Sublime Text settings

.osx: Add Activity Monitor settings

.osx: Add Finder ‘Get Info’ settings

.osx: Display Bluetooth icon in menu bar

README: Credit @kevinSuttle

.osx: Set Desktop as the default location for new Finder windows

Closes #285.

.aliases: Add `jsc` alias

Useful for testing code in JavaScriptCore.

Hat tip: https://twitter.com/RussB/status/420409644117262336 (via @rauschma)

.functions: Make `np` remove `node_modules`

This lets you catch cases where you forgot to add a dependency to `package.json`.

Closes #321.

.osx: Support multiple `systemuiserver` pref files

Closes #319.

Brewfile: Install `p7zip` (i.e. `7z` etc.)

.osx: Kill `cfprefsd` after changing preferences

As of OS X 10.9 this is necessary to make sure the changes persist.

Closes #330.

Brewfile: Install ImageMagick with WebP support

.vimrc: Explicitly use the Molokai theme

Brewfile: install `moreutils`, if only for `sponge`

Hat tip: @chastell / http://talks.chastell.net/kodio-2014/#/21

Brewfile: install `pv` (pipe viewer)

Hat tip: @chastell / http://talks.chastell.net/kodio-2014/#/39

.osx: Make Dock more transparent

Closes #346.

Brewfile: explicitly list non-default taps

.functions: Add `a` alias for `atom`

Closes #349.

.osx: Remove old keyboard illumination settings

These commands don’t have any effect anymore in OS X 10.9.

Closes #327.

.gitconfig: Explicitly disable `indent-with-non-tab`

Don’t use `indent-with-non-tab`. This config flag is PERNICIOUS. If turned on, Git won’t tell you that you indented your code incorrectly. Instead, when it is pushing your changes to your remote repo, Git will silently convert any consecutive 8-space strings it sees into tab characters. This can be highly undesirable, especially if you collaborate with a team that expects the code to be indented using spaces instead of tabs.

At the very least, the comment above this line should very clearly explain the fact that `indent-with-non-tab` does more than advertised in the `git-config man page (https://www.kernel.org/pub/software/scm/git/docs/git-config.html).

Closes #351.

.osx: Add missing value

In order to properly overwrite the `key` of a `domain`, `defaults` needs to be provided with a valid `value` for the `key`:

    `defaults write <domain> <key> <value>`

Closes #350.

.cask: Add Opera, Opera Developer and Opera Next

Closes #348.

.osx: Allow installing Chrome user scripts via GitHub Gist or Userscripts.org

.osx: Change minimize/maximize window effect

By default, OS X Mavericks uses the annoying `genie` effect whenever windows are minimized/maximized. This commit changes that preference and makes OS X use the more tolerable `scale` effect.

Closes #355. Ref. #270.

.osx: Remove “disable opening and closing window animations”

Sadly, this doesn’t work anymore in OS X 10.9.

Closes #270.

.osx: Comment computer name settings

It’s good to have these commands here as a reference, but it’s annoying when running `.osx` on multiple computers in the same network.

.exports: Explicitly use UTF-8 even for `LANG`

.osx: Add ExpandedStateFor* variants for OS X 10.9

Closes #361.

.aliases: Use `en0` for `localip`

.osx: Update iOS Simulator symlink

Install casks via Caskfile

`brew bundle` can now be used for casks as well.

Closes #365.

Brewfile: Install GNU `sed`

Brewfile: Install some more useful tools

.functions: Make `gi` accept any number of arguments

Closes #367.

Brewfile: Install `xpdf`, if only for `pdfinfo`

.osx: Don’t reset the desktop wallpaper when resetting Launchpad

Files like `530142A0-6AEC-4921-A3A7-7C2B72FFF6E3.db` and `desktoppicture.db` exist in `~/Library/Application\ Support/Dock`, so let’s add a `-` with a wildcard `*` to both sides to ensure we don’t delete `desktoppicture.db` and reset the desktop wallpaper.

Closes #370.

Brewfile: Install `ucspi-tcp`, if only for `tcpserver`

Brewfile: Install PHP 5.5 with GMP support

.osx: Don’t show hidden files by default

Most of the time I don’t need it, and when I do, I can temporarily enable it using the `show` alias, and revert it using the `hide` alias.

Brewfile: Fix PHP 5.5 installation

Thanks to @interputed for the heads up: https://github.com/mathiasbynens/dotfiles/commit/a76db30d6529e41138009fe3dc67f21ba782496e#commitcomment-6200104

Caskfile: Move `phinze/cask` to `caskroom/cask`

Homebrew Cask has been moved to https://github.com/caskroom/homebrew-cask.

Closes #375.

.gitconfig: Make sure `go` never overrides branches

Closes #357. Thanks to @yukideluxe!

Brewfile: Install `hashpump`

.bash_prompt: Speed up the Git commands for the prompt

Fixes #227 and closes #380.

.bash_profile: Enable tab completion for `git` and `g`

Closes #197.

Brewfile: add instructions on how to change the default shell to Bash 4

Brewfile: Install Node with npm

Ref. https://github.com/Homebrew/homebrew/pull/28075. Closes #362.

bootstrap.sh: Make `rsync` output numbers in a human-readable format

Closes #383.

Brewfile: Install BFG Repo-Cleaner

.curlrc: Set connection timeout to 60 seconds

This matches the setting in `.wgetrc`.

Remove some things that I don’t use

This commit drops some aliases, functions, and settings from the project that I wasn’t using at all. It also cleans up some of the remaining code.

Caskfile: Update Tor formula name

Closes #388.

.gitconfig: Improve configuration

Closes #366.

.osx: Add (commented-out) instructions on how to set the wallpaper

Closes #356.

.osx: Only install custom Terminal profile once

Closes #336 and #337.

.screenrc: Add some more settings

Closes #334.

.osx: Disable the Launchpad gesture

Closes #316.

Brewfile: Install a more recent version of `screen`

Closes #295.

.bash_profile: Enable Bash completion if `/etc/bash_completion` exists too

This is useful on Linux.

Ref. #278.

Update Bash prompt to match the Solarized theme

Screenshot: http://i.imgur.com/EkEtphC.png

Enable Solarized Dark theme in Vim

.gitconfig: Remove `push.default`

This was causing issues on servers that don’t have an up-to-date Git installation. As a workaround, I decided to remove this from `.gitconfig` and add this to `~/.extra` for my laptop only:

    git config --global push.default simple

.gitconfig: Tweak `diff` colors

init: Use the Solarized Dark theme in Sublime Text

.gitconfig: Add default Git `push.default` config

Use the backwards-compatible `matching` setting by default. On machines with newer Git installations, it avoids the annoying Git warning, and it can be overriden to use `simple` instead in `~/.extra`.

Closes #400.

Add `.editorconfig`

See <http://editorconfig.org/>.

.bash_prompt: Avoid double-escaping ANSI codes

Fixes #399 and closes #402.

.bash_prompt: Add back escape sequences

Fixes #403.

.bash_prompt: Interpret escape sequences correctly in all cases

Closes #407.

.vimrc: Avoid creating backups when editing files in `/tmp`

See http://vim.wikia.com/wiki/Editing_crontab.

.aliases: Remove the now-broken `whois` alias

Closes #397.

.osx: Use `sudo` for `systemsetup`

Closes #415.

.osx: Disable the all-too-sensitive backswipe on Chrome

Closes #416.

Update URLs

.vimrc: Treat `.md` files as Markdown

`filetype` is set implicitly, without using setfiletype, because `*.md` is already associated with Modula-2 files and `setfiletype` doesn’t allow `filetype` to be set twice.

`setlocal` is used to apply a new `filetype` value for each Markdown file as it is being added to the buffer.

Fixes #418. Closes #419.

.functions: Add SNI support in `getcertnames`

Update URLs

.functions: Improve `getcertnames`

.gitconfig: Add alias to merge GitHub pull request

Ref. https://help.github.com/articles/checking-out-pull-requests-locally

Closes #422.

Brewfile: add some CTF tools

See https://github.com/ctfs/write-ups for more info.

Brewfile: add binutils and cifer

.osx: Disable transparency in the menu bar and elsewhere on Yosemite

.osx: Remove a few commands that no longer have any effect in Yosemite

Closes #436.

.osx: Use the system-native print preview dialog in Chrome

Closes #434.

.aliases: Update `npm` the right way

`npm install npm -g` is the new recommended way to update npm as specified in the npm-faq at https://github.com/npm/npm/blob/master/doc/misc/npm-faq.md.

Closes #423.

.osx: Don’t send Safari search queries to Apple

.osx: Make Yosemite Safari more useful

Use `brew.sh` instead of `Brewfile`

Also, remove `Caskfile` since I didn’t use it.

Closes #428.

.bash_profile: Support multiple hosts in SSH completion

Useful in cases such as:

```

Host vm1 vm2 vm3 vm4
     Host localhost
     # ...
```

Simply adding a `-` to `tr` fixes this.

Closes #437.

.vimrc: Enable `g:solarized_termtrans`

It improves the display in OS X Terminal.app.

http://ethanschoonover.com/solarized/vim-colors-solarized

Ref. #425.

brew.sh: Use `--with-iri` for `wget`

The older `--enable-iri` flag is deprecated.

Closes #445.

.exports: Remove `export HOMEBREW_CASK_OPTS`

It’s not needed anymore now that the `Caskfile` has been removed.

Closes #446.

.aliases: Remove npmjs.eu reference

See the deprecation notice: http://npmjs.eu/

Closes #448.

.functions: Make `mkd` `cd` into the last directory in the list

…rather than the first.

Closes #447 and #450.

brew.sh: Install Lua the new way

Closes #453.

.osx: Update `iOS Simulator.app` path

The iOS Simulator app has been moved.

Closes #452.

brew.sh: Update `gnu-sed` option

Closes #454.

.osx: Disable Spotlight suggestions from Safari

Safari has a “Spotlight Suggestions” setting that, if left enabled, will send a copy of all search queries to Apple.

Closes #455.

.osx: Add Yosemite’s search results for Spotlight

Yosemite introduces new Spotlight search results, and if you don’t add it to `defaults write com.apple.spotlight orderedItems` it will be removed from the System Preferences → Spotlight → Search Results` list with no way to re-enable them through the System Preferences panel.

Closes #456.

Add .gdbinit

.osx: Fix comment for menu bar items

Closes #459.

.osx: Use `-array` instead of `-array ""`

Ref. #350.

.osx: Remove “increase window resize speed”

Sadly, this doesn’t work anymore in OS X 10.10.

README: Tweak `~/.path` example

brew.sh: Install speedtest_cli

Hat tip: @bramus – https://www.bram.us/2014/12/17/speedtest-cli/

.osx: Kill apps with `-HUP` to make sure they restart

Note that a full system restart is needed after running `.osx` anyhow, but this small change improves the situation for those who don’t do that.

Closes #469.

.osx: Revert to plain `killall` without `-HUP`

This reverts commit 07cd2632f56be58a5c1ba41a830e537e34f24e5f.

Ref. #469.

.gitconfig: Prevent showing files whose names contain non-ASCII symbols as unversioned

http://michael-kuehnel.de/git/2014/11/21/git-mac-osx-and-german-umlaute.html

Closes #460.

brew.sh: Fix copy-paste typo

Closes #472.

.osx: Add back the “increase window resize speed” hack

It didn’t work in OS X 10.10 anymore, but it seems OS X 10.10.1 does support it.

Ref. 4471e2732faede1d9b242cb547de8005578b3d10.

.curlrc: Remove `max-time`

Don’t globally timeout cURL operations without knowing the size of the files being downloaded. Hat tip: @necolas.

.exports: Set `HISTCONTROL`

Omit duplicates and commands that begin with a space from history.

.curlrc: Add back `connect-timeout`

This was removed by mistake in 216a63328e9df1479c0f4790444afaccd16c80e5. Thanks to @alrra for spotting it!

brew.sh: Install `openssh`

This includes a more up-to-date `ssh` binary.

brew.sh: Install font tools

Thanks to @bramstein for creating these formulae!
https://twitter.com/bram_stein/status/556357864038883328

bin: Point Bash symlink to `/usr/local/opt/bash/bin/bash`

This is a link to whatever happens to be both in-the-cellar and linked.

Ref. https://github.com/mathiasbynens/dotfiles/issues/479#issuecomment-71276285. Fixes #479.

.gitconfig: Add `retag`

bin: Update and improve `httpcompression`

Simplify and improve the `httpcompression` script while also modifying it so that it accepts multiple URLs and checks if `cURL` is installed.

Closes #491.

.osx: Fix code that sets the custom terminal theme

Fix the `.osx` script so that it correctly sets the custom terminal theme, and the change will be persistent.

Closes #492.

Install io.js & add aliases to switch to io/node

* Install `io.js`.
  https://iojs.org/en/index.html

* Add aliases to easily switch between `io.js` and `Node.js`.
  https://gist.github.com/phelma/ce4eeeedb8fb9a9e8e63

README: Fix @alrra’s name

Closes #495.

.osx: Add Spectacle.app settings

Fixes #507.

.osx: Disable swipe navigation in Chrome for mouse users

Closes #508.

brew.sh: Add `ssh-copy-id`

`ssh-copy-id` allows one to easily set up passwordless SSH connections on a new machine. It does this by copying over your pubic key and setting the correct permissions.

It becomes as simple as `ssh-copy-id user@hostname.example.com`. Probably safer than using manual or scripted methods.

Ref. http://askubuntu.com/a/4833/42234.

Closes #510.

.aliases: Remove `use-iojs` and `use-node` in favor of nvm

https://github.com/creationix/nvm

brew.sh: Add aircrack-ng

.gvimrc: Don’t blink cursor in normal mode

Closes #43 and #473.

.osx: Expand print dialog in Chrome & Opera by default

https://github.com/mathiasbynens/dotfiles/pull/434#issuecomment-59643432

brew.sh: Install git-lfs

https://git-lfs.github.com/

brew.sh: Use bash-completion2 for improved Bash 4 completion

Hat tip: @elyscape in https://github.com/mathiasbynens/dotfiles/commit/91be10dcee350465566a48cbe303686d2d989d6d#commitcomment-10654929.

.osx: Update Spectacle.app keyboard shortcuts

brew.sh: Install netpbm

Add `--all` to `brew upgrade`

Homebrew recently started to hint that everyone should update their workflows for `brew upgrade`:

> brew upgrade with no arguments will change behaviour soon! It currently upgrades all formula but this will soon change to require `--all`. Please update any workflows, documentation and scripts!

https://github.com/Homebrew/homebrew/commit/9032f165bec3d0c7452169093fab32578816043b

Closes #531.

.exports: Enable persistent REPL history for `node`

This works as of io.js v2.0.0.

https://github.com/iojs/io.js/blob/v2.0.0/CHANGELOG.md#2015-05-04-version-200-rvagg

.gitconfig: Add `push.followTags`

Thanks to @sindresorhus: https://twitter.com/sindresorhus/status/596347008975241216

.osx: Fix `/private` path

Closes #529.

brew.sh: Add `dark-mode`

For toggling Dark Mode from the command-line.

https://github.com/sindresorhus/dark-mode

Closes #545.

.gitconfig: Use `hexdump` to diff binary files

README: Add warning

Closes #530, #575, and #576.

.aliases: Make `emptytrash` clear download history too

See https://mths.be/bum for more details. Thanks to @nvartolomei for the suggestion in #177.

.exports: Add missing `export` commands

Closes #585.

.osx: Remove “enable text selection in Quick Look”

As of OS X 10.11, it no longer has any effect.

Closes #580.

.exports: Update Node environment variables

Thanks to @alrra for the heads up in https://github.com/mathiasbynens/dotfiles/commit/9d30bd673c72ed1cadb2720fe4fb44a8ce915a2b#commitcomment-13835031.

.osx: Simplify `killall` redirection

`&>` is the same as `2>&1`.

Closes #589.

.osx: Fix typo

Fixes #592.

.aliases: Enable colored `grep` output

Note that `GREP_OPTIONS=--color=auto` is deprecated in GNU `grep`.

Closes #467 and #590.

.osx: Stop iTunes from automatically syncing connected devices

Closes #593.

.osx: Don’t enable “secure empty trash”

This feature has been removed, sadly, so enabling has no effect anymore.

https://support.apple.com/en-us/HT205267#CVE-2015-5901

Closes #596.

.exports: Add `PYTHONIOENCODING`

https://docs.python.org/2/using/cmdline.html#envvar-PYTHONIOENCODING

.osx: Remove non-functional iTunes setting

Ref. https://github.com/mathiasbynens/dotfiles/commit/cd88be0faec8b794e2ed6d145896f464125429b4#commitcomment-14145185. Thanks to @chdiza!

.osx: Bypass t.co URLs in Tweetbot

Hat tip: https://twitter.com/dermdaly/status/664065150329163777

.bash_prompt: Improve escape sequences

Closes #598. See https://github.com/mathiasbynens/dotfiles/pull/598#issuecomment-157090316.

.osx: Show only open applications in the Dock

Closes #604.

.gitconfig: Improve `mpr` command

Change the `mpr` command so that it merges the specified pull request into the current branch¹, or if a branch name is specified², into the specified branch.

¹ git mpr <number>
² git mpr <number> <branch_name>

Closes #607.

.osx: Disable the over-the-top focus ring animation

See http://arstechnica.com/apple/2014/10/os-x-10-10/5/ for an example.

Closes #511.

bin: Add Brotli and LZMA to `httpcompression`

Closes #613.

.osx: Prevent Photos from opening automatically

Closes #608.

.osx: Update Simulator paths for El Capitan

Closes #616.

brew.sh: Upgrade to PHP 5.6 (from 5.5)

PHP 5.5 caused a segmentation fault when trying to run `arc`, the `anarcist` command.

Ref. https://stackoverflow.com/a/33512066/96656.

Closes #617.

brew.sh: Add `testssl`

https://github.com/drwetter/testssl.sh

.functions: Improve `fs`

Accept file names with a dash without interpreting them as a command-line flag. Found by running `shellcheck`.

Closes #565.

.osx: Show the `/Volumes` folder

Closes #621.

.bash_prompt: Improve title

This will set the title of the current terminal tab to the name of the folder you are in rather than the whole path.

Closes #623.

.bash_prompt: Improve terminal title

Closes #625.

bin: Remove `httpcompression`

@alrra maintains it now. Hopefully it can be moved to its own repository and installed through npm/brew soon.

See https://github.com/alrra/dotfiles/issues/18.

.osx: Remove duplicate `disablelocal` setting

This setting is already set under the “Time Machine” section.

Closes #631.

.gitconfig: Sign commits using GPG

brew.sh: Install vbindiff

Probably the best binary diff tool out there.

brew.sh: Remove useless use of `sudo`

Thanks to @jonnybarnes for spotting this.

Closes #647.

.bash_profile: Redirect all `which brew` output

On RHEL6, `which brew` prints `/usr/bin/which: no brew in …` to stderr. Changing `> /dev/null` to `&>/dev/null` redirects both stdout and stderr to `/dev/null`, silencing the check completely.

Closes #650.

.functions: Update `gitio` to use HTTPS

Looks like git.io recently enabled HTTPS. Because they’re now redirecting from HTTP to HTTPS the old script stopped working.

Thanks to @sixertoy for spotting this: https://github.com/mathiasbynens/dotfiles/commit/4f48f250197668f2d961a71ef733b37675f810fa#commitcomment-17317282

Enable GitHub highlighting for Bash files

Closes #662.

.brew.sh: Automate switch to brew-installed Bash

Closes #658.

.osx: Fix ⌘ + Enter shortcut in Mail.app

Removing `-string` and just passing the unescaped string value of the shortcut as a second param seems to solve the problem.

Closes #603 and #661.

.functions: Add file size output to `targz`

Closes #670.

Rename .osx to .macos

Apple renamed OS X to macOS, so this repository must follow.

.macos: Add some more Transmission options

* Do not prompt for download confirmation on magnet links.
* Activate the IP block list.

Closes #679.

.macos: Enable Secure Keyboard Entry in Terminal.app

Closes #685.

.macos: Make Safari config more robust/secure

Closes #684.

.macos: Auto-play videos when opened with QuickTime Player

Closes #683.

.macos: Extend Mac App Store configuration

Closes #681.

.macos: Remove `AllowBypassOfAutocompleteOff`

This setting is ignored by Safari 7.0.3+.

See https://discussions.apple.com/thread/6036813?start=0&tstart=0.

Thanks to @chdiza for pointing this out! https://github.com/mathiasbynens/dotfiles/commit/4a4cdeab41f56cf795bf34b486fc033a54db148c#commitcomment-18177720

.macos: Fix the keyboard repeat rate command

Closes #687.

.aliases: Use `LSCOLORS` for BSD and `LS_COLORS` for GNU

Closes #697.

.aliases: Add `gem cleanup` to `update` alias

This ensure that old gems are removed after `gem update`.

Closes #705.

.macos: Close System Preferences first

Closes #706.

.macos: Enable the Transmission blocklist

Closes #708.

.functions: Remove `calc`

Instead, @alrra’s upstream version should be used.

https://github.com/alrra/dotfiles/blob/2133bfed5d8bd2544cb3554e49657979acbb0c2f/src/shell/bash_functions#L5-L31

Hopefully it can be released as a standalone script, installable through brew or npm.

Closes #703.

.macos: Set keyboard repeat rate on macOS Sierra

Unfortunately it seems the float trick (6b4d9617a059e3ece468e3a9150ea920cadb1fe2) no longer works in macOS Sierra. As @kirbysayshi pointed out, setting `KeyRepeat` to a float or zero value actually *disables* key repeat now (i.e. holding a key does nothing). It seems like setting it to `1` is the best we can do for now. Note that this is way slower than before.

Ref. #687.

.aliases: Update `pumpitup`

According to the AppleScript reference, `set volume $NUMBER` is deprecated.

https://developer.apple.com/library/content/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW44

Closes #699.

README: Update link to @tejr’s dotfiles

.brew.sh: Remove pointless symlink

The following is unnecessary:

    ln -s /usr/local/bin/gsha256sum /usr/local/bin/sha256sum

…because the non-prefixed version is already in `$(brew --prefix coreutils)/libexec/gnubin`.

https://github.com/Homebrew/brew/issues/1171#issuecomment-250906442

Closes #709.

.macos: Keep folders on top when sorting files by name in Finder

brew.sh: Remove no-op flag in `brew upgrade`

The following warning message shows up when upgrading the Homebrew packages:

> Warning: We decided to not change the behaviour of `brew upgrade` so
`brew upgrade --all` is equivalent to `brew upgrade` without any other
arguments (so the `--all` is a no-op and can be removed).

Closes #710.

.aliases: Add `path`

Closes #718.

.macos: Disable line marks in Terminal.app

See https://github.com/alrra/dotfiles/issues/36. Thanks to @alrra for the suggestion!

.aliases: Add `ifactive`

This lists only the active network interfaces. Handy for quickly chopping down the wall-of-text that is `ifconfig`.

Credit to g.rocket over at https://unix.stackexchange.com/a/108048/6040.

Closes #722.

.macos: Avoid creating `.DS_Store` on USB volumes

Thanks to @Menubalk for the suggestion!

Ref. https://github.com/mathiasbynens/dotfiles/pull/720.

.macos: Remove unsupported user script settings

This is sadly not possible anymore.

Closes #729.

brew.sh: Update vim installation command

Closes #743.

.aliases: Add macOS `airport` alias

.aliases: Add `chrome`

This alias makes it easier to run Chrome with command-line flags, e.g.

    chrome --app=https://mths.be/

Add .tmux.conf

.macos: Remove disabling of Sudden Motion Sensor for SSDs

The SMS setting is already disabled by default for SSDs. From https://support.apple.com/en-us/HT201666:

> Computers with Solid State Drives (SSD) or Flash Storage do not use SMS as the drives have no moving parts.

Closes #755.

.macos: Simplify `SystemUIServer` configuration

Closes #731 and #229.
Ref. #305.

.macos: Disable more automatic substitutions

Closes #754.

.gitconfig: Enable compaction heuristic for diffs

https://github.com/blog/2188-git-2-9-has-been-released#beautiful-diffs

Closes #677.

.macos: Add reference for subpixel font rendering

Closes #736.

.macos: Expand Transmission config

Closes #735.

.macos: Enable boot screen language menu

Closes #732.

.macos: Clean up `killall` list

.macos: Tweak subpixel rendering

.gitconfig: Use Git 2.11 option name for indent heuristic

https://github.com/blog/2288-git-2-11-has-been-released

Closes #765.

README: Explicitly call out `brew.sh` dependencies

Closes #744.

.macos: Disable auto-playing videos (commented out)

See https://gist.github.com/zwaldowski/0836e237d58eee82053914f8f2fd45ea and http://www.kirkville.com/stop-auto-play-videos-from-annoying-you-in-your-browser/.

Closes #766.

.aliases: Add `canary`

Use `.gitkeep` to track empty directories

Closes #784.

.gitconfig: Add `aliases` alias

.exports: Add `GPG_TTY`

.macos: Remove some problematic commands

Closes #786.

brew.sh: Add `chsh` command

.functions: Remove `a`

Ref. #791.

brew.sh: Remove dependency on homebrew/versions

brew.sh: Install GnuPG

brew.sh: Clean up

Remove heuristic diff setting now used as default

https://raw.githubusercontent.com/git/git/master/Documentation/RelNotes/2.14.0.txt

Closes #797.

Delete some stuff I don’t use anymore

.macos: Move Spectacle settings to their own file

Spectacle now stores its settings as a JSON-formatted file in ~/Library/Application\ Support/Spectacle/Shortcuts.json.

Closes #798.

README: Update URLs

Closes #802.

brew.sh: Install `rlwrap`

.gitconfig: Enable `core.untrackedCache`

This speeds up commands involving untracked files such as `git status`.

Ref. https://git-scm.com/docs/git-update-index#_untracked_cache.

.gitconfig: Set `push.default = simple`

Normalize `open` across Linux, macOS, and Windows

This makes `o` work cross-platform as well.

Also, delete some unused stuff from `.functions`.

.macos: Don’t show recent applications in Dock

Closes #846.

.aliases: Don’t show `.` and `..` in `la` alias

Closes #818.

Respect non-default brew installation locations

Closes #668.

.tmux.conf: Use Ctrl+A as the prefix key

.aliases: Update comment for `la`

Ref. #818.
Ref. #848.

brew.sh: Update PHP formulae (#859)

.bash_profile: Improve `g` autocompletion

.bash_profile: Update bash-completion sourcing (#864)

The previous sourcing is replaced with what the current “caveats” specify (see `brew info bash-completion@2`).

And, thanks to Homebrew/homebrew-core#36254, any bash-completions meant for bash-completion v1 are now included, thanks to the environment variable.

.aliases: Make `mergepdf` preserve hyperlinks

.macos: Replace `Flwv` with `glyv` (#886)

As of macOS 10.14, Cover Flow view was replaced with Gallery view.

.macos: Add Hot Corner option for Lock Screen (13)

Closes #872.

.gitconfig: Simplify `git p` alias

This uses git pull’s --recurse-submodules argument to avoid the compount command of the previous version of this alias.

Closes #868.

.macos: Consolidate energy management settings

Closes #771.

.macos: Also disable Java for local domains in Safari (#769)

.bash_prompt: Exit early for Chromium/Blink repo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests