Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions data/appdata/org.flameshot.Flameshot.metainfo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ SPDX-License-Identifier: CC0-1.0
</categories>

<releases>
<release version="14.0.rc3" date="2026-05-28"/>
<release version="14.0.rc2" date="2026-05-18"/>
<release version="14.0.rc1" date="2026-04-02"/>
<release version="13.3.0" date="2025-10-28"/>
Expand Down
6 changes: 6 additions & 0 deletions packaging/debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
flameshot (14.0.rc3-1) unstable; urgency=medium

* Release for v14.0.rc3

-- Jeremy Borgman <borgman.jeremy@pm.me> Thu, 28 May 2026 16:51:50 -0500

flameshot (14.0.rc2-1) unstable; urgency=medium

* Release for v14.0.rc2
Expand Down
2 changes: 1 addition & 1 deletion packaging/rpm/flameshot.spec
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Name: flameshot
Version: 14.0.rc2
Version: 14.0.rc3
Release: 1%{?dist}
Summary: Powerful yet simple to use screenshot software

Expand Down
2 changes: 1 addition & 1 deletion snapcraft.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: flameshot
version: '14.0.rc2'
version: '14.0.rc3'
base: core24
summary: Powerful yet simple to use screenshot software
description: |
Expand Down
6 changes: 3 additions & 3 deletions src/config/generalconf.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ GeneralConf::GeneralConf(QWidget* parent)
#if defined(Q_OS_MACOS)
initUseNativeFullscreen();
#endif
#if defined(Q_OS_LINUX)
#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
initUseX11LegacyScreenshot();
#endif
#ifdef ENABLE_IMGUR
Expand Down Expand Up @@ -133,7 +133,7 @@ void GeneralConf::_updateComponents(bool allowEmptySavePath)
#if defined(Q_OS_MACOS)
m_useNativeFullscreen->setChecked(config.useNativeFullscreen());
#endif
#if defined(Q_OS_LINUX)
#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
m_useX11LegacyScreenshot->setChecked(config.useX11LegacyScreenshot());
#endif
}
Expand Down Expand Up @@ -966,7 +966,7 @@ void GeneralConf::useNativeFullscreenChanged(bool checked)
}
#endif

