mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-12 03:35:57 +02:00
LCL: Make GTK2 IDE work better on Awesome window manager. Issue #23917, patch from Sven Barth
git-svn-id: trunk@40453 -
This commit is contained in:
parent
b563f2f0d7
commit
d867b45da9
@ -951,6 +951,27 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
constructor TGtk2WidgetSet.Create;
|
constructor TGtk2WidgetSet.Create;
|
||||||
|
{$IFDEF HASX}
|
||||||
|
const
|
||||||
|
WMNoTransient: array[0..1] of String = (
|
||||||
|
'kwin',
|
||||||
|
'awesome'
|
||||||
|
);
|
||||||
|
|
||||||
|
function IsNoTransientWM: Boolean;
|
||||||
|
var
|
||||||
|
wmname: String;
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
wmname := GetWindowManager;
|
||||||
|
//DebugLn('Window Manager identifier: ', wmname);
|
||||||
|
Result := False;
|
||||||
|
for i := Low(WMNoTransient) to High(WMNoTransient) do
|
||||||
|
if wmname = WMNoTransient[i] then
|
||||||
|
Exit(True);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{$ENDIF}
|
||||||
begin
|
begin
|
||||||
inherited Create;
|
inherited Create;
|
||||||
FCachedTitleBarHeight := -1;
|
FCachedTitleBarHeight := -1;
|
||||||
@ -970,9 +991,9 @@ begin
|
|||||||
g_signal_connect (G_OBJECT (im_context), 'commit',
|
g_signal_connect (G_OBJECT (im_context), 'commit',
|
||||||
G_CALLBACK (@gtk_commit_cb), nil);
|
G_CALLBACK (@gtk_commit_cb), nil);
|
||||||
{$IFDEF HASX}
|
{$IFDEF HASX}
|
||||||
if GetWindowManager = 'kwin' then
|
if IsNoTransientWM then
|
||||||
begin
|
begin
|
||||||
//kwin does it's own transient settings
|
//some window managers do their own transient settings
|
||||||
UseTransientForModalWindows := False;
|
UseTransientForModalWindows := False;
|
||||||
FDesktopWidget := gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
FDesktopWidget := gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||||
gtk_widget_set_parent_window(FDesktopWidget, gdk_get_default_root_window);
|
gtk_widget_set_parent_window(FDesktopWidget, gdk_get_default_root_window);
|
||||||
|
Loading…
Reference in New Issue
Block a user