Создание окна менеджер для Linux

Вот вариант с tidyverse. Используя map2 из purrr, переберите соответствующие «списки» столбцов list с помощью «Id» и получите элементы, которые не найдены в «Id», с помощью setdiff

library(tidyverse)
df1 %>%
    mutate(lists = map2(lists, Id, setdiff))
#   Id   lists
#1  1 5, 2, 3
#2  2    3, 4
[117 ] данные

df1 <- structure(list(Id = 1:2, lists = list(c(5, 2, 3), c(2, 3, 4))), 
  row.names = c(NA, 
 -2L), class = "data.frame")

24
задан Iceland_jack 30 October 2011 в 18:07
поделиться

5 ответов

Что бы вы ни делали, используйте XCB, а не Xlib. Он современный, асинхронный, более простой и дает вам прямой доступ к протоколу X11.

21
ответ дан 28 November 2019 в 23:27
поделиться

Посмотрите код для DWM . Кодовая база красива и проста для понимания. Всего около 2000 строк.

6
ответ дан 28 November 2019 в 23:27
поделиться

http://code.google.com/p/partiwm/ - это попытка написать оконный менеджер (мозаичный, а не стековый) с нуля, вам может быть полезно прочитать код.

2
ответ дан 28 November 2019 в 23:27
поделиться

Очень минималистичный WM - это wm2 . Я не читал исходный код и, следовательно, не знаю, является ли это обучающим примером. Конечно, вы можете использовать библиотеки, которые уже выполняют большую часть работы по абстракции и рисованию, например gdk и gtk . Но поскольку этот проект предназначен только для личного обучения, я бы пошел дальше и использовал Xlib напрямую.

Вот несколько ссылок, которые могут быть вам полезны:

6
ответ дан 28 November 2019 в 23:27
поделиться

metacity использует gtk для определенных элементов пользовательского интерфейса. Смотрите его HACKING и README.

см. также Где есть хорошие руководства по программированию на Xlib?

2
ответ дан 28 November 2019 в 23:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: