Live, evolving, dynamic wallpaper (desktop) on a Mac - macos

Should it be possible to develop a dynamic desktop for the Mac? By "dynamic," I mean a desktop whose images take system parameters, such as the time and job information, and use this information to update the image. Information about image states would also be preserved between sessions. I'm not talking about a movie or a stochastic but autonomous screen saver. Is there any reason a user couldn't develop such a thing? (I'd like to ask how but am trying to keep the question constrained.)
I'm not new to programming but have no sense how Macs work. I'd like to know if there's some fatal flaw in my goal before I start digging in. Thanks in advance for any pointers.
Update: Wikipedia implies there's no direct way to do what I want to do--Mac desktop wallpaper must come from a folder of static images or a screen saver. The only viable approach I see at the moment would be to generate images periodically for such a screen saver (e.g., by adapting this Python script). If this is stupid or a slicker method might exist, would love to hear it.

Very late response but I only stumbled across the question and noticed some recent interest...
Aren't you looking for something like GeekTool ?

This seems to have been implemented in the latest version of Mac OS X: Mojave.
This article has some tips on how to make your own, towards the bottom: https://www.howtogeek.com/369645/download-more-dynamic-wallpapers-for-mojave-or-make-your-own/

Related

Screenshot of Hidden Window

I need to take a screenshot of a currently hidden window without giving focus to that window. I saw a post on this, here: Window screenshot using WinAPI
I've never used this method, so any advice is greatly appreciated.
I would like to be able to do this either in Windows or OS X, is it possible to do in OS X? It doesn't necessarily need to be in the same language or be cross platform, but of course, that's a plus :).
I would investigate the possibility of asking the window to draw itself into a bitmap, rather than trying to take its picture with a screenshot. That might be a way of making it irrelevant that the window is minimized. Something like the WM_PRINT or WM_PRINTCLIENT message. I suspect that's actually what the person was trying to do who asked the original question that you linked to. The biggest pitfall is if the window doesn't handle that message appropriately. Not all apps are so well-behaved. Also, I don't think it works for windows that are truly hidden, but I can't tell from your question and the flurry of articles you link to whether or not that's a real concern.
Unfortunately, I also know nothing about programming OS X; I'm just a user on that platform. You might try diving into the Qt sources to see how they're doing it cross-platform, if that's really important to you.
It's hard to imagine that you could have one solution that would work on Windows and OS X. The windowing frameworks are completely different. It would be harder to try to come up with one solution that to write two.
On Windows at least, I'm not convinced you'll have much luck taking a screenshot of a hidden or obscured window. When you search for this on the web, there are a gazillion hits for people asking that very question. None of them appear to have succeeded. If you factor in DWM and Aero glass then I think your chances of success are limited.

Options for deploying an interface for a museum exhibit?

We are building an companion presentation that will be displayed on computer screens next to a museum exhibit. I believe the machines are going to be running OSX (no touchscreens) and the users will need a mouse at minimum.
Does anyone have an recommendations for what environment to build in (flash, air, web, cocoa, etc) that will allow us to restrict access to the computer itself? Our main concern is with people alt-tabbing, command-q'ing, command-option-escape'ing, etc etc etc. Anything that will let them exit the presentation and access the main system is a major issue.
Thanks.
OS X has support for various kiosk modes which you can trigger from pretty much any programming environment. Something Web-based seems like a good strategy since it doesn't limit you much. Opera has kiosk support (which I haven't used) as does iCab. There are also some purpose-designed kiosk browsers such as Plainview and wKiosk.
I think what you are looking for is called "Kiosk mode":
http://www.mactech.com/articles/mactech/Vol.19/19.12/KioskModeFeatures/index.html
Also, I would avoid giving the users a mouse. Mice will get destroyed in such exhibits over time. A better option might be a touchpad. I don't know for sure, but I would imagine they will have a longer lifespan in a display. I know trackballs used to be very popular for kiosks but the ones I've seen look like specially purchased devices, not the standard Kensington ones you get at the shop around the corner...

A Good, Free screen sharing program for pair programming?

