mirror of
https://github.com/FreeRDP/FreeRDP.git
synced 2024-12-04 15:23:32 +08:00
xfreerdp: fix window hiding
This commit is contained in:
parent
7dcb87d7a3
commit
42f27293a8
@ -18,16 +18,13 @@
|
||||
*/
|
||||
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/Xatom.h>
|
||||
#include <X11/extensions/shape.h>
|
||||
|
||||
#include "xf_window.h"
|
||||
|
||||
/* Extended Window Manager Hints: http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html */
|
||||
|
||||
#ifndef XA_CARDINAL
|
||||
#define XA_CARDINAL 6
|
||||
#endif
|
||||
|
||||
#define MWM_HINTS_DECORATIONS (1L << 1)
|
||||
#define PROP_MOTIF_WM_HINTS_ELEMENTS 5
|
||||
|
||||
@ -343,12 +340,10 @@ void xf_MoveWindow(xfInfo* xfi, xfWindow* window, int x, int y, int width, int h
|
||||
|
||||
void xf_ShowWindow(xfInfo* xfi, xfWindow* window, uint8 state)
|
||||
{
|
||||
//printf("xf_ShowWindow:%d\n", state);
|
||||
|
||||
switch (state)
|
||||
{
|
||||
case WINDOW_HIDE:
|
||||
//XIconifyWindow(xfi->display, window->handle, xfi->screen_number);
|
||||
XWithdrawWindow(xfi->display, window->handle, xfi->screen_number);
|
||||
break;
|
||||
|
||||
case WINDOW_SHOW_MINIMIZED:
|
||||
@ -360,7 +355,7 @@ void xf_ShowWindow(xfInfo* xfi, xfWindow* window, uint8 state)
|
||||
break;
|
||||
|
||||
case WINDOW_SHOW:
|
||||
XRaiseWindow(xfi->display, window->handle);
|
||||
XMapWindow(xfi->display, window->handle);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -205,7 +205,7 @@ boolean xf_pre_connect(freerdp* instance)
|
||||
if (settings->workarea)
|
||||
{
|
||||
settings->monitors[n].x = screen_info[n].x_org;
|
||||
settings->monitors[n].y = xfi->workArea.y;
|
||||
settings->monitors[n].y = screen_info[n].y_org;
|
||||
settings->monitors[n].width = screen_info[n].width;
|
||||
settings->monitors[n].height = xfi->workArea.height;
|
||||
}
|
||||
|
@ -103,6 +103,20 @@ static void rail_NotifyIconDelete(rdpUpdate* update, WINDOW_ORDER_INFO* orderInf
|
||||
printf("NotifyIconDelete\n");
|
||||
}
|
||||
|
||||
static void rail_MonitoredDesktop(rdpUpdate* update, WINDOW_ORDER_INFO* orderInfo, MONITORED_DESKTOP_ORDER* monitored_desktop)
|
||||
{
|
||||
rdpRail* rail;
|
||||
rail = (rdpRail*) update->rail;
|
||||
printf("MonitoredDesktop\n");
|
||||
}
|
||||
|
||||
static void rail_NonMonitoredDesktop(rdpUpdate* update, WINDOW_ORDER_INFO* orderInfo)
|
||||
{
|
||||
rdpRail* rail;
|
||||
rail = (rdpRail*) update->rail;
|
||||
printf("NonMonitoredDesktop\n");
|
||||
}
|
||||
|
||||
void rail_register_update_callbacks(rdpRail* rail, rdpUpdate* update)
|
||||
{
|
||||
update->WindowCreate = rail_WindowCreate;
|
||||
@ -113,6 +127,8 @@ void rail_register_update_callbacks(rdpRail* rail, rdpUpdate* update)
|
||||
update->NotifyIconCreate = rail_NotifyIconCreate;
|
||||
update->NotifyIconUpdate = rail_NotifyIconUpdate;
|
||||
update->NotifyIconDelete = rail_NotifyIconDelete;
|
||||
update->MonitoredDesktop = rail_MonitoredDesktop;
|
||||
update->NonMonitoredDesktop = rail_NonMonitoredDesktop;
|
||||
}
|
||||
|
||||
rdpRail* rail_new(rdpSettings* settings)
|
||||
|
@ -219,6 +219,7 @@ int freerdp_parse_args(rdpSettings* settings, int argc, char** argv,
|
||||
settings->remote_app = True;
|
||||
settings->rail_langbar_supported = True;
|
||||
settings->workarea = True;
|
||||
settings->performance_flags = PERF_DISABLE_WALLPAPER | PERF_DISABLE_FULLWINDOWDRAG;
|
||||
}
|
||||
else if (strcmp("-x", argv[index]) == 0)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user