finch/libgnt/gntws.c

changeset 39360
e7bed293aad5
parent 39302
64aabebb476b
child 39361
a1068caa3600
--- a/finch/libgnt/gntws.c	Thu Nov 15 14:32:09 2018 -0600
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,203 +0,0 @@
-/*
- * GNT - The GLib Ncurses Toolkit
- *
- * GNT is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
- */
-
-#include <gmodule.h>
-
-#include "gntinternal.h"
-#include "gntbox.h"
-#include "gntwidget.h"
-#include "gntwindow.h"
-#include "gntwm.h"
-#include "gntws.h"
-
-static void
-widget_hide(gpointer data, gpointer nodes)
-{
-	GntWidget *widget = GNT_WIDGET(data);
-	GntNode *node = g_hash_table_lookup(nodes, widget);
-	if (GNT_IS_WINDOW(widget))
-		gnt_window_workspace_hiding(GNT_WINDOW(widget));
-	if (node)
-		hide_panel(node->panel);
-}
-
-static void
-widget_show(gpointer data, gpointer nodes)
-{
-	GntNode *node = g_hash_table_lookup(nodes, data);
-	GNT_WIDGET_UNSET_FLAGS(GNT_WIDGET(data), GNT_WIDGET_INVISIBLE);
-	if (node) {
-		show_panel(node->panel);
-		gnt_wm_copy_win(GNT_WIDGET(data), node);
-	}
-}
-
-void
-gnt_ws_draw_taskbar(GntWS *ws, gboolean reposition)
-{
-	static WINDOW *taskbar = NULL;
-	GList *iter;
-	int n, width = 0;
-	int i;
-
-	if (gnt_is_refugee())
-		return;
-
-	g_return_if_fail(ws != NULL);
-
-	if (taskbar == NULL) {
-		taskbar = newwin(1, getmaxx(stdscr), getmaxy(stdscr) - 1, 0);
-	} else if (reposition) {
-		int Y_MAX = getmaxy(stdscr) - 1;
-		mvwin(taskbar, Y_MAX, 0);
-	}
-
-	wbkgdset(taskbar, '\0' | gnt_color_pair(GNT_COLOR_NORMAL));
-	werase(taskbar);
-
-	n = g_list_length(ws->list);
-	if (n)
-		width = getmaxx(stdscr) / n;
-
-	for (i = 0, iter = ws->list; iter; iter = iter->next, i++) {
-		GntWidget *w = iter->data;
-		int color;
-		const char *title;
-
-		if (w == ws->ordered->data) {
-			/* This is the current window in focus */
-			color = GNT_COLOR_TITLE;
-		} else if (GNT_WIDGET_IS_FLAG_SET(w, GNT_WIDGET_URGENT)) {
-			/* This is a window with the URGENT hint set */
-			color = GNT_COLOR_URGENT;
-		} else {
-			color = GNT_COLOR_NORMAL;
-		}
-		wbkgdset(taskbar, '\0' | gnt_color_pair(color));
-		if (iter->next)
-			mvwhline(taskbar, 0, width * i, ' ' | gnt_color_pair(color), width);
-		else
-			mvwhline(taskbar, 0, width * i, ' ' | gnt_color_pair(color), getmaxx(stdscr) - width * i);
-		title = GNT_BOX(w)->title;
-		mvwprintw(taskbar, 0, width * i, "%s", title ? C_(title) : "<gnt>");
-		if (i)
-			mvwaddch(taskbar, 0, width *i - 1, ACS_VLINE | A_STANDOUT | gnt_color_pair(GNT_COLOR_NORMAL));
-	}
-	wrefresh(taskbar);
-}
-
-static void
-gnt_ws_init(GTypeInstance *instance, gpointer class)
-{
-	GntWS *ws = GNT_WS(instance);
-	ws->list = NULL;
-	ws->ordered = NULL;
-	ws->name = NULL;
-}
-
-void gnt_ws_add_widget(GntWS *ws, GntWidget* wid)
-{
-	GntWidget *oldfocus;
-	oldfocus = ws->ordered ? ws->ordered->data : NULL;
-	ws->list = g_list_append(ws->list, wid);
-	ws->ordered = g_list_prepend(ws->ordered, wid);
-	if (oldfocus)
-		gnt_widget_set_focus(oldfocus, FALSE);
-}
-
-void gnt_ws_remove_widget(GntWS *ws, GntWidget* wid)
-{
-	ws->list = g_list_remove(ws->list, wid);
-	ws->ordered = g_list_remove(ws->ordered, wid);
-}
-
-void
-gnt_ws_set_name(GntWS *ws, const gchar *name)
-{
-	g_free(ws->name);
-	ws->name = g_strdup(name);
-}
-
-void
-gnt_ws_hide(GntWS *ws, GHashTable *nodes)
-{
-	g_list_foreach(ws->ordered, widget_hide, nodes);
-}
-
-void gnt_ws_widget_hide(GntWidget *widget, GHashTable *nodes)
-{
-	widget_hide(widget, nodes);
-}
-
-void gnt_ws_widget_show(GntWidget *widget, GHashTable *nodes)
-{
-	widget_show(widget, nodes);
-}
-
-void
-gnt_ws_show(GntWS *ws, GHashTable *nodes)
-{
-	GList *l;
-	for (l = g_list_last(ws->ordered); l; l = g_list_previous(l))
-		widget_show(l->data, nodes);
-}
-
-GType
-gnt_ws_get_type(void)
-{
-	static GType type = 0;
-
-	if(type == 0) {
-		static const GTypeInfo info = {
-			sizeof(GntWSClass),
-			NULL,					/* base_init		*/
-			NULL,					/* base_finalize	*/
-			NULL,
-			/*(GClassInitFunc)gnt_ws_class_init,*/
-			NULL,
-			NULL,					/* class_data		*/
-			sizeof(GntWS),
-			0,						/* n_preallocs		*/
-			gnt_ws_init,			/* instance_init	*/
-			NULL					/* value_table		*/
-		};
-
-		type = g_type_register_static(GNT_TYPE_BINDABLE,
-									  "GntWS",
-									  &info, 0);
-	}
-
-	return type;
-}
-
-GntWS *gnt_ws_new(const char *name)
-{
-	GntWS *ws = GNT_WS(g_object_new(GNT_TYPE_WS, NULL));
-	ws->name = g_strdup(name ? name : "(noname)");
-	return ws;
-}
-
-const char * gnt_ws_get_name(GntWS *ws)
-{
-	return ws->name;
-}
-

mercurial