Table of Contents

Crossfire Client window configuration file winpos

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 .

X11 cfclient

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

GTK-1 gcfclient

GTK-1 crossfire-client-gtk

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

GTK-2 gcfclient2

GTK-2 crossfire-client-gtk2

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 .

When 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