closes #1107213, 64bit issues with XChangeProperty
submitted by Matthieu Herrb <matthieu.herrb@laas.fr>
This commit is contained in:
parent
f4d3d79d38
commit
67098a21ea
4 changed files with 14 additions and 14 deletions
12
src/Ewmh.cc
12
src/Ewmh.cc
|
@ -415,7 +415,7 @@ void Ewmh::updateCurrentWorkspace(BScreen &screen) {
|
||||||
* This MUST be set and updated by the Window Manager.
|
* This MUST be set and updated by the Window Manager.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
unsigned int workspace = screen.currentWorkspaceID();
|
unsigned long workspace = screen.currentWorkspaceID();
|
||||||
screen.rootWindow().changeProperty(m_net_current_desktop,
|
screen.rootWindow().changeProperty(m_net_current_desktop,
|
||||||
XA_CARDINAL, 32,
|
XA_CARDINAL, 32,
|
||||||
PropModeReplace,
|
PropModeReplace,
|
||||||
|
@ -432,7 +432,7 @@ void Ewmh::updateWorkspaceCount(BScreen &screen) {
|
||||||
* Window Manager to indicate the number of virtual
|
* Window Manager to indicate the number of virtual
|
||||||
* desktops.
|
* desktops.
|
||||||
*/
|
*/
|
||||||
unsigned int numworkspaces = screen.getCount();
|
unsigned long numworkspaces = screen.getCount();
|
||||||
screen.rootWindow().changeProperty(m_net_number_of_desktops,
|
screen.rootWindow().changeProperty(m_net_number_of_desktops,
|
||||||
XA_CARDINAL, 32,
|
XA_CARDINAL, 32,
|
||||||
PropModeReplace,
|
PropModeReplace,
|
||||||
|
@ -450,7 +450,7 @@ void Ewmh::updateViewPort(BScreen &screen) {
|
||||||
* desktops, this MUST always be set to (0,0).
|
* desktops, this MUST always be set to (0,0).
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int value[2] = {0, 0}; // we dont support large desktops
|
long value[2] = {0, 0}; // we dont support large desktops
|
||||||
screen.rootWindow().changeProperty(m_net_desktop_viewport,
|
screen.rootWindow().changeProperty(m_net_desktop_viewport,
|
||||||
XA_CARDINAL, 32,
|
XA_CARDINAL, 32,
|
||||||
PropModeReplace,
|
PropModeReplace,
|
||||||
|
@ -470,7 +470,7 @@ void Ewmh::updateGeometry(BScreen &screen) {
|
||||||
* Window Manager.
|
* Window Manager.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int value[2] = {screen.width(), screen.height()};
|
long value[2] = {screen.width(), screen.height()};
|
||||||
screen.rootWindow().changeProperty(m_net_desktop_geometry,
|
screen.rootWindow().changeProperty(m_net_desktop_geometry,
|
||||||
XA_CARDINAL, 32,
|
XA_CARDINAL, 32,
|
||||||
PropModeReplace,
|
PropModeReplace,
|
||||||
|
@ -497,7 +497,7 @@ void Ewmh::updateWorkarea(BScreen &screen) {
|
||||||
* Not sure how to handle xinerama stuff here.
|
* Not sure how to handle xinerama stuff here.
|
||||||
* So i'm just doing this on the first head.
|
* So i'm just doing this on the first head.
|
||||||
*/
|
*/
|
||||||
unsigned int *coords = new unsigned int[4*screen.getCount()];
|
unsigned long *coords = new unsigned long[4*screen.getCount()];
|
||||||
for (unsigned int i=0; i<screen.getCount()*4; i+=4) {
|
for (unsigned int i=0; i<screen.getCount()*4; i+=4) {
|
||||||
// x, y
|
// x, y
|
||||||
coords[i] = screen.maxLeft(0);
|
coords[i] = screen.maxLeft(0);
|
||||||
|
@ -568,7 +568,7 @@ void Ewmh::updateHints(FluxboxWindow &win) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Ewmh::updateWorkspace(FluxboxWindow &win) {
|
void Ewmh::updateWorkspace(FluxboxWindow &win) {
|
||||||
int workspace = win.workspaceNumber();
|
long workspace = win.workspaceNumber();
|
||||||
if (win.isStuck())
|
if (win.isStuck())
|
||||||
workspace = 0xFFFFFFFF; // appear on all desktops/workspaces
|
workspace = 0xFFFFFFFF; // appear on all desktops/workspaces
|
||||||
|
|
||||||
|
|
|
@ -288,7 +288,7 @@ Pixmap FbPixmap::getRootPixmap(int screen_num) {
|
||||||
Atom real_type;
|
Atom real_type;
|
||||||
int real_format;
|
int real_format;
|
||||||
unsigned long items_read, items_left;
|
unsigned long items_read, items_left;
|
||||||
unsigned int *data;
|
unsigned long *data;
|
||||||
|
|
||||||
unsigned int prop = 0;
|
unsigned int prop = 0;
|
||||||
static const char* prop_ids[] = {
|
static const char* prop_ids[] = {
|
||||||
|
|
|
@ -234,13 +234,13 @@ void Gnome::updateCurrentWorkspace(BScreen &screen) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Gnome::updateWorkspaceCount(BScreen &screen) {
|
void Gnome::updateWorkspaceCount(BScreen &screen) {
|
||||||
int numworkspaces = screen.getCount();
|
long numworkspaces = screen.getCount();
|
||||||
screen.rootWindow().changeProperty(m_gnome_wm_win_workspace_count, XA_CARDINAL, 32, PropModeReplace,
|
screen.rootWindow().changeProperty(m_gnome_wm_win_workspace_count, XA_CARDINAL, 32, PropModeReplace,
|
||||||
(unsigned char *)&numworkspaces, 1);
|
(unsigned char *)&numworkspaces, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Gnome::updateWorkspace(FluxboxWindow &win) {
|
void Gnome::updateWorkspace(FluxboxWindow &win) {
|
||||||
int val = win.workspaceNumber();
|
long val = win.workspaceNumber();
|
||||||
if (win.isStuck()) {
|
if (win.isStuck()) {
|
||||||
val = -1;
|
val = -1;
|
||||||
}
|
}
|
||||||
|
@ -259,7 +259,7 @@ void Gnome::updateWorkspace(FluxboxWindow &win) {
|
||||||
|
|
||||||
void Gnome::updateState(FluxboxWindow &win) {
|
void Gnome::updateState(FluxboxWindow &win) {
|
||||||
//translate to gnome win state
|
//translate to gnome win state
|
||||||
int state=0;
|
long state=0;
|
||||||
if (win.isStuck())
|
if (win.isStuck())
|
||||||
state |= WIN_STATE_STICKY;
|
state |= WIN_STATE_STICKY;
|
||||||
if (win.isIconic())
|
if (win.isIconic())
|
||||||
|
@ -279,7 +279,7 @@ void Gnome::updateState(FluxboxWindow &win) {
|
||||||
void Gnome::updateLayer(FluxboxWindow &win) {
|
void Gnome::updateLayer(FluxboxWindow &win) {
|
||||||
//TODO - map from flux layers to gnome ones
|
//TODO - map from flux layers to gnome ones
|
||||||
// our layers are in the opposite direction to GNOME
|
// our layers are in the opposite direction to GNOME
|
||||||
int layernum = Fluxbox::instance()->getDesktopLayer() - win.layerNum();
|
long layernum = Fluxbox::instance()->getDesktopLayer() - win.layerNum();
|
||||||
|
|
||||||
FluxboxWindow::ClientList::iterator client_it = win.clientList().begin();
|
FluxboxWindow::ClientList::iterator client_it = win.clientList().begin();
|
||||||
FluxboxWindow::ClientList::iterator client_it_end = win.clientList().end();
|
FluxboxWindow::ClientList::iterator client_it_end = win.clientList().end();
|
||||||
|
|
|
@ -143,13 +143,13 @@ public:
|
||||||
|
|
||||||
typedef struct _blackbox_hints {
|
typedef struct _blackbox_hints {
|
||||||
unsigned long flags, attrib, workspace, stack;
|
unsigned long flags, attrib, workspace, stack;
|
||||||
int decoration;
|
long decoration;
|
||||||
} BlackboxHints;
|
} BlackboxHints;
|
||||||
|
|
||||||
typedef struct _blackbox_attributes {
|
typedef struct _blackbox_attributes {
|
||||||
unsigned long flags, attrib, workspace, stack;
|
unsigned long flags, attrib, workspace, stack;
|
||||||
int premax_x, premax_y;
|
long premax_x, premax_y;
|
||||||
unsigned int premax_w, premax_h;
|
unsigned long premax_w, premax_h;
|
||||||
} BlackboxAttributes;
|
} BlackboxAttributes;
|
||||||
|
|
||||||
typedef std::list<WinClient *> ClientList;
|
typedef std::list<WinClient *> ClientList;
|
||||||
|
|
Loading…
Reference in a new issue