This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project wmaker-crm.git.
The branch, next has been updated via 9de5a27dbc57aac8af8624fdb406f3cc63e5bf39 (commit) via 42e406954162caada2d44cf41b01a68579478b22 (commit) via e5632a91203a905a8a0838e8ef1cdec8d6ab53e6 (commit) via c3ad2513a9701c34b88bd1e0d7d0638411148169 (commit) from 7277787110057b1ce6bd9861700dc62132baa0f7 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://repo.or.cz/wmaker-crm.git/commit/9de5a27dbc57aac8af8624fdb406f3cc63e5bf39 commit 9de5a27dbc57aac8af8624fdb406f3cc63e5bf39 Author: Doug Torrance <dtorra...@piedmont.edu> Date: Sun Jan 17 15:47:50 2016 -0500 wmaker: Add option for window snap to top edge to maximize to full screen. This is a common behavior in a number of other environments, e.g., Unity and Windows. diff --git a/NEWS b/NEWS index 36fb3f4..4dcacb7 100644 --- a/NEWS +++ b/NEWS @@ -1,7 +1,20 @@ - NEWS for veteran Window Maker users ----------------------------------- +-- 0.95.8 + + +Snapping a window to the top +---------------------------- + +You can now choose whether snapping a window to the top edge of the screen +maximizes it to the top half (the previous and default behavior) or to the +full screen by setting "SnapToTopMaximizesFullscreen" to "NO" or "YES", +respectively. This setting can also be changed by unchecking or checking +"Snapping a window to the top maximizes it to the full screen" in the +"Expert User Preferences" tab in WPrefs.app. + + -- 0.95.7 Window snapping diff --git a/WPrefs.app/Expert.c b/WPrefs.app/Expert.c index 0c5df94..84c2eb5 100644 --- a/WPrefs.app/Expert.c +++ b/WPrefs.app/Expert.c @@ -97,6 +97,9 @@ static const struct { { N_("Distance from corner to begin window snap."), /* default: */ 10, OPTION_WMAKER_INT, "SnapCornerDetect" }, + { N_("Snapping a window to the top maximizes it to the full screen."), + /* default: */ False, OPTION_WMAKER, "SnapToTopMaximizesFullscreen" }, + { N_("Open dialogs in the same workspace as their owners."), /* default: */ False, OPTION_WMAKER, "OpenTransientOnOwnerWorkspace" } diff --git a/src/WindowMaker.h b/src/WindowMaker.h index 21da64d..fe22a79 100644 --- a/src/WindowMaker.h +++ b/src/WindowMaker.h @@ -362,6 +362,7 @@ extern struct WPreferences { char window_snapping; /* enable window snapping */ int snap_edge_detect; /* how far from edge to begin snap */ int snap_corner_detect; /* how far from corner to begin snap */ + char snap_to_top_maximizes_fullscreen; char drag_maximized_window; /* behavior when a maximized window is dragged */ char highlight_active_app; /* show the focused app by highlighting its icon */ diff --git a/src/defaults.c b/src/defaults.c index 0a859ca..ea02295 100644 --- a/src/defaults.c +++ b/src/defaults.c @@ -478,6 +478,8 @@ WDefaultEntry optionList[] = { &wPreferences.snap_edge_detect, getInt, NULL, NULL, NULL}, {"SnapCornerDetect", "10", NULL, &wPreferences.snap_corner_detect, getInt, NULL, NULL, NULL}, + {"SnapToTopMaximizesFullscreen", "NO", NULL, + &wPreferences.snap_to_top_maximizes_fullscreen, getBool, NULL, NULL, NULL}, {"DragMaximizedWindow", "Move", seDragMaximizedWindow, &wPreferences.drag_maximized_window, getEnum, NULL, NULL, NULL}, {"HighlightActiveApp", "YES", NULL, diff --git a/src/moveres.c b/src/moveres.c index 5472ceb..9f7a91d 100644 --- a/src/moveres.c +++ b/src/moveres.c @@ -1212,7 +1212,10 @@ static void draw_snap_frame(WWindow *wwin, int direction) break; case SNAP_TOP: - drawTransparentFrame(wwin, 0, 0, scr->scr_width, scr->scr_height/2); + if (wPreferences.snap_to_top_maximizes_fullscreen) + drawTransparentFrame(wwin, 0, 0, scr->scr_width, scr->scr_height); + else + drawTransparentFrame(wwin, 0, 0, scr->scr_width, scr->scr_height/2); break; case SNAP_BOTTOM: @@ -1289,7 +1292,10 @@ static void do_snap(WWindow *wwin, MoveData *data, Bool opaqueMove) directions = MAX_VERTICAL | MAX_RIGHTHALF; break; case SNAP_TOP: - directions = MAX_HORIZONTAL | MAX_TOPHALF; + if (wPreferences.snap_to_top_maximizes_fullscreen) + directions = MAX_HORIZONTAL | MAX_VERTICAL; + else + directions = MAX_HORIZONTAL | MAX_TOPHALF; break; case SNAP_BOTTOM: directions = MAX_HORIZONTAL | MAX_BOTTOMHALF; http://repo.or.cz/wmaker-crm.git/commit/42e406954162caada2d44cf41b01a68579478b22 commit 42e406954162caada2d44cf41b01a68579478b22 Author: Doug Torrance <dtorra...@piedmont.edu> Date: Sun Jan 17 15:47:49 2016 -0500 wmaker: Fix typos (used codespell). diff --git a/src/actions.c b/src/actions.c index b210888..f46e586 100644 --- a/src/actions.c +++ b/src/actions.c @@ -1136,7 +1136,7 @@ void wIconifyWindow(WWindow *wwin) wwin->icon = icon_create_for_wwindow(wwin); wwin->icon->mapped = 1; - /* extract the window screenshot everytime, as the option can be enable anytime */ + /* extract the window screenshot every time, as the option can be enable anytime */ if (wwin->client_win && wwin->flags.mapped) { RImage *mini_preview; XImage *pimg; diff --git a/src/balloon.c b/src/balloon.c index 1e05ca7..e649f98 100644 --- a/src/balloon.c +++ b/src/balloon.c @@ -535,7 +535,7 @@ static void appiconBalloon(WObjDescriptor *object) /* * Check to see if it is a GNUstep app, because in this case we use the instance * instead of the class, otherwise the user will not be able to distinguish what - * is being refered. + * is being referred. */ if (strcmp(aicon->wm_class, "GNUstep") == 0) display_name = aicon->wm_instance; diff --git a/src/defaults.c b/src/defaults.c index caa428e..0a859ca 100644 --- a/src/defaults.c +++ b/src/defaults.c @@ -545,7 +545,7 @@ WDefaultEntry optionList[] = { {"WorkspaceSpecificBack", "()", NULL, NULL, getWSSpecificBackground, setWorkspaceSpecificBack, NULL, NULL}, /* WorkspaceBack must come after WorkspaceSpecificBack or - * WorkspaceBack wont know WorkspaceSpecificBack was also + * WorkspaceBack won't know WorkspaceSpecificBack was also * specified and 2 copies of wmsetbg will be launched */ {"WorkspaceBack", "(solid, black)", NULL, NULL, getWSBackground, setWorkspaceBack, NULL, NULL}, diff --git a/src/dialog.c b/src/dialog.c index 2efb695..b9437c2 100644 --- a/src/dialog.c +++ b/src/dialog.c @@ -1629,7 +1629,7 @@ int wShowCrashingDialogPanel(int whatSig) WMMoveWidget(panel->note2L, 10, 130); WMSetLabelTextAlignment(panel->note2L, WALeft); snprintf(buf, sizeof(buf), /* Comment for the PO file: the %s is an email address */ - _(" This fatal error occured probably due to a bug." + _(" This fatal error occurred probably due to a bug." " Please fill the included BUGFORM and report it to %s."), PACKAGE_BUGREPORT); WMSetLabelText(panel->note2L, buf); diff --git a/src/dock.c b/src/dock.c index 3b3313b..c26436a 100644 --- a/src/dock.c +++ b/src/dock.c @@ -4650,7 +4650,7 @@ static int indexOfHole(WDock *drawer, WAppIcon *moving_aicon, int redocking) * that's where the ghost of the moving appicon is, that's what the * function should return. * - * We compute 1+2+...+n (this sum is equal to n*(n+1)/2), we substract to + * We compute 1+2+...+n (this sum is equal to n*(n+1)/2), we subtract to * this sum the xindex of each of the n-1 appicons, and we get the correct * index! */ diff --git a/src/event.c b/src/event.c index e7ee074..800cc87 100644 --- a/src/event.c +++ b/src/event.c @@ -329,7 +329,7 @@ static void handle_inotify_events(void) return; } - /* check what events occured */ + /* check what events occurred */ /* Should really check wd here too, but for now we only have one watch! */ while (i < eventQLength) { struct inotify_event *pevent = (struct inotify_event *)&buff[i]; @@ -408,7 +408,7 @@ noreturn void EventLoop(void) /* check for available read data from inotify - don't block! */ retVal = select(w_global.inotify.fd_event_queue + 1, &rfds, NULL, NULL, &time); - if (retVal < 0) { /* an error has occured */ + if (retVal < 0) { /* an error has occurred */ wwarning(_("select failed. The inotify instance will be closed." " Changes to the defaults database will require" " a restart to take effect.")); @@ -1310,7 +1310,7 @@ static void handleColormapNotify(XEvent * event) /* some bastard app (like XV) removed our colormap */ /* - * can't enforce or things like xscreensaver wont work + * can't enforce or things like xscreensaver won't work * reinstall = True; */ } else if (event->xcolormap.state == ColormapInstalled && diff --git a/src/placement.c b/src/placement.c index b801c9c..62fcb30 100644 --- a/src/placement.c +++ b/src/placement.c @@ -546,7 +546,7 @@ void PlaceWindow(WWindow *wwin, int *x_ret, int *y_ret, unsigned width, unsigned /* * clip to usableArea instead of full screen * this will also take dock/clip etc.. into account - * aswell as being xinerama friendly + * as well as being xinerama friendly */ if (*x_ret + width > usableArea.x2) *x_ret = usableArea.x2 - width; diff --git a/src/session.c b/src/session.c index 90109a3..888d4a5 100644 --- a/src/session.c +++ b/src/session.c @@ -303,7 +303,7 @@ void wSessionSaveState(WScreen * scr) if (win_info != NULL) { WMAddToPLArray(list, win_info); WMReleasePropList(win_info); - /* If we were succesful in saving the info for this window + /* If we were successful in saving the info for this window * add the application the window belongs to, to the * application list, so no multiple entries for the same * application are saved. diff --git a/src/stacking.c b/src/stacking.c index d7daf17..d4224cc 100644 --- a/src/stacking.c +++ b/src/stacking.c @@ -312,7 +312,7 @@ void wLowerFrame(WCoreWindow * frame) if (wlist->stacking->under == NULL) { return; } - /* cant lower transient below below its owner */ + /* can't lower transient below below its owner */ if (wlist->stacking->under == wlist->stacking->child_of) { return; } diff --git a/src/startup.c b/src/startup.c index 8e633b8..985f066 100644 --- a/src/startup.c +++ b/src/startup.c @@ -160,7 +160,7 @@ static RETSIGTYPE handleExitSig(int sig) } sigprocmask(SIG_UNBLOCK, &sigs, NULL); - DispatchEvent(NULL); /* Dispatch events imediately. */ + DispatchEvent(NULL); /* Dispatch events immediately. */ } /* Dummy signal handler */ @@ -532,7 +532,7 @@ void StartUp(Bool defaultScreenOnly) /* ignore dead pipe */ /* Because POSIX mandates that only signal with handlers are reset - * accross an exec*(), we do not want to propagate ignoring SIGPIPEs + * across an exec*(), we do not want to propagate ignoring SIGPIPEs * to children. Hence the dummy handler. * Philippe Troin <p...@fifi.org> */ @@ -548,9 +548,9 @@ void StartUp(Bool defaultScreenOnly) /* Now we unblock all signals, that may have been blocked by the parent * who exec()-ed us. This can happen for example if Window Maker crashes * and restarts itself or another window manager from the signal handler. - * In this case, the new proccess inherits the blocked signal mask and + * In this case, the new process inherits the blocked signal mask and * will no longer react to that signal, until unblocked. - * This is because the signal handler of the proccess who crashed (parent) + * This is because the signal handler of the process who crashed (parent) * didn't return, and the signal remained blocked. -Dan */ sigfillset(&sig_action.sa_mask); diff --git a/src/usermenu.c b/src/usermenu.c index b5c0cfe..7bf6ed1 100644 --- a/src/usermenu.c +++ b/src/usermenu.c @@ -31,7 +31,7 @@ * - external! WINGs menu editor. * TODONOT * - allow applications to share their menu. ] think it - * looks wierd since there still are more than 1 appicon. + * looks weird since there still are more than 1 appicon. * * Syntax... * ( diff --git a/src/wconfig.h.in b/src/wconfig.h.in index bac5072..85d0cf5 100644 --- a/src/wconfig.h.in +++ b/src/wconfig.h.in @@ -188,7 +188,7 @@ #define SINGLE_MENULEVEL /* max. time to spend doing animations in seconds. If the animation - * time exceeds this value, it is immediately finished. Usefull for + * time exceeds this value, it is immediately finished. Useful for * moments of high-load. DO NOT set *_DELAY_{Z,T,F} to zero! */ #define MAX_ANIMATION_TIME 1 diff --git a/src/window.c b/src/window.c index 532670c..6e22765 100644 --- a/src/window.c +++ b/src/window.c @@ -781,7 +781,7 @@ WWindow *wManageWindow(WScreen *scr, Window window) #define ADEQUATE(x) ((x)!=None && (x)!=wwin->client_win && (x)!=fPtr->leader) - /* // only enter here if PropGetWMClass() succeds */ + /* // only enter here if PropGetWMClass() succeeds */ PropGetWMClass(wwin->main_window, &class, &instance); buffer = StrConcatDot(instance, class); @@ -1241,7 +1241,7 @@ WWindow *wManageWindow(WScreen *scr, Window window) * the window focusing (if the mouse is over that window) * will be processed by wmaker. * But since this event will be rather delayed - * (step 3 has a large delay) the time when the event ocurred + * (step 3 has a large delay) the time when the event occurred * and when it is processed, the client that owns that window * will reject the XSetInputFocus() for it. */ @@ -2574,7 +2574,7 @@ void wWindowResetMouseGrabs(WWindow * wwin) /* Mouse grabs can't be done on the client window because of * ICCCM and because clients that try to do the same will crash. * - * But there is a problem wich makes tbar buttons of unfocused + * But there is a problem which makes tbar buttons of unfocused * windows not usable as the click goes to the frame window instead * of the button itself. Must figure a way to fix that. */ diff --git a/src/winmenu.c b/src/winmenu.c index c7da09d..6f090e3 100644 --- a/src/winmenu.c +++ b/src/winmenu.c @@ -527,7 +527,7 @@ static WMenu *makeWorkspaceMenu(WScreen * scr) * The Workspace Menu is made visible in the screen structure because * it is updated when there is a change on workspaces. This was done * to be efficient, avoiding re-generating completely the window menu - * and its sub-menus everytime it is needed. + * and its sub-menus every time it is needed. */ scr->workspace_submenu = menu; diff --git a/src/winspector.c b/src/winspector.c index 0d6d57d..e3d8f7f 100644 --- a/src/winspector.c +++ b/src/winspector.c @@ -235,7 +235,7 @@ static InspectorPanel *panelList = NULL; * save the user choice to the database, but as we will need to convert that name into a Property * List, we use here a Cache of Property Lists, generated only once, which can be reused. It will * also save on memory because of the re-use of the same storage space instead of allocating a new - * one everytime. + * one every time. */ static WMPropList *pl_attribute[sizeof(window_attribute) / sizeof(window_attribute[0])] = { [0] = NULL }; static WMPropList *pl_advoptions[sizeof(advanced_option) / sizeof(advanced_option[0])]; diff --git a/src/xutil.c b/src/xutil.c index 2432d81..21d3c04 100644 --- a/src/xutil.c +++ b/src/xutil.c @@ -1,5 +1,5 @@ /* - * WindowMaker miscelaneous functions + * WindowMaker miscellaneous functions * * Copyright (c) 1997-2003 Alfredo K. Kojima * http://repo.or.cz/wmaker-crm.git/commit/e5632a91203a905a8a0838e8ef1cdec8d6ab53e6 commit e5632a91203a905a8a0838e8ef1cdec8d6ab53e6 Author: Doug Torrance <dtorra...@piedmont.edu> Date: Sun Jan 17 15:47:48 2016 -0500 wmaker: Remove prototype for unused get_right_position_on_screen function. diff --git a/src/placement.h b/src/placement.h index d3455ee..e959961 100644 --- a/src/placement.h +++ b/src/placement.h @@ -35,7 +35,4 @@ void PlaceWindow(WWindow *wwin, int *x_ret, int *y_ret, unsigned width, unsigned void InteractivePlaceWindow(WWindow * wwin, int *x_ret, int *y_ret, unsigned width, unsigned height); -/* Set the points x and y inside the screen */ -void get_right_position_on_screen(WScreen *scr, int *x, int *y, int size_x, int size_y); - #endif /* PLACEMENT_H */ http://repo.or.cz/wmaker-crm.git/commit/c3ad2513a9701c34b88bd1e0d7d0638411148169 commit c3ad2513a9701c34b88bd1e0d7d0638411148169 Author: Doug Torrance <dtorra...@piedmont.edu> Date: Sun Jan 17 15:47:47 2016 -0500 wmaker: Update copyright years in info panel. diff --git a/src/dialog.c b/src/dialog.c index 3579a65..2efb695 100644 --- a/src/dialog.c +++ b/src/dialog.c @@ -1129,7 +1129,7 @@ typedef struct { #define COPYRIGHT_TEXT \ "Copyright \xc2\xa9 1997-2006 Alfredo K. Kojima\n"\ "Copyright \xc2\xa9 1998-2006 Dan Pascu\n"\ - "Copyright \xc2\xa9 2013-2014 Window Maker Developers Team" + "Copyright \xc2\xa9 2013-2016 Window Maker Developers Team" static InfoPanel *infoPanel = NULL; ----------------------------------------------------------------------- Summary of changes: NEWS | 15 ++++++++++++++- WPrefs.app/Expert.c | 3 +++ src/WindowMaker.h | 1 + src/actions.c | 2 +- src/balloon.c | 2 +- src/defaults.c | 4 +++- src/dialog.c | 4 ++-- src/dock.c | 2 +- src/event.c | 6 +++--- src/moveres.c | 10 ++++++++-- src/placement.c | 2 +- src/placement.h | 3 --- src/session.c | 2 +- src/stacking.c | 2 +- src/startup.c | 8 ++++---- src/usermenu.c | 2 +- src/wconfig.h.in | 2 +- src/window.c | 6 +++--- src/winmenu.c | 2 +- src/winspector.c | 2 +- src/xutil.c | 2 +- 21 files changed, 52 insertions(+), 30 deletions(-) repo.or.cz automatic notification. Contact project admin crma...@gmail.com if you want to unsubscribe, or site admin ad...@repo.or.cz if you receive no reply. -- wmaker-crm.git ("The Window Maker window manager") -- To unsubscribe, send mail to wmaker-dev-unsubscr...@lists.windowmaker.org.