57 lines
1.6 KiB
Haskell
57 lines
1.6 KiB
Haskell
{-# LANGUAGE TemplateHaskell #-}
|
|
|
|
module Phi.X11.AtomList ( atoms
|
|
, specialAtoms
|
|
) where
|
|
|
|
import Language.Haskell.TH
|
|
|
|
import Graphics.XHB
|
|
|
|
atoms :: [String]
|
|
atoms = [ "ATOM"
|
|
, "CARDINAL"
|
|
, "STRING"
|
|
, "VISUALID"
|
|
, "UTF8_STRING"
|
|
, "WM_NAME"
|
|
, "WM_CLASS"
|
|
, "WM_TRANSIENT_FOR"
|
|
, "MANAGER"
|
|
, "_NET_WM_NAME"
|
|
, "_NET_WM_WINDOW_TYPE"
|
|
, "_NET_WM_WINDOW_TYPE_NORMAL"
|
|
, "_NET_WM_WINDOW_TYPE_DOCK"
|
|
, "_NET_WM_WINDOW_TYPE_DESKTOP"
|
|
, "_NET_WM_WINDOW_TYPE_TOOLBAR"
|
|
, "_NET_WM_WINDOW_TYPE_MENU"
|
|
, "_NET_WM_WINDOW_TYPE_SPLASH"
|
|
, "_NET_WM_DESKTOP"
|
|
, "_NET_WM_ICON"
|
|
, "_NET_WM_STATE"
|
|
, "_NET_WM_STATE_SKIP_PAGER"
|
|
, "_NET_WM_STATE_SKIP_TASKBAR"
|
|
, "_NET_WM_STATE_STICKY"
|
|
, "_NET_WM_STATE_BELOW"
|
|
, "_NET_WM_STRUT"
|
|
, "_NET_WM_STRUT_PARTIAL"
|
|
, "_NET_WM_PID"
|
|
, "_NET_SYSTEM_TRAY_OPCODE"
|
|
, "_NET_SYSTEM_TRAY_ORIENTATION"
|
|
, "_NET_SYSTEM_TRAY_VISUAL"
|
|
, "_NET_ACTIVE_WINDOW"
|
|
, "_NET_NUMBER_OF_DESKTOPS"
|
|
, "_NET_CURRENT_DESKTOP"
|
|
, "_NET_DESKTOP_NAMES"
|
|
, "_NET_CLIENT_LIST"
|
|
, "_MOTIF_WM_HINTS"
|
|
, "_XEMBED"
|
|
, "_XROOTPMAP_ID"
|
|
, "_XROOTMAP_ID"
|
|
, "PHI_SYSTRAY_HELPER"
|
|
]
|
|
|
|
-- the expression must have the type (ConnectionClass c => c -> String)
|
|
specialAtoms :: [(String, Q Exp)]
|
|
specialAtoms = [ ("_NET_SYSTEM_TRAY_SCREEN", [|("_NET_SYSTEM_TRAY_S" ++) . show . connectionScreen|])
|
|
]
|