To make caramelized onions:
1. Set a large, heavy (not non-stick) skillet oven medium heat. Add the oil, onions, and salt. Cook, stirring occasionally, until onions begin to brown, about 12-18 minutes.
2. Turn down the heat to medium-low and cook, stirring occasionally, until onions are medium brown, about 45 minutes, adding more oil if they stick too much.
3. Add balsamic vinegar, and cook stirring occasionally until onions are dark brown, about 15 minutes. Remove from heat.
To assemble sandwiches:
1. Butter one side of both pieces of your bread.
2. Turn on the broiler.
3. Set all sandwiches on an oven-proof skillet over medium heat.
4. Place 1 piece of the bread buttered side down. Arrange caramelized onions on top of bread, sprinkle with nuts, top with 1 layer of apples and then cheese. The cheese should be on top so that it melts quickly under the broiler and the nuts to be next to the onions so that they stick. Cook sandwiches until bread is desired browness and crispness.
5. Pop the skillet under the broiler for 1-2 minutes, just until the cheese melts. Check every 20 seconds since broilers vary widely.
6. Return the skillet to the stove top on medium heat. Top with the second piece of bread, placing it buttered side up. Flip the sandwiches, and cook until the bread is golden brown on the bottom.