*/
#include <stdbool.h>
+#include <xcb/xcb.h>
+
#include "data.h"
#ifndef _TABLE_H
void expand_table_rows(Workspace *workspace);
void expand_table_cols(Workspace *workspace);
bool cell_exists(int col, int row);
-void cleanup_table(Workspace *workspace);
+void cleanup_table(xcb_connection_t *conn, Workspace *workspace);
#endif
new->currently_focused = current_client;
/* delete all empty columns/rows */
- cleanup_table(container->workspace);
+ cleanup_table(connection, container->workspace);
render_layout(connection);
set_focus(connection, current_client);
xcb_flush(c);
table_remove(byParent, client->frame);
- cleanup_table(client->container->workspace);
+ cleanup_table(c, client->container->workspace);
free(client);
#include "data.h"
#include "table.h"
+#include "util.h"
int current_workspace = 0;
Workspace workspaces[10];
* Shrinks the table by "compacting" it, that is, removing completely empty rows/columns
*
*/
-void cleanup_table(Workspace *workspace) {
+void cleanup_table(xcb_connection_t *conn, Workspace *workspace) {
/* Check for empty columns */
for (int cols = 0; cols < workspace->cols;) {
bool completely_empty = true;
if (current_row >= c_ws->rows)
current_row = c_ws->rows-1;
+
+ if (CUR_CELL->currently_focused != NULL)
+ set_focus(conn, CUR_CELL->currently_focused);
}