There have been quite a few makros in the past, but I couldn't find any working ones. So I decided to make my own and post it here.
It might be not 100% perfect, so feel free to make adjustments. I try to explain it as much as possible:
Queue specific BG, for example Eye of the Storm
/run TogglePVPUI()
/click HonorFrameTypeDropDownButton
/click DropDownList1Button2
/click HonorFrameSpecificFrameButton3
/click HonorFrameQueueButton
/run TogglePVPUI()
/click PVPReadyDialogEnterBattleButton
Lines Explanation:
1. opens pvp window
2. presses the button for the type of the bg (random or specific), this line is optional, see further below. include it to be safe.
3. choses specific BGs
4. choses the type of the specific bg, 3 = Eye of the Storm (1 would be WSG, 2 arathi, 4 alterac, 5 gilneas, 6 twinpeaks, 7 silvermine and so on. Isle of conquest would be 11)
5. joins the Bg queue
6. this closed the honor window again, else it would be open and you would have to close it manually (everything until here, its only one click)
7. Joins the BG (click makro again if queue pops)
You can also queue for two specific BGs in one makro simply by repeating the commands like this:
/run TogglePVPUI()
/click HonorFrameTypeDropDownButton
/click DropDownList1Button2
/click HonorFrameSpecificFrameButton4
/click HonorFrameQueueButton
/click HonorFrameSpecificFrameButton3
/click HonorFrameQueueButton
/run TogglePVPUI()
/click PVPReadyDialogEnterBattleButton
Hint: This sometimes does not work properly, i.e. it works for some combination(3 + 4 works, 3+10 does not). you could simply create two makro for each BG and create a new makro to click those 2 makros and you will still have only one button to press.
Random BG:
If you want to join a random bg, you simply have to use this makro:
/run TogglePVPUI()
/click HonorFrameTypeDropDownButton
/click DropDownList1Button1
/click HonorFrameQueueButton
/run TogglePVPUI()
/click PVPReadyDialogEnterBattleButton
Line 2 and 3 here are needed to change your settings in the honor window. This allows you to mix both makros together and keep their functions, if you want to do so.
If you dont play any specific BGs, you can simple use:
/run TogglePVPUI()
/click HonorFrameQueueButton
/run TogglePVPUI()
/click PVPReadyDialogEnterBattleButton
PS: there is also a makro for pet battles, which is a queue and join at the same time, its:
/script C_PetBattles.StartPVPMatchmaking();
/run PetBattleQueueReadyFrame.AcceptButton:Click()
PS1: Depending on your makros, they will extend the 255 digits. In this case you could use the addon: makro toolkit, to extend your makro
PS2: I recommend to use the addon "Flask Task Bar", this will start your taskbar flashing, if your queue pops. Specific BGs can have longer queue times and you don't want to miss them.
PS3: You can type /framestack in your chat which allows you to see the name of the buttons which you can use in your click markos via /click <buttonname>. You have to type /framestack again to cancel this mode. This way you have play around and figure new makros for yourself.
PS4: This everything works for me. If you have any additional information or errors, pls let me know.