1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-22 22:28:02 +01:00

wmaker: Restore multi screen functionality by reverting wrong commits

Revert patches that moved variables from WMScreen to global level
because this broke X displays with multiple independent screens and
caused dock and clip icons to become mixed up. When managing multiple
screens each screen used to have it's own state/dock and clip. This
commit restores that by reverting mainly the commits listed below (and
those that are invalidated by reverting these) and fixing up later
commits to apply after the revert.

Reverted commits:
f60e65001b Moved 'workspace_name_font' from the Screen to a Workspace object in the global namespace
9e103a46e9 Variable workspace_count moved to the workspace object in the global namespace
e5ae684d02 Variable last_workspace moved to workspace object in global namespace
c610b8d7ce Variable current_workspace moved to workspace object in global namespace
f0c5073600 Array of workspaces moved to the workspace object in the global namespace
9c252988f8 Variable workspace_menu moved to workspace object in global namespace
e86b8dcb2f Clip, Dock and Drawers menu moved to appropriate global namespace
074092f319 Removed WScreen args not used
4a7daf2322 AppIcon list moved out of WScreen
2103fe390b Variable clip_icon moved to clip object in the global namespace
014bc52531 wClipIconPaint appicon argument removed
40e1ea08b8 Varible session_state moved to global namespace
6987d4aa40 Removed WScreen argument
0de3e590ce shortcutWindows moved to w_global
2e64831fb6 Removed unused variable wapp_list
b6423a7b4f wmaker: Moved variable Screen Count into the global namespace

Signed-off-by: Carlos R. Mafra <crmafra@gmail.com>
This commit is contained in:
BALATON Zoltan
2014-10-19 23:53:58 +02:00
committed by Carlos R. Mafra
parent e3dcadde30
commit cb3702559a
33 changed files with 588 additions and 572 deletions

View File

@@ -105,6 +105,10 @@ typedef struct _WScreen {
WMArray *fakeGroupLeaders; /* list of fake window group ids */
struct WAppIcon *app_icon_list; /* list of all app-icons on screen */
struct WApplication *wapp_list; /* list of all aplications */
WMBag *stacking_list; /* bag of lists of windows
* in stacking order.
* Indexed by window level
@@ -115,6 +119,14 @@ typedef struct _WScreen {
int window_count; /* number of windows in window_list */
int workspace_count; /* number of workspaces */
struct WWorkspace **workspaces; /* workspace array */
int current_workspace; /* current workspace number */
int last_workspace; /* last used workspace number */
WReservedArea *reservedAreas; /* used to build totalUsableArea */
WArea *usableArea; /* area of the workspace where
@@ -149,6 +161,8 @@ typedef struct _WScreen {
needs to be a core font so we can
use it with a XORing GC */
WMFont *workspace_name_font;
WMColor *select_color;
WMColor *select_text_color;
/* foreground colors */
@@ -205,12 +219,21 @@ typedef struct _WScreen {
struct WMenu *root_menu; /* root window menu */
struct WMenu *switch_menu; /* window list menu */
struct WMenu *workspace_menu; /* workspace operation */
struct WMenu *window_menu; /* window command menu */
struct WMenu *icon_menu; /* icon/appicon menu */
struct WMenu *workspace_submenu; /* workspace list for window_menu */
struct WDock *dock; /* the application dock */
struct WMenu *dock_pos_menu; /* Dock position menu */
struct WPixmap *dock_dots; /* 3 dots for the Dock */
Window dock_shadow; /* shadow for dock buttons */
struct WAppIcon *clip_icon; /* The clip main icon, or the dock's, if they are merged */
struct WMenu *clip_menu; /* Menu for clips */
struct WMenu *clip_submenu; /* Workspace list for clips */
struct WMenu *clip_options; /* Options for Clip */
struct WMenu *clip_ws_menu; /* workspace menu for clip */
struct WMenu *drawer_menu; /* Menu for drawers */
struct WDock *last_dock;
WAppIconChain *global_icons; /* for omnipresent icons chain in clip */
int global_icon_count; /* How many global icons do we have */
@@ -237,6 +260,8 @@ typedef struct _WScreen {
/* state and other informations */
short cascade_index; /* for cascade window placement */
WMPropList *session_state;
/* for double-click detection */
Time last_click_time;
Window last_click_window;
@@ -254,6 +279,10 @@ typedef struct _WScreen {
WMHandlerID *autoRaiseTimer;
Window autoRaiseWindow; /* window that is scheduled to be
* raised */
/* for window shortcuts */
WMArray *shortcutWindows[MAX_WINDOW_SHORTCUTS];
#ifdef XDND
char *xdestring;
#endif