The icon functions wApplicationExtractDirPackIcon() wApplicationSaveIconPathFor()
are moved to appicon.c from application.c.
This functions are Application Icon related and should be included in appicon.
The function get_name_for_icon is renamed to get_name_for_wwin.
The previous contents of get_name_for_icon are now at the new
function get_name_for_instance_class.
The function get_name_for_icon returns now the name of the icon,
without the full icon path and without extension (.xpm). Now is
not static.
The full path, including the folder creation, is done now by
wmkdirhier() (WINGs). This function is much better, because
supports "infinite" folders, not like the old get_name_for_icon
which could only create the specific folder for Cache Icons.
Using this functions, wIconStore() do the same work, but in a better
way, more clear.
This patch creates some functions:
1. Rename getnameforicon() to get_name_for_icon()
2. New function get_icon_cache_path, to get the icon cache folder
($HOME + GNUstep/Library/WindowMaker/CachedPixmaps). This folder
is defined now in the preprocessor. Not used yet, in next commits.
3. New function get_wwindow_image_from_wmhints to read the image from
X11 wmhints. Previous code at wIconStore() now changed.
The function wDefaultFillAttributes can be changed a lot:
1. Initialitation to NULL: If the pointers are initialized to NULL
then, the "if's" don't need the else block:
WMPropList *value, *dw, *dc, *dn, *da;
dw = dc = dn = da = NULL;
if's:
= if (instance)
= key2 = WMCreatePLString(instance);
- else
- key2 = NULL;
2. Added StrConcatDot in the class + instance block:
= if (class && instance) {
+ buffer = StrConcatDot(instance, class);
- buffer = wmalloc(strlen(class) + strlen(instance) + 2);
- sprintf(buffer, "%s.%s", instance, class);
3. init_wdefaults(scr); moved above. This function is used only
to load the default value "AnyWindow" (value "*"), to search
the default value. Can be moved above without problems.
4. Preprocessor code of APPLY_VAL moved to the top of the file.
5. New function get_value_from_instanceclass() to do the rest of
the (repetitive) code. This function is called to create the
proplist, search the value, and return the proplist.
EXTRA:
1. Added StrConcatDot (like dot 2) in wDefaultChangeIcon()
2. Added a comment in get_value()
The argument "src" is removed in the function get_generic_value()
because it is not used.
The function wDefaultGetIconFile() is moved close to
wDefaultGetStartWorkspace() because both are similar.
The function removeAppIconFor() does exactly the same thing as the code inside
wApplicationDestroy(), including the last call to wArrangeIcons(). So let's
simply remove the code and call the function instead.
This patch checks if the no_appicon flag is set, then, the icon
is not created, therefore cannot be painted neither saved.
Some comments added to clarify the code.
The functions makeAppIconFor and removeAppIconFor are moved from
winspector.c to appicon.c, and now are not static.
The reason to move these functions is because are used to create
and remove app_icons, therefore should be included in this file.
Finally, this functions will be updated and splitted in next patches.
The new function app_icon_create_from_docks do all the needed stuff to create
the application app_icon using a previous image in docks.
The contents of the app_icon_create_from_docks were moved from the
wApplicationCreate function. Now this function is more clear.
New function to save the icon "save_app_icon". This function is
created in appicon.c, because is related to app_icons. The contents
are from application.c. No important modifications are included in
this function. Removed the includes not needed.
This patch includes the changes to create the package for
debian.
Changes are included in changelog:
* New upstream release 0.95.3
* Removed debian/clean file. Upstream removes now the files.
* Bumped to standard version 3.9.3
* Important!: Removed symbol "W_DraggingInfo" in libwutil2 and
libwings2, because the struct W_DraggingInfo is now declared
as "typedef", therefore the struct is not included.
This change is included in upstream, see line 126 of the file
WINGs/WINGs/WINGsP.h
* Patch 53_Debian_WMState.diff changed, because the WMState file
in upstream is now different. Now, the dock launch WPrefs.
* Removed /etc/X11/WindowMaker files.
* Removed from debian/wmaker-common.dirs
* Removed (duplicated) files in debian/wmaker-common.install
* New path for menu.hook: /usr/share/WindowMaker
* Changed in the menu-method files (wmaker and wmappearance.
* Removed menu.posthook and menu.prehook.
* Changed the menu behaviour. Applications/* contents moved to
the root menu.
The new function wIconCreateCore do the common work to create a WIcon.
This code was before in wIconCreateWithIconFile() and wIconCreateWithIconFile().
The new function wGetWorkspaceNumber returns the workspace number
for a given workspace name.
The code of this function is already used in session.c and wdefaults.c
and now is moved to workspace.c
In wSessionRestoreLastWorkspace the char value is checked before
calling the function, because without string, the function don't do
nothing.
This patch removes the unneeded curly brackets in multiple files.
It also add some comments in the code. In usermenu.c removes some
variables not used.
Changes to appicon.h:
- Spaces replaced by tabs in the struct
- Removed unused variables:
- client_machine, never assigned
- gnustep_app, never used
- Functions sort by return type
Then, in dock.c, the block with client_machine is never true,
then can be removed. The host variable then is never used.
The function canReceiveFocus should check if the window is no_focusable first.
If the window is not focusable but is miniaturized, the window is shown in the
switchpanel.
How to reproduce the problem:
- Open an application
- Open the window properties, advanced options
- Set that the application can not get the focus and save
- Test the switchpanel (Alt+Tab) the window doesn't appear
- Minimize the window
- Test the switchpanel (Alt+Tab), the window appears
- If the window is selected (restored), and test again the switchpanel, the window doesn't appear!
A new function is created to get the image from the X11 window.
The function updateIconImage is splitted in two blocks, one is moved
to get_wwindow_image_from_x11 with the X11 code, and other is used
to update the Application and Window icons (kept in the same function).
Doug Barton reported that using "Technical drawing-like" for "Size display"
under WPrefs "Miscellaneous Ergonomic Preferences" together with opaque
resize would lead to artifacts left on screen when resizing.
This patch fixes it (and it also fixes some minor coding style issues
in the surroundings).
The file "clean", which contains "WindowMaker/Defaults/WMRootMenu"
can be removed, because this file was included to be cleaned in
the commit 01907f9983
The Application/* items are moved to the root menu, removing the
"Applications" submenu. The files from /etc/X11/WindowMaker moved
to /etc/GNUstep/Defaults
The path /etc/X11/WindowMaker is not needed now. The files were
deleted or moved to /usr/share/WindowMaker. Some files were the
same in /etc/X11/WindowMaker and /usr/share/WindowMaker.
The configuration file menu.hook is moved to /etc/GNUstep/Defaults
Duplicated:
- wmmacros
- appearence.menu (copied & generated).
- background.menu
Removed:
- menu.prehook
- menu.posthook
Moved:
- menu.hook (generated).
Display a standard Window Maker balloon with the workspace name when the
mouse enters the clip area.
This complements commit 4954d4df23 ("clip: Do not display balloon with
workspace name") because now the balloon which appears on the clip is the
same as in other parts of wmaker.
Signed-off-by: Carlos R. Mafra <crmafra@gmail.com>
In commit e1453087f57... the function copy_file() was renamed to
wcopy_file(), then the symbols file needs to be updated.
The changelog includes a new debian bug closed.
This upload includes the debian changes of 0.95.0 and 0.95.1
- Debian stuff (themes, menus,...) is moved to different folder.
- Many changes in debian/rules file
- New files to avoid lines in debian/rules (new menu files)
- This is a little extract form the debian/changelog file:
* New upstream version 0.95.1
* The WINGs's file proplist-compat.h is removed in upstream.
- Removed the line in debian/libwings-dev.install
* Updated debian/libwutil2.symbols with new symbol.
* libpng12-dev dependencies changed to libpng-dev. [Closes: #648123]
* wterm package suggestion removed.
* Menu shows "Run..." option. [Closes: #165075]
Thanks to Andreas Tscharner for their patch.
* Menu shows the background files [Closes: #655122]
* Added patch 54_Debian_wmmacros.diff.
Based on changelog: Marcelo E. Magallon Tue, 17 Nov 1998
* Xterm and WMPrefs are now Debian specific.
* Added patch 53_Debian_WMState.diff.
Based on changelog: Marcelo E. Magallon Sun, 26 Nov 2000
* Fix wmaker-common dependencies. [Closes: #654668]
* Manpages moved from wmaker-common to wmaker (Lintian problem).
* Removed old stuff in wmaker.post* and wmaker-common.post* about
update-alternatives.
* Fix to the FTBFS. [Closes: #654524]
* New debian/watch file
* New upstream version 0.95.0, now from git. [Closes: #401900]
[Closes: #514438, #607550, #218110, #583734, #105351, #549157]
[Closes: #283610, #311563, #310285, #329783, #280819, #284048]
[Closes: #292391, #361241, #364290, #148370, #287459, #122076]
[Closes: #175503, #79598, #78088, #68381, #38184, #41434, #41434]
[Closes: #94960, #39543, #63265, #69499, #94446, #77488, #329783]
Thanks to Andreas Tscharner for their bug revision.
* This new version is based in wmaker-crm a wmaker fork, because
wmaker (original) is not updated.
* New debian/rules file. [Closes: #590244]
* Many many changes
* /usr/lib/WindowMaker/WindowMaker is now /usr/lib/WindowMaker/wmaker
* wmaker script launch now /usr/lib/WindowMaker/wmaker
* New maintainer. [Closes: #632875]
* New package wmaker-common (arch independent files).
* Removed the asclock diversions from the wmaker install scripts
wmaker.postrm and wmaker.preinst because asclock binary is not
included in wmaker package (see asclock package).
* New package wmaker-common with the arch independent files.
* debian/patches are now DEP-3.
* debian/copyright is now DEP-5.
* Bumped Standars-Version 3.9.2.
* Manpages moved to upstream.
* Solved problems with .la files (lintian clean).
* libwmaker0-dev isn't included, because was removed in upstream.
The function captureShortcut() is implemented in both files KeyboardShortcuts.c
and Menu.c, with just a minor difference regarding the conversion to upper case.
To unify them, define a new function which includes a new boolean paramenter to
dictate whether the upper case conversion should be done or not.
If you delete the file ~GNUStep/Defaults/WMRootMenu and run WMPrefs
and go to the Menu Edit tab, it will show a dialog about keeping the menu or
discarding it. If you discard it then WPrefs shows an error:
"Could not open default menu from
'/home/user/GNUStep/Library/WindowMaker/plmenu"
The problem is at WPrefs.app/Menu.c:1424, and it happens because it tries
to load the default menu from the user's GNUstep home, but plmenu is not
copied there during the installation.
Of course, the file doesn't need to be copied to the users home, so
WPrefs should try to read it from /usr/share/WindowMaker/plmenu (Debian)
or /usr/local/share/WindowMaker/plmenu (upstream).
* New maintainer [Closes: #632875]
* New upstream version, now from git. [Closes: #556677]
* New package wmaker-common (arch independent files)
* removed the asclock diversions from the wmaker scripts
* new package wmaker-common with the arch independent files
* debian/patches are now DEP-3
* debian/copyright is now DEP-5
* Standard-Version is now 3.9.2
* manpages moved to upstream
* solved some problems with .la files (lintian clean)