Skip navigation
16932 Views 45 Replies Latest reply: Sep 29, 2010 10:59 AM by wroot RSS
n1ck Bronze 15 posts since
Nov 3, 2008
Currently Being Moderated

Nov 25, 2008 5:04 AM

SparkTabbedPane (Externalizing Tabs)

Hi Guys,

 

I've added a function to externalize tabs (drag and drop).

Here is the Patch.

Would be nice, if it will be tested by some users and reporting the bugs here.

 

Greetings

Niklas

 

 

EDIT: newest version added to attachment

Attachments:
    • wroot KeyContributor 6,845 posts since
      Jan 24, 2005
      Currently Being Moderated
      Nov 13, 2008 1:36 PM (in response to n1ck)
      Re: SparkTabbedPane (Externalizing Tabs)

      I want! I just didnt notice your message before. How can i try your patch? I already has a svn copy and i can compile it with NetBeans. How can i apply your patch to this source code?

       

      As about history. Maybe it's worth splitting this functionalities? Personally i have never experienced history loss, but i know others are complaining often. And there is still two separate JIRA issues for tabs and history

        • wroot KeyContributor 6,845 posts since
          Jan 24, 2005
          Currently Being Moderated
          Nov 15, 2008 2:24 PM (in response to n1ck)
          Re: SparkTabbedPane (Externalizing Tabs)

          I've found the way to apply your patch in Netbeans (didnt have a luck to run this project in Eclipse..). So i'm testing it now. Externalizing (hm, should be a better name for that) is working. The great thing is to see actual presence of a user in a taskbar window. I was asking for that for a tabbed window http://www.igniterealtime.org/issues/browse/ SPARK-935 . Probably i could close that issue if your changes will be submitted to a Spark release.

           

          Now issues and requests.

           

          Maybe you can add an "Externalize" button to a tabbed chat window so one could easily move chat window to a stack and out of it.

           

          When in a externalized mode chat window is not flashing in the taskbar upon message receiving. Also it jumps in the front, though i havent selected Bring to the front option.

           

          As for a history. I see no difference. It still doesnt save the new message if i kill the Spark right after receiving it. On a normal exit it saves the history with the old source code and with your patch.

        • wroot KeyContributor 6,845 posts since
          Jan 24, 2005
          Currently Being Moderated
          Nov 15, 2008 2:32 PM (in response to n1ck)
          Re: SparkTabbedPane (Externalizing Tabs)

          Maybe the history wasnt saving because i was killing the batch file which is launching the source build.

  • wroot KeyContributor 6,845 posts since
    Jan 24, 2005
    Currently Being Moderated
    Nov 16, 2008 2:33 PM (in response to n1ck)
    Re: SparkTabbedPane (Externalizing Tabs)

    I was thinking. What about making the option to externalize the tab always available (via a button on the chat window toolbar). And the same with the button letting to put a separate tab to a stack. And the option in the preferences will only turn on the separate windows for the new chats.

     

    This is because maybe one prefer to use tabbed view, but occasionally wants one tab to be a separate one. To do this with the current approach one would need to change the preference twice.

      • wroot KeyContributor 6,845 posts since
        Jan 24, 2005
        Currently Being Moderated
        Nov 24, 2008 1:42 PM (in response to n1ck)
        Re: SparkTabbedPane (Externalizing Tabs)

        n1ck wrote:

        You said that the option in the preferences should only turn on the separate windows for the new chats, but this is what it already does.

        Yes. I was just saying that this option should work as it is. But one shouldn't have to leave that turned on just to be able to detach and attach tabs. I mean i still want new chats to be opened in tabs and i only want some of them to detach. Then i will leave that option turned off. But there still should be "detach" and "attach" buttons visible and working in the chat window.

          • wroot KeyContributor 6,845 posts since
            Jan 24, 2005
            Currently Being Moderated
            Nov 25, 2008 5:29 AM (in response to n1ck)
            Re: SparkTabbedPane (Externalizing Tabs)

            Niklas, everything is fine, in essene we were talking about the same. I agree with the current approach. Drag and drop is a nice thing to have too. Though, maybe this won't be very intuitive for novice users. I dont think additional button would harm anyone We can try releasing this feature this way (without the additional Detach button) and wait for a feedback from the users.

             

            fgrsa, i can attach new compiled spark.jar a bit later (4-5 hours).

              • wroot KeyContributor 6,845 posts since
                Jan 24, 2005
                Currently Being Moderated
                Nov 25, 2008 10:06 AM (in response to n1ck)
                Re: SparkTabbedPane (Externalizing Tabs)

                I was applying this patch to the 2008.11.15 trunk. Issues i've found:

                 

                * Message popups are now appearing, but the detached window is not flashing in the taskbar. I think it should.

                * Also clicking on such message popup doesnt do anything in detached mode. Normally it brings the chat window in to the front.

                * Another issue is that if i already has some user in a tab and this user sends me a message, then an additional detached chat window is opened. I think it should check if a chat is already open with that contact and just flash the already open chat widnow with a tab. This is happening because the option "Open new chats in separate windows" is turned on. But if a tab is already open, this should count as an old chat.

                 

                Drag and drop is a bit tricky. There is no visual effect while you are dragging the tab. So it takes some time to get used to it. You can only drag the tab out of the tabs stack when dragging upwards or downwards. Dragging to the sides doesnt do anything. Not a big problem. But i think we should definitely have a Detach button. Because attaching is done only with a button. Functionality should be the same for the detaching. And drag and drop could be just as a bonus option

                 

                History is indeed saving even after killing the Spark process.

                 

                Rodrigo, i'm attaching the newest patched spark.jar, but this is still for the testing purposes. It still has some little issues.

                Attachments:
  • wroot KeyContributor 6,845 posts since
    Jan 24, 2005
    Currently Being Moderated
    Nov 16, 2008 2:40 PM (in response to n1ck)
    Re: SparkTabbedPane (Externalizing Tabs)

    And about the naming. Daniel in http://www.igniterealtime.org/issues/browse/ SPARK-893 is suggesting Detaching and reattaching. This sounds better, imho. Externalize button - "Detach this tab to a separate window", Internalize button - "Reattach this window to a tab stack". Option in the preferences - "New chats open in the separate windows". Just a suggestion.

  • fgrsa Bronze 2 posts since
    Nov 18, 2008
    Currently Being Moderated
    Nov 18, 2008 4:25 AM (in response to n1ck)
    Re: SparkTabbedPane (Externalizing Tabs)

    Hello,

     

    I'm implement this solution, but don't have window alert or warning (flashes).How can enable this feature?

     

    Tks

     

    Rodrigo Marx

    • wroot KeyContributor 6,845 posts since
      Jan 24, 2005
      Currently Being Moderated
      Nov 18, 2008 8:26 AM (in response to fgrsa)
      Re: SparkTabbedPane (Externalizing Tabs)

      fgrsa wrote:

       

      I'm implement this solution, but don't have window alert or warning (flashes).How can enable this feature?

      You dont see alerts and flashing because message window jump in the front of other windows. When the chat window is in the front it doesnt show alerts and the window doesnt flash. This issue should be fixed in the next patch.

       

      Niklas, great. Thanx for you work

  • wroot KeyContributor 6,845 posts since
    Jan 24, 2005
    Currently Being Moderated
    Dec 3, 2008 11:11 AM (in response to n1ck)
    Re: SparkTabbedPane (Externalizing Tabs)

    Nick. I have noticed one more issue. Though i'm not sure yet. But it seems that i sometimes dont get the message popups and a chat window is not flashing when i'm in a muc room. When i switch to the original spark.jar then it works fine. Also tab's title stays red even when i bring muc chat window to the front and this tab is the only one. Usually it should change to the normal state in that case. Now i have to click on the tab to make it back to normal.

  • Jorre Meijrink Bronze 11 posts since
    Sep 17, 2008
    Currently Being Moderated
    Jan 15, 2009 12:13 AM (in response to n1ck)
    Re: SparkTabbedPane (Externalizing Tabs)

    Hi Niklas,

     

    I am using the spark.jar provided by wroot (last attachment he posted), I think you are doing a great job!

     

    I don't know if I'm 'beta testing' on old version, but below you can find a few remarks so far (I'm just using it for 10 minutes now):

     

    Small issues:

    - If you have the tabs configured to be at the bottom of the chat pane and the window is at the bottom of your screen and you drag one tab out than the newly created chat window is placed partly off-screen (probably due tot the mouse position).

    - It would be nice if the drag movement would immediately lead to UI response (like dragging a semi transparent tab), now the UI responds after the mouse-up.

     

    Enhancements:

    - Make the taskbar button 'flash' on new message arrival (you mentioned this earlier yourself)

    - Make the taskbar icon change when the other party is writing a message / goes idle / etc. (Maybe the goes idle part is already implemented.)

     

    Keep up the good work!

     

    Kind regards,

     

    Jorre Meijrink

    • wroot KeyContributor 6,845 posts since
      Jan 24, 2005
      Currently Being Moderated
      Jan 22, 2009 11:57 PM (in response to n1ck)
      Re: SparkTabbedPane (Externalizing Tabs)

      Great. I will test it and attach newer spark.jar here later (after i get home from work)

      • wroot KeyContributor 6,845 posts since
        Jan 24, 2005
        Currently Being Moderated
        Jan 23, 2009 9:14 AM (in response to wroot)
        Re: SparkTabbedPane (Externalizing Tabs)

        Attaching the last compilation.  Jorre, showing the presence of user in a detached tab is working and also it shows typing notification. Also it shows blinkin envelop icon when you get a message, though personally i would prefer to simple taskbar entry blinking as it is more visible. Such envelop icon blinking would fit for http://www.igniterealtime.org/issues/browse/ SPARK-971 (blinking in systray).

         

        Jorre, issue with window being out of the bounds is still present, but it is not related to tabs being on the bottom of the window. It behaves the same with tabs on top. It puts detached tab titlebar at the mouse pointer position i think. Not a big issue if you window is in the middle of the screen and you drag upwards.

         

        Clicking on message popup is fixed now.

         

        There is still issue with MUC. Muc room is showing with offline icon in taskbar and i dont get message popups when new messages arrive in a room, and taskbar entry is not flashing. Also it shows bolded red room title even if muc room is focused and i have to click on that tab to make it not bolded-red.

         

        This is so far the only issue i've found. Everything else i have reported is fixed.

        Attachments:
        • Jorre Meijrink Bronze 11 posts since
          Sep 17, 2008
          Currently Being Moderated
          Jan 26, 2009 12:03 AM (in response to wroot)
          Re: SparkTabbedPane (Externalizing Tabs)

          This is what I call Service (with a captial s)!

           

          Special thanx of course to N1ck for the fixes!

           

          I already downloaded the spark.jar and will start using it today.

           

          Any issues I find I will report here.

           

          Thanks again,

           

          Jorre

        • Jorre Meijrink Bronze 11 posts since
          Sep 17, 2008
          Currently Being Moderated
          Jan 26, 2009 12:19 AM (in response to wroot)
          Re: SparkTabbedPane (Externalizing Tabs)

          Hi wroot,

           

          About the replies in your post:

          personally i would prefer to simple taskbar entry blinking as it is more visible. Such envelop icon blinking would fit for http://www.igniterealtime.org/issues/browse/ SPARK-971 (blinking in systray).

          I do agree with you on this one, blinking taskbar entry is also default windows behaviour. Maybe both is best.

           

           

          Jorre, issue with window being out of the bounds is still present, but it is not related to tabs being on the bottom of the window. It behaves the same with tabs on top. It puts detached tab titlebar at the mouse pointer position i think. Not a big issue if you window is in the middle of the screen and you drag upwards.

          I also think it puts it the titlebar on the mouse pointer position, but it just feels unnattural that when you drag it only side-ways the new window is placed below the other window. I still think it would be more natural if only dragging side-ways would put the tab on the same height.

           

          Kind regards,

           

          Jorre

        • Jorre Meijrink Bronze 11 posts since
          Sep 17, 2008
          Currently Being Moderated
          Feb 26, 2009 2:15 AM (in response to wroot)
          Re: SparkTabbedPane (Externalizing Tabs)

          I bumped into the following issues:

           

          1. when you drag a file onto the name of a user in the roster the message pane opens, but you only see the message history, the file transfer itself is not shown.

          2. Spark hangs every now and then (I don't know if this is related to the spark.jar or to something else in the 2.6 beta). Is there a way I can help someone solve this problem by enabling debug-logging or something?

          3. On my PC the online/away status is mostly wrong (I don't know if this is related to the spark.jar or to something else in the 2.6 beta).

          4. If you switch between tabbed and stand-alone the active messages become history.

  • wroot KeyContributor 6,845 posts since
    Jan 24, 2005
    Currently Being Moderated
    Jan 23, 2009 1:24 PM (in response to n1ck)
    Re: SparkTabbedPane (Externalizing Tabs)

    Well, after using it longer i've spotted another issue. After the tab becomes stale (inactive) taskbar shows it as offline, though it could be online or away. This only happens with tabbed pane and you have to bring it up, then the icon becomes offline.

    • wroot KeyContributor 6,845 posts since
      Jan 24, 2005
      Currently Being Moderated
      Jan 28, 2009 2:59 AM (in response to wroot)
      Re: SparkTabbedPane (Externalizing Tabs)

      one more issue:  i have two tabs with offline contacts (user1, user2) open in tabbed mode. Focus is on user2 and tabbed window is minimized. Then user1 logs in. Taskbar icon turns to green. Though it should stay offline, as user2 is in focus and he's offline. If i bring the window up, then it starts to show correct icon (offline).

      same with the typing notifications. if user2 starts typing it will change icon to typing no matter what user is currently focused.

  • wroot KeyContributor 6,845 posts since
    Jan 24, 2005
    Currently Being Moderated
    Jan 29, 2009 12:49 AM (in response to n1ck)
    Re: SparkTabbedPane (Externalizing Tabs)

    recent experience: i'm not responding to some messages fast enough when only an envelop is blinking in the taskbar entry. Usually my taskbar is cluttered with 10-20 windows opened, all with different icons. I just dont notice new message if i'm looking at something in the upper part of the screen.

  • wroot KeyContributor 6,845 posts since
    Jan 24, 2005
    Currently Being Moderated
    Jan 29, 2009 4:48 AM (in response to n1ck)
    Re: SparkTabbedPane (Externalizing Tabs)

    me again :)  Another issue. I wasnt at my desktop for a while and it was locked. When i unlocked it there were two new chat windows in my taskbar but they werent flashing nor with envelop blinking.  I had one separate window with someone sending me messages. If i move it back to stack and that person sends me another message, then another one tab with that person appears and i got the same message in both. Seems that Spark is still handling separate chats and tabbed ones as different types of chats sometimes.

  • alamador Bronze 2 posts since
    Mar 23, 2009
    Currently Being Moderated
    Mar 23, 2009 1:11 PM (in response to n1ck)
    Re: SparkTabbedPane (Externalizing Tabs)

    Any chance for an update to this patch to match one of the newer revisions?

  • pultzy Bronze 1 posts since
    Jan 19, 2010
    Currently Being Moderated
    Jan 19, 2010 9:00 AM (in response to n1ck)
    Re: SparkTabbedPane (Externalizing Tabs)

    Was wondering how I can get this update and can someone tell me (non programmer) how to update this option.  I work with the Military and it is something that has been expressed to have the ability to have multiple chat windows open to visually see what is taken place in rooks.  Most monitor several rooms at one time.

     

    Any help would be great.

  • Georges Bronze 1 posts since
    Sep 29, 2010
    Currently Being Moderated
    Sep 29, 2010 1:50 AM (in response to n1ck)
    Re: SparkTabbedPane (Externalizing Tabs)

    Hello,

     

    Is there any news on this? I'm going to try implement this in the source code myself because I cannot login if I use the .jar file..

     

    We're going to implement this in a fairly large company, and this is the only thing that is holding us back..

     

    Thanks,

    Georges

More Like This

  • Retrieving data ...

Bookmarked By (0)

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points