By "click" I mean the post "Running Concurrent Castsequences" by Bigfish.
You create a master "spam" key, which will call other castsequences.
The main key looks like this:
#show Incinerate
/Click MultiBarBottomRightButton1
/Click MultiBarBottomRightButton2
/Click MultiBarBottomRightButton3
/Click MultiBarBottomRightButton4
/Click MultiBarBottomRightButton5
/use 13
/use 14
/cast [pet:imp] Fire Bolt
Then create a castsequence on each of those keys.
In my example, I am using the bottom right horizontal bar, buttons 1-5 (counting from the left).
In BigFish's post, there is the syntax to use any bar you want, and this will work with Macaroon, Dominos, Bartender etc.
Next, open Notepad, Word or whatever.
With a clock/stopwatch, "spam" a key for 10 seconds at the pace you will spam in game.
An ideal speed is at least 2 clicks per second, but 3-5 seems typical; anything you can maintain is good.
After 10 seconds, count how many keys you spammed, and divide by 10, which is your clicks per second.
Now google for: wowwiki +abilities +warlock
Search for each of the spells you wish to use.
We need one (last) ability as a fall-through which is not a dot and has no reuse delay.
For a destro lock, this will be Incinerate.
I choose Immolate, Conflagrate, Chaos Bolt and Incinerate.
Looking up on the wiki, Immolate lasts 15 seconds.
Conflagrate has a 10 second cooldown.
Chaos Bolt has a 12 second cooldown or 10 seconds glyphed.
Curse of the Elements lasts 5 minutes.
My first macro is Curse of the Elements.
Because of the long duration, I use reset=target
#show Curse of the Elements
/castsequence reset=target Curse of the Elements,Null
My second macro is Immolate.
I want to re-Immolate every 15 seconds.
And because it is a dot, and could be spammed, I set reset=target as well.
#show Immolate
/castsequence reset=target Immolate,,,,, (insert 15 commas x your spam speed per second).
My next spell in Conflagrate.
This has a fixed cooldown of 10 seconds.
I want reset=combat, because the spell will not be available on a new target, until 10 seconds passes.
#show Conflagrate
/castsequence reset=combat Conflagrate,,, (10 commas x your spam speed per second)
Same deal for Chaos Bolt.
Incinerate is the fall through, so you can just drag from the spell book.
Or make a macro to insert your assist type, if you use that.
The click sequence will always CotE, then Immolate, then Conflag, then ChaosBolt.
It will do each action in order.
So you can drag the macros around to change the priority.
For trash, drag CotE out completely, and nothing is in that slot to be clicked.
For bosses, drag the macro back and you're using it again.
If you are hit capped for your content, then your spells will always land.
Which means you will never cast Conflag without Immolate already being up.
Similarly Chaos Bolt will never fire, unless Immolate is up and Conflag is on cooldown.
That is, assuming your spam speed is consistent.