Message boards : BOINC Manager : Runtime options
Message board moderation
Author | Message |
---|---|
Send message Joined: 8 Mar 10 Posts: 17 |
Does anyone know what the Boinc Manager runtime switches are to keep from having multiple icons in the system tray when running Boinc Manager from the Program Files Icon? I want to run boinc manager to change the % CPU time with a macro, but every time I run the macro (or if I just click the Boinc Manager Program Files menu icon) I get another boinc icon in the system tray - click boinc manager icon 5 times (or run the macro 5 times) and I get 5 more boinc icons in the system tray. I just want to open the Boinc Manager window (not run it again) to let the macro issue the keystrokes to change the % CPU time. I ran a command prompt as follows: C:\Program Files\BOINC>boincmgr.exe /h to get a help file and got: /h, --help show this help message --verbose generate verbose log messages /a, --autostart BOINC Manager was started by the operating system automatically /s, --systray Startup BOINC so only the system tray icon is visible /b, --boincargs Startup BOINC with these optional arguments /i, --insecure disable BOINC security users and permissions /c, --checkskins set skin debugging mode to enable skin manager error messages But none of these prevent the multiple system tray icons from occuring. Can anyone help? OR IS THIS A BUG IN BOINC MANAGER? |
Send message Joined: 8 Mar 10 Posts: 17 |
Well I just tried every letter from a-z as options and they either do nothing or multiple system tray icons are created. THIS IS A BUG. Opening the Boinc Manger from the Program files menu (or running Boinc Manager manually) should not create additional icons in the system tray when the program (Boinc) is already running and already has a system tray icon. Using Windows 7 64 bit / Boinc 6.10.36 All of the Boinc icons in this image are for one instance of Boinc - Exit any one of the icons makes the rest of the icons show as diconnected. |
Send message Joined: 8 Jan 06 Posts: 448 |
You are starting several GUI and this is not a bug. Boinc was designed to run multiple copies of the Boinc Manager so that remote systems can be controlled and displayed without having to disconnect the manager from the local system. My knowledge is limited (I left command lines behind when I stopped using DOS), so I leave to other to explain further. I do know that the boincmgr.exe is only the graphic interface to boinccmd.exe. I don't know what exactly what you are trying to do, but I suspect that you need to address boinccmd.exe itself since it is the core of Boinc. Boinc V 7.4.36 Win7 i5 3.33G 4GB NVidia 470 |
Send message Joined: 8 Mar 10 Posts: 17 |
Then there should be a switch to run Boinc Manager without creating another system tray icon - simple to do and poor programing not to include as a user option. As far as I am concerned this is a BUG because the ability not to have multiple icons for the same instance of Boinc is not included as an option. Plus there should be a simple way to change all options without having to run Boinc Manager. Such as: C:\Program Files\BOINC>boinccmd --set_cpu_time=25 for set CPU time to 25% If there is something like this it is not very well documented. |
Send message Joined: 29 Aug 05 Posts: 15560 |
Then there should be a switch to run Boinc Manager without creating another system tray icon - simple to do and poor programing not to include as a user option. Yes, stressing that something isn't doing what you want it to do is poor programming is going to help. Why do you continue going on about BOINC Manager needing to be started? It's a GUI that helps you give commands to the client (Boinc.exe). You can better manipulate the global_prefs.xml and global_prefs_override.xml files, the latter being the one that's written by BOINC Manager. Boinc.exe has its own command line switches. Either check from acommand line with boinc.exe --help, or see this FAQ. BOINCCMD has its own switches, the FAQ for that one is here. So all you have to do is make your script rewrite global_prefs_override.xml and then boinccmd --read_global_prefs_override to make it known to BOINC. No need to start BM 45 times. Simple huh? :-) |
Send message Joined: 29 Aug 05 Posts: 15560 |
If there is something like this it is not very well documented. As I said, you can first find it on the programs themselves. Open a command line window, navigate (using DOS commands) to your BOINC program directory and type: Boinc.exe --help Boinccmd.exe --help Then there are the following FAQs in the BOINC FAQs Service showing the same messages, but probably with less scrolling. BOINC command line switches BOINCCMD command line switches In the Wiki it's at: Client configuration - command line options BOINCCMD command line tool You can get to the Wiki from BOINC Manager->Help menu->BOINC website->Documentation. The BOINC FAQs Service isn't available from BOINC Manager, because it's on a non-Berkeley server. It is being pointed at from various (Project) web sites (including the BOINC website - Help and Information link, forums and in people's signatures, though. There are plenty of other websites, Wikis and other options around in different languages as well, to find what you're looking for if you just take the time to check. But where you went wrong from the get-go was to assume that BOINC Manager does all the work. It doesn't. As Aurora told you it's merely a GUI, a Graphical User Interface, which gives you easier access to the underlying client - Boinc.exe - which does all what you're looking for. (It doesn't do all the science calculations, that's done by the science applications of the projects). Then you got frustrated and went pointing fingers and saying bad things. Hopefully you've now learned a new thing about this mythical thing called BOINC. :-) If you have more questions, please ask them. We can answer just about all of them, some with a little bit of research from our own side, others more easily. And else the answer is 42. :-) (Do know that most of us here on the forums are volunteers helping others out. That includes Kathryn and me, even though we have that administrator role tag. It doesn't mean we work for BOINC. Please keep up some courtesy when posting). |
Send message Joined: 8 Mar 10 Posts: 17 |
Yes, stressing that something isn't doing what you want it to do is poor programming is going to help. No one is stressing about anything! I am simply trying to point out that an ability is missing. As you can see from the listed switches there is a switch /s, --systray Startup BOINC so only the system tray icon is to start with only a system icon without opening the Boinc Manager window. Why not a switch to open Boinc Manager window without another system tray icon instance? To do the exact same thing that you can do using the mouse. such as: /n --noicon Open Boinc Manager window only without system tray icon (the converse of /s). Explain how - without using the mouse - you simply open the Boinc Manager window without creating another system tray icon instance? As far as I can see it cannot be done - The only way to open the Boinc Manager Window without creating another system tray icon is to right-click the System Tray icon and choose Open Boinc Manager... Why is using the mouse the only way? THAT IS POOR PROGRAMING There should be another (non-mouse) way. And... Running Boinc Manager by clicking the Programs Menu icon again does not create an additional separate instance of the of the system tray icon it creates a duplicate instance of the same system tray icon that already exists! Try it! Click the Boinc Manager Programs Menu icon a several times - wait for boinc to connect. Then close one of the system tray icons - all of the other system tray icons then disconnect. All of the duplicate System Tray icons are are controlling the same instance of Boinc and Boinc Manager. It does not matter if there is another way to do what I want to do - It is the fact that there should be a way to open the Boinc Manager window only, without using the mouse and with no duplicate instance of the Boinc System Tray icon! I have looked at the command line switches and understand the concept - I am trying to do it simply and easily not complicated and involved. If Boinc Manager were programmed properly I should be able to do it simply and easily. I have already found a workaround by changing the way the Boinc System Tray icon displays and having the macro use the mouse to right click and open the Boinc Manager window. The point is I should not have to change the way my computer works in order to open Boinc Manager without creating a duplicate icon. |
Send message Joined: 29 Aug 05 Posts: 15560 |
Yes, stressing that something isn't doing what you want it to do is poor programming is going to help. With stressing I meant, you're posting it in bold, you're laying emphasis on that sentence. Ever thought of the other meanings for stress? Why not a switch to open Boinc Manager window without another system tray icon instance? To do the exact same thing that you can do using the mouse. You're still thinking that BOINC Manager does anything significant. If you want to start BOINC without it showing in the system tray - as the icon you see in the system tray is that for BOINC Manager - then you either install BOINC as a service, or you start BOINC with boinc.exe --detach The --detach switch will close the command line window. At present, after you've started BOINC with BOINC Manager, you can also let the client (boinc.exe) continue - even when not installed as a service - by closing BOINC Manager and unchecking "Stop running science applications on exiting Manager?" on the exit dialog. That way BOINC will run unhampered in the background, no icon visible anywhere. THAT IS POOR PROGRAMING More stressing. it creates a duplicate instance of.. No, it creates a duplicate BOINC Manager, so you can navigate to its Advanced view->Advanced menu->Select computer and continue from there. I know that. I use it for having one BM for my local system and one for my remote system, in the other room, sitting next to the TV. Poor programming or not, you're barking up the wrong tree at the point of keyboard shortcuts to open something from the system tray. Bark at Microsoft. As far as I can see, they do have the option to use keyboard shortcuts to switch to programs running in the system tray, but it isn't easily accessed and only seems to work on their own brand keyboards. CTRL+Windows Logo+TAB: Moves focus from Start, to the Quick Launch toolbar, to the system tray (use RIGHT ARROW or LEFT ARROW to move focus to items on the Quick Launch toolbar and the system tray) I'll ask the developer for Windows to come take a look at this thread, see if he knows a shortcut in Windows proper. |
Send message Joined: 8 Mar 10 Posts: 17 |
All I am trying to do is run a simple macro that will change the % CPU Time. That is all. I cannot do that simply and easily because there is no way to open the Boinc Manager window without it creating another instance of the System Tray icon unless a mouse command is used. That is the only point I am trying to make. Using the mouse commands creates a host of problems in the macro - what ever the mouse clicks on must be in the exact same location every time the macro runs. The key words here are EASILY and SIMPLY. There should be a non-mouse method to re-open the Boinc Manager window - without having Boinc Manager run another instance - it can be done with the mouse. Why not a method without the mouse? (I do not mean keyboard shortcuts either) That is the problem - if you don't use a mouse you can't do it. That is bad programming - ask your own expert. If there is already a way to complete the task (mouse method) then adding an alternate method is simple - the process is mearly duplicated with minor changes. Windows keyboard shortcuts are not what I am talking about and I never mentioned Windows keyboard shortcuts. There should be a method (run time command switch) to open the Boinc Manager window without another instance running. The current command to open Boinc Manager is this: C:\Program Files\BOINC\boincmgr.exe (this always opens another instance) The command could be something like this - using my suggestion - last message: C:\Program Files\BOINC\boincmgr.exe /n (Opens Boinc Manager window only - no icon) This is not a Windows shortcut - it is a run command (with optional switches). Keyboard shortcuts are only used in the macro after the Boinc Manager window opens - to open the Preferences dialog window. Here is a copy of the macro I was trying to use: Run 'C:\Program Files\BOINC\boincmgr.exe' Wait until the window of which caption contains 'BOINC Manager - (localhost)' is existed. Keystroke: F10 Keystroke: D Keystroke: P Series keystrokes : '{Shift+TAB}{Shift+TAB}{Shift+TAB}{Shift+TAB}' Series keystrokes : '{5}{Return}{Return}' Keystroke: Ctrl +W Which of course opens another instance of Boinc Manager. I had to substitute the following for the first line to use the mouse instead (and change the way my computer displays the Boinc tray icon). Move mouse activity (2 actions) - '' Click mouse right button at (1785, 1025) Move mouse activity (2 actions) - '' Click mouse left button at (1787, 912) As you can see the mouse clicks at specific locations - which is why this solution is not ideal. By the way for a comprehensive list of Windows keyboard shortcuts click this link: http://www.noblemd.info/Shortcuts.html |
Send message Joined: 20 Dec 07 Posts: 1069 |
Why do you insist on using BOINC manager for that purpose? It's a Graphical User Interface (as stated previously) not a macro interface. As Ageless pointed out, you can easily use the command line interface in combination with the text (xml) format configuration files. Gruß, Gundolf Computer sind nicht alles im Leben. (Kleiner Scherz) |
Send message Joined: 25 Nov 05 Posts: 1654 |
Michael As people keep saying, to do what you want to do, you have to use your macro on boinc.exe, the "client" part of BOINC. The options for changing things that you can see in the manager, don't do anything to the manager. They're passed on to the hidden daemon, boinc.exe, (aka the client), which then gets changed. And you have to do the same thing. Alter the daemon, and then the manager will show the changes. |
Send message Joined: 26 Aug 05 Posts: 164 |
For something simple, using boinccmd is what your looking for. boinccmd was designed for this kind of situation. Here is a batch script to do what Jord was suggesting: @echo off rem rem Change the maximum amount of CPU BOINC is allowed to use. rem SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION rem Add BOINC's executables to the path for this script SET PATH=%PATH%;%ProgramFiles%\BOINC rem Determine the global prefs override file name and location SET GLOBALPREFS=%ProgramData%\BOINC\global_prefs_override.xml rem What Max CPU should BOINC be allowed to use? SET MAXCPUUSAGE=%1 rem Modify the override file echo ^<global_preferences^ > %GLOBALPREFS% echo ^<cpu_usage_limit^>%MAXCPUUSAGE%^</cpu_usage_limit^> >> %GLOBALPREFS% echo ^</global_preferences^> >> %GLOBALPREFS% boinccmd --read_global_prefs_override ----- Rom BOINC Development Team, U.C. Berkeley My Blog |
Send message Joined: 8 Mar 10 Posts: 17 |
Because Boinc Manager is already running and why not use it – that is what it is there for - to be the MANAGER for Boinc. I use it all the time for doing the same thing manually, so why not use it to make that one SIMPLE change at the time I schedule the macro to run. It is simple and it is easy. It would be even simpler and easier if Boinc Manager were properly writen. -------------------------- Boinc Manager should have the ability to make changes based on a scheduled time (Similar to the Day of the Week Override): On Monday thru Friday at 8:00AM change the % CPU Time to 10% // At 5:00PM change the % CPU Time to 90%. On Saturday & Sunday don't change the rate. This type of ability should be programmed into Boinc Manager - have the program do the work – that is what programs are for - It is programming in its simplest form. |
Send message Joined: 26 Aug 05 Posts: 164 |
Okay, what scripting/macro language are you trying to use to do all of this? ----- Rom BOINC Development Team, U.C. Berkeley My Blog |
Send message Joined: 8 Mar 10 Posts: 17 |
Thanks, much appreciated. I'll definetly try that - run the batch file you sent from the time scheduled macro. With the settings I want to change of course. ------------------------- As I said in my previous post: Boinc Manager should have the ability to make changes based on a scheduled time (Similar to the Day of the Week Override): |
Send message Joined: 8 Mar 10 Posts: 17 |
The program is called Macro Expert by GrassSoft. I am trying your batch file though. |
Send message Joined: 8 Mar 10 Posts: 17 |
The batch file seems to try to work, however, reguardless of what I set SET MAXCPUUSAGE=%5 or SET MAXCPUUSAGE=%70 (in my two cases) it changes the value to 95% |
Send message Joined: 26 Aug 05 Posts: 164 |
The batch file seems to try to work, however, reguardless of what I set %1 represents the first commandline parameter for the batch file. change it to 80.0 or 10.0 if you are going to hard code it. ----- Rom BOINC Development Team, U.C. Berkeley My Blog |
Send message Joined: 26 Aug 05 Posts: 164 |
The program is called Macro Expert by GrassSoft. Hmmmm, the documentation on Macro Expert leaves much to be desired. You'll want to use: http://www.macro-expert.com/macro-manual/action-flow-ifwnd.htm Basically you'll want to look for the tray icon window by class name "BOINCManagerSystray", send it a mouse right-click event, then choose the Open BOINC Manager menu item. Avoid screen coords, as those will change depanding on the order of the applications launched at logon. In Visual Test it would look like this: HWND hWnd hWnd = FindWnd("", "BOINCManagerSystray", FW_ALL, 1) If (hWnd) Then SendKeys(hWnd, "{Shift-F10}") MenuSelect("Open BOINC Manager") EndIf As Jord already pointed out, people use BOINC Manager to watch several computers on a network, so treating it like other single instance applications isn't going to work. ----- Rom BOINC Development Team, U.C. Berkeley My Blog |
Send message Joined: 8 Mar 10 Posts: 17 |
Ok, my first problem was caused by the path being wrong - fixed that and changed the SET MAXCPUUSAGE=80.0 - still does not work. The file changes but not the % CPU Haven't batch files in a very long time - forgot %x is variables. If I use the command line parameter now do I add the % ? I run the batch file with: D:\SETICPU.bat |
Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.