title: Making popup GtkMenu transparent and borderless in python Gtk3
body: <p>I'm having trouble making a popup menu borderless and transparent using Python and Gtk3.  Using the same code I can make my main window and a message dialog styled appropriately, so what's wrong with me code? Adding <code>border-style: none</code> <em>(or for each side as below)</em> in the CSS definition only removes the bottom border. Here's a screen shot of what I've got. You can see the main window formatted correctly behind. Cairo is correctly drawing the background of the popup <em>(note the rounded corners inside the white rectangle, but it isn't transparent)</em>.</p>
  
  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="https://i.stack.imgur.com/Xp9nL.png" alt="screenshot"></p>
  
  <p><strong>EDIT</strong> I was able to get the menu transparent by getting the parent of the <code>Gtk.Menu</code> and setting/drawing on it.  But I haven't been able to get rid of the top, left and right borders. Just the bottom.</p>
  
  <p>Here's the relevant code:</p>
  
  <pre><code>def __init__(self):
     ....#other code...
  
     css.load_from_data("""
          .title { background-color: rgba(255, 255, 255, 0); color: rgba(%s,1);}
          .iconview { background-color: rgba(255, 255, 255, 0); color: rgba(%s,1); font-size:%i}
          .background2 { background-color: rgba(%s,0.7);  color: rgba(%s, 1);border-top-style:none; border-left-style:none; border-right-style:none; border-bottom-style:none;}
      """ % (str(sel f.FONT_rgb).strip('[]'),str(self.FONT_rgb).strip('[]'),FONTSIZE,str(self.BG_rgb).strip('[]'),str(self.FONT_rgb).strip('[]')))
      Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(), css,
          Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
  
      parent=self.popup.get_parent()
      screen=parent.get_screen()
  
      parent.set_visual(screen.get_rgba_visual())
      parent.set_app_paintable(True)
      parent.get_style_context().add_class('background2')
  
      for child in self.popup.get_children():
          child.get_style_context().add_class('iconview')
          child.set_app_paintable(True)
      self.popup.get_style_context().add_class('iconview')
      self.popup.set_app_paintable(True)
  
      parent.connect("draw", self.draw_window_cb)
  
  def on_mouse_click(self,widget, event):
      # Check if right mouse button was preseed
      if event.type == Gdk.EventType.BUTTON_RELEASE and self.dragging==False:
  
          if event.button == 3 and path != None:
              self.popup.popup(None, None, None, None, event.button, event.time)
  </code></pre>