1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-20 04:48:06 +01:00

GNOME mouseclickproxy thing fix

added WorkspaceNameDisplayPosition
balloon updates
bug fixes
This commit is contained in:
kojima
1999-04-25 21:43:50 +00:00
parent fe2e0156e0
commit d3609d3449
28 changed files with 3473 additions and 1573 deletions

View File

@@ -6,13 +6,16 @@ Changes since version 0.53.0:
- made deiconification not automatically focus window in sloppy focus - made deiconification not automatically focus window in sloppy focus
- fixed crash with DisableMiniwindows and icon pixmap changes - fixed crash with DisableMiniwindows and icon pixmap changes
- fixed crash when changing icon of window without WM_CLASS - fixed crash when changing icon of window without WM_CLASS
- added IAmAnnoyingAndDontWantWorkspaceNameDisplay
- added hysteresys for offscreen menu scrollback - added hysteresys for offscreen menu scrollback
- fixed bug with IgnoreFocusClick - fixed bug with IgnoreFocusClick
- fixed crash with windows with width == 1 (Alban Hertroys - fixed crash with windows with width == 1 (Alban Hertroys
<dalroi@wit401310.student.utwente.nl>) <dalroi@wit401310.student.utwente.nl>)
- added SHEXEC command - added SHEXEC command
- fixed resizebarback for SHADOW_RESIZEBAR ( jim knoble jmknoble@pobox.com) - fixed resizebarback for SHADOW_RESIZEBAR ( jim knoble jmknoble@pobox.com)
- added balloon help everywhere
- fixed bug with FullMaximize attribute
- GNOME: button events not bound in wmaker are proxyized (to gmc)
(Paul Warren <pdw@ferret.lmh.ox.ac.uk>)
Changes since version 0.52.0: Changes since version 0.52.0:

7
NEWS
View File

@@ -18,6 +18,13 @@ will load the theme, but keep the titlebar background related options as
before. before.
New Options
-----------
WorkspaceNameDisplayPosition =
none/center/top/bottom/topleft/topright/bottomleft/bottomright
root menu root menu
--------- ---------

View File

@@ -554,7 +554,7 @@ paintButton(Button *bPtr)
gc = NULL; gc = NULL;
caption = bPtr->caption; caption = bPtr->caption;
if (bPtr->flags.enabled) if (bPtr->flags.enabled || !bPtr->dimage)
image = bPtr->image; image = bPtr->image;
else else
image = bPtr->dimage; image = bPtr->dimage;

View File

@@ -297,9 +297,12 @@ static char *CHECK_MARK[] = {
"#%======="}; "#%======="};
#define STIPPLE_WIDTH 2 #define STIPPLE_WIDTH 8
#define STIPPLE_HEIGHT 2 #define STIPPLE_HEIGHT 8
static unsigned char STIPPLE_BITS[] = {0x01, 0x02}; static unsigned char STIPPLE_BITS[] = {
0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa
};
extern void W_ReadConfigurations(void); extern void W_ReadConfigurations(void);

View File

@@ -349,6 +349,9 @@ destroyView(W_View *view)
return; return;
view->flags.alreadyDead = 1; view->flags.alreadyDead = 1;
/* delete the balloon text for the view, if there's any */
WMSetBalloonTextForView(NULL, view);
if (view->nextFocusChain) if (view->nextFocusChain)
view->nextFocusChain->prevFocusChain = view->prevFocusChain; view->nextFocusChain->prevFocusChain = view->prevFocusChain;
if (view->prevFocusChain) if (view->prevFocusChain)

View File

