Skip to content

Instantly share code, notes, and snippets.

@mykeels
Last active November 13, 2018 13:12
Show Gist options
  • Select an option

  • Save mykeels/74316425ec4d9517262bf4d8c19b1ec2 to your computer and use it in GitHub Desktop.

Select an option

Save mykeels/74316425ec4d9517262bf4d8c19b1ec2 to your computer and use it in GitHub Desktop.
A shell script to change slack's colors
#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
INTEROP_FOLDER="/Applications/Slack.app/Contents/Resources/app.asar.unpacked/src/static"
BACKUP_FILE="$DIR/backup/ssb-interop.js"
if [ -f "$BACKUP_FILE" ]
then
cp "$BACKUP_FILE" "$INTEROP_FOLDER"
# restart slack
killall "Slack" # kill all slack processes
/Applications/Slack.app/Contents/MacOS/Slack </dev/null &>/dev/null & # start slack process in detached mode
fi
#!/bin/bash
function show_usage() {
echo "
NAME
slack-theme
SYNOPSIS
sh slack-theme
sh slack-theme day
sh slack-theme night
sh slack-theme night-mono
sh slack-theme aubergine
sh slack-theme aubergine-mono
sh slack-theme arc-dark
sh slack-theme midnight-blue
sh slack-theme midnight-blue-mono
DESCRIPTION
Change Slack Colors
COMMANDS
day
Revert to Day Mode
night
Use Black CSS
night-mono
Use Night-Mono CSS
aubergine
Use Aubergine CSS
aubergine-mono
Use Aubergine-Mono CSS
arc-dark
Use Arc-Dark CSS
midnight-blue
Use Midnight-Blue CSS
midnight-blue-mono
Use Midnight-Blue-Mono CSS
Report any bugs to mykehell123@gmail.com
"
}
ARC_DARK_PATH="https://cdn.rawgit.com/laCour/slack-night-mode/master/css/raw/variants/arc-dark.css"
AUBERGINE_PATH="https://cdn.rawgit.com/laCour/slack-night-mode/master/css/raw/variants/aubergine.css"
AUBERGINE_MONO_PATH="https://cdn.rawgit.com/laCour/slack-night-mode/master/css/raw/variants/aubergine-monospaced.css"
BLACK_PATH="https://cdn.rawgit.com/laCour/slack-night-mode/master/css/raw/black.css"
BLACK_MONO_PATH="https://cdn.rawgit.com/laCour/slack-night-mode/master/css/raw/variants/black-monospaced.css"
MIDNIGHT_BLUE_PATH="https://cdn.rawgit.com/laCour/slack-night-mode/master/css/raw/variants/midnight-blue.css"
MIDNIGHT_BLUE_MONO_PATH="https://cdn.rawgit.com/laCour/slack-night-mode/master/css/raw/variants/midnight-blue-monospaced.css"
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
INTEROP_FILE="/Applications/Slack.app/Contents/Resources/app.asar.unpacked/src/static/ssb-interop.js"
BACKUP_FOLDER="$DIR/backup"
BACKUP_FILE="$BACKUP_FOLDER/ssb-interop.js"
if [ -z "$1" ]
then
show_usage
exit 0
fi
if [ "$1" == "install" ]
then
chmod 755 "$DIR/slack-theme"
if [ -z "$(cat ~/.bash_profile | grep "PATH=\$PATH:$PWD")" ]
then
echo "export PATH=\$PATH:$PWD" >> ~/.bash_profile
fi
echo "installed successfully"
exit 0
fi
if [ "$1" == "day" ]
then
. "$DIR/slack-day"
exit 0
fi
if [ "$1" == "night" ]
then
CSS_PATH="$BLACK_PATH"
fi
if [ "$1" == "night-mono" ]
then
CSS_PATH="$BLACK_MONO_PATH"
fi
if [ "$1" == "aubergine" ]
then
CSS_PATH="$AUBERGINE_PATH"
fi
if [ "$1" == "aubergine-mono" ]
then
CSS_PATH="$AUBERGINE_MONO_PATH"
fi
if [ "$1" == "arc-dark" ]
then
CSS_PATH="$ARC_DARK_PATH"
fi
if [ "$1" == "midnight-blue" ]
then
CSS_PATH="$MIDNIGHT_BLUE_PATH"
fi
if [ "$1" == "midnight-blue-mono" ]
then
CSS_PATH="$MIDNIGHT_BLUE_MONO_PATH"
fi
if [ -z "$CSS_PATH" ]
then
echo "invalid command"
exit 1
fi
NODE_SCRIPT="
document.addEventListener('DOMContentLoaded', function() {
$.ajax({
url: '$CSS_PATH',
success: function(css) {
let overrides = \`
code { background-color: #535353; color: #85c5ff; } /* Change color: to whatever font color you want */
.c-mrkdwn__pre, .c-mrkdwn__quote { background: #535353 !important; background-color: #535353 !important; }
\`
\$('<style></style>').appendTo('head').html(css + overrides);
}
});
});
"
if [ -f "$INTEROP_FILE" ]
then
mkdir -p "$DIR/backup" # create folder if it does not exist
if [ -z "$(cat "$INTEROP_FILE" | grep "DOMContentLoaded")" ]
then
cp "$INTEROP_FILE" "$BACKUP_FOLDER" # copy file as backup
else
if [ -f "$BACKUP_FILE" ]
then
cp "$BACKUP_FILE" "$INTEROP_FILE"
else
echo "backup file not found"
exit 1
fi
fi
echo "$NODE_SCRIPT" >> "$INTEROP_FILE" # append script to file
# restart slack
killall "Slack" # kill all slack processes
/Applications/Slack.app/Contents/MacOS/Slack </dev/null &>/dev/null & # start slack process in detached mode
else
echo "file does not exist"
fi
@mykeels
Copy link
Copy Markdown
Author

mykeels commented Nov 13, 2018

To download and install, run the following code in your terminal:

curl https://raw.githubusercontent.com/mykeels/slack-theme-cli/master/slack-theme -O && sh slack-theme install && . ~/.bash_profile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment