mirror of
https://github.com/noctalia-dev/noctalia-shell.git
synced 2026-05-11 17:08:27 +08:00
Merge pull request #1697 from fboulay/feature/add-option-to-choose-monitor-for-ipc-random-wallpaper
Add screen argument to IPC wallpaper random
This commit is contained in:
@@ -11,5 +11,5 @@ NIconButtonHot {
|
||||
icon: "wallpaper-selector"
|
||||
tooltipText: I18n.tr("wallpaper.panel.title")
|
||||
onClicked: PanelService.getPanel("wallpaperPanel", screen)?.toggle()
|
||||
onRightClicked: WallpaperService.setRandomWallpaper()
|
||||
onRightClicked: WallpaperService.setRandomWallpaper(null)
|
||||
}
|
||||
|
||||
@@ -566,9 +566,12 @@ Singleton {
|
||||
}
|
||||
}
|
||||
|
||||
function random() {
|
||||
function random(screen: string) {
|
||||
if (Settings.data.wallpaper.enabled) {
|
||||
WallpaperService.setRandomWallpaper();
|
||||
if (screen === "all" || screen.trim().length === 0) {
|
||||
screen = undefined;
|
||||
}
|
||||
WallpaperService.setRandomWallpaper(screen);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -430,15 +430,25 @@ Singleton {
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
function setRandomWallpaper() {
|
||||
function setRandomWallpaper(screen) {
|
||||
Logger.d("Wallpaper", "setRandomWallpaper");
|
||||
|
||||
if (Settings.data.wallpaper.enableMultiMonitorDirectories) {
|
||||
// Pick a random wallpaper per screen
|
||||
for (var i = 0; i < Quickshell.screens.length; i++) {
|
||||
var screenName = Quickshell.screens[i].name;
|
||||
var wallpaperList = getWallpapersList(screenName);
|
||||
if (screen === undefined) {
|
||||
// Pick a random wallpaper per screen
|
||||
for (var i = 0; i < Quickshell.screens.length; i++) {
|
||||
var screenName = Quickshell.screens[i].name;
|
||||
var wallpaperList = getWallpapersList(screenName);
|
||||
|
||||
if (wallpaperList.length > 0) {
|
||||
var randomIndex = Math.floor(Math.random() * wallpaperList.length);
|
||||
var randomPath = wallpaperList[randomIndex];
|
||||
changeWallpaper(randomPath, screenName);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Pick a random wallpaper for the screen argument
|
||||
var wallpaperList = getWallpapersList(screen);
|
||||
if (wallpaperList.length > 0) {
|
||||
var randomPath = _pickUnusedRandom(screenName, wallpaperList);
|
||||
changeWallpaper(randomPath, screenName);
|
||||
@@ -568,7 +578,7 @@ Singleton {
|
||||
if (mode === "alphabetical") {
|
||||
setAlphabeticalWallpaper();
|
||||
} else {
|
||||
setRandomWallpaper();
|
||||
setRandomWallpaper(null);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user