update
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
import json
|
||||
import os
|
||||
|
||||
import gi
|
||||
|
||||
gi.require_version("Gtk", "3.0")
|
||||
from fabric.utils.helpers import get_relative_path
|
||||
from gi.repository import Gdk, GLib
|
||||
|
||||
APP_NAME_CAP = "Ax-Shell"
|
||||
APP_NAME = APP_NAME_CAP.lower()
|
||||
|
||||
CACHE_DIR = str(GLib.get_user_cache_dir()) + f"/{APP_NAME}"
|
||||
|
||||
USERNAME = os.getlogin()
|
||||
HOSTNAME = os.uname().nodename
|
||||
HOME_DIR = os.path.expanduser("~")
|
||||
|
||||
CONFIG_DIR = os.path.expanduser(f"~/.config/{APP_NAME}")
|
||||
|
||||
screen = Gdk.Screen.get_default()
|
||||
CURRENT_WIDTH = screen.get_width()
|
||||
CURRENT_HEIGHT = screen.get_height()
|
||||
|
||||
CONFIG_FILE = get_relative_path("../config/config.json")
|
||||
MATUGEN_STATE_FILE = os.path.join(CONFIG_DIR, "matugen")
|
||||
|
||||
|
||||
def load_config():
|
||||
"""Load the configuration from config.json"""
|
||||
config_path = os.path.expanduser(f"~/.config/{APP_NAME_CAP}/config/config.json")
|
||||
config = {}
|
||||
|
||||
if os.path.exists(config_path):
|
||||
try:
|
||||
with open(config_path, "r") as f:
|
||||
config = json.load(f)
|
||||
except Exception as e:
|
||||
print(f"Error loading config: {e}")
|
||||
|
||||
return config
|
||||
|
||||
|
||||
# Import defaults from settings_constants to avoid duplication
|
||||
from .settings_constants import DEFAULTS
|
||||
|
||||
# Load configuration once and use throughout the module
|
||||
config = {}
|
||||
if os.path.exists(CONFIG_FILE):
|
||||
try:
|
||||
with open(CONFIG_FILE, "r") as f:
|
||||
config = json.load(f)
|
||||
except Exception as e:
|
||||
print(f"Error loading config file: {e}")
|
||||
|
||||
|
||||
def get_default(setting_str: str):
|
||||
return DEFAULTS[setting_str] if setting_str in DEFAULTS else ""
|
||||
|
||||
|
||||
def _get_config_var(setting_str: str):
|
||||
return config.get(setting_str, get_default(setting_str))
|
||||
|
||||
|
||||
# Set configuration values using defaults from settings_constants
|
||||
WALLPAPERS_DIR = _get_config_var("wallpapers_dir")
|
||||
BAR_POSITION = _get_config_var("bar_position")
|
||||
VERTICAL = BAR_POSITION in ["Left", "Right"]
|
||||
CENTERED_BAR = _get_config_var("centered_bar")
|
||||
DATETIME_12H_FORMAT = _get_config_var("datetime_12h_format")
|
||||
TERMINAL_COMMAND = _get_config_var("terminal_command")
|
||||
DOCK_ENABLED = _get_config_var("dock_enabled")
|
||||
DOCK_ALWAYS_SHOW = _get_config_var("dock_always_show")
|
||||
DOCK_ICON_SIZE = _get_config_var("dock_icon_size")
|
||||
BAR_WORKSPACE_SHOW_NUMBER = _get_config_var("bar_workspace_show_number")
|
||||
BAR_WORKSPACE_USE_CHINESE_NUMERALS = _get_config_var(
|
||||
"bar_workspace_use_chinese_numerals"
|
||||
)
|
||||
BAR_HIDE_SPECIAL_WORKSPACE = _get_config_var("bar_hide_special_workspace")
|
||||
BAR_THEME = _get_config_var("bar_theme")
|
||||
DOCK_THEME = _get_config_var("dock_theme")
|
||||
PANEL_THEME = _get_config_var("panel_theme")
|
||||
PANEL_POSITION = _get_config_var("panel_position")
|
||||
NOTIF_POS = _get_config_var("notif_pos")
|
||||
|
||||
BAR_COMPONENTS_VISIBILITY = {
|
||||
"button_apps": _get_config_var("bar_button_apps_visible"),
|
||||
"systray": _get_config_var("bar_systray_visible"),
|
||||
"control": _get_config_var("bar_control_visible"),
|
||||
"network": _get_config_var("bar_network_visible"),
|
||||
"button_tools": _get_config_var("bar_button_tools_visible"),
|
||||
"sysprofiles": _get_config_var("bar_sysprofiles_visible"),
|
||||
"button_overview": _get_config_var("bar_button_overview_visible"),
|
||||
"ws_container": _get_config_var("bar_ws_container_visible"),
|
||||
"weather": _get_config_var("bar_weather_visible"),
|
||||
"battery": _get_config_var("bar_battery_visible"),
|
||||
"metrics": _get_config_var("bar_metrics_visible"),
|
||||
"language": _get_config_var("bar_language_visible"),
|
||||
"date_time": _get_config_var("bar_date_time_visible"),
|
||||
"button_power": _get_config_var("bar_button_power_visible"),
|
||||
}
|
||||
|
||||
BAR_METRICS_DISKS = _get_config_var("bar_metrics_disks")
|
||||
METRICS_VISIBLE = _get_config_var("metrics_visible")
|
||||
METRICS_SMALL_VISIBLE = _get_config_var("metrics_small_visible")
|
||||
SELECTED_MONITORS = _get_config_var("selected_monitors")
|
||||
Reference in New Issue
Block a user