mirror of
https://github.com/ful1e5/Bibata_Cursor.git
synced 2025-05-14 15:14:51 -04:00
⚡ CursorBuilder module init
This commit is contained in:
parent
a6749922ac
commit
c617bf3756
1 changed files with 26 additions and 69 deletions
|
@ -1,11 +1,8 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
import tempfile
|
from .bundler import Bundler
|
||||||
import shutil
|
from .config import ConfigProvider, hotspots, sizes, delay
|
||||||
from os import path, listdir, rename, remove, makedirs
|
|
||||||
|
|
||||||
from .config import ConfigProvider
|
|
||||||
from clickgen import build_x11_cursor_theme, build_cursor_theme, build_win_cursor_theme
|
from clickgen import build_x11_cursor_theme, build_cursor_theme, build_win_cursor_theme
|
||||||
|
|
||||||
|
|
||||||
|
@ -14,89 +11,49 @@ class CursorBuilder():
|
||||||
Bibata cursors builder 🚀
|
Bibata cursors builder 🚀
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, name: str, config: ConfigProvider):
|
def __init__(self, name: str, config: ConfigProvider) -> None:
|
||||||
self.__config = config
|
|
||||||
self.__name = name
|
self.__name = name
|
||||||
self.__x11_out = name
|
self.__config = config
|
||||||
self.__windows_out = name + "-" + "Windows"
|
self.__bundler = Bundler(name, config)
|
||||||
self.__temp_out_dir = tempfile.mkdtemp()
|
|
||||||
|
|
||||||
def __window_bundle(self, win_theme_dir: str):
|
def build_x11_cursors(self) -> None:
|
||||||
# Remove & Rename cursors
|
|
||||||
# If Key found => Rename else Remove
|
|
||||||
for cursor in listdir(win_theme_dir):
|
|
||||||
old_path = path.join(win_theme_dir, cursor)
|
|
||||||
|
|
||||||
try:
|
|
||||||
new_path = path.join(
|
|
||||||
win_theme_dir, self.__config.windows_cursors[cursor])
|
|
||||||
rename(old_path, new_path)
|
|
||||||
except KeyError:
|
|
||||||
remove(old_path)
|
|
||||||
|
|
||||||
# creating install.inf file
|
|
||||||
install_inf_path = path.join(win_theme_dir, "install.inf")
|
|
||||||
content = self.__config.get_windows_script(
|
|
||||||
theme_name=self.__name, author="Kaiz Khatri")
|
|
||||||
|
|
||||||
with open(install_inf_path, "w") as file:
|
|
||||||
file.write(content)
|
|
||||||
|
|
||||||
def __pack_win(self):
|
|
||||||
win_out_dir = path.join(self.__config.out_dir, self.__windows_out)
|
|
||||||
cur_dir = path.join(self.__temp_out_dir, self.__name, "win")
|
|
||||||
|
|
||||||
src = path.abspath(cur_dir)
|
|
||||||
dest = path.abspath(win_out_dir)
|
|
||||||
shutil.move(src, dest)
|
|
||||||
|
|
||||||
# create install.inf file in Windows Theme
|
|
||||||
self.__window_bundle(win_theme_dir=dest)
|
|
||||||
|
|
||||||
def __pack_x11(self):
|
|
||||||
x11_out_dir = path.join(self.__config.out_dir, self.__x11_out)
|
|
||||||
cur_dir = path.join(self.__temp_out_dir, self.__name, "x11")
|
|
||||||
|
|
||||||
src = path.abspath(cur_dir)
|
|
||||||
dest = path.abspath(x11_out_dir)
|
|
||||||
shutil.move(src, dest)
|
|
||||||
|
|
||||||
def build_x11_cursors(self):
|
|
||||||
print('🌈 Building %s Theme ...' % self.__name)
|
print('🌈 Building %s Theme ...' % self.__name)
|
||||||
build_x11_cursor_theme(
|
build_x11_cursor_theme(
|
||||||
name=self.__name,
|
name=self.__name,
|
||||||
image_dir=self.__config.bitmaps_dir,
|
image_dir=self.__config.bitmaps_dir,
|
||||||
cursor_sizes=self.__config.sizes,
|
cursor_sizes=sizes,
|
||||||
hotspots=self.__config.hotspots,
|
hotspots=hotspots,
|
||||||
out_path=self.__temp_out_dir,
|
out_path=self.__config.temp_out_dir,
|
||||||
archive=False,
|
archive=False,
|
||||||
delay=self.__config.delay
|
delay=delay
|
||||||
)
|
)
|
||||||
self.__pack_x11()
|
|
||||||
|
|
||||||
def build_win_cursors(self):
|
self.__bundler.x11_bundle()
|
||||||
|
|
||||||
|
def build_win_cursors(self) -> None:
|
||||||
print('🌈 Building %s Theme ...' % self.__name)
|
print('🌈 Building %s Theme ...' % self.__name)
|
||||||
build_win_cursor_theme(
|
build_win_cursor_theme(
|
||||||
name=self.__name,
|
name=self.__name,
|
||||||
image_dir=self.__config.bitmaps_dir,
|
image_dir=self.__config.bitmaps_dir,
|
||||||
cursor_sizes=self.__config.sizes,
|
cursor_sizes=sizes,
|
||||||
hotspots=self.__config.hotspots,
|
hotspots=hotspots,
|
||||||
out_path=self.__temp_out_dir,
|
out_path=self.__config.temp_out_dir,
|
||||||
archive=False,
|
archive=False,
|
||||||
delay=self.__config.delay
|
delay=delay
|
||||||
)
|
)
|
||||||
self.__pack_win()
|
|
||||||
|
|
||||||
def build_cursors(self):
|
self.__bundler.win_bundle()
|
||||||
|
|
||||||
|
def build_cursors(self) -> None:
|
||||||
print('🌈 Building %s Theme ...' % self.__name)
|
print('🌈 Building %s Theme ...' % self.__name)
|
||||||
build_cursor_theme(
|
build_cursor_theme(
|
||||||
name=self.__name,
|
name=self.__name,
|
||||||
image_dir=self.__config.bitmaps_dir,
|
image_dir=self.__config.bitmaps_dir,
|
||||||
cursor_sizes=self.__config.sizes,
|
cursor_sizes=sizes,
|
||||||
hotspots=self.__config.hotspots,
|
hotspots=hotspots,
|
||||||
out_path=self.__temp_out_dir,
|
out_path=self.__config.temp_out_dir,
|
||||||
archive=False,
|
archive=False,
|
||||||
delay=self.__config.delay
|
delay=delay
|
||||||
)
|
)
|
||||||
self.__pack_x11()
|
|
||||||
self.__pack_win()
|
self.__bundler.bundle()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue