TaskbarButton.cpp 711 B

123456789101112131415161718192021222324
  1. #include "TaskbarButton.h"
  2. #include <LibGUI/GAction.h>
  3. #include <LibGUI/GWindowServerConnection.h>
  4. #include <WindowServer/WSAPITypes.h>
  5. TaskbarButton::TaskbarButton(const WindowIdentifier& identifier, GWidget* parent)
  6. : GButton(parent)
  7. , m_identifier(identifier)
  8. {
  9. }
  10. TaskbarButton::~TaskbarButton()
  11. {
  12. }
  13. void TaskbarButton::context_menu_event(GContextMenuEvent&)
  14. {
  15. WSAPI_ClientMessage request;
  16. request.type = WSAPI_ClientMessage::Type::WM_PopupWindowMenu;
  17. request.wm.client_id = m_identifier.client_id();
  18. request.wm.window_id = m_identifier.window_id();
  19. request.wm.position = screen_relative_rect().location();
  20. GWindowServerConnection::the().post_message_to_server(request);
  21. }