mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-19 20:38:08 +01:00
bug fixes
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
*
|
*
|
||||||
* Window Maker window manager
|
* Window Maker window manager
|
||||||
*
|
*
|
||||||
* Copyright (c) 1997, 1998 Alfredo K. Kojima
|
* Copyright (c) 1997, 1998, 1999 Alfredo K. Kojima
|
||||||
* Copyright (c) 1998 Dan Pascu
|
* Copyright (c) 1998 Dan Pascu
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@@ -1797,6 +1797,7 @@ wMakeWindowVisible(WWindow *wwin)
|
|||||||
} else if (wwin->flags.miniaturized) {
|
} else if (wwin->flags.miniaturized) {
|
||||||
wDeiconifyWindow(wwin);
|
wDeiconifyWindow(wwin);
|
||||||
} else {
|
} else {
|
||||||
|
if (!WFLAGP(wwin, no_focusable))
|
||||||
wSetFocusTo(wwin->screen_ptr, wwin);
|
wSetFocusTo(wwin->screen_ptr, wwin);
|
||||||
wRaiseFrame(wwin->frame->core);
|
wRaiseFrame(wwin->frame->core);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -390,15 +390,17 @@ wAppIconPaint(WAppIcon *aicon)
|
|||||||
{
|
{
|
||||||
WApplication *wapp;
|
WApplication *wapp;
|
||||||
wapp = wApplicationOf(aicon->main_window);
|
wapp = wApplicationOf(aicon->main_window);
|
||||||
if(wapp)
|
if (wapp) {
|
||||||
if (wapp->flags.hidden) {
|
if (wapp->flags.hidden) {
|
||||||
XSetClipMask(dpy, scr->copy_gc, scr->dock_dots->mask);
|
XSetClipMask(dpy, scr->copy_gc, scr->dock_dots->mask);
|
||||||
XSetClipOrigin(dpy, scr->copy_gc, 0, 0);
|
XSetClipOrigin(dpy, scr->copy_gc, 0, 0);
|
||||||
XCopyArea(dpy, scr->dock_dots->image, aicon->icon->core->window,
|
XCopyArea(dpy, scr->dock_dots->image,
|
||||||
|
aicon->icon->core->window,
|
||||||
scr->copy_gc, 0, 0, 7,
|
scr->copy_gc, 0, 0, 7,
|
||||||
scr->dock_dots->height, 0, 0);
|
scr->dock_dots->height, 0, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#endif /* HIDDENDOT */
|
#endif /* HIDDENDOT */
|
||||||
|
|
||||||
#ifdef NEWAPPICON
|
#ifdef NEWAPPICON
|
||||||
|
|||||||
@@ -3551,7 +3551,7 @@ handleIconMove(WDock *dock, WAppIcon *aicon, XEvent *event)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event->xbutton.state & MOD_MASK)
|
if (!(event->xbutton.state & MOD_MASK))
|
||||||
wRaiseFrame(icon->core);
|
wRaiseFrame(icon->core);
|
||||||
|
|
||||||
if (!wPreferences.flags.noclip)
|
if (!wPreferences.flags.noclip)
|
||||||
|
|||||||
@@ -1688,8 +1688,11 @@ handleKeyPress(XEvent *event)
|
|||||||
list = list->tail;
|
list = list->tail;
|
||||||
}
|
}
|
||||||
} else if (scr->shortcutWindow[command-WKBD_WINDOW1]){
|
} else if (scr->shortcutWindow[command-WKBD_WINDOW1]){
|
||||||
|
|
||||||
wMakeWindowVisible(scr->shortcutWindow[command-WKBD_WINDOW1]);
|
wMakeWindowVisible(scr->shortcutWindow[command-WKBD_WINDOW1]);
|
||||||
|
|
||||||
} else if (wwin && ISMAPPED(wwin) && ISFOCUSED(wwin)) {
|
} else if (wwin && ISMAPPED(wwin) && ISFOCUSED(wwin)) {
|
||||||
|
|
||||||
scr->shortcutWindow[command-WKBD_WINDOW1] = wwin;
|
scr->shortcutWindow[command-WKBD_WINDOW1] = wwin;
|
||||||
if (wwin->flags.selected /* && scr->selected_windows */ ) {
|
if (wwin->flags.selected /* && scr->selected_windows */ ) {
|
||||||
LinkedList *sl;
|
LinkedList *sl;
|
||||||
@@ -1707,7 +1710,9 @@ handleKeyPress(XEvent *event)
|
|||||||
wusleep(3000);
|
wusleep(3000);
|
||||||
wSelectWindow(wwin, !wwin->flags.selected);
|
wSelectWindow(wwin, !wwin->flags.selected);
|
||||||
XFlush(dpy);
|
XFlush(dpy);
|
||||||
|
|
||||||
} else if (scr->selected_windows) {
|
} else if (scr->selected_windows) {
|
||||||
|
|
||||||
if (wwin->flags.selected /* && scr->selected_windows */ ) {
|
if (wwin->flags.selected /* && scr->selected_windows */ ) {
|
||||||
LinkedList *sl;
|
LinkedList *sl;
|
||||||
|
|
||||||
|
|||||||
10
src/main.c
10
src/main.c
@@ -302,8 +302,11 @@ static void
|
|||||||
execInitScript()
|
execInitScript()
|
||||||
{
|
{
|
||||||
char *file;
|
char *file;
|
||||||
|
char *paths = wstrappend(wusergnusteppath(), ":"DEF_CONFIG_PATHS);
|
||||||
|
|
||||||
|
file = wfindfile(paths, DEF_INIT_SCRIPT);
|
||||||
|
free(paths);
|
||||||
|
|
||||||
file = wfindfile(DEF_CONFIG_PATHS, DEF_INIT_SCRIPT);
|
|
||||||
if (file) {
|
if (file) {
|
||||||
if (system(file) != 0) {
|
if (system(file) != 0) {
|
||||||
wsyserror(_("%s:could not execute initialization script"), file);
|
wsyserror(_("%s:could not execute initialization script"), file);
|
||||||
@@ -324,8 +327,11 @@ void
|
|||||||
ExecExitScript()
|
ExecExitScript()
|
||||||
{
|
{
|
||||||
char *file;
|
char *file;
|
||||||
|
char *paths = wstrappend(wusergnusteppath(), ":"DEF_CONFIG_PATHS);
|
||||||
|
|
||||||
|
file = wfindfile(paths, DEF_EXIT_SCRIPT);
|
||||||
|
free(paths);
|
||||||
|
|
||||||
file = wfindfile(DEF_CONFIG_PATHS, DEF_EXIT_SCRIPT);
|
|
||||||
if (file) {
|
if (file) {
|
||||||
if (system(file) != 0) {
|
if (system(file) != 0) {
|
||||||
wsyserror(_("%s:could not execute exit script"), file);
|
wsyserror(_("%s:could not execute exit script"), file);
|
||||||
|
|||||||
@@ -448,11 +448,7 @@ createPixmaps(WScreen *scr)
|
|||||||
RDestroyImage(image);
|
RDestroyImage(image);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HIDDENDOT
|
|
||||||
if (!wPreferences.flags.nodock || !wPreferences.flags.noclip) {
|
|
||||||
scr->dock_dots = make3Dots(scr);
|
scr->dock_dots = make3Dots(scr);
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef NEWSTUFF
|
#ifndef NEWSTUFF
|
||||||
/* titlebar button pixmaps */
|
/* titlebar button pixmaps */
|
||||||
@@ -779,8 +775,6 @@ wScreenInit(int screen_number)
|
|||||||
scr->frame_border_pixel = xcol.pixel;
|
scr->frame_border_pixel = xcol.pixel;
|
||||||
}
|
}
|
||||||
|
|
||||||
scr->workspace_name_font = wLoadFont(DEF_WORKSPACE_NAME_FONT);
|
|
||||||
|
|
||||||
/* create GCs with default values */
|
/* create GCs with default values */
|
||||||
allocGCs(scr);
|
allocGCs(scr);
|
||||||
|
|
||||||
|
|||||||
@@ -160,13 +160,6 @@
|
|||||||
#undef WS_INDICATOR
|
#undef WS_INDICATOR
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* define USER_MENU if you want user specified menus for sending
|
|
||||||
* commands to applications. Kinda experimental..
|
|
||||||
*/
|
|
||||||
#undef USER_MENU
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* define HIDDENDOT if you want a dot to be shown in the application icon
|
* define HIDDENDOT if you want a dot to be shown in the application icon
|
||||||
* of applications that are hidden.
|
* of applications that are hidden.
|
||||||
@@ -230,8 +223,6 @@
|
|||||||
#undef GRADIENT_CLIP_ARROWS
|
#undef GRADIENT_CLIP_ARROWS
|
||||||
|
|
||||||
|
|
||||||
#define TEXTURE_PLUGIN
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*--------------------------------------------------------------------
|
*--------------------------------------------------------------------
|
||||||
* Default Configuration
|
* Default Configuration
|
||||||
|
|||||||
@@ -1137,8 +1137,8 @@ wManageWindow(WScreen *scr, Window window)
|
|||||||
|
|
||||||
if (!wwin->flags.miniaturized && workspace == scr->current_workspace
|
if (!wwin->flags.miniaturized && workspace == scr->current_workspace
|
||||||
&& !wwin->flags.hidden) {
|
&& !wwin->flags.hidden) {
|
||||||
if ((transientOwner && transientOwner->flags.focused)
|
if (((transientOwner && transientOwner->flags.focused)
|
||||||
|| wPreferences.auto_focus)
|
|| wPreferences.auto_focus) && !WFLAGP(wwin, no_focusable))
|
||||||
wSetFocusTo(scr, wwin);
|
wSetFocusTo(scr, wwin);
|
||||||
}
|
}
|
||||||
wWindowResetMouseGrabs(wwin);
|
wWindowResetMouseGrabs(wwin);
|
||||||
|
|||||||
@@ -502,7 +502,10 @@ wWorkspaceForceChange(WScreen *scr, int workspace)
|
|||||||
|
|
||||||
if ((tmp = scr->focused_window)!= NULL) {
|
if ((tmp = scr->focused_window)!= NULL) {
|
||||||
if (IS_OMNIPRESENT(tmp) || tmp->flags.changing_workspace)
|
if (IS_OMNIPRESENT(tmp) || tmp->flags.changing_workspace)
|
||||||
foc2 = tmp; /* for gnome stuff.. used to be foc = tmp */
|
foc = tmp;
|
||||||
|
/* foc2 = tmp; will fix annoyance with gnome panel
|
||||||
|
* but will create annoyance for every other application
|
||||||
|
*/
|
||||||
|
|
||||||
while (tmp) {
|
while (tmp) {
|
||||||
if (tmp->frame->workspace!=workspace && !tmp->flags.selected) {
|
if (tmp->frame->workspace!=workspace && !tmp->flags.selected) {
|
||||||
|
|||||||
Reference in New Issue
Block a user