555 monostable/astable on one chip
Here is what I ended up using in one of my toy projects due to shortage of components (didn't have fancier switches):



The switch S1 controls whether the timer is running in astable or monostable mode. In astable mode (when S1 is open) R1, R2, and C1 control the time constants of the timer as usual. In monostable mode (when S1 is closed) the time constant is controlled by R3 and C1 while S2 is used as a trigger switch.

This circuit can be built using only a single 555 chip and a simple SPST switch as well as a SPST push-button. However there are several limitations/drawbacks to keep in mind with this circuit:


The resistor R3 needs to have a sufficiently low value because it forms a potential divider in series with R2 when pin 7 is discharging to ground. If R3's value is too high compared to R2's, then the voltage at pin 2 will fall below the trigger value and the circuit will revert back into an astable behavior.
Monostable trigger/timing behavior: In monostable mode the timer does not start when the S2 button is pressed (closed temporarily) as usual, but when the button is released (opened again) instead. This behavior might or might not be desired. In my case it was exactly what I needed.
Power consumption: In monostable mode while S2 is open the 555 timer is constantly sinking current through the discharge pin 7. This power draw could be significant depending on the values of R1 and R3 and your particular application.