@@ -92,6 +92,7 @@ showData(_Panel *panel)
WMSetButtonSelected(panel->ballB[0], GetBoolForKey("WindowTitleBalloons")); WMSetButtonSelected(panel->ballB[0], GetBoolForKey("WindowTitleBalloons"));
WMSetButtonSelected(panel->ballB[1], GetBoolForKey("MiniwindowTitleBalloons")); WMSetButtonSelected(panel->ballB[1], GetBoolForKey("MiniwindowTitleBalloons"));
WMSetButtonSelected(panel->ballB[2], GetBoolForKey("AppIconBalloons")); WMSetButtonSelected(panel->ballB[2], GetBoolForKey("AppIconBalloons"));
WMSetButtonSelected(panel->ballB[3], GetBoolForKey("HelpBalloons"));
} }
@@ -136,6 +137,7 @@ storeData(_Panel *panel)
SetBoolForKey(WMGetButtonSelected(panel->ballB[0]), "WindowTitleBalloons"); SetBoolForKey(WMGetButtonSelected(panel->ballB[0]), "WindowTitleBalloons");
SetBoolForKey(WMGetButtonSelected(panel->ballB[1]), "MiniwindowTitleBalloons"); SetBoolForKey(WMGetButtonSelected(panel->ballB[1]), "MiniwindowTitleBalloons");
SetBoolForKey(WMGetButtonSelected(panel->ballB[2]), "AppIconBalloons"); SetBoolForKey(WMGetButtonSelected(panel->ballB[2]), "AppIconBalloons");
SetBoolForKey(WMGetButtonSelected(panel->ballB[3]), "HelpBalloons");
} }
@@ -187,7 +189,7 @@ createPanel(Panel *p)
WMMoveWidget(panel->ballF, 270, 10); WMMoveWidget(panel->ballF, 270, 10);
WMSetFrameTitle(panel->ballF, _("Show balloon text for...")); WMSetFrameTitle(panel->ballF, _("Show balloon text for..."));
for (i=0; i<3; i++) { for (i=0; i<4; i++) {
panel->ballB[i] = WMCreateSwitchButton(panel->ballF); panel->ballB[i] = WMCreateSwitchButton(panel->ballF);
WMResizeWidget(panel->ballB[i], 205, 20); WMResizeWidget(panel->ballB[i], 205, 20);
WMMoveWidget(panel->ballB[i], 15, 25+i*30); WMMoveWidget(panel->ballB[i], 15, 25+i*30);
@@ -195,7 +197,7 @@ createPanel(Panel *p)
WMSetButtonText(panel->ballB[0], _("incomplete window titles")); WMSetButtonText(panel->ballB[0], _("incomplete window titles"));
WMSetButtonText(panel->ballB[1], _("miniwindow titles")); WMSetButtonText(panel->ballB[1], _("miniwindow titles"));
WMSetButtonText(panel->ballB[2], _("application/dock icons")); WMSetButtonText(panel->ballB[2], _("application/dock icons"));
/* WMSetButtonText(panel->ballB[3], "help");*/ WMSetButtonText(panel->ballB[3], _("internal help"));
WMMapSubwidgets(panel->ballF); WMMapSubwidgets(panel->ballF);

View File

@@ -76,6 +76,8 @@ typedef struct _WPrefs {
WMButton *undoBtn; WMButton *undoBtn;
WMButton *undosBtn; WMButton *undosBtn;
WMButton *balloonBtn;
WMFrame *banner; WMFrame *banner;
WMLabel *nameL; WMLabel *nameL;
WMLabel *versionL; WMLabel *versionL;
@@ -226,6 +228,19 @@ prepareForClose()
} }
void
toggleBalloons(WMWidget *w, void *data)
{
WMUserDefaults *udb = WMGetStandardUserDefaults();
Bool flag;
flag = WMGetButtonSelected(WPrefs.balloonBtn);
WMSetBalloonEnabled(WMWidgetScreen(WPrefs.win), flag);
WMSetUDBoolForKey(udb, flag, "BalloonHelp");
}
static void static void
createMainWindow(WMScreen *scr) createMainWindow(WMScreen *scr)
@@ -281,6 +296,20 @@ createMainWindow(WMScreen *scr)
WMSetButtonText(WPrefs.closeBtn, _("Close")); WMSetButtonText(WPrefs.closeBtn, _("Close"));
WMSetButtonAction(WPrefs.closeBtn, quit, NULL); WMSetButtonAction(WPrefs.closeBtn, quit, NULL);
WPrefs.balloonBtn = WMCreateSwitchButton(WPrefs.win);
WMResizeWidget(WPrefs.balloonBtn, 200, 28);
WMMoveWidget(WPrefs.balloonBtn, 15, 350);
WMSetButtonText(WPrefs.balloonBtn, _("Balloon Help"));
WMSetButtonAction(WPrefs.balloonBtn, toggleBalloons, NULL);
{
WMUserDefaults *udb = WMGetStandardUserDefaults();
Bool flag = WMGetUDBoolForKey(udb, "BalloonHelp");
WMSetButtonSelected(WPrefs.balloonBtn, flag);
WMSetBalloonEnabled(scr, flag);
}
/* banner */ /* banner */
WPrefs.banner = WMCreateFrame(WPrefs.win); WPrefs.banner = WMCreateFrame(WPrefs.win);
WMResizeWidget(WPrefs.banner, FRAME_WIDTH, FRAME_HEIGHT); WMResizeWidget(WPrefs.banner, FRAME_WIDTH, FRAME_HEIGHT);

View File

@@ -5,7 +5,7 @@ nlsdir = $(NLSDIR)
CLEANFILES = $(CATALOGS) CLEANFILES = $(CATALOGS)
EXTRA_DIST = pt.po hr.po fr.po ko.po cs.po ja.po zh_TW.Big5.po es.po\ EXTRA_DIST = pt.po hr.po fr.po ko.po cs.po ja.po zh_TW.Big5.po es.po\
zh_CN.po zh_CN.po fi.po
POTFILES = \ POTFILES = \
$(top_builddir)/WPrefs.app/main.c \ $(top_builddir)/WPrefs.app/main.c \

View File

@@ -94,7 +94,7 @@ nlsdir = $(NLSDIR)
CLEANFILES = $(CATALOGS) CLEANFILES = $(CATALOGS)
EXTRA_DIST = pt.po hr.po fr.po ko.po cs.po ja.po zh_TW.Big5.po es.po zh_CN.po EXTRA_DIST = pt.po hr.po fr.po ko.po cs.po ja.po zh_TW.Big5.po es.po zh_CN.po fi.po
POTFILES = $(top_builddir)/WPrefs.app/main.c $(top_builddir)/WPrefs.app/WPrefs.c $(top_builddir)/WPrefs.app/Appearance.c $(top_builddir)/WPrefs.app/Configurations.c $(top_builddir)/WPrefs.app/Expert.c $(top_builddir)/WPrefs.app/Focus.c $(top_builddir)/WPrefs.app/Icons.c $(top_builddir)/WPrefs.app/KeyboardSettings.c $(top_builddir)/WPrefs.app/KeyboardShortcuts.c $(top_builddir)/WPrefs.app/Menu.c $(top_builddir)/WPrefs.app/MenuPreferences.c $(top_builddir)/WPrefs.app/MouseSettings.c $(top_builddir)/WPrefs.app/NoMenuAlert.c $(top_builddir)/WPrefs.app/Paths.c $(top_builddir)/WPrefs.app/Preferences.c $(top_builddir)/WPrefs.app/Text.c $(top_builddir)/WPrefs.app/TexturePanel.c $(top_builddir)/WPrefs.app/Themes.c $(top_builddir)/WPrefs.app/WindowHandling.c $(top_builddir)/WPrefs.app/Workspace.c $(top_builddir)/WPrefs.app/double.c $(top_builddir)/WPrefs.app/editmenu.c $(top_builddir)/WPrefs.app/MenuGuru.c $(top_builddir)/WPrefs.app/xmodifier.c POTFILES = $(top_builddir)/WPrefs.app/main.c $(top_builddir)/WPrefs.app/WPrefs.c $(top_builddir)/WPrefs.app/Appearance.c $(top_builddir)/WPrefs.app/Configurations.c $(top_builddir)/WPrefs.app/Expert.c $(top_builddir)/WPrefs.app/Focus.c $(top_builddir)/WPrefs.app/Icons.c $(top_builddir)/WPrefs.app/KeyboardSettings.c $(top_builddir)/WPrefs.app/KeyboardShortcuts.c $(top_builddir)/WPrefs.app/Menu.c $(top_builddir)/WPrefs.app/MenuPreferences.c $(top_builddir)/WPrefs.app/MouseSettings.c $(top_builddir)/WPrefs.app/NoMenuAlert.c $(top_builddir)/WPrefs.app/Paths.c $(top_builddir)/WPrefs.app/Preferences.c $(top_builddir)/WPrefs.app/Text.c $(top_builddir)/WPrefs.app/TexturePanel.c $(top_builddir)/WPrefs.app/Themes.c $(top_builddir)/WPrefs.app/WindowHandling.c $(top_builddir)/WPrefs.app/Workspace.c $(top_builddir)/WPrefs.app/double.c $(top_builddir)/WPrefs.app/editmenu.c $(top_builddir)/WPrefs.app/MenuGuru.c $(top_builddir)/WPrefs.app/xmodifier.c

View File

@@ -13,3 +13,4 @@ ja.po Japanese Kazuhide Takahashi <kazu@dgra.ne.jp>
zh_TW.Big5.po Chinese Li Wei Jih <lwj83@cs.ccu.edu.tw> zh_TW.Big5.po Chinese Li Wei Jih <lwj83@cs.ccu.edu.tw>
zh_CN.po Chinese Wang Jian <wangjian2@asiainfo.com> zh_CN.po Chinese Wang Jian <wangjian2@asiainfo.com>
es.po Spanish Alvaro Herrera <alvherre@webhost.cl> es.po Spanish Alvaro Herrera <alvherre@webhost.cl>
fi.po Finnish Tomi Kajala <tomi@iki.fi>

File diff suppressed because it is too large Load Diff

1485
WPrefs.app/po/fi.po Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -63,3 +63,4 @@ menu.zh_CN Chinese Wang Jian <wangjian2@asiainfo.com>
plmenu.dk Danish Birger Langkjer <birger.langkjer@image.dk> plmenu.dk Danish Birger Langkjer <birger.langkjer@image.dk>
plmenu.zh_CN Chinese Wang Jian <wangjian2@asiainfo.com> plmenu.zh_CN Chinese Wang Jian <wangjian2@asiainfo.com>
plmenu.hr Croatian Toni Bilic <tbilic@efos.hr>

View File

@@ -2,7 +2,7 @@
TitleJustify = center; TitleJustify = center;
HighlightColor = white; HighlightColor = white;
HighlightTextColor = black; HighlightTextColor = black;
ClipTitleColor = white; ClipTitleColor = black;
CClipTitleColor = gray20; CClipTitleColor = gray20;
FTitleColor = white; FTitleColor = white;
PTitleColor = white; PTitleColor = white;

View File

@@ -9,9 +9,11 @@
("Lista procesa", EXEC, "xterm -e top"), ("Lista procesa", EXEC, "xterm -e top"),
("Pretra\276iva\350 manuala", EXEC, xman) ("Pretra\276iva\350 manuala", EXEC, xman)
), ),
(XTerm, EXEC, "xterm -sb"), (Pokreni..., EXEC, "%a(Pokreni,Upi\271ite naredbu za pokrenuti:)"),
(Rxvt, EXEC, "rxvt -bg black -fg white -fn fixed"), (NXTerm, EXEC, "nxterm -sb"),
("Radni Prostori", WORKSPACE_MENU), (Rxvt, EXEC, rxvt),
(WMTerm, EXEC, "rxvt -wm"),
("Radni prostori", WORKSPACE_MENU),
( (
Programi, Programi,
( (
@@ -21,8 +23,8 @@
(XPaint, EXEC, xpaint), (XPaint, EXEC, xpaint),
(XFig, EXEC, xfig) (XFig, EXEC, xfig)
), ),
("X File Manager", EXEC, xfm), (FSViewer, EXEC, fsviewer),
("OffiX Files", EXEC, files), ("Offix files", EXEC, files),
(LyX, EXEC, lyx), (LyX, EXEC, lyx),
(Netscape, EXEC, netscape), (Netscape, EXEC, netscape),
(Ghostview, EXEC, "ghostview %a(Enter file to view)"), (Ghostview, EXEC, "ghostview %a(Enter file to view)"),
@@ -52,7 +54,7 @@
"Pomo\346ni programi", "Pomo\346ni programi",
(Kalkulator, EXEC, xcalc), (Kalkulator, EXEC, xcalc),
( (
"Postavke prozora", "Info o prozoru",
EXEC, EXEC,
"xprop | xmessage -center -title 'xprop' -file -" "xprop | xmessage -center -title 'xprop' -file -"
), ),
@@ -61,7 +63,7 @@
("Pove\346alo", EXEC, xmag), ("Pove\346alo", EXEC, xmag),
(Colormap, EXEC, xcmap), (Colormap, EXEC, xcmap),
(XKill, EXEC, xkill), (XKill, EXEC, xkill),
(ASClock, EXEC, "asclock -shape"), (WMClock, EXEC, "wmclock -24"),
(Clipboard, EXEC, xclipboard) (Clipboard, EXEC, xclipboard)
), ),
( (
@@ -79,7 +81,7 @@
("Osvje\276i", REFRESH), ("Osvje\276i", REFRESH),
("Zaklju\350aj", EXEC, "xlock -allowroot -usefirst"), ("Zaklju\350aj", EXEC, "xlock -allowroot -usefirst"),
("Snimi session", SAVE_SESSION), ("Snimi session", SAVE_SESSION),
("O\350isti snimljeni Session", CLEAR_SESSION) ("O\350isti snimljeni session", CLEAR_SESSION)
), ),
( (
Izgled, Izgled,
@@ -118,17 +120,17 @@
"wdwrite WindowMaker WorkspaceBack '(solid, \"#243e6c\")'" "wdwrite WindowMaker WorkspaceBack '(solid, \"#243e6c\")'"
), ),
( (
"Duboko Plava", "Duboko Blue",
EXEC, EXEC,
"wdwrite WindowMaker WorkspaceBack '(solid, \"#180090\")'" "wdwrite WindowMaker WorkspaceBack '(solid, \"#180090\")'"
), ),
( (
Purpurna, "Ljubi\350asta",
EXEC, EXEC,
"wdwrite WindowMaker WorkspaceBack '(solid, \"#554466\")'" "wdwrite WindowMaker WorkspaceBack '(solid, \"#554466\")'"
), ),
( (
Pustinjska, Krem,
EXEC, EXEC,
"wdwrite WindowMaker WorkspaceBack '(solid, wheat4)'" "wdwrite WindowMaker WorkspaceBack '(solid, wheat4)'"
), ),
@@ -138,7 +140,7 @@
"wdwrite WindowMaker WorkspaceBack '(solid, \"#333340\")'" "wdwrite WindowMaker WorkspaceBack '(solid, \"#333340\")'"
), ),
( (
Vinska, "Vinsko crvena",
EXEC, EXEC,
"wdwrite WindowMaker WorkspaceBack '(solid, \"#400020\")'" "wdwrite WindowMaker WorkspaceBack '(solid, \"#400020\")'"
) )
@@ -166,12 +168,12 @@
"wdwrite WindowMaker WorkspaceBack '(vgradient, \"#746ebc\", \"#242e4c\")'" "wdwrite WindowMaker WorkspaceBack '(vgradient, \"#746ebc\", \"#242e4c\")'"
), ),
( (
"Purpurne nijanse", "Ljubi\350aste nijanse",
EXEC, EXEC,
"wdwrite WindowMaker WorkspaceBack '(vgradient, \"#654c66\", \"#151426\")'" "wdwrite WindowMaker WorkspaceBack '(vgradient, \"#654c66\", \"#151426\")'"
), ),
( (
"Pustinjske nijanse", "Krem nijanse",
EXEC, EXEC,
"wdwrite WindowMaker WorkspaceBack '(vgradient, \"#a09060\", \"#302010\")'" "wdwrite WindowMaker WorkspaceBack '(vgradient, \"#a09060\", \"#302010\")'"
), ),
@@ -181,7 +183,7 @@
"wdwrite WindowMaker WorkspaceBack '(vgradient, \"#636380\", \"#131318\")'" "wdwrite WindowMaker WorkspaceBack '(vgradient, \"#636380\", \"#131318\")'"
), ),
( (
"Vinske nijanse", "Vinsko crvene nijanse",
EXEC, EXEC,
"wdwrite WindowMaker WorkspaceBack '(vgradient, \"#600040\", \"#180010\")'" "wdwrite WindowMaker WorkspaceBack '(vgradient, \"#600040\", \"#180010\")'"
) )
@@ -206,8 +208,10 @@
( (
Izlaz, Izlaz,
("Ponovo startaj", RESTART), ("Ponovo startaj", RESTART),
("Startaj AfterStep", RESTART, afterstep), ("Pokreni BlackBox", RESTART, blackbox),
("Pokreni kwm", RESTART, kwm),
("Pokreni IceWM", RESTART, icewm),
(Izlaz..., EXIT), (Izlaz..., EXIT),
("Izlaz iz sessiona...", SHORTCUT, "Mod1+e", SHUTDOWN, QUICK) ("Ubij session...", SHUTDOWN)
), )
) )

