[Home] [Downloads] [Search] [Help/forum]

Gammon Software Solutions forum

See www.mushclient.com/spam for dealing with forum spam. Please read the MUSHclient FAQ!

[Folder]  Entire forum
-> [Folder]  MUSHclient
. -> [Folder]  General
. . -> [Subject]  Separate windows - ideas, anyone? :)

Home  |  Users  |  Search  |  FAQ
Username:
Register forum user name
Password:
Forgotten password?
(New message)
Subject: Separate windows - ideas, anyone? :)
Name:
Your forum user name.
Register forum user name
Password:
Your forum password.
Forgotten password?
Message:
Message to be posted (in English, please).
Forum codes:
Check this if your message uses 'forum codes' or templates (auto-detected for new posts).
Forum codes Templates

Save this message ...


Subject review (reverse sequence)

Pages: 1  2  3  4 

Posted by Linda   Sweden  (164 posts)  [Biography] bio
Date Tue 21 Mar 2006 11:53 PM (UTC)  quote  ]

Amended on Tue 21 Mar 2006 11:57 PM (UTC) by Linda

Message
I know its been a long time since this was last discussed, and I am not sure where the spawns/separate windows stand today, but I just thought I'd mention an implementation of spawns in a new client that I found really, really nice.

In this particular client, a sidebar is used for the current connections (essentially taking the place of the activity toolbar & the tabs in MUSHclient). This approach allows for a very nice structure of worlds & spawns, like this:

*World One
*****Spawn X
*****Spawn Y
*World Two
*****Spawn Z
*********Spawn A
*********Spawn B

Each world, and each spawn window, has its own activity indicator. You can also choose whether or not to expand or collapse each world to show or hide the spawns beneath it. Spawns can be several levels deep, so you could make a spawn 'folder' called Channels where you keep all your channel spawns, and another 'folder' called Pages where you keep all your page spawns. The 'folders' don't need to be active spawns themselves, they can just be placeholders used for grouping the related spawns.

I have to say that it makes for a very clean and well-structured interface, using this sort of approach. It also seems to make for a very natural treatment of spawns as precisely the same kind of window as a 'main' world window. Just separate in the sense that all the output you see is what matches the pattern, and all the input uses whatever prefix you setup, so that it all goes onto the right channel or to the right person.
[Go to top] top

Posted by Hautbois   USA  (16 posts)  [Biography] bio
Date Sun 21 Aug 2005 09:35 PM (UTC)  quote  ]
Message
Is this idea for separate windows still being pursued/considered? Base on what I have read, it sounds very nice. I only skimmed over most of the posts, but I like what I am seeing. Has a window docking feature been brought up? That is, actually attaching these windows to the world window, so that they can be resized together (as opposed to being resized independently).
I find that I can accomplish much of what I would use these windows for with notepad windows, but I also see these windows making things much easier, and the ability to have the window show the colors exactly as it appears in the world window would be very nice.
I like that they would be child windows to the main MC window, like notepads, because I too do not like having my programs spit windows all over the place.

So...Is this going to be a feature available in a future version of MC?
[Go to top] top

Posted by Nomad980   USA  (9 posts)  [Biography] bio
Date Tue 26 Apr 2005 12:04 AM (UTC)  quote  ]
Message
After reading a lot of the ideas for this and how someone already suggested using tabbed windows, i want to agree to it. what makes it easy for me to use zmud's windows is my ability to tab them. i ahve all the windows tabbed in the top so that i am able to change to them just in one click. the notepad system that is currently set into MC opens another window in the but if i change to the world (which is normally maximized) i will have to restore the world so that i could read the context of the notepad, and that what i've been trying to avoid. the idea about being able to make windows that float on top is somewhat like the status window in zmud which i use but its not necessary at all. its all in the taste really but yeah for me the tabbed windows, or even the ability to be able to see windows like mirc or zmud has it would be nice, having to minimize or restore the window to its original size to be able to see the other windows could get someone killed in a mud heh. sorry if i make no sense or whatnot, i havent slept in 2 days and i think its starting to affect my ability to think.
[Go to top] top

Posted by Nick Gammon   Australia  (18,770 posts)  [Biography] bio   Forum Administrator
Date Thu 07 Apr 2005 04:30 AM (UTC)  quote  ]
Message
I don't really want to spend a lot of time trying to work out how to shoe-horn fixes like that into the MFC libraries, which themselves are very big and hard to comprehend, if you try to do something which is not designed into them.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Phealy   (1 post)  [Biography] bio
Date Sun 20 Mar 2005 03:15 AM (UTC)  quote  ]
Message
Anything happening with this? I'd love to have this feature.
[Go to top] top

