Does Skype have a keyboard shortcut for switching among conversations?

295

Solution 1

For Mac OS X users:

Command + Alt + or switches between tabs in the main window.

Solution 2

I'd like to add just one thing to the others.

With ALT+1 and ALT+2 you can select the list of contacts/conversations, then use up/down to select a contact, and either space to see the conversation, or enter to get into the conversation (meaning that the focus will go into the edit box).

However, this is still not as simple as using Ctrl+TAB for example... :(

Solution 3

Using the tips by totesz I made a script for Autohotkey.

If you are in windows, I recommend that you get Autohotkey. Then you can use this simple script:

#SingleInstance force
#IfWinActive ahk_class tSkMainForm
;
;   This Skype shortcuts will make pressing Ctrl+Up and Ctrl+Down work
;   to switch between conversation windows.
;   
;   To do that normally we need to focus the Recent panel with Alt+2
;   (Alt+1 will focus the contacts panel)
;   Next we press up or down to switch between conversations
;   Then press enter to move the focus to the input box on the selected
;   conversation
;
;
;   *Note: this only works with the conversations in the "Recent" panel

ConversationUp()
{
    Send, {AltDown}2{AltUp}
    Sleep, 100
    Send, {Up}{Enter}
    return
}

ConversationDown()
{
    Send, {AltDown}2{AltUp}
    Sleep, 100
    Send, {Down}{Enter}
    return
}


;Ctrl+Down move one conversation down
^Down::ConversationDown()

;Ctrl+Up move one conversation up
^Up::ConversationUp()

;Ctrl+Tab move one conversation down
^Tab::ConversationDown()

;Ctrl+Shift+Tab move one conversation up
^+Tab::ConversationUp()

Save the script as skype.ahk, if you have Autohotkey installed, double click the file to run the script. Then you will be able to use the following shortcuts in the Skype window:

Ctrl+Tab or Ctrl+ to move to the next conversation.

Ctrl+Shift+Tab or Ctrl+ to move to the previous conversation.

Solution 4

No.

And indeed there's a feature request for it on Skype's site.

Solution 5

Method 1:
Alt-Tab and rotate through all the windows (including other apps) until you reach the conversation window you want.

Method 2:
If the focused window is not Skype, use a shortcut key (refer to screenshot below) to bring the main Skype window into focus.
Press Alt-2 to get the conversations tab up, then use up-down arrow keys to navigate to the conversation you want.

Hotkey Options

Share:
295

Related videos on Youtube

rabbid
Author by

rabbid

Updated on September 17, 2022

Comments

  • rabbid
    rabbid almost 2 years

    I have a middleware like this:

    class PostModelFormMiddleware(object):
    
    def process_request(self, request):
    
        form = PostModelForm()
        request.post_form = form
    

    This form has a captcha field. What I want to happen in my template is everytime a person hits Submit the captch question refreshes by Javascript to a new one. How do I grab that request.post_form and its data in jQuery?

    Thank you!

    EDIT: More code.

    The HTML:

       <form id="add_post">
    ...
            <input type="hidden" name="math_captcha_question" value="fbc9fcdffbf2b2723ab36e9f341372214daf1be936202d2035">
        6 - 5 = 
    ...
        </form>
    

    I would like to change the value of "math_captch_question" as well as the displayed text. Both of these are initially displayed using the template tag {{request.post_form.math_captcha_question}}

    The jQuery:

     $("form#add_post").submit(function() {
     //Validations and stuff
                var data = {category:category, body:body, nickname:nickname, math_captcha_question:math_captcha_question, math_captcha_field:math_captcha_field};
                var args = {type:"POST", url:"add_post/", data:data, complete:function(res, status) {
                    //Process response
                    //This is where I would like to set new values for math_captcha_question
    
                } };
    
                $.ajax(args);
            }
    
    
            return false;
    
        })
    

    /add_post/ view:

    def add_post(request):
        if request.method == 'POST':
    
            if form.is_valid():
               #do stuff
               return HttpResponse("success")
    
            else:
                return HttpResponseServerError("fail")
    
  • mr-euro
    mr-euro over 14 years
    OK, been trying a bit now. If you go to the conversations tab and use the up and down arrow keys then you can actually navigate pretty easy within the conversations. Simply press Space when you need to select one. In case you just need swapping between two then it is simply: down + space. To go back: up + space.
  • mr-euro
    mr-euro over 14 years
    One problem with above is that focus on the writing box is lost...
  • rabbid
    rabbid about 13 years
    Hi, Thanks for your reply. Yeah I already have it in the template. What I don't know how to do is to grab the new form that the middleware spits out through jQuery. I know how to replace old value with new value through jQuery. This new value is floating... somewhere... I tried to figure it out through Firebug, but I couldn't find it. Ideas?
  • Torsten Engelbrecht
    Torsten Engelbrecht about 13 years
    Hm, can't really help without some code snippet from your side (the jQuery part you want to replace the value for a field in the form).
  • Torsten Engelbrecht
    Torsten Engelbrecht about 13 years
    My guess is that you get the new value for math_captcha_question from the response of the POST request? Before you use jQuery I would suggest you to add an id or class to the math_captcha_question input. Assuming the id is "id_math_captcha_question" you should then be able to do something like $("form#add_post #id_math_captcha_question").attr("value", new_value_from_post_response); in the lines you mentioned in you JS.
  • Torsten Engelbrecht
    Torsten Engelbrecht about 13 years
    Ok, then one last code addition I think: How does your view handling the post request to the url "add_post/" look like? Btw. "add_post/" looks like a relative URL. Maybe its better to use absolute URL's kike "/add_post/", simply to avoid URL dependency issues.
  • rabbid
    rabbid about 13 years
    Actually the new value of math_captcha_question is computed in PostModelFormMiddleware.process_request(), my first piece of code, which is executed everytime a request comes in. The POST response itself is just text that says success or fail. I hope that makes sense...
  • Torsten Engelbrecht
    Torsten Engelbrecht about 13 years
    See my edits in the answer. Though I think the way you are doing it is confusing (using middleware and view). Just the view should be enough. The middleware is definitely the wrong approach when validating a form.
  • Torsten Engelbrecht
    Torsten Engelbrecht about 13 years
    Wait, you also use the middleware to diplay the form in the first place (I forget). In this case you can keep the middleware. Even better would be a context processor though. Just make sure you use the PostModelForm directly for validation in your view like in my answer.
  • rabbid
    rabbid about 13 years
    Thanks for the answer! Yes actually the only purpose the middleware serves is to serve a form on every template. I didn't want to have to return a form in every view that I have. This way seemed more straightforward. Yeah, I figured I have to return the values I wanted in the view's response. I actually want the captcha to be updated regardless of success or error. I might return a simple JSON response to help. Can you tell me more about how to replace the middleware with context processor? Thanks!
  • Torsten Engelbrecht
    Torsten Engelbrecht about 13 years
    About context processors check docs.djangoproject.com/en/dev/ref/templates/api/…. Its way easier then dealing with middleware's. Each view which is rendered with context_instance = RequestContext(request) will then use the context_processors provided in TEMPLATE_CONTEXT_PROCESSORS setting`. If you are not attempting to change request or response objects and you just need a variable in all views which render templates then choose context processors over middleware.
  • Mikhail
    Mikhail over 11 years
    +1, this is a dirty hack, but it works, and I love it :)
  • Mikhail
    Mikhail over 11 years
    It seems like Alt+2 is now not working in skype... Do you know, what's the reason?
  • Vicro
    Vicro over 11 years
    I have not used Skype for Windows in a while, maybe they changed something in a recent update? What version of Skype are you using?
  • Vicro
    Vicro over 11 years
    Just updated my Windows Skype, the script still works. Did you change something in the script? or Have some other Autohotkey scripts running?
  • Mikhail
    Mikhail over 11 years
    Script is totally fine, I just manually press Alt+2 and the tab with recent conversation doesn't get selected. However, sometimes, it does work. And Alt+1 always works. I have no clue. I'm using the latest Skype under Windows 7 x64.
  • Mikhail
    Mikhail over 11 years
    Hey, I just noticed Alt+2 began to work after I closed Photoshop. However, it still was working after I reopened Photoshop. Still not sure what does this mean.
  • Mike Lyons
    Mike Lyons over 9 years
    You'd think they'd make this consistent between platforms, but on MSFT's own platform this shortcut doesn't exist. sigh
  • jeromej
    jeromej almost 9 years
    Doesn't work for me.
  • Vilx-
    Vilx- almost 9 years
    Odd, I don't see that option, and I'm using the latest Skype on Windows 10.