mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-20 04:48:06 +01:00
- Fixed problem with unhiding taht mapped windows from other workspaces
on the current workspace. - Made apps with an application menu not to use a shared appicon.
This commit is contained in:
@@ -28,7 +28,7 @@ Changes since version 0.70.0:
|
||||
- Added real appicon sharing (apps of the same kind will have a single shared
|
||||
appicon).
|
||||
- Fixed user and global defaults domain merging to preserve values present in
|
||||
global but not in user in subdictionaries.
|
||||
global but not in user, in sub-dictionaries.
|
||||
- Made dock/clip steal appicons of applications that were started from a
|
||||
shell/xterm or from the main menu, if there is a docked appicon of that
|
||||
class that is not running at the time the app is launched.
|
||||
@@ -38,6 +38,7 @@ Changes since version 0.70.0:
|
||||
- Updated the animation constants for scrolling/sliding/shading to better
|
||||
adapt to newer/faster machines. Also used wusleep(10) when the delay was 0
|
||||
to get rid of the jerky animation when there was no delay.
|
||||
- Fixed bug with Unhide mapping windows from other workspaces.
|
||||
|
||||
|
||||
Changes since version 0.65.1:
|
||||
|
||||
6
TODO
6
TODO
@@ -26,7 +26,11 @@ Need to do:
|
||||
- add new file for stuff like default commands and dnd commands for
|
||||
docked apps, balloons for the dock etc
|
||||
- check whether apps with name.class set to empty strings should be treated
|
||||
like if name.class were NULL.NULL
|
||||
like if name.class is NULL.NULL
|
||||
- review the defaults handling code (not to save globals in user, not to
|
||||
reread after we update a domain if possible, check WINGs apps updating
|
||||
WMWindowAttributes after start making screen to flash on update)
|
||||
|
||||
|
||||
Maybe some day:
|
||||
===============
|
||||
|
||||
@@ -1326,7 +1326,6 @@ unhideWindow(WIcon *icon, int icon_x, int icon_y, WWindow *wwin, int animate,
|
||||
wWindowChangeWorkspace(wwin, wwin->screen_ptr->current_workspace);
|
||||
|
||||
wwin->flags.hidden=0;
|
||||
wwin->flags.mapped=1;
|
||||
|
||||
wSoundPlay(WSOUND_UNHIDE);
|
||||
#ifdef ANIMATIONS
|
||||
@@ -1340,10 +1339,13 @@ unhideWindow(WIcon *icon, int icon_x, int icon_y, WWindow *wwin, int animate,
|
||||
}
|
||||
#endif
|
||||
wwin->flags.skip_next_animation = 0;
|
||||
if (wwin->screen_ptr->current_workspace == wwin->frame->workspace) {
|
||||
XMapWindow(dpy, wwin->client_win);
|
||||
XMapWindow(dpy, wwin->frame->core->window);
|
||||
wClientSetState(wwin, NormalState, None);
|
||||
wwin->flags.mapped=1;
|
||||
wRaiseFrame(wwin->frame->core);
|
||||
}
|
||||
if (wwin->flags.inspector_open) {
|
||||
wUnhideInspectorForWindow(wwin);
|
||||
}
|
||||
|
||||
16
src/window.c
16
src/window.c
@@ -793,13 +793,23 @@ wManageWindow(WScreen *scr, Window window)
|
||||
}
|
||||
#endif /* OLWM_HINTS */
|
||||
|
||||
/* Make broken apps behave as a nice app. */
|
||||
if (WFLAGP(wwin, emulate_appicon)) {
|
||||
wwin->main_window = wwin->client_win;
|
||||
}
|
||||
|
||||
if (wwin->flags.is_gnustep) {
|
||||
WSETUFLAG(wwin, shared_appicon, 0);
|
||||
}
|
||||
|
||||
/* Make broken apps behave as a nice app. */
|
||||
if (WFLAGP(wwin, emulate_appicon)) {
|
||||
wwin->main_window = wwin->client_win;
|
||||
{
|
||||
extern Atom _XA_WINDOWMAKER_MENU;
|
||||
XTextProperty text_prop;
|
||||
|
||||
if (XGetTextProperty(dpy, wwin->main_window, &text_prop,
|
||||
_XA_WINDOWMAKER_MENU)) {
|
||||
WSETUFLAG(wwin, shared_appicon, 0);
|
||||
}
|
||||
}
|
||||
|
||||
if (!withdraw && wwin->main_window && WFLAGP(wwin, shared_appicon)) {
|
||||
|
||||
Reference in New Issue
Block a user