🔗 Create symlinks custom

This commit is contained in:
ful1e5 2021-02-01 17:33:08 +05:30
parent 09f36540f3
commit 41d2554eef
2 changed files with 137 additions and 4 deletions

View file

@ -7,10 +7,11 @@ from typing import Any
from clickgen.builders import WindowsCursor, XCursor from clickgen.builders import WindowsCursor, XCursor
from clickgen.core import CursorAlias from clickgen.core import CursorAlias
from clickgen.packagers import WindowsPackager, XPackager from clickgen.packagers import WindowsPackager, XPackager
from clickgen.util import LikePath, add_missing_xcursors from clickgen.util import LikePath
from applbuild.configure import get_config from applbuild.configure import get_config
from applbuild.constants import * from applbuild.constants import *
from applbuild.symlinks import add_missing_xcursor
# #
# 📝 Note: All CONSTANT variables are imported from `applbuild.constants` module. # 📝 Note: All CONSTANT variables are imported from `applbuild.constants` module.
@ -37,7 +38,7 @@ def xbuild(bitmaps_dir: LikePath, x_out_dir: Path) -> None:
x_cfg = alias.create(X_SIZES, delay) x_cfg = alias.create(X_SIZES, delay)
XCursor.create(x_cfg, x_out_dir) XCursor.create(x_cfg, x_out_dir)
add_missing_xcursors(x_out_dir / "cursors", rename=True, force=True) add_missing_xcursor(x_out_dir / "cursors")
XPackager(x_out_dir, THEME_NAME, COMMENT) XPackager(x_out_dir, THEME_NAME, COMMENT)
@ -108,7 +109,7 @@ def build(bitmaps_dir: LikePath, x_out_dir: Path, win_out_dir: Path) -> None:
if item.get("win_key"): if item.get("win_key"):
win_build(item, alias) win_build(item, alias)
add_missing_xcursors(x_out_dir / "cursors", rename=True, force=True) add_missing_xcursor(x_out_dir / "cursors")
XPackager(x_out_dir, THEME_NAME, COMMENT) XPackager(x_out_dir, THEME_NAME, COMMENT)
WindowsPackager(win_out_dir, THEME_NAME, COMMENT, AUTHOR, URL) WindowsPackager(win_out_dir, THEME_NAME, COMMENT, AUTHOR, URL)

View file

@ -0,0 +1,132 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
from typing import Dict, List, Union
from clickgen.util import LikePath, chdir
def add_missing_xcursor(directory: LikePath) -> None:
"""Add missing `XCursor` to the Unix cursor package.
:directory: (Path|str) directory where XCursors are available.
"""
symlinks: List[Dict[str, Union[str, List[str]]]] = [
{"src": "all-scroll", "links": ["fleur", "size_all"]},
{
"src": "bottom_left_corner",
"links": ["sw-resize", "top_right_corner", "fd_double_arrow"],
},
{
"src": "bottom_right_corner",
"links": ["top_left_corner", "se-resize", "bd_double_arrow"],
},
{"src": "circle", "links": ["not-allowed", "forbidden"]},
{
"src": "copy",
"links": [
"1081e37283d90000800003c07f3ef6bf",
"6407b0e94181790501fd1e167b474872",
"b66166c04f8c3109214a4fbd64a50fc8",
"dnd_copy",
],
},
{"src": "cross", "links": ["cross_reverse", "diamond_cross", "tcross"]},
{
"src": "crossed_circle",
"links": ["03b6e0fcb3499374a867c041f52298f0", "not-allowed"],
},
{"src": "dnd_no_drop", "links": ["no-drop"]},
{"src": "dotbox", "links": ["dot_box_mask", "draped_box", "icon", "target"]},
{"src": "hand1", "links": ["grab", "openhand"]},
{
"src": "hand2",
"links": [
"9d800788f1b08800ae810202380a0822",
"e29285e634086352946a0e7090d73106",
"pointer",
"pointing_hand",
],
},
{"src": "left_ptr", "links": ["arrow", "default"]},
{"src": "left_side", "links": ["w-resize", "right_side"]},
{
"src": "link",
"links": [
"3085a0e285430894940527032f8b26df",
"640fb0e74195791501fd1ed57b41487f",
"a2a266d0498c3104214a47bd64ab0fc8",
"alias",
"dnd_link",
"dnd-link",
"dnd_link",
],
},
{
"src": "move",
"links": [
"4498f0e0c1937ffe01fd06f973665830",
"9081237383d90e509aa00f00170e968f",
"grabbing",
"pointer_move",
"dnd_move",
"dnd_none",
],
},
{"src": "pencil", "links": ["draft"]},
{"src": "plus", "links": ["cell"]},
{
"src": "question_arrow",
"links": [
"5c6cd98b3f3ebcb1f9c7f1c204630408",
"d9ce0ab605698f320427677b458ad60b",
"help",
"left_ptr_help",
"whats_this",
"dnd_ask",
],
},
{"src": "right_ptr", "links": ["draft_large", "draft_small"]},
{"src": "sb_down_arrow", "links": ["down-arrow"]},
{
"src": "sb_h_double_arrow",
"links": [
"028006030e0e7ebffc7f7070c0600140",
"14fef782d02440884392942c1120523",
"col-resize",
"ew-resize",
"h_double_arrow",
"size-hor",
"size_hor",
"split_h",
],
},
{"src": "sb_left_arrow", "links": ["left-arrow"]},
{"src": "sb_right_arrow", "links": ["right-arrow"]},
{"src": "sb_up_arrow", "links": ["up-arrow"]},
{
"src": "sb_v_double_arrow",
"links": [
"00008160000006810000408080010102",
"2870a09082c103050810ffdffffe0204",
"double_arrow",
"ns-resize",
"row-resize",
"size-ver",
"size_ver",
"split_v",
"v_double_arrow",
],
},
{"src": "top_side", "links": ["n-resize", "bottom_side"]},
{"src": "X_cursor", "links": ["pirate", "x-cursor"]},
{"src": "xterm", "links": ["ibeam", "text"]},
]
with chdir(directory):
for item in symlinks:
src = item.get("src")
for link in item.get("links"):
os.symlink(src, link)