View File

@@ -216,7 +216,7 @@ dnl ==================
dnl List of supported locales dnl List of supported locales
dnl ------------------------- dnl -------------------------
supported_locales="cs de es fr gl it ja ko nl no pt ru se tr fi hr el pl ro da zh_TW.Big5 zh_CN sk" supported_locales="cs de es fr gl it ja ko nl no pt ru se tr fi hr el pl ro da zh_TW.Big5 zh_CN sk"
supported_wprefs_locales="pt hr fr ko ja cs zh_TW.Big5 es zh_CN" supported_wprefs_locales="pt hr fr ko ja cs zh_TW.Big5 es zh_CN fi"
for lang in $LINGUAS; do for lang in $LINGUAS; do
ok=0 ok=0

790
po/cs.po

File diff suppressed because it is too large Load Diff

750
po/fi.po

File diff suppressed because it is too large Load Diff

View File

@@ -200,6 +200,17 @@ typedef enum {
#define MS_FLAT 2 #define MS_FLAT 2
/* workspace display position */
#define WD_NONE 0
#define WD_CENTER 1
#define WD_TOP 2
#define WD_BOTTOM 3
#define WD_TOPLEFT 4
#define WD_TOPRIGHT 5
#define WD_BOTTOMLEFT 6
#define WD_BOTTOMRIGHT 7
/* program states */ /* program states */
#define WSTATE_NORMAL 0 #define WSTATE_NORMAL 0
#define WSTATE_NEED_EXIT 1 #define WSTATE_NEED_EXIT 1
@@ -339,13 +350,15 @@ typedef struct WPreferences {
int menu_style; /* menu decoration style */ int menu_style; /* menu decoration style */
int workspace_name_display_position;
unsigned int modifier_mask; /* mask to use as kbd modifier */
char ws_advance; /* Create new workspace and advance */ char ws_advance; /* Create new workspace and advance */
char ws_cycle; /* Cycle existing workspaces */ char ws_cycle; /* Cycle existing workspaces */
unsigned int modifier_mask; /* mask to use as kbd modifier */
char save_session_on_exit; /* automatically save session on exit */ char save_session_on_exit; /* automatically save session on exit */
char sticky_icons; /* If miniwindows will be onmipresent */ char sticky_icons; /* If miniwindows will be onmipresent */
@@ -369,8 +382,7 @@ typedef struct WPreferences {
char window_balloon; char window_balloon;
char miniwin_balloon; char miniwin_balloon;
char appicon_balloon; char appicon_balloon;
char help_balloon;
char no_workspace_name_display;
#ifdef WEENDOZE_CYCLE #ifdef WEENDOZE_CYCLE
char windoze_cycling; /* Windoze 95 style Alt+Tabbing */ char windoze_cycling; /* Windoze 95 style Alt+Tabbing */

View File

@@ -914,6 +914,10 @@ appIconMouseDown(WObjDescriptor *desc, XEvent *event)
XFreePixmap(dpy, ghost); XFreePixmap(dpy, ghost);
XSetWindowBackground(dpy, scr->dock_shadow, scr->white_pixel); XSetWindowBackground(dpy, scr->dock_shadow, scr->white_pixel);
} }
if (wPreferences.auto_arrange_icons)
wArrangeIcons(scr, True);
done = 1; done = 1;
break; break;
} }

