mirror of
https://github.com/lloeki/toolbelt.git
synced 2025-12-06 01:54:41 +01:00
google drive dark mode for yosemite
This commit is contained in:
parent
9118575985
commit
c9eb9441d4
1 changed files with 99 additions and 0 deletions
99
yos_drive
Executable file
99
yos_drive
Executable file
|
|
@ -0,0 +1,99 @@
|
||||||
|
#!/usr/bin/ruby
|
||||||
|
|
||||||
|
require "fileutils"
|
||||||
|
|
||||||
|
drive_resources = "/Applications/Google Drive.app/Contents/Resources"
|
||||||
|
|
||||||
|
Dir.chdir drive_resources
|
||||||
|
|
||||||
|
def remap(filename, suffix = nil)
|
||||||
|
suffix = suffix.nil? ? "" : "-#{suffix}"
|
||||||
|
|
||||||
|
filename.sub(/-(?:inverse|dark|light)/, suffix)
|
||||||
|
end
|
||||||
|
|
||||||
|
def inverse
|
||||||
|
@inverse ||= Dir["mac-*-inverse{,@2x}.png"]
|
||||||
|
end
|
||||||
|
|
||||||
|
def active
|
||||||
|
@active ||= inverse.map { |f| remap(f) }
|
||||||
|
end
|
||||||
|
|
||||||
|
def light
|
||||||
|
@light ||= inverse.map { |f| remap(f, "light") }
|
||||||
|
end
|
||||||
|
|
||||||
|
def dark
|
||||||
|
@dark ||= inverse.map { |f| remap(f, "dark") }
|
||||||
|
end
|
||||||
|
|
||||||
|
def generate_persistent_assets
|
||||||
|
light.each do |persistent|
|
||||||
|
next if File.exist? persistent
|
||||||
|
|
||||||
|
source = remap(persistent)
|
||||||
|
FileUtils.cp(source, persistent)
|
||||||
|
end
|
||||||
|
|
||||||
|
dark.each do |persistent|
|
||||||
|
next if File.exist? persistent
|
||||||
|
|
||||||
|
source = remap(persistent, "inverse")
|
||||||
|
FileUtils.cp(source, persistent)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def copy_assets(mode)
|
||||||
|
mapping = case mode
|
||||||
|
when "light"
|
||||||
|
{ dark: "inverse", light: nil }
|
||||||
|
when "dark"
|
||||||
|
{ light: "inverse", dark: nil }
|
||||||
|
else fail NotImplementedError
|
||||||
|
end
|
||||||
|
|
||||||
|
light.each do |persistent|
|
||||||
|
dest = remap(persistent, mapping[:light])
|
||||||
|
FileUtils.cp(persistent, dest)
|
||||||
|
end
|
||||||
|
|
||||||
|
dark.each do |persistent|
|
||||||
|
dest = remap(persistent, mapping[:dark])
|
||||||
|
FileUtils.cp(persistent, dest)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def remove_persistent_assets
|
||||||
|
copy_assets "light"
|
||||||
|
(light + dark).each { |f| FileUtils.rm_f(f) }
|
||||||
|
end
|
||||||
|
|
||||||
|
def restart
|
||||||
|
print "waiting for Google Drive to close..."
|
||||||
|
%x(killall "Google Drive")
|
||||||
|
while system("ps -u $(whoami) | grep -v grep | grep 'Google Drive.app' > /dev/null") do
|
||||||
|
sleep 1
|
||||||
|
print "."
|
||||||
|
end
|
||||||
|
puts
|
||||||
|
puts "restarting Google Drive..."
|
||||||
|
%x(open -a "Google Drive")
|
||||||
|
end
|
||||||
|
|
||||||
|
case ARGV[0]
|
||||||
|
when "dark"
|
||||||
|
generate_persistent_assets
|
||||||
|
copy_assets "dark"
|
||||||
|
restart
|
||||||
|
when "light"
|
||||||
|
generate_persistent_assets
|
||||||
|
copy_assets "light"
|
||||||
|
restart
|
||||||
|
when "clean"
|
||||||
|
remove_persistent_assets
|
||||||
|
restart
|
||||||
|
else
|
||||||
|
$stderr.puts("light or dark?")
|
||||||
|
exit 1
|
||||||
|
end
|
||||||
Loading…
Add table
Add a link
Reference in a new issue