Index: binaries/data/config/default.cfg =================================================================== --- binaries/data/config/default.cfg +++ binaries/data/config/default.cfg @@ -167,6 +167,7 @@ ; > HOTKEYS ONLY chat = Return ; Toggle chat window teamchat = "T" ; Toggle chat window in team chat mode +privatechat = "L" ; Toggle chat window with last selected private chat ; > QUICKSAVE quicksave = "Shift+F5" Index: binaries/data/mods/public/gui/credits/texts/programming.json =================================================================== --- binaries/data/mods/public/gui/credits/texts/programming.json +++ binaries/data/mods/public/gui/credits/texts/programming.json @@ -145,6 +145,7 @@ {"nick": "Offensive ePeen", "name": "Jared Ryan Bills"}, {"nick": "Ols", "name": "Oliver Whiteman"}, {"nick": "olsner", "name": "Simon Brenner"}, + {"nick": "OptimusShepard", "name": "Pirmin Stanglmeier"}, {"nick": "otero"}, {"name": "Nick Owens"}, {"nick": "Palaxin", "name": "David A. Freitag"}, Index: binaries/data/mods/public/gui/session/hotkeys/misc.xml =================================================================== --- binaries/data/mods/public/gui/session/hotkeys/misc.xml +++ binaries/data/mods/public/gui/session/hotkeys/misc.xml @@ -5,13 +5,17 @@ - openChat(false); + openChat(""); - openChat(true); + openChat(g_IsObserver ? "/observers" : "/allies"); + + openChat(g_LastChatAddressee); + + toggleMenu(); Index: binaries/data/mods/public/gui/session/menu.js =================================================================== --- binaries/data/mods/public/gui/session/menu.js +++ binaries/data/mods/public/gui/session/menu.js @@ -203,7 +203,7 @@ }); } -function openChat(teamChat = false) +function openChat(command) { if (g_Disconnected) return; @@ -211,7 +211,6 @@ closeOpenDialogs(); let chatAddressee = Engine.GetGUIObjectByName("chatAddressee"); - let command = teamChat ? (g_IsObserver ? "/observers" : "/allies") : ""; chatAddressee.selected = chatAddressee.list_data.indexOf(command); Engine.GetGUIObjectByName("chatInput").focus(); Index: binaries/data/mods/public/gui/session/messages.js =================================================================== --- binaries/data/mods/public/gui/session/messages.js +++ binaries/data/mods/public/gui/session/messages.js @@ -30,6 +30,11 @@ var g_ChatTimers = []; /** + * Last selected private chat. + */ +var g_LastChatAddressee = ""; + +/** * Handle all netmessage types that can occur. */ var g_NetMessageTypes = { @@ -750,6 +755,10 @@ if (chatAddressee.selected > 0 && (text.indexOf("/") != 0 || text.indexOf("/me ") == 0)) text = chatAddressee.list_data[chatAddressee.selected] + " " + text; + let selectedChat = chatAddressee.list_data[chatAddressee.selected] + if (selectedChat.startsWith("/msg")) + g_LastChatAddressee = selectedChat; + submitChatDirectly(text); }