Jump to content

Desktop Manager 0.6 - Universal Binary


Jason_Thames
 Share

20 posts in this topic

Recommended Posts

Our good friend Bertrand Guihéneuf, former Apple employee, and the man responsible for iCal, has ported a UniBin version of the Desktop Manager 0.6 Snapshot from SVN, along with a fixed version of the mach_inject function (He is actually the person responsible for porting mach_inject to Intel as well...). It works very well and has a new look and new functionality. It is however, still not complete as far as I know. Give it a go if you would like a great, stable virtual desktop app.

 

Desktop Manager 0.6 Universal Binary (It says it is 0.5.3, but the app is really version 0.6)

 

P.S.

 

For anyone running 10.4.4 or above:

 

Important restriction: In 10.4.4 (intel build), Apple removed the ability to send low-level mach commands from one task to another.

 

A task trying to control another one must now be root or belong to the procmod group.

 

If you want to allow mach_inject to work again for your account, you need to add yourself to the procmod group.

 

Another option is to enable it to work for all accounts on the system, by changing the security policy for task_for_pid().

 

Please understand that both options re-open what some consider as a security risk.

 

 

Enabling mach_inject for your account

 

One way to do it is to execute the following command in a terminal:

 

sudo niutil -appendprop "/" "/groups/procmod" "users" `id -un`

 

Unfortunately, group modifications are not taken into account immediately. You have to wait one minute or two before the kernel realizes you now belong to procmod (yes, memberd -r normally resets the cache, but the kernel seems to maintain it’s own cache). Obviously, rebooting your computer will empty kernel cache.

 

To remove yourself from procmod group, use the inverse command:

 

sudo niutil -destroyval "/" "/groups/procmod" "users" `id -un`

 

To check who is in the procmod group, use the following command:

 

sudo niutil -readprop "/" "/groups/procmod" "users"

 

 

Enabling mach_inject for all accounts

 

You can do this by changing the security policy for task_for_pid():

 

sudo sysctl -w kern.tfp.policy=1

 

You can disable mach_inject back with :

 

sudo sysctl -w kern.tfp.policy

Link to comment
Share on other sites

i followed your instructions, but it won't run for me, won't even bounce in the dock at all...

 

running 10.4.5..

 

:::[edit]::..

 

seems that there was a dialogue box open that was somehow under all of my other open windows, it said something to the effect of not being able to do something to the dock, therefore it may not run correctly, after i clicked "ok" i saw it running in the taskbar or whatever it's called, menu bar? at the top of the screen, i could switch between desktops, but i was not able to access any options menu, normally with desktop manager there is an options menu next to the diagram of the desktops, with this release there was not one, the only way i could close it was by opening up a terminal and using kill on it's process id...

Link to comment
Share on other sites

Desktop Manager is running as a menu item now... it no longer runs in the dock. After updating your user permissions, reboot your Hackintosh. Desktop Manager has to use mach_inject to "inject" some code into the Dock in this new release to work properly. I have tested it on 10.4.4 and 10.4.5 with success... Give it another go and make sure that You are indeed added to the "procmod" group with this command:

 

sudo niutil -readprop "/" "/groups/procmod" "users"

 

Let me know if this resolves your issue.

 

Regards,

 

-Jason

Link to comment
Share on other sites

It's back and better than ever :laser:. Tested on 10.4.4 and works great!! I did what's instructed above but didn't have restart. Looking forward to the final product. Just one question though. Why does the Dock disappear when I fool around with DM's settings?

Link to comment
Share on other sites

Well... My "Guess" is that the mach_inject function is causing the dock to disappear momentairly *for some reason*. Lucky for us, there is an active interest in both Desktop Manager and the old Virtue project. Both are being developed by new developers now. I am really happy to see this as I really miss the great window manager that was included with NeXTSTEP and of course other .nix platforms.

 

Regards,

 

-Jason

Link to comment
Share on other sites

Great Program! ;)

 

I thought I read somewhere that you could have it automatically change desktops by moving the mouse all the way to a side of the current desktop? So, if you move the mouse to the far right, it would switch to the desktop to the right of the current one.

 

How do you move a window from one desktop to another (besides minimizing it to the dock then restoring it)? I thought most WMs allowed you to draw a window from one to the next?

 

Thanks.

Link to comment
Share on other sites

Hi,

I've downloaded virtue, and pretty much like ti so far. It has nice transition effects between virtual desktops.. I have 10.4.3 1111g build, I'm unable to add my self to procmod group (i guess it wasn't introduced until 10.4.4 release) and i've changed security policy for task_for_pid() in kernel. In spite I get error message (taken from console.log):

 

2006-03-25 16:49:46.599 SystemUIServer[252] lang is:en
Could not access task for pid 251. You probably need to add user to procmod group
Installation of Virtue's dock extension has failed. Some of Virtue's features will not work as expected.

 

And indeed I'm unable to make an application sticky (to show on all desktops) :( So if anyone knows how to resolve this or have any ideas please help me.

Link to comment
Share on other sites

Hi, thanx for interesting,

I'm afraid I don't understand what you mean. I figured that changing policy can't hurt virtue so i changed them to see what happens. It didn't help so I figure I should get them back as they were. That leaves me with the problem, virtue (and desktop manager for what it's worth) is unable to insert code into dock app :(

 

OK, here's the update. I logged on as root and run virtue. As I expected everything was working fine, running as root virtue was allowed to modify dock app which didn't come as surprise.

I also run:

nireport . /groups name

and there's no procmod group ie:

/Users/theLord root# nireport . /groups name | grep -i procmod
110-166-222-85:/Users/theLord root#

Link to comment
Share on other sites

Great job! Now you did all that for the sake of one application? I personally don't think virtue or any applcation is worthy enough to be adding a new group so it can be used properly ;). Thanks for the information though. I know it will he handy in the forure.

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...
 Share

×
×
  • Create New...