I am looking for a good, free (preferred) screen sharing program that works well for pair programming and code review sessions for Windows (Vista x64, Server 2008). It should allow either person take control of the screen and be fairly responsive for text editing over decent broadband connections. Additional features like the ability to draw/mark/annotate the other persons screen would be nice.
Edit: This will be used by developers in remote locations.
TeamViewer from http://www.teamviewer.com/ works very well. We use it for pair programming between London and Ukraine.
Notes:
We use Skype for voice.
TeamViewer uses extremely low bandwidth - 4kbyte/sec on average for programming in Visual Studio 2008 # 1024x768 resolution.
Can swap roles from hotseat to viewer with a button.
The remote view of the screen can be resized to fit in a smaller area with no loss in usability.
Windows Shared View works for me. It allows you to only share certain windows and even shows where your "attendees" mouse is. It would be best to use that in connection with some sort of voip connection so that you don't have to type questions/responses back and forth.
I have checked some hours now for a good one.
Best and the simplest thing i have found.
http://www.screenleap.com/
Free, no strings found so far.
No need to waste time installing or registering anything.
Works perfect with "share are only" if you have multimontor setup.
Most other software shares full screen default, and you cannot choose which monitor you share.
You need to be aware that it does not encrypt data. Check FAQ.
But if you have to run voice over Skype/Mymble/Whatever separate anyway..
What harm can a hacker do by simply getting 50% of the conference ?
Pff.. Oh you wished for screen sharing.. this one does not have it.
So try: http://www.mingleview.com/
It has that multimonitor "bug" and you need to install a simple pluginlike thing.
But "take control" is there and it's very simple also.
Most other software has bundled unneccesary functions like calendaring, document system, filesharing which i already have solutions for.
It's like developing games on excel macros..
unneccesary.. developers please learn that already !
I haven't actually tried it yet, but it looks promising. Check out DimDim. They have a free web service and a VMWare image on Sourceforge.
If you're using eclipse, you might wanna try ECF. There's a video presentation available here.
Try Mikogo at www.mikogo.com
very easy to setup. no problems with Firewalls etc etc
And my final suggestion, but this is not one I've tried. Go to Crossloop
On OSX, I've used vim and a multi-user GNU screen session - this gives much better responsiveness than VNC, screen-sharing, etc. I guess you could use these with Cygwin?
I like to use Screen Hero, which allows both users to use the mouse on the shared screen: http://screenhero.com/
or Zoom: http://zoom.us/
For a poor-man's solution, you can use the free edition of RealVNC. On the server, un-check all of these boxes:
(source: realvnc.com)
Would a VNC client not do the trick, combined with a one of those screen overlay apps people use for presentations (screenpen rings a bell)?
Another option is to use VNC, but use reverse connections. Have a look at this I use this in conjunction with No-IP to get a fixed address.
Do you need this to be remote?
You could just have two monitors set to mirror and 2 USB keyboards/mice
If it is remote then VNC is the way to go, I would use UltraVNC if you are looking for a free version, it has more features (chat, file transfer) than the free version of VNC - it also has a video driver hook that means it suffers less from any weird screen issues than regualr VNC.
If firewalls are a problem you can simply set up a VPN (which is probably a good idea anyway - although ultra can do encryption).
How about any of the services like Joel's https://www.copilot.com/?
Have you looked at the collaboration module that comes with netbeans? Its very useful for pair programming!
For multi-platform simplicity, I would suggest
https://join.me/ for screen share (you can even view a remote
screen using iOS!)
getting a phone headset, and using the phone for audio.

API for getting screen region changes?