View File

@@ -296,6 +296,18 @@ static WOptionEnumeration seMenuStyles[] = {
}; };
static WOptionEnumeration seDisplayPositions[] = {
{"none", WD_NONE, 0},
{"center", WD_CENTER, 0},
{"top", WD_TOP, 0},
{"bottom", WD_BOTTOM, 0},
{"topleft", WD_TOPLEFT, 0},
{"topright", WD_TOPRIGHT, 0},
{"bottomleft", WD_BOTTOMLEFT, 0},
{"bottomright", WD_BOTTOMRIGHT, 0}
};
/* /*
* ALL entries in the tables bellow, NEED to have a default value * ALL entries in the tables bellow, NEED to have a default value
* defined, and this value needs to be correct. * defined, and this value needs to be correct.
@@ -387,8 +399,8 @@ WDefaultEntry optionList[] = {
{"CycleWorkspaces", "NO", NULL, {"CycleWorkspaces", "NO", NULL,
&wPreferences.ws_cycle, getBool, NULL &wPreferences.ws_cycle, getBool, NULL
}, },
{"IAmAnnoyingAndDontWantWorkspaceNameDisplay", "NO",NULL, {"WorkspaceNameDisplayPosition", "center", seDisplayPositions,
&wPreferences.no_workspace_name_display, getBool, NULL &wPreferences.workspace_name_display_position, getEnum, NULL
}, },
{"StickyIcons", "NO", NULL, {"StickyIcons", "NO", NULL,
&wPreferences.sticky_icons, getBool, setStickyIcons &wPreferences.sticky_icons, getBool, setStickyIcons
@@ -417,7 +429,7 @@ WDefaultEntry optionList[] = {
{"AlignSubmenus", "NO", NULL, {"AlignSubmenus", "NO", NULL,
&wPreferences.align_menus, getBool, NULL &wPreferences.align_menus, getBool, NULL
}, },
{"OpenTransientOnOwnerWorkspace", "NO", NULL, {"OpenTransientOnOwnerWorkspace", "NO", NULL,
&wPreferences.open_transients_with_parent, getBool, NULL &wPreferences.open_transients_with_parent, getBool, NULL
}, },
{"WindowPlacement", "auto", sePlacements, {"WindowPlacement", "auto", sePlacements,
@@ -471,6 +483,9 @@ WDefaultEntry optionList[] = {
{"AppIconBalloons", "NO", NULL, {"AppIconBalloons", "NO", NULL,
&wPreferences.appicon_balloon,getBool, NULL &wPreferences.appicon_balloon,getBool, NULL
}, },
{"HelpBalloons", "NO", NULL,
&wPreferences.help_balloon, getBool, NULL
},
{"EdgeResistance", "30", NULL, {"EdgeResistance", "30", NULL,
&wPreferences.edge_resistance,getInt, NULL &wPreferences.edge_resistance,getInt, NULL
}, },

View File

@@ -617,11 +617,6 @@ handleButtonPress(XEvent *event)
#ifndef LITE #ifndef LITE
if (event->xbutton.window==scr->root_win) { if (event->xbutton.window==scr->root_win) {
#ifdef GNOME_STUFF
if (wGNOMEProxyizeButtonEvent(scr, event))
return;
#endif
if (event->xbutton.button==wPreferences.menu_button) { if (event->xbutton.button==wPreferences.menu_button) {
OpenRootMenu(scr, event->xbutton.x_root, OpenRootMenu(scr, event->xbutton.x_root,
event->xbutton.y_root, False); event->xbutton.y_root, False);
@@ -656,6 +651,10 @@ handleButtonPress(XEvent *event)
} }
#endif /* MOUSE_WS_SWITCH */ #endif /* MOUSE_WS_SWITCH */
#ifdef GNOME_STUFF
else if (wGNOMEProxyizeButtonEvent(scr, event))
return;
#endif
} }
#endif /* !LITE */ #endif /* !LITE */