Posted by Shadowfyr   USA  (1,774 posts)  [Biography] bio
Date Wed 05 Jan 2005 04:28 AM (UTC)  quote  ]
Message
Ah, yeah. That is true. MFC and other high level libraries probably won't do it. They are mostly designed to allow you to make stuff that acts and looks like an MS product. Thus making it not act in such a limited way... lol

I doubt the code would be too complicated. Most of it would simply be adding a few lines in to add to or override MFC behaviours. Finding how though...

main {
__if (Schrodinger_Cat is Alive or version >= "XP"){
____if version = "Vista" then Performance /= Number_of_Cores;
____call Functional_Code();}
__else
____call Crash_Windows();}
[Go to top] top

Posted by Nick Gammon   Australia  (18,770 posts)  [Biography] bio   Forum Administrator
Date Wed 05 Jan 2005 03:22 AM (UTC)  quote  ]
Message
I'm sure it can be done if enough time is put into it. mIRC doesn't necessarily use MFC, so they are not necessarily using the same tools as me.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Shadowfyr   USA  (1,774 posts)  [Biography] bio
Date Wed 05 Jan 2005 01:02 AM (UTC)  quote  ]
Message
Hmm. Think I have found proof that floating windows can be done the way I suggested.. Download mIRC, if you don't have it, then enter something like:

/window -do @Fred 0 700 300 200

Into the command window. This will cause an 'always on top' window to show up, which remains on top of all other windows, even if you switch to a completely different applications. I assume it must still remain tied to the MDI, though it is external, since it also appears as one of the tabs in the interface.

Oh, and mIRC is from:

www.mirc.com

Obviously the only major difference is the adding of a few things like being able to pop it in and out of the main window itself and some behaviors, like the "snap to the main window if dropped near the edge (+/- say 6 pixels)" stuff.

main {
__if (Schrodinger_Cat is Alive or version >= "XP"){
____if version = "Vista" then Performance /= Number_of_Cores;
____call Functional_Code();}
__else
____call Crash_Windows();}
[Go to top] top

Posted by Shadowfyr   USA  (1,774 posts)  [Biography] bio
Date Tue 28 Dec 2004 08:46 PM (UTC)  quote  ]
Message
Something I read suggested that to make a window sit on top of another MDI window, you have to reassign it 'parent', so it is the child of the window you want to be on top of. Or in other words, you set parent = world_window, instead of parent = MDI_window. Otherwise, you have to tie the state of the world window to the others, so that when ever its state changes, all other windows associated with it are brought to front as well. However, currently notepad windows are probably not tied to any specific world. Its complicated.... Fixing it would probably require making notpads objects tied to each world and require other worlds to access them through special functions that take account of the world they are bound to, not just the notepads name. Its an either or. Either they are children of the world or the MDI, not both.

Or I assume that is the problem.

main {
__if (Schrodinger_Cat is Alive or version >= "XP"){
____if version = "Vista" then Performance /= Number_of_Cores;
____call Functional_Code();}
__else
____call Crash_Windows();}
[Go to top] top

Posted by Nick Gammon   Australia  (18,770 posts)  [Biography] bio   Forum Administrator
Date Tue 28 Dec 2004 07:53 PM (UTC)  quote  ]
Message
I don't think the "on top" attributes of windows allow such fine-tuning.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Gore   (207 posts)  [Biography] bio
Date Mon 27 Dec 2004 10:00 PM (UTC)  quote  ]
Message
sorry for not posting earlier, but it'd be convient if I could have one notepad window stay on top if one world was active, or if just mushclient was active and I could script it so that the notepad window was not on top if I switched worlds, know what I mean? The latter preference would probably be easiest for you to do?
[Go to top] top

Posted by Nick Gammon   Australia  (18,770 posts)  [Biography] bio   Forum Administrator
Date Mon 20 Dec 2004 09:53 PM (UTC)  quote  ]
Message
I suppose it can be done, the activity toolbars are a sort-of case in point.

The problem with this sort of thing is that you (I) end up spending a lot of time working out how to fit these ideas into the existing framework, sometimes with unexpected side-effects.

A couple of recent things that had strange side-effects:


  • The Accelerator idea caused the checkmark to disappear from the Info Bar and main Toolbar menus.

  • Putting the document name into the "document title" made it be impossible to save it.


