Add support Wayland

This commit is contained in:
lsv 2026-04-13 14:48:27 +05:00
parent 59d18e285c
commit 2d17f7096a
4 changed files with 18 additions and 5 deletions

View file

@ -41,9 +41,11 @@ ctlListView::ctlListView(wxWindow* p, int id, wxPoint pos, wxSize siz, long attr
storelongstring = false;
#ifdef __WXGTK__
if (id==CTL_STATUSLIST) {
if (iswayland) {
SetBackgroundColour(wxTRANSPARENT);
SetBackgroundStyle(wxBG_STYLE_PAINT);
} else
SetBackgroundStyle(wxBG_STYLE_TRANSPARENT);
//SetBackgroundColour(wxTRANSPARENT);
//SetBackgroundStyle(wxBG_STYLE_PAINT);
}

View file

@ -88,8 +88,13 @@ void ctlMenuButton::DoProcessLeftClick(wxMouseEvent &event)
// ** Assume that pulldown is to the right of a standard toolbar button,
// so, move the x position back one standard toolbar button's width
menu_pos.x = - tool_size.GetWidth();
menu_pos.x = - tool_size.GetWidth() - button_size.GetHeight() / 2;
menu_pos.y = button_size.GetHeight() / 2 + tool_size.GetHeight() / 2;
if (iswayland) {
wxPoint ps=GetPosition();
menu_pos.x += ps.x;
menu_pos.y =tool_size.GetHeight()+button_size.GetHeight() / 2;
}
#ifdef __WXMAC__
wxSize tbar_size = m_toolBar->GetSize();

View file

@ -101,7 +101,7 @@ extern wxString settingsIni; // The default settings file
extern sysSettings *settings; // The settings manager
extern frmMain *winMain; // The main app window
extern bool iswayland;
extern wxLocale *locale; // Application locale
extern wxArrayInt existingLangs; // Language IDs
extern wxArrayString existingLangNames; // Language Names

View file

@ -86,6 +86,7 @@
// Globals
frmMain *winMain = 0;
wxThread *updateThread = 0;
bool iswayland=true;
#if defined(HAVE_OPENSSL_CRYPTO) || defined(HAVE_GCRYPT)
#include "utils/sshTunnel.h"
@ -308,6 +309,11 @@ bool pgAdmin3::OnInit()
wxLogNull noLog;
locale->AddCatalog(wxT("fileutils"));
}
wxString value;
iswayland=false;
if (wxGetEnv("XDG_SESSION_TYPE",&value)) {
iswayland=value.Contains("wayland");
}
#endif
locale->AddCatalog(wxT("pgadmin3"));
}