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