These are so from left field that you don't even expect to have to test for them.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Shadowfyr   USA  (1,774 posts)  [Biography] bio
Date Mon 20 Dec 2004 07:01 PM (UTC)  quote  ]
Message
Ok.. Done a bit of hunting... Seems what would be needed is to create a non-MDI window (I know this is possible, just not 'standard'). Then come the next trick. Do you want the window to be above everyone else, or only above everything when Mushclient is visible?

http://www.developerfusion.com/show/72/9/

At a guess, I would say using the 'frmFind.Show vbModeless, frmMain' example, where in this case frmMain would be the current world window would do the job, if you simply want it to be on top, when Mushclient is on top. Though I have no idea what effect this would have one a window that is 'supposed' to be moved outside the main window. You might have to use the first example from that page instead.

Hiding and unhiding it when you switch between worlds is an option that could be provided as well. In fact, "auto-hide", "hide when world is not visible", etc. could all be in a right click menu for the window. Same with something to bring up a dialog to set the pre-append text for a input window, or even if it 'has' such a window. Of course, there is the issue that saving those setting can't really be done. In a plugin, there is no way for Mushclient, currently, to write to the plugin with the settings, same with the main world.

http://www.codeproject.com/wtl/wtlsnap.asp

Gives an example of the auto-hide functionality, though most applications that use them tend to set the title bar size to about half normal and same with the font, so that when not in use, they are less annoying. For some uses this would be quite helpful to have. It also includes examples of docking code, though of course, since the idea is to make the window external, it needs to 'snap' to the outer edges of the client when room is available, not the inside.

I am asking on a C++ forum if there are any better examples around, but maybe these will help. Trying to find exactly what you want through google isn't precisely simple. lol But some combination of the snapping/floating functionality is probably what most people are looking for. The auto-hide and other tricks are just nice additions. Also, since MDI vs. SDI are behaviours, not specific states for a window, it should be possible to use the 'pin' for a different purpose, like 'pinning' the window to the client, so it behaves like another MDI, for those that don't want it floating next to the client. The existing purpose for it is sort of the same, except that it forces it in the open state. A different icon might be better for that, like an open book or something.

Anyway, thought I would try to help. I don't know what problems you are actually running into, but this is one time I really wish I did know C++, so I could work out a real example. :(

main {
__if (Schrodinger_Cat is Alive or version >= "XP"){
____if version = "Vista" then Performance /= Number_of_Cores;
____call Functional_Code();}
__else
____call Crash_Windows();}
[Go to top] top

Posted by Shadowfyr   USA  (1,774 posts)  [Biography] bio
Date Mon 20 Dec 2004 05:50 PM (UTC)  quote  ]
Message
Umm. Flannel, shrinking the world window and making it 'fit' in the main window is what most of us have been fighting against. We don't want to have to maximize the main Mushclient window just to fit it, since any external applications we try to use with it then get buried behind Mushclient. Applications do manage to have secondary windows on as always on top. Yes, it is a 'global thing', but I don't think it is necessarilly limited only to the applications primary window. If it was, then tool windows, like the ones in Paintshop Pro wouldn't work.

main {
__if (Schrodinger_Cat is Alive or version >= "XP"){
____if version = "Vista" then Performance /= Number_of_Cores;
____call Functional_Code();}
__else
____call Crash_Windows();}
[Go to top] top

Posted by Flannel   USA  (1,230 posts)  [Biography] bio
Date Mon 20 Dec 2004 05:53 AM (UTC)  quote  ]
Message
Nick, what about when you move the window you also bring it to the front? Just like if you moved it by dragging.
Either that, or add some sort of z direction.

Also, (not nessisarily a new function suggestion) but is there any way to restore/minimize? setting to 0,0,0,0 dimensions to minimize for instance? I guess using that method, you wouldnt have any way to restore. Since you'd be setting a value however you did it. Unless you allowed like 0,0,-1,-1 to be restore or something.
I dont think maximize would really be needed, since it would steal your focus from the world, and that just doesnt seem right.

~Flannel

Messiah of Rose
Eternity's Trials.

Clones are people two.
[Go to top] top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


20,151 views.

This is page 4, subject is 4 pages long:  [Previous page]  1  2  3  4 

[Reply to this subject]  Reply to this subject   [New subject]  Start a new subject   [Refresh] Refresh page

Go to topic:           Search the forum


[Go to top] top

[Home]

Written by Nick Gammon - 5K

Comments to: Gammon Software support
[RH click to get RSS URL] Forum RSS feed ( http://www.gammon.com.au/rss/forum.xml )

[Best viewed with any browser - 2K]    [Internet Contents Rating Association (ICRA) - 2K]    [Web site powered by FutureQuest.Net]