I am writing a sort of screen-recording app for Windows and wish to know when and which regions of the screen/active window have changed.
Is there a Windows API I can hook to get notified of screen changes?
Or would I need to manually write something like this? :(
I always figured that Remote Desktop used some sort of API to detect what regions of the screen had changed and only sent back those images - this is exactly the behavior that I need.
I don't think there is an API in Windows that can tell you which parts of the screen have changed.
One possible way is using a video mirror driver like UltraVNC uses.
I think you'll find some clues here Screen Event Recorder DLL/Application, here About Hooks, and here Writing a Macro Recorder/Player using Win32 Journal Hooks
It would seem that you're going to have to do a fair bit of work to detect screen changes. This posting at tech-archive.net for instance. With this you can copy to RAM a reference screen and then take another and compare the two. It'd be up to you to define what kind of a change is a meaningful one. It's similar material to this article on desktop capture.
I think Remote Desktop streams GDI like commands. I don't know how they capture them in the first place.
Thanks for your help everyone. I ended up writing an image differencing class which seems to calculate the changed rectangles suprisingly quick. I've posted the gist of how it works here.
At the moment I'm just doing it in a timer but planning to do it after input events too.
Thanks heaps for your links Boost - I've only just looked at this thread again so I'll check them out soon.

Is QuickSilver dead? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
After having read that QuickSilver was no longer supported by BlackTree and has since gone open source, I noticed more and more people switching to/suggesting other app launchers i.e. Buttler and LaunchBar.
Is QuickSilver still relevant? Has anyone experienced any instability since it's gone open source?
Quicksilver is still alive and well. There are at least a couple of endeavours to keep it going, up to date and restructure and clean up the code base. Check out the code from Google Code.
As for launching apps, not even Spotlight comes close to how fast it is in Quicksilver.
Of course the real joy of Quicksilver is past just launching apps and using triggers, scripts and the many plugins. My workflow goes to a new level with Quicksilver. I'd be lost without it.
Update: Since posting this I switched and use LaunchBar for a while. This was during the time that QuickSilver seemed to be almost close to death. Loved LaunchBar and didn't need to switch back to QuickSilver. Recently though, I have left LaunchBar and have been using Alfred. I would highly recommend it. For me, LaunchBar and Alfred are pretty close. But, aesthetically and operationally, Alfred suits my tastes more than LaunchBar.
It still runs stably for me. I would be miserable without it.
And yeah, I would recommend switching if you only use it for an "app launcher", but launching apps is like white belt Quicksilver. I don't know of any program that lets you simply tell your computer what to do in such a simple way. And even Spotlight won't remember the keys you usually type to identify an object or action.
Ubiquity for Firefox is pretty good, but it's locked inside a browser...
I haven't used OS X in a while, but the impression I get is that Spotlight has largely negated the reason for using a launcher in the first place. Quicksilver has some cool things like direct objects built in, but by and large it was mostly used for launching apps, and Spotlight can now do that just as fast.
I also gave up on QuickSilver for a while when Leopard came out. I tried Spotlight. I gave up on that and returned. QuickSilver is much faster, and it does so much more that I missed.
I have not noticed any instability (Leopard) running B54 (3815) - it looks like the open-source version is B56A3 though.
QuickSilver is awesome when integrated with Parallels/VMWare Fusion to launch Windows apps too. You don't get the deep integration as with the various OSX plugins, but it definitely helps the dual-OS usability.
I love QS and agree that it is so productive that I am willing to put up with its flaws. I usually have to launch it several times before it gets up and running, though. To fix that issue I created a little quicksilver launcher app.
I use quicksilver all day (on latest version of OSX); and no spotlight doesn't negate it... quicksilver is still much faster for launching applications.
After Quicksilver stopped being updated for a while, I migrated to LaunchBar. Quicksilver had some occasional crashes and could be very resource intensive. LaunchBar has largely the same functionality without these problems. It is not free though.
The one thing I do miss was using QS to quickly send attachments via email to people in my address book. Highlighting the file, activate QS, Current Selection tab Mail to.. tab Person's name was just awesome.
After the 10.5.5 update, I find Spotlight to solve 99% of the things I originally used Quicksilver for and the speed is nearly identical now. Spotlight is invaluable for finding information you may not remember where or when you last saw it. Unless a major rewrite of QS causes me to reevaluate it again, I suspect Spotlight will be all I need and use.
There are a couple branches out there that are active, I think I'm currently running B56 and loving it. I have too many scripts, triggers, objects that I rely on daily...I would be lost without it.
It's 201 and it's still running strong!
QuickSilver is still alive, and well.
You can find the hub-website for all activities at http://qsapp.com/
GitHub (used for source code and issues tracking) is at https://github.com/quicksilver/Quicksilver
The latest version, B58 (3841) is quite stable on Snow Leopard (10.6.6).
No. It's back, baby.
I didn't know Quicksilver wasn't being as actively supported.
It does all I need it to do at the moment though.
Just installed LaunchBar but I can't set it to be Option + Space to "launch", I can't deal with it not using that, I'm too use to Spotlight on Command + Space and Ctrl + Space is for VS 2008 :P

Resources