1

With the release of Yosemite I'll no doubt be needing to update our OS X UI at work, basically just white-labeling various parts of OS X. I lost my bash aliases a while back and have forgotten the command to reload the UI of OS X.

I'm looking for a way to tell the OS to clear any frameworks it might have cached somewhere and load them fresh from disk. The ultimate goal in doing this would be to force any changes you made to your .framework packages to get reflected in the OS.

Shutting down and logging off don't seem to do the trick. But there should be a bash command that will work.

Just to clarify, I'm not looking for a way to restart the Window Server, that won't really do what I want.

Here is an example of a framework that I'd like to refresh:

/System/Library/PrivateFrameworks/LoginUIKit.framework/Resources

EDIT

For example, I used to be able to reload the following types of system graphics, I'm 90% sure it wasn't a chain of commands either, just a single magical UI refresher:

Finder Icons, Textures

Finder

Menu Bar Icons

Menu Bar

Lockscreen Icons, Text

Lockscreen

Function Key Icons

Function Keys

  • I placed a bounty on your question as I too am interested in doing something similar. Have you found a way to do this? – Vladimir Jul 7 '15 at 5:43
  • 3
    Could you give us more information on what exactly you want to do? – Alistair McMillan Jul 7 '15 at 7:18
  • @AlistairMcMillan In my case (and I assume Brod's question is the same), I would like to know how to tell the OS to clear whatever frameworks it has cached, and load them fresh from disk. The purpose of doing this is to cause the changes we made too the frameworks to get reflected in the OS. – Vladimir Jul 8 '15 at 16:42
  • 2
    This an interesting question, but I am still trying to wrap my head around exactly what you would like to do. Can you provide some additional details? – Allan Jul 9 '15 at 11:44
  • 1
    I've updated my answer. – empedocle Jul 9 '15 at 16:42
1
+150

If you're looking to re-label parts of OS X, the file you would want to modify is Localizable.strings. Within each language, or the current language of your OS, for instance, en.lproj/Localizable.strings for English, modify the necessary strings. It is necessary to only restart the app for it to take effect.

If you're looking to change the theme of OS X, there used to be various apps that could do it. For Yosemite, the only one I know of is Flavours 2. It includes various themes, and you can also make your own.

enter image description here

http://flavours.interacto.net

For menu bar icons, there are a few menu bar icon packs, like the following;

http://aaronolive.deviantart.com/art/Menu-bar-Icons-OS-X-Mavericks-10-9-x-406393600

though I'm not aware of any apps that work with Yosemite that allow you to change them automatically. You would need to find the correct folder to place the icons, like Yourapp.app/Resources/.

  • Thanks! This is helpful but actually we would like to know how to make the OS recognize that changes have been made to the frameworks and load those changes. The current problem we have is that the frameworks appear to be cached so our changes don't get reflected in the OS. – Vladimir Jul 8 '15 at 16:46
  • 1
    If it is only the text in Localizable.strings that you want to change, for anything in /System/Library, a reboot should work, or for some services like the Finder or Dock, restarting those processes is sufficient. – empedocle Jul 8 '15 at 17:03
  • Thanks for the edit! Your Flavours suggestion is great, and it will actually be able to achieve the effect I want. But I'll hold off on giving the bounty just yet because I would still like to know the real way of doing that manually. – Vladimir Jul 9 '15 at 19:07
  • The reboot suggestion seems like it should work–I thought of it as well–but it didn't seem to work for me... maybe I was doing something else wrong though... – Vladimir Jul 9 '15 at 19:08
  • Sorry I can't +1 again. I already used my +1 to negate the -1 your question had earlier. – Vladimir Jul 9 '15 at 19:10
0

In the past when you did killall loginwindow it would actually reload the loginwindow service with your same account, but now it just logs you out.

I would suggest that might be it?

  • Thank for the suggestion! Unfortunately it didn't work for me, but then again my application for this is a little unusual so I'll wait to see what Brod says. Maybe it will work for what he needs. – Vladimir Jul 9 '15 at 19:25
  • 1
    This sounds about right, like @Vladimir said, it doesn't work for me either. I'll try find an older OS X to run it on to be sure. I'm going to ask a few guys on deviantart (who still make themes in the homebrew way) for some insight. – 8eecf0d2 Jul 9 '15 at 23:56
  • @Brod sounds like a good idea. Let me know what they say. – Vladimir Jul 10 '15 at 5:58
0

You can restart SystemUIServer to reload Menu Bar icons:

sudo killall SystemUIServer
  • I wasn't sure about this as my particular issue did not require changing the menu bar icons, but since my bounty is about to run out I decided to try it. It looked like this would work (since the menu flickered) but when it reloaded, it was still using the old icons. – Vladimir Jul 13 '15 at 4:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .