qmlfmt: increase line-length to 360 to avoid hard-wrap.
+ cleaned up power menu/panel
This commit is contained in:
parent
1043eaa39f
commit
7d2eaa46e6
65 changed files with 151 additions and 318 deletions
|
|
@ -283,8 +283,7 @@ Singleton {
|
|||
stdout: StdioCollector {
|
||||
onStreamFinished: {
|
||||
parseAllUpdatesOutput(allUpdatesOutput, text)
|
||||
Logger.log("ArchUpdater", "found", repoPackages.length, "repo package(s) and", aurPackages.length,
|
||||
"AUR package(s) to upgrade")
|
||||
Logger.log("ArchUpdater", "found", repoPackages.length, "repo package(s) and", aurPackages.length, "AUR package(s) to upgrade")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -91,8 +91,7 @@ Singleton {
|
|||
|
||||
var name = (device.name || device.deviceName || "").toLowerCase()
|
||||
var icon = (device.icon || "").toLowerCase()
|
||||
if (icon.includes("headset") || icon.includes("audio") || name.includes("headphone") || name.includes("airpod")
|
||||
|| name.includes("headset") || name.includes("arctis")) {
|
||||
if (icon.includes("headset") || icon.includes("audio") || name.includes("headphone") || name.includes("airpod") || name.includes("headset") || name.includes("arctis")) {
|
||||
return "bt-device-headphones"
|
||||
}
|
||||
|
||||
|
|
@ -102,8 +101,7 @@ Singleton {
|
|||
if (icon.includes("keyboard") || name.includes("keyboard")) {
|
||||
return "bt-device-keyboard"
|
||||
}
|
||||
if (icon.includes("phone") || name.includes("phone") || name.includes("iphone") || name.includes("android")
|
||||
|| name.includes("samsung")) {
|
||||
if (icon.includes("phone") || name.includes("phone") || name.includes("iphone") || name.includes("android") || name.includes("samsung")) {
|
||||
return "bt-device-phone"
|
||||
}
|
||||
if (icon.includes("watch") || name.includes("watch")) {
|
||||
|
|
@ -204,8 +202,7 @@ Singleton {
|
|||
return false
|
||||
}
|
||||
|
||||
return device.pairing || device.state === BluetoothDeviceState.Disconnecting
|
||||
|| device.state === BluetoothDeviceState.Connecting
|
||||
return device.pairing || device.state === BluetoothDeviceState.Disconnecting || device.state === BluetoothDeviceState.Connecting
|
||||
}
|
||||
|
||||
function connectDeviceWithTrust(device) {
|
||||
|
|
|
|||
|
|
@ -84,8 +84,7 @@ Singleton {
|
|||
var ddcModel = ddcModelMatc ? ddcModelMatc.length > 0 : false
|
||||
var model = modelMatch ? modelMatch[1] : "Unknown"
|
||||
var bus = busMatch ? busMatch[1] : "Unknown"
|
||||
Logger.log("Detected DDC Monitor:", model, "on bus", bus, "is DDC:",
|
||||
!ddcModel)
|
||||
Logger.log("Detected DDC Monitor:", model, "on bus", bus, "is DDC:", !ddcModel)
|
||||
return {
|
||||
"model": model,
|
||||
"busNum": bus,
|
||||
|
|
@ -261,9 +260,7 @@ Singleton {
|
|||
} else {
|
||||
// Internal backlight - find the first available backlight device and get its info
|
||||
// This now returns: device_path, current_brightness, max_brightness (on separate lines)
|
||||
initProc.command = ["sh", "-c", "for dev in /sys/class/backlight/*; do "
|
||||
+ " if [ -f \"$dev/brightness\" ] && [ -f \"$dev/max_brightness\" ]; then " + " echo \"$dev\"; "
|
||||
+ " cat \"$dev/brightness\"; " + " cat \"$dev/max_brightness\"; " + " break; " + " fi; " + "done"]
|
||||
initProc.command = ["sh", "-c", "for dev in /sys/class/backlight/*; do " + " if [ -f \"$dev/brightness\" ] && [ -f \"$dev/max_brightness\" ]; then " + " echo \"$dev\"; " + " cat \"$dev/brightness\"; " + " cat \"$dev/max_brightness\"; " + " break; " + " fi; " + "done"]
|
||||
}
|
||||
initProc.running = true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,10 +70,7 @@ Singleton {
|
|||
root.cliphistAvailable = false
|
||||
// Show toast notification if feature is enabled but cliphist is missing
|
||||
if (Settings.data.appLauncher.enableClipboardHistory) {
|
||||
ToastService.showWarning(
|
||||
"Clipboard History Unavailable",
|
||||
"The 'cliphist' application is not installed. Please install it to use clipboard history features.",
|
||||
false, 6000)
|
||||
ToastService.showWarning("Clipboard History Unavailable", "The 'cliphist' application is not installed. Please install it to use clipboard history features.", false, 6000)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,21 +58,16 @@ Singleton {
|
|||
|
||||
if (monospaceFonts.count === 0) {
|
||||
Logger.log("Font", "No monospace fonts detected, adding fallbacks")
|
||||
addFallbackFonts(
|
||||
monospaceFonts,
|
||||
["DejaVu Sans Mono", "Liberation Mono", "Courier New", "Courier", "Monaco", "Consolas", "Lucida Console", "Monaco", "Andale Mono"])
|
||||
addFallbackFonts(monospaceFonts, ["DejaVu Sans Mono", "Liberation Mono", "Courier New", "Courier", "Monaco", "Consolas", "Lucida Console", "Monaco", "Andale Mono"])
|
||||
}
|
||||
|
||||
if (displayFonts.count === 0) {
|
||||
Logger.log("Font", "No display fonts detected, adding fallbacks")
|
||||
addFallbackFonts(
|
||||
displayFonts,
|
||||
["Inter", "Roboto", "Open Sans", "Arial", "Helvetica", "Verdana", "Segoe UI", "SF Pro Display", "Ubuntu", "Noto Sans"])
|
||||
addFallbackFonts(displayFonts, ["Inter", "Roboto", "Open Sans", "Arial", "Helvetica", "Verdana", "Segoe UI", "SF Pro Display", "Ubuntu", "Noto Sans"])
|
||||
}
|
||||
|
||||
fontsLoaded = true
|
||||
Logger.log("Font", "Loaded", availableFonts.count, "fonts:", monospaceFonts.count, "monospace,",
|
||||
displayFonts.count, "display")
|
||||
Logger.log("Font", "Loaded", availableFonts.count, "fonts:", monospaceFonts.count, "monospace,", displayFonts.count, "display")
|
||||
}
|
||||
|
||||
function isMonospaceFont(fontName) {
|
||||
|
|
|
|||
|
|
@ -149,8 +149,7 @@ Singleton {
|
|||
Logger.log("GitHub", "Raw contributors response length:", response ? response.length : 0)
|
||||
if (response && response.trim()) {
|
||||
const data = JSON.parse(response)
|
||||
Logger.log("GitHub", "Parsed contributors data type:", typeof data, "length:",
|
||||
Array.isArray(data) ? data.length : "not array")
|
||||
Logger.log("GitHub", "Parsed contributors data type:", typeof data, "length:", Array.isArray(data) ? data.length : "not array")
|
||||
root.data.contributors = data || []
|
||||
root.contributors = root.data.contributors
|
||||
Logger.log("GitHub", "Contributors fetched from GitHub:", root.contributors.length)
|
||||
|
|
|
|||
|
|
@ -131,8 +131,7 @@ Singleton {
|
|||
|
||||
// Systemd inhibition using systemd-inhibit
|
||||
function startSystemdInhibition() {
|
||||
inhibitorProcess.command = ["systemd-inhibit", "--what=idle:sleep:handle-lid-switch", "--why="
|
||||
+ reason, "--mode=block", "sleep", "infinity"]
|
||||
inhibitorProcess.command = ["systemd-inhibit", "--what=idle:sleep:handle-lid-switch", "--why=" + reason, "--mode=block", "sleep", "infinity"]
|
||||
inhibitorProcess.running = true
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -216,8 +216,7 @@ Singleton {
|
|||
// Try detection methods in order of preference
|
||||
if (Qt.platform.os === "linux") {
|
||||
// Check if we're in X11 or Wayland
|
||||
const sessionType = Qt.application.arguments.find(arg => arg.includes("QT_QPA_PLATFORM"))
|
||||
|| process.env.XDG_SESSION_TYPE
|
||||
const sessionType = Qt.application.arguments.find(arg => arg.includes("QT_QPA_PLATFORM")) || process.env.XDG_SESSION_TYPE
|
||||
|
||||
if (sessionType && sessionType.includes("xcb") || process.env.DISPLAY) {
|
||||
// X11 system
|
||||
|
|
|
|||
|
|
@ -119,9 +119,7 @@ Singleton {
|
|||
return
|
||||
}
|
||||
|
||||
if ((adapter.weatherLastFetch === "") || (adapter.weather === null) || (adapter.latitude === "")
|
||||
|| (adapter.longitude === "") || (adapter.name !== Settings.data.location.name)
|
||||
|| (Time.timestamp >= adapter.weatherLastFetch + weatherUpdateFrequency)) {
|
||||
if ((adapter.weatherLastFetch === "") || (adapter.weather === null) || (adapter.latitude === "") || (adapter.longitude === "") || (adapter.name !== Settings.data.location.name) || (Time.timestamp >= adapter.weatherLastFetch + weatherUpdateFrequency)) {
|
||||
getFreshWeather()
|
||||
}
|
||||
}
|
||||
|
|
@ -161,8 +159,7 @@ Singleton {
|
|||
// --------------------------------
|
||||
function _geocodeLocation(locationName, callback, errorCallback) {
|
||||
Logger.log("Location", "Geocoding location name")
|
||||
var geoUrl = "https://assets.noctalia.dev/geocode.php?city=" + encodeURIComponent(
|
||||
locationName) + "&language=en&format=json"
|
||||
var geoUrl = "https://assets.noctalia.dev/geocode.php?city=" + encodeURIComponent(locationName) + "&language=en&format=json"
|
||||
var xhr = new XMLHttpRequest()
|
||||
xhr.onreadystatechange = function () {
|
||||
if (xhr.readyState === XMLHttpRequest.DONE) {
|
||||
|
|
@ -189,8 +186,7 @@ Singleton {
|
|||
// --------------------------------
|
||||
function _fetchWeather(latitude, longitude, errorCallback) {
|
||||
Logger.log("Location", "Fetching weather from api.open-meteo.com")
|
||||
var url = "https://api.open-meteo.com/v1/forecast?latitude=" + latitude + "&longitude=" + longitude
|
||||
+ "¤t_weather=true¤t=relativehumidity_2m,surface_pressure&daily=temperature_2m_max,temperature_2m_min,weathercode&timezone=auto"
|
||||
var url = "https://api.open-meteo.com/v1/forecast?latitude=" + latitude + "&longitude=" + longitude + "¤t_weather=true¤t=relativehumidity_2m,surface_pressure&daily=temperature_2m_max,temperature_2m_min,weathercode&timezone=auto"
|
||||
var xhr = new XMLHttpRequest()
|
||||
xhr.onreadystatechange = function () {
|
||||
if (xhr.readyState === XMLHttpRequest.DONE) {
|
||||
|
|
|
|||
|
|
@ -61,10 +61,8 @@ Singleton {
|
|||
var extraUser = (Settings.configDir + "matugen.d").replace(/'/g, "'\\''")
|
||||
|
||||
// Build the main script
|
||||
var script = "cat > '" + pathEsc + "' << 'EOF'\n" + content + "EOF\n" + "for d in '" + extraRepo + "' '" + extraUser
|
||||
+ "'; do\n" + " if [ -d \"$d\" ]; then\n"
|
||||
+ " for f in \"$d\"/*.toml; do\n" + " [ -f \"$f\" ] && { echo; echo \"# extra: $f\"; cat \"$f\"; } >> '"
|
||||
+ pathEsc + "'\n" + " done\n" + " fi\n" + "done\n" + "matugen image '" + wp + "' --config '" + pathEsc + "' --mode " + mode
|
||||
var script = "cat > '" + pathEsc + "' << 'EOF'\n" + content + "EOF\n" + "for d in '" + extraRepo + "' '" + extraUser + "'; do\n" + " if [ -d \"$d\" ]; then\n" + " for f in \"$d\"/*.toml; do\n" + " [ -f \"$f\" ] && { echo; echo \"# extra: $f\"; cat \"$f\"; } >> '" + pathEsc + "'\n" + " done\n" + " fi\n" + "done\n" + "matugen image '"
|
||||
+ wp + "' --config '" + pathEsc + "' --mode " + mode
|
||||
|
||||
// Add user config execution if enabled
|
||||
if (Settings.data.matugen.enableUserTemplates) {
|
||||
|
|
|
|||
|
|
@ -13,8 +13,7 @@ Singleton {
|
|||
property real currentPosition: 0
|
||||
property bool isSeeking: false
|
||||
property int selectedPlayerIndex: 0
|
||||
property bool isPlaying: currentPlayer ? (currentPlayer.playbackState === MprisPlaybackState.Playing
|
||||
|| currentPlayer.isPlaying) : false
|
||||
property bool isPlaying: currentPlayer ? (currentPlayer.playbackState === MprisPlaybackState.Playing || currentPlayer.isPlaying) : false
|
||||
property string trackTitle: currentPlayer ? (currentPlayer.trackTitle || "") : ""
|
||||
property string trackArtist: currentPlayer ? (currentPlayer.trackArtist || "") : ""
|
||||
property string trackAlbum: currentPlayer ? (currentPlayer.trackAlbum || "") : ""
|
||||
|
|
@ -40,8 +39,7 @@ Singleton {
|
|||
let controllablePlayers = []
|
||||
|
||||
// Apply blacklist and controllable filter
|
||||
const blacklist = (Settings.data.audio
|
||||
&& Settings.data.audio.mprisBlacklist) ? Settings.data.audio.mprisBlacklist : []
|
||||
const blacklist = (Settings.data.audio && Settings.data.audio.mprisBlacklist) ? Settings.data.audio.mprisBlacklist : []
|
||||
for (var i = 0; i < allPlayers.length; i++) {
|
||||
let player = allPlayers[i]
|
||||
if (!player)
|
||||
|
|
@ -52,8 +50,7 @@ Singleton {
|
|||
const idKey = identity.toLowerCase()
|
||||
const match = blacklist.find(b => {
|
||||
const s = String(b || "").toLowerCase()
|
||||
return s && (idKey.includes(s) || busName.toLowerCase().includes(s)
|
||||
|| desktop.toLowerCase().includes(s))
|
||||
return s && (idKey.includes(s) || busName.toLowerCase().includes(s) || desktop.toLowerCase().includes(s))
|
||||
})
|
||||
if (match)
|
||||
continue
|
||||
|
|
@ -159,12 +156,10 @@ Singleton {
|
|||
Timer {
|
||||
id: positionTimer
|
||||
interval: 1000
|
||||
running: currentPlayer && !root.isSeeking && currentPlayer.isPlaying && currentPlayer.length > 0
|
||||
&& currentPlayer.playbackState === MprisPlaybackState.Playing
|
||||
running: currentPlayer && !root.isSeeking && currentPlayer.isPlaying && currentPlayer.length > 0 && currentPlayer.playbackState === MprisPlaybackState.Playing
|
||||
repeat: true
|
||||
onTriggered: {
|
||||
if (currentPlayer && !root.isSeeking && currentPlayer.isPlaying
|
||||
&& currentPlayer.playbackState === MprisPlaybackState.Playing) {
|
||||
if (currentPlayer && !root.isSeeking && currentPlayer.isPlaying && currentPlayer.playbackState === MprisPlaybackState.Playing) {
|
||||
currentPosition = currentPlayer.position
|
||||
} else {
|
||||
running = false
|
||||
|
|
|
|||
|
|
@ -57,8 +57,7 @@ Singleton {
|
|||
property int maxHistory: 100
|
||||
|
||||
// Cached history file path
|
||||
property string historyFile: Quickshell.env("NOCTALIA_NOTIF_HISTORY_FILE")
|
||||
|| (Settings.cacheDir + "notifications.json")
|
||||
property string historyFile: Quickshell.env("NOCTALIA_NOTIF_HISTORY_FILE") || (Settings.cacheDir + "notifications.json")
|
||||
|
||||
// Persisted storage for history
|
||||
property FileView historyFileView: FileView {
|
||||
|
|
@ -280,9 +279,7 @@ Singleton {
|
|||
"appIcon": n.appIcon,
|
||||
"urgency": n.urgency,
|
||||
"timestamp"// Always persist in milliseconds
|
||||
: (n.timestamp instanceof Date) ? n.timestamp.getTime(
|
||||
) : (typeof n.timestamp === "number"
|
||||
&& n.timestamp < 1e12 ? n.timestamp * 1000 : n.timestamp)
|
||||
: (n.timestamp instanceof Date) ? n.timestamp.getTime() : (typeof n.timestamp === "number" && n.timestamp < 1e12 ? n.timestamp * 1000 : n.timestamp)
|
||||
})
|
||||
}
|
||||
historyAdapter.history = arr
|
||||
|
|
|
|||
|
|
@ -74,8 +74,7 @@ Singleton {
|
|||
return
|
||||
}
|
||||
|
||||
Quickshell.execDetached(
|
||||
["sh", "-c", "pkill -SIGINT -f 'gpu-screen-recorder' || pkill -SIGINT -f 'com.dec05eba.gpu_screen_recorder'"])
|
||||
Quickshell.execDetached(["sh", "-c", "pkill -SIGINT -f 'gpu-screen-recorder' || pkill -SIGINT -f 'com.dec05eba.gpu_screen_recorder'"])
|
||||
|
||||
isRecording = false
|
||||
isPending = false
|
||||
|
|
@ -152,8 +151,7 @@ Singleton {
|
|||
running: false
|
||||
repeat: false
|
||||
onTriggered: {
|
||||
Quickshell.execDetached(
|
||||
["sh", "-c", "pkill -9 -f 'gpu-screen-recorder' 2>/dev/null || pkill -9 -f 'com.dec05eba.gpu_screen_recorder' 2>/dev/null || true"])
|
||||
Quickshell.execDetached(["sh", "-c", "pkill -9 -f 'gpu-screen-recorder' 2>/dev/null || pkill -9 -f 'com.dec05eba.gpu_screen_recorder' 2>/dev/null || true"])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,8 +97,7 @@ Singleton {
|
|||
// All transition keys but filter out "none" and "random" so we are left with the real transitions
|
||||
readonly property var allTransitions: Array.from({
|
||||
"length": transitionsModel.count
|
||||
}, (_, i) => transitionsModel.get(i).key).filter(
|
||||
key => key !== "random" && key != "none")
|
||||
}, (_, i) => transitionsModel.get(i).key).filter(key => key !== "random" && key != "none")
|
||||
|
||||
property var wallpaperLists: ({})
|
||||
property int scanningCount: 0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue