Slack dark mode

From Ever changing code
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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


<syntaxhighlightjs lang="powershell"> // 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.";

} </syntaxhighlightjs>