#if defined(Q_OS_LINUX)
#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
void GeneralConf::initUseX11LegacyScreenshot()
{
m_useX11LegacyScreenshot =
Expand Down
6 changes: 3 additions & 3 deletions src/config/generalconf.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ private slots:
#if defined(Q_OS_MACOS)
void useNativeFullscreenChanged(bool checked);
#endif
#if defined(Q_OS_LINUX)
#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
void useX11LegacyScreenshotChanged(bool checked);
#endif

Expand Down Expand Up @@ -114,7 +114,7 @@ private slots:
#if defined(Q_OS_MACOS)
void initUseNativeFullscreen();
#endif
#if defined(Q_OS_LINUX)
#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
void initUseX11LegacyScreenshot();
#endif

Expand Down Expand Up @@ -171,7 +171,7 @@ private slots:
#if defined(Q_OS_MACOS)
QCheckBox* m_useNativeFullscreen;
#endif
#if defined(Q_OS_LINUX)
#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
QCheckBox* m_useX11LegacyScreenshot;
#endif
};
2 changes: 1 addition & 1 deletion src/tools/pin/pinwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ bool PinWidget::scrollEvent(QWheelEvent* event)
{
const auto phase = event->phase();
if (phase == Qt::ScrollPhase::ScrollUpdate
#if defined(Q_OS_LINUX) || defined(Q_OS_WINDOWS) || defined(Q_OS_MACOS)
#if defined(Q_OS_UNIX) || defined(Q_OS_WINDOWS)
|| phase == Qt::ScrollPhase::NoScrollPhase
#endif
) {
Expand Down
6 changes: 3 additions & 3 deletions src/utils/confighandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@

bool verifyLaunchFile()
{
#if defined(Q_OS_LINUX) || defined(Q_OS_UNIX)
#if defined(Q_OS_UNIX)
QString path = QStandardPaths::locate(QStandardPaths::GenericConfigLocation,
"autostart/",
QStandardPaths::LocateDirectory) +
Expand Down Expand Up @@ -146,7 +146,7 @@ static QMap<class QString, QSharedPointer<ValueHandler>>
// the monitor selection UI. Not supported on Wayland.
OPTION("captureActiveMonitor" ,Bool ( false )),
#endif
#if defined(Q_OS_LINUX)
#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
// Bypass freedesktop portal and use Qt's native X11
// screenshot method. Intended for WMs without xdg-desktop-portal.
OPTION("useX11LegacyScreenshot" ,Bool ( false )),
Expand Down Expand Up @@ -306,7 +306,7 @@ void ConfigHandler::setStartupLaunch(const bool start)
qWarning() << "Unable to change login items, error:"
<< process.readAll();
}
#elif defined(Q_OS_LINUX) || defined(Q_OS_UNIX)
#elif defined(Q_OS_UNIX)
QString path =
QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) +
"/autostart/";
Expand Down
2 changes: 1 addition & 1 deletion src/utils/confighandler.h
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ class ConfigHandler : public QObject
#if !defined(Q_OS_MACOS)
CONFIG_GETTER_SETTER(captureActiveMonitor, setCaptureActiveMonitor, bool)
#endif
#if defined(Q_OS_LINUX)
#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
CONFIG_GETTER_SETTER(useX11LegacyScreenshot,
setUseX11LegacyScreenshot,
bool)
Expand Down
2 changes: 1 addition & 1 deletion src/utils/pathinfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ QStringList PathInfo::translationsPaths()
QString binaryPath =
QFileInfo(qApp->applicationDirPath()).absoluteFilePath();
QString trPath = QDir::toNativeSeparators(binaryPath + "/translations");
#if defined(Q_OS_LINUX) || defined(Q_OS_UNIX)
#if defined(Q_OS_UNIX)
return QStringList()
<< QStringLiteral(APP_PREFIX) + "/share/flameshot/translations"
<< trPath << QStringLiteral("/usr/share/flameshot/translations")
Expand Down
10 changes: 5 additions & 5 deletions src/utils/screengrabber.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ QPixmap ScreenGrabber::grabEntireDesktop(bool& ok, int preSelectedMonitor)
screenshot.setDevicePixelRatio(currentScreen->devicePixelRatio());
return screenshot;

#elif defined(Q_OS_LINUX)
#elif defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
if (!m_info.waylandDetected() && ConfigHandler().useX11LegacyScreenshot()) {
qWarning() << "Using deprecated legacy X11 screenshot method. "
"Consider installing xdg-desktop-portal for your "
Expand Down Expand Up @@ -307,7 +307,7 @@ QPixmap ScreenGrabber::grabFullDesktop(bool& ok)
painter.drawPixmap(offset, p);
}
painter.end();
#elif defined(Q_OS_LINUX)
#elif defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
if (!m_info.waylandDetected() && ConfigHandler().useX11LegacyScreenshot()) {
qWarning() << "Using deprecated legacy X11 screenshot method. "
"Consider installing xdg-desktop-portal for your "
Expand Down Expand Up @@ -344,7 +344,7 @@ QPixmap ScreenGrabber::grabScreen(QScreen* screen, bool& ok)
{
QPixmap p;
QRect geometry = screenGeometry(screen);
#if defined(Q_OS_LINUX)
#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
const QList<QScreen*> screens = QGuiApplication::screens();
int screenIndex = screens.indexOf(screen);

Expand Down Expand Up @@ -516,7 +516,7 @@ QPixmap ScreenGrabber::cropToMonitor(const QPixmap& fullScreenshot,

int cropX, cropY, cropWidth, cropHeight;

#if defined(Q_OS_LINUX)
#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
// Linux (both X11 and Wayland via freedesktop portal):
// Use logical coordinate-based cropping since portal returns full
// desktop
Expand Down Expand Up @@ -593,7 +593,7 @@ QPixmap ScreenGrabber::cropToMonitor(const QPixmap& fullScreenshot,

QPixmap cropped = fullScreenshot.copy(cropRect);

#if defined(Q_OS_LINUX)
#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
// Linux: May need rescaling if scale factors don't match
if (qAbs(screenshotScaleX - targetDpr) > 0.01) {
int targetPhysicalWidth = qRound(targetGeometry.width() * targetDpr);
Expand Down
2 changes: 1 addition & 1 deletion src/utils/screenshotsaver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ void saveToClipboard(const QPixmap& capture)
if (ConfigHandler().useJpgForClipboard()) {
saveToClipboardMime(capture, "jpeg");
} else {
#if defined(Q_OS_LINUX) || defined(Q_OS_UNIX)
#if defined(Q_OS_UNIX)
if (DesktopInfo().waylandDetected()) {
saveToClipboardMime(capture, "png");
} else {
Expand Down
Loading