View File

@@ -555,15 +555,6 @@ wGNOMEProcessClientMessage(XClientMessageEvent *event)
Bool Bool
wGNOMEProxyizeButtonEvent(WScreen *scr, XEvent *event) wGNOMEProxyizeButtonEvent(WScreen *scr, XEvent *event)
{ {
#ifndef MOUSE_WS_SWITCH
if (event->xbutton.button <= Button3
&& (event->xbutton.state & ValidModMask) == 0)
return False;
#else
if ((event->xbutton.state & ValidModMask) == 0)
return False;
#endif
if (event->type == ButtonPress) if (event->type == ButtonPress)
XUngrabPointer(dpy, CurrentTime); XUngrabPointer(dpy, CurrentTime);
XSendEvent(dpy, scr->no_focus_win, False, SubstructureNotifyMask, event); XSendEvent(dpy, scr->no_focus_win, False, SubstructureNotifyMask, event);

View File

@@ -3,7 +3,7 @@
* *
* WindowMaker window manager * WindowMaker window manager
* *
* Copyright (c) 1997 Alfredo K. Kojima * Copyright (c) 1997-199 Alfredo K. Kojima
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@@ -300,7 +300,7 @@
#define DEF_CLIP_TITLE_FONT "\"-*-*-medium-r-normal--10-*\"" #define DEF_CLIP_TITLE_FONT "\"-*-*-medium-r-normal--10-*\""
#define DEF_INFO_TEXT_FONT "\"-*-*-medium-r-normal--14-*\"" #define DEF_INFO_TEXT_FONT "\"-*-*-medium-r-normal--14-*\""
#define DEF_WORKSPACE_NAME_FONT "-*-*-medium-r-normal--24-*" #define DEF_WORKSPACE_NAME_FONT "\"-*-*-medium-r-normal--24-*\""
#else /* !I18N_MB */ #else /* !I18N_MB */
#define DEF_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*\"" #define DEF_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*\""
#define DEF_MENU_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*\"" #define DEF_MENU_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*\""
@@ -309,7 +309,7 @@
#define DEF_CLIP_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-10-*-*-*-*-*-*-*\"" #define DEF_CLIP_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-10-*-*-*-*-*-*-*\""
#define DEF_INFO_TEXT_FONT "\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*\"" #define DEF_INFO_TEXT_FONT "\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*\""
#define DEF_WORKSPACE_NAME_FONT "-*-lucida-bold-r-*-*-24-*-*-*-*-*-*-*" #define DEF_WORKSPACE_NAME_FONT "\"-*-lucida-bold-r-*-*-24-*-*-*-*-*-*-*\""
#endif /* !I18N_MB */ #endif /* !I18N_MB */
#define HELVETICA10_FONT "-*-helvetica-medium-r-normal-*-10-*-*-*-*-*-*-*" #define HELVETICA10_FONT "-*-helvetica-medium-r-normal-*-10-*-*-*-*-*-*-*"
@@ -425,7 +425,7 @@
/* workspace name on switch display */ /* workspace name on switch display */
#define WORKSPACE_NAME_FADE_DELAY 30 #define WORKSPACE_NAME_FADE_DELAY 30
#define WORKSPACE_NAME_DELAY 500 #define WORKSPACE_NAME_DELAY 400
/* window birth animation steps (DO NOT MAKE IT RUN-TIME) */ /* window birth animation steps (DO NOT MAKE IT RUN-TIME) */
#define WINDOW_BIRTH_STEPS 20 #define WINDOW_BIRTH_STEPS 20

View File

@@ -302,7 +302,7 @@ wDefaultFillAttributes(WScreen *scr, char *instance, char *class,
APPLY_VAL(value, emulate_appicon, AEmulateAppIcon); APPLY_VAL(value, emulate_appicon, AEmulateAppIcon);
value = get_value(dw, dc, dn, da, AFullMaximize, No, useGlobalDefault); value = get_value(dw, dc, dn, da, AFullMaximize, No, useGlobalDefault);
APPLY_VAL(value, emulate_appicon, AFullMaximize); APPLY_VAL(value, full_maximize, AFullMaximize);
/* clean up */ /* clean up */
PLSetStringCmpHook(StringCompareHook); PLSetStringCmpHook(StringCompareHook);

View File

@@ -1117,47 +1117,65 @@ createInspectorForWindow(WWindow *wwin)
for (i=0; i < 10; i++) { for (i=0; i < 10; i++) {
char *caption = NULL; char *caption = NULL;
int flag = 0; int flag = 0;
char *descr = NULL;
switch (i) { switch (i) {
case 0: case 0:
caption = _("Disable Titlebar"); caption = _("Disable Titlebar");
flag = WFLAGP(wwin, no_titlebar); flag = WFLAGP(wwin, no_titlebar);
descr = _("Remove the titlebar of this window.\n"
"To access the window commands menu of a window\n"
"without it's titlebar, press Control+Esc (or the\n"
"equivalent shortcut, if you changed the default\n"
"settings).");
break; break;
case 1: case 1:
caption = _("Disable Resizebar"); caption = _("Disable Resizebar");
flag = WFLAGP(wwin, no_resizebar); flag = WFLAGP(wwin, no_resizebar);
descr = _("Remove the resizebar of this window.");
break; break;
case 2: case 2:
caption = _("Disable Close Button"); caption = _("Disable Close Button");
flag = WFLAGP(wwin, no_close_button); flag = WFLAGP(wwin, no_close_button);
descr = _("Remove the `close window' button of this window.");
break; break;
case 3: case 3:
caption = _("Disable Miniaturize Button"); caption = _("Disable Miniaturize Button");
flag = WFLAGP(wwin, no_miniaturize_button); flag = WFLAGP(wwin, no_miniaturize_button);
descr = _("Remove the `miniaturize window' button of the window.");
break; break;
case 4: case 4:
caption = _("Keep on Top / Floating"); caption = _("Keep on Top / Floating");
flag = WFLAGP(wwin, floating); flag = WFLAGP(wwin, floating);
descr = _("Keep the window over other windows, not allowing\n"
"them to covert it.");
break; break;
case 5: case 5:
caption = _("Keep at Bottom / Sunken"); caption = _("Keep at Bottom / Sunken");
flag = WFLAGP(wwin, sunken); flag = WFLAGP(wwin, sunken);
descr = _("Keep the window under all other windows.");
break; break;
case 6: case 6:
caption = _("Omnipresent"); caption = _("Omnipresent");
flag = WFLAGP(wwin, omnipresent); flag = WFLAGP(wwin, omnipresent);
descr = _("Make window occupy all workspaces.");
break; break;
case 7: case 7:
caption = _("Start Miniaturized"); caption = _("Start Miniaturized");
flag = WFLAGP(wwin, start_miniaturized); flag = WFLAGP(wwin, start_miniaturized);
descr = _("Make the window be automatically miniaturized when it's\n"
"first shown.");
break; break;
case 8: case 8:
caption = _("Start Maximized"); caption = _("Start Maximized");
flag = WFLAGP(wwin, start_maximized!=0); flag = WFLAGP(wwin, start_maximized!=0);
descr = _("Make the window be automatically maximized when it's\n"
"first shown.");
break; break;
case 9: case 9:
caption = _("Skip Window List"); caption = _("Skip Window List");
flag = WFLAGP(wwin, skip_window_list); flag = WFLAGP(wwin, skip_window_list);
descr = _("Do not list the window in the window list menu.");
break; break;
} }
panel->attrChk[i] = WMCreateSwitchButton(panel->attrFrm); panel->attrChk[i] = WMCreateSwitchButton(panel->attrFrm);
@@ -1165,6 +1183,8 @@ createInspectorForWindow(WWindow *wwin)
WMResizeWidget(panel->attrChk[i], frame_width-15, 20); WMResizeWidget(panel->attrChk[i], frame_width-15, 20);
WMSetButtonSelected(panel->attrChk[i], flag); WMSetButtonSelected(panel->attrChk[i], flag);
WMSetButtonText(panel->attrChk[i], caption); WMSetButtonText(panel->attrChk[i], caption);
WMSetBalloonTextForView(descr, WMWidgetView(panel->attrChk[i]));
} }
@@ -1177,39 +1197,63 @@ createInspectorForWindow(WWindow *wwin)
for (i=0; i < 8; i++) { for (i=0; i < 8; i++) {
char *caption = NULL; char *caption = NULL;
int flag = 0; int flag = 0;
char *descr = NULL;
switch (i) { switch (i) {
case 0: case 0:
caption = _("Ignore HideOthers"); caption = _("Ignore HideOthers");
flag = WFLAGP(wwin, no_hide_others); flag = WFLAGP(wwin, no_hide_others);
descr = _("Do not hide the window when issuing the\n"
"`HideOthers' command.");
break; break;
case 1: case 1:
caption = _("Don't Bind Keyboard Shortcuts"); caption = _("Don't Bind Keyboard Shortcuts");
flag = WFLAGP(wwin, no_bind_keys); flag = WFLAGP(wwin, no_bind_keys);
descr = _("Do not bind keyboard shortcuts from Window Maker\n"
"when this window is focused. This will allow the\n"
"window to receive all key combinations regardless\n"
"of your shortcut configuration.");
break; break;
case 2: case 2:
caption = _("Don't Bind Mouse Clicks"); caption = _("Don't Bind Mouse Clicks");
flag = WFLAGP(wwin, no_bind_mouse); flag = WFLAGP(wwin, no_bind_mouse);
descr = _("Do not bind mouse actions, such as `Alt'+drag\n"
"in the window (when alt is the modifier you have"
"configured).");
break; break;
case 3: case 3:
caption = _("Keep Inside Screen"); caption = _("Keep Inside Screen");
flag = WFLAGP(wwin, dont_move_off); flag = WFLAGP(wwin, dont_move_off);
descr = _("Do not allow the window to move itself completely\n"
"outside the screen. For bug compatibility.\n");
break; break;
case 4: case 4:
caption = _("Don't Let It Take Focus"); caption = _("Don't Let It Take Focus");
flag = WFLAGP(wwin, no_focusable); flag = WFLAGP(wwin, no_focusable);
descr = _("Do not let the window take keyboard focus when you\n"
"click on it.");
break; break;
case 5: case 5:
caption = _("Don't Save Session"); caption = _("Don't Save Session");
flag = WFLAGP(wwin, dont_save_session); flag = WFLAGP(wwin, dont_save_session);
descr = _("Do not save the associated application in the\n"
"session's state, so that it won't be restarted\n"
"together with other applications when Window Maker\n"
"starts.");
break; break;
case 6: case 6:
caption = _("Emulate Application Icon"); caption = _("Emulate Application Icon");
flag = WFLAGP(wwin, emulate_appicon); flag = WFLAGP(wwin, emulate_appicon);
descr = _("Make this window act as an application that provides\n"
"enough information to Window Maker for a dockable\n"
"application icon to be created.");
break; break;
case 7: case 7:
caption = _("Full Screen Maximization"); caption = _("Full Screen Maximization");
flag = WFLAGP(wwin, full_maximize); flag = WFLAGP(wwin, full_maximize);
descr = _("Make the window use the whole screen space when it's\n"
"maximized. The titlebar and resizebar will be moved\n"
"to outside the screen.");
break; break;
} }
panel->moreChk[i] = WMCreateSwitchButton(panel->moreFrm); panel->moreChk[i] = WMCreateSwitchButton(panel->moreFrm);
@@ -1217,14 +1261,9 @@ createInspectorForWindow(WWindow *wwin)
WMResizeWidget(panel->moreChk[i], frame_width-15, 20); WMResizeWidget(panel->moreChk[i], frame_width-15, 20);
WMSetButtonSelected(panel->moreChk[i], flag); WMSetButtonSelected(panel->moreChk[i], flag);
WMSetButtonText(panel->moreChk[i], caption); WMSetButtonText(panel->moreChk[i], caption);
}
panel->moreLbl = WMCreateLabel(panel->moreFrm); WMSetBalloonTextForView(descr, WMWidgetView(panel->moreChk[i]));
WMResizeWidget(panel->moreLbl, frame_width - (2 * 5), 60); }
WMMoveWidget(panel->moreLbl, 5, 180);
WMSetLabelText(panel->moreLbl,
_("Enable the \"Don't bind...\" options to allow the "
"application to receive all mouse or keyboard events."));
/* miniwindow/workspace */ /* miniwindow/workspace */
panel->iconFrm = WMCreateFrame(panel->win); panel->iconFrm = WMCreateFrame(panel->win);
@@ -1285,6 +1324,9 @@ createInspectorForWindow(WWindow *wwin)
WMResizeWidget(panel->wsFrm, PWIDTH - (2 * 15), 70); WMResizeWidget(panel->wsFrm, PWIDTH - (2 * 15), 70);
WMSetFrameTitle(panel->wsFrm, _("Initial Workspace")); WMSetFrameTitle(panel->wsFrm, _("Initial Workspace"));
WMSetBalloonTextForView(_("The workspace to place the window when it's"
"first shown."), WMWidgetView(panel->wsFrm));
panel->wsP = WMCreatePopUpButton(panel->wsFrm); panel->wsP = WMCreatePopUpButton(panel->wsFrm);
WMMoveWidget(panel->wsP, 20, 30); WMMoveWidget(panel->wsP, 20, 30);
WMResizeWidget(panel->wsP, PWIDTH - (2 * 15) - (2 * 20), 20); WMResizeWidget(panel->wsP, PWIDTH - (2 * 15) - (2 * 20), 20);
@@ -1313,15 +1355,21 @@ createInspectorForWindow(WWindow *wwin)
for (i=0; i < 2; i++) { for (i=0; i < 2; i++) {
char *caption = NULL; char *caption = NULL;
int flag = 0; int flag = 0;
char *descr = NULL;
switch (i) { switch (i) {
case 0: case 0:
caption = _("Start Hidden"); caption = _("Start Hidden");
flag = WFLAGP(wapp->main_window_desc, start_hidden); flag = WFLAGP(wapp->main_window_desc, start_hidden);
descr = _("Automatically hide application when it's started.");
break; break;
case 1: case 1:
caption = _("No Application Icon"); caption = _("No Application Icon");
flag = WFLAGP(wapp->main_window_desc, no_appicon); flag = WFLAGP(wapp->main_window_desc, no_appicon);
descr = _("Disable the application icon for the application.\n"
"Note that you won't be able to dock it anymore,\n"
"and any icons that are already docked will stop\n"
"working correctly.");
break; break;
} }
panel->appChk[i] = WMCreateSwitchButton(panel->appFrm); panel->appChk[i] = WMCreateSwitchButton(panel->appFrm);
@@ -1329,6 +1377,8 @@ createInspectorForWindow(WWindow *wwin)
WMResizeWidget(panel->appChk[i], 205, 20); WMResizeWidget(panel->appChk[i], 205, 20);
WMSetButtonSelected(panel->appChk[i], flag); WMSetButtonSelected(panel->appChk[i], flag);
WMSetButtonText(panel->appChk[i], caption); WMSetButtonText(panel->appChk[i], caption);
WMSetBalloonTextForView(descr, WMWidgetView(panel->appChk[i]));
} }
if (WFLAGP(wwin, emulate_appicon)) { if (WFLAGP(wwin, emulate_appicon)) {
@@ -1421,7 +1471,9 @@ void
wShowInspectorForWindow(WWindow *wwin) wShowInspectorForWindow(WWindow *wwin)
{ {
if (wwin->flags.inspector_open) if (wwin->flags.inspector_open)
return; return;
WMSetBalloonEnabled(wwin->screen_ptr->wmscreen, wPreferences.help_balloon);
make_keys(); make_keys();
wwin->flags.inspector_open = 1; wwin->flags.inspector_open = 1;

View File

@@ -62,8 +62,6 @@ typedef struct InspectorPanel {
WMFrame *moreFrm; WMFrame *moreFrm;
WMButton *moreChk[8]; WMButton *moreChk[8];
WMLabel *moreLbl;
/* 4th page. icon and workspace */ /* 4th page. icon and workspace */
WMFrame *iconFrm; WMFrame *iconFrm;
WMLabel *iconLbl; WMLabel *iconLbl;

View File

@@ -281,10 +281,14 @@ showWorkspaceName(WScreen *scr, int workspace)
RXImage *ximg; RXImage *ximg;
Pixmap text, mask; Pixmap text, mask;
int w, h; int w, h;
int px, py;
char *name = scr->workspaces[workspace]->name; char *name = scr->workspaces[workspace]->name;
int len = strlen(name); int len = strlen(name);
int x, y; int x, y;
if (wPreferences.workspace_name_display_position == WD_NONE)
return;
if (scr->workspace_name_timer) { if (scr->workspace_name_timer) {
WMDeleteTimerHandler(scr->workspace_name_timer); WMDeleteTimerHandler(scr->workspace_name_timer);
XUnmapWindow(dpy, scr->workspace_name); XUnmapWindow(dpy, scr->workspace_name);
@@ -309,11 +313,38 @@ showWorkspaceName(WScreen *scr, int workspace)
w = wTextWidth(scr->workspace_name_font->font, name, len); w = wTextWidth(scr->workspace_name_font->font, name, len);
h = scr->workspace_name_font->height; h = scr->workspace_name_font->height;
switch (wPreferences.workspace_name_display_position) {
case WD_CENTER:
px = (scr->scr_width - (w+4))/2;
py = (scr->scr_height - (h+4))/2;
break;
case WD_TOP:
px = (scr->scr_width - (w+4))/2;
py = 0;
break;
case WD_BOTTOM:
px = (scr->scr_width - (w+4))/2;
py = scr->scr_height - h;
break;
case WD_TOPLEFT:
px = 0;
py = 0;
break;
case WD_TOPRIGHT:
px = scr->scr_width - w;
py = 0;
break;
case WD_BOTTOMLEFT:
px = 0;
py = scr->scr_height - h;
break;
case WD_BOTTOMRIGHT:
px = scr->scr_width - w;
py = scr->scr_height - h;
break;
}
XResizeWindow(dpy, scr->workspace_name, w+4, h+4); XResizeWindow(dpy, scr->workspace_name, w+4, h+4);
XMoveWindow(dpy, scr->workspace_name, (scr->scr_width - (w+4))/2, 0); XMoveWindow(dpy, scr->workspace_name, px, py);
/*
(scr->scr_height - (h+4))/2);
*/
text = XCreatePixmap(dpy, scr->w_win, w+4, h+4, scr->w_depth); text = XCreatePixmap(dpy, scr->w_win, w+4, h+4, scr->w_depth);
mask = XCreatePixmap(dpy, scr->w_win, w+4, h+4, 1); mask = XCreatePixmap(dpy, scr->w_win, w+4, h+4, 1);
@@ -356,9 +387,7 @@ showWorkspaceName(WScreen *scr, int workspace)
goto erro; goto erro;
} }
ximg = RGetXImage(scr->rcontext, scr->root_win, ximg = RGetXImage(scr->rcontext, scr->root_win, px, py,
(scr->scr_width - data->text->width)/2,
0 /* (scr->scr_height - data->text->height)/2 */,
data->text->width, data->text->height); data->text->width, data->text->height);
if (!ximg) { if (!ximg) {
@@ -409,8 +438,7 @@ wWorkspaceChange(WScreen *scr, int workspace)
if (workspace != scr->current_workspace) { if (workspace != scr->current_workspace) {
wWorkspaceForceChange(scr, workspace); wWorkspaceForceChange(scr, workspace);
} else { } else {
if (!wPreferences.no_workspace_name_display) showWorkspaceName(scr, workspace);
showWorkspaceName(scr, workspace);
} }
} }
@@ -577,8 +605,7 @@ wWorkspaceForceChange(WScreen *scr, int workspace)
} }
} }
if (!wPreferences.no_workspace_name_display) showWorkspaceName(scr, workspace);
showWorkspaceName(scr, workspace);
#ifdef GNOME_STUFF #ifdef GNOME_STUFF
wGNOMEUpdateCurrentWorkspaceHint(scr); wGNOMEUpdateCurrentWorkspaceHint(scr);