Actually I don't know your exact name for the trigger, that's why I use matches(). It can be made stricter, by using the exact trigger name. If you use everyday and don't change the default name, then your expression will be
No need to use matches(), as the expression above is better and tighter check.
That's a nice idea, to have a new conditon (probably name as "Triggerer), which check what is the trigger. This condition can access the trigger name directly, so we can choose from available trigger or key in our own, such "Manual" (execution). The input box will be similiar to execute flow action, where we can choose multiple trigger name.
But feature will be added in priority. This function can be easily done using expression, so I don't think it will have first priority, unless it is easy to be implemented (there are a lot of other feature requests queuing already). Beside, the trigger name can actually vary not just only limited to that flow. You have 3 triggers, we think there will be 4 possible trigger name; 3 from flow's trigger, 1 is manual. However, if you use execute flow from other flow, the trigger name will based upon the caller flow. So trigger name can be any name of your other flow's trigger. Thus, it is better to stick with expression, as we have more flexibility dealing with the name later.
Next, as I have finished my
parallel style explanation; I see the chance to make use of it, to increase the perfomance of the flow. You have 3 triggers now, and do 2 time checking already. As you can see at my thread, it is better to make it parallel when we have multiple choice with only one allowed.
Your trigger are Display State: On, Display State: Off, Time: everyday 00:00 . It is better now to make 3 parallel condition expression to check each of them, rather than using 2 nested if. So you have 3 expression connected directly to trigger.
Condition Expression 1 : trigger == "Display State: On"
Condition Expression 2 : trigger == "Display State: Off"
Condition Expression 3 : trigger == "Time: everyday 00:00"
All connected in parallel, and have its own action afterward, which is not related to any other branch. Even though you ended up adding additional condition, but when executing, the time needed for screen on/off branch will reduce by approx 100 ms. This will be my best practice for flows with multiple triggers, especially for 3 triggers above.
I have used tasker for 3 years before switching to automagic. The profile has the feature to add exit task. First time switching, single profile with entrance task + exit task in tasker, will require 2 separate flows in automagic. I also think it is a waste. So later I found out almost similiar method (not this trigger name) to combine them into single flow, just by adding a single condition. I know this after 1,5 months using automagic. But still there are a lot one or two tricks pony flow those I haven't combine yet (too lazy to fix anything that is working properly already

).
But now, after keep adding new flow everyweek, I know I should really consolidate the flows now. There is a group of speech output based on time trigger that I have used for a very long time (in tasker), total 8 flows. At first I still thought about using multiple time range to check them, quite time consuming for matching the time range (that's why I am lazy

). But thanks to your question

, I realize I can just simply parallel checking the trigger name and combine them easily into single giant flow with 8 branches. No more nested if needed. 8 flows now can be consolidated into 1 flow.