Prepare the onions: Heat a nonstick skillet to medium; add oil, onions and salt. Sauté the onions over medium to medium-low heat for about 30 minutes, stirring often, until the onions become soft and browned. Add the vinegar and swirl into the onions. Sauté until the liquid is absorbed/evaporated. Let cool.
Prepare the mushrooms: Heat a nonstick skillet to medium; add oil, mushrooms, salt and pepper. Sauté the mushrooms over medium heat for about 10 minutes, stirring often, until they are softened. Add the wine and sauté until the liquid is absorbed/evaporated. Let cool.
Prepare the butter: Mix butter ingredients in a small dish.
Assemble and grill the sandwich: (These are instructions for one sandwich, then repeat to make another): Spread butter on 2 slices of bread. Place the bread, butter-side-down, on a nonstick skillet. Top with a layer of cheese, then ½ of the onions, then ½ of the mushrooms. Add a second layer of cheese on top of the mushrooms. Add the 2nd slice of bread, butter-side-up, and set the pan over medium heat. Place a lid on top. Watch it closely. You want it just toasted and cheese beginning to melt before you flip it. Use a spatula to peek underneath, and adjust heat as needed. Flip and toast the other side. When properly toasted on both sides, remove to a plate, slice and eat. Repeat to make a second sandwich.