Actions

Slack dark mode

From Ever changing code

This was always a problem. So there 2 methods:

  • open Web Slack and apply any dark-mode plugins, this works very well apart you cannot make direct calls
  • use Powershell snippet below to enable DarkMode, worked for Windows 10, 3.4.0 64-bit version
    • Execute dARK.ps1 below script. Does not require elevated privilages
    • Restart Slack Ctrl+Q, then start Slack
    • Each update to the app will require to re-run the script


// Ark Labs presents - Slack dARK mode

$slackBaseDir = "$env:LocalAppData\Slack"
$installations = Get-ChildItem $slackBaseDir -Directory | Where-Object { $_.Name.StartsWith("app-") }
$version = $installations | Sort-Object { [version]$_.Name.Substring(4) } | Select-Object -Last 1
Write-Output "Select highest intalled Slack version: $version";

$modAdded = $false;
$customContent = @'

// slack-dARK-mode |-)

document.addEventListener('DOMContentLoaded', function() {
 $.ajax({
   url: 'https://raw.githubusercontent.com/laCour/slack-night-mode/master/css/raw/black.css',
   success: function(css) {
     $("<style></style>").appendTo('head').html(css);
   }
 });
});
'@

if ((Get-Content "$($version.FullName)\resources\app.asar.unpacked\src\static\index.js" | %{$_ -match "// laCour - slack-night-mode"}) -notcontains $true) {
    Add-Content "$($version.FullName)\resources\app.asar.unpacked\src\static\index.js" $customContent
    Write-Host "Mod Added To index.js";
    $modAdded = $true;
} else {
    Write-Host "Mod Detected In index.js - Skipping";
}

if ((Get-Content "$($version.FullName)\resources\app.asar.unpacked\src\static\ssb-interop.js" | %{$_ -match "// laCour - slack-night-mode"}) -notcontains $true) {
    Add-Content "$($version.FullName)\resources\app.asar.unpacked\src\static\ssb-interop.js" $customContent
    Write-Host "Mod Added To ssb-interop.js";
    $modAdded = $true;
} else {
    Write-Host "Mod Detected In ssb-interop.js - Skipping";
}

if ($modAdded -eq $true) {
    if((Get-Process "slack" -ErrorAction SilentlyContinue) -ne $null) {
        Write-Host "Mod Complete - Mod Will Take Effect After Slack Is Restarted";
    } else {
        Write-Host "Mod Complete";
    }
} else {
    Write-Host "Mod Already Active - No Further Action Is Needed.";
}