The winpos file inside the hidden .crossfire directory of the user's HOME contains the changed and saved window position variable names and their values.
For the discontinued X11 cfclient it's name had been “winpos” ,
and also the afterwards discontinued GTK-1 gcfclient used that file name.
The GTK-2 client GTK-2 gcfclient2 used at these times the file name “gwinpos2” .
While the positions of the created six single windows were saved for the -split option,
and entering the extended player-command savewinpos was responded a “only available in split windows mode” in the information message window, the GTK-2 client has no working -split option anymore, though the -help says so, dough is able to be internally re-sized at the “pane lines” and externally by the overall window manager frame. Any changes can be saved then to the at that time named gwinpos2 file.
With the upcoming of the various *.glade GUI-layout files, the name gwinpos2 is not used anymore;
each Graphical User Interface glade-layout.glade layout file now has it's own glade-layout.pos file for the GTK-2 crossfire-client-gtk2 .
The winpos file has 6 lines as content like
|Window Description||Variable_Name||Startx Starty +x +y|
|Middle Game Map Window:||win_game:||767 288 357 357|
|Player,Attributes,Skills:||win_stats:||795 70 357 140|
|Informational Messages:||win_info:||1158 76 456 610|
|Inventory Window:||win_inv:||420 131 300 404|
|Look Ground Window:||win_look:||408 573 300 202|
|Resists,Hp,Sp,Gr,Food bars:||win_message:||741 705 357 107|
During it's short lifetime, the GTK-1 client at version 1.12.0 has had a binary named crossfire-client-gtk,
that wrote it's windows positions to the file “gwinpos” .
Example gwinpos file :
|Window Description||Variable_Name||horizontal / vertical +pixels||Startx Starty +x +y|
|Full window size in non-split mode||win_game:||559 15 957 682|
|Delim between Middle and Right pane||stat_info_hpane:||358|
|Delim between Stats and Map in Middle pane||stat_game_vpane:||160|
|Delim between Inventory and Middle pane||inv_hpane:||264|
|Delim between Inventory and Ground Look in Left pane||inv_look_vpane:||330|
|Delim between Map and Status-Bars in Middle pane||game_bar_vpane:||358|
Since version 1.12.0 and later, the crossfire GTK-2 client executable is not named gcfclient2 anymore, but is now called crossfire-client-gtk2 .
saving to the glade-layout.pos file , the code looks for variable name IDs as
* Iterate through all widgets whose names begin with hpaned_* and vpaned_* in the source file gtk-v2/src/config.c .
Example for the layout gtk-v1.glade gtk-v1.pos config file:
|Window / Pane Description||Variable_Name||horizontal / vertical +pixels||+StartX +StartY xX xY|
|Main Window Sizes||window_root:||+161+21x1423x948|
|Horizontal Delimiter for Inventory and Floor of the Left pane||vpaned_inv_floor:||715|
|Vertical Delimiter between Left and Middle pane||hpaned_client:||340|
|Horizontal Delimiter between Stats and Skills in the Middle Pane||vpaned_corestats_skills:||92|
|Horizontal Delimiter between (Stats&Skills) and the Map||vpaned_middle:||185|
|Horizontal Delimiter between the Map and the below part||vpaned_maps_barsprotections:||549|
|Vertical Delimiter between Hp Level bars and list of Resistances||hpaned_bars_protections:||285|
|Vertical Delimiter between Middle and Right pane||hpaned_middle_messages:||575|
|Horizontal Delimiter between Important and Normal Messages in the Right Pane||vpaned_messages:||205|