Skip to content
Open
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
66 changes: 66 additions & 0 deletions cinnamon-screenshot@hilyxx/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Changelog


## 1.3.3

* Improve compatibility with cinnamon 6.8 (Remove deprecated require() and module.exports)

## 1.3.2

* Add Ctrl + Z shortcut to undo actions when editing an image

## 1.3.1

* (regression) Fix overlapping preview dialogs and lost save callbacks when closing the edit overlay

## 1.3

* Major code refactoring (replaced modal dialogs with st.Widget components)
* Bug fixes
* Improved multi-monitor support
* Add new geometric shapes
* Compatibility with Cinnamon 6.0–6.6 (latest release)
* Fix some warnings
* Switch to async file I/O to prevent UI freezes

## 1.2.3 (1.22.1)

* Add the ESC key to close the preview dialog

## 1.2.2

* Fix multi-monitor behavior
* Fix ESC key
* Minor visual improvements to the dialog boxes

## 1.2.1

* Fix minWith error
* Fix text rendering issue for scaling > 1

## 1.2

* Code enhancement
* New edit mode with tools like brush, text, pixelization, and more
* Add an option to include mouse pointer in screenshot
* Add scaling support
* Replace Zenity with GtkFileChooserDialog
* Screenshot mini-preview size reduced for faster loading and better performance
* Improve security for screenshot filenames

## 1.1

* Add a back button
* Add a clipboard option
* Screenshot filenames now correctly display the date and time of capture
* Code cleanup and improvements
* Improve the user interface

## 1.0.1

* Fix issue with translations
* Keyboard shortcuts added for all 3 screen capture modes

## 1.0.0

* Initial release
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,15 @@ const GLib = imports.gi.GLib;
const ExtensionSystem = imports.ui.extensionSystem;
const { GObject } = imports.gi;

const { _ } = require('./translation');
const { getTransitionManager } = require('./transitionEffects');

const UUID = 'cinnamon-screenshot@hilyxx';
const EXTENSION_DIR = ExtensionSystem.extensionMeta[UUID].path
const EXTENSION_DIR = ExtensionSystem.extensionMeta[UUID].path;

if (imports.searchPath.indexOf(EXTENSION_DIR) === -1) {
imports.searchPath.push(EXTENSION_DIR);
}

const { _ } = imports.translation;
const { getTransitionManager } = imports.transitionEffects;

const ICONS_PATH = EXTENSION_DIR + '/icons/';
const scriptPath = EXTENSION_DIR + '/lib/gtk-filechooser.py';
Expand Down Expand Up @@ -422,7 +426,7 @@ if (typeof ScreenshotEditDialog !== 'function') {
thickness: this._thickness
});
} else {
// Specific preview for pixelization (blue zone)
// Specific preview for pixelization (blur zone)
let x = Math.min(this._shapeStart[0], this._shapeCurrent[0]);
let y = Math.min(this._shapeStart[1], this._shapeCurrent[1]);
let w = Math.abs(this._shapeCurrent[0] - this._shapeStart[0]);
Expand Down Expand Up @@ -804,7 +808,7 @@ if (typeof ScreenshotEditDialog !== 'function') {
}
}
if (grabFocus && hadTextEntry) {
global.stage.set_key_focus(this); // Remplace global.stage.grab_key_focus();
global.stage.set_key_focus(this);
}
if (hadTextEntry && this._drawingCanvas)
this._drawingCanvas.invalidate();
Expand Down Expand Up @@ -1596,7 +1600,7 @@ if (typeof ScreenshotEditDialog !== 'function') {

// === ERASER UTILITIES ===
_eraseAtCoords(localCoords) {
// 1. Erase a static text
// Erase a static text
for (let i = this._paths.length - 1; i >= 0; i--) {
let path = this._paths[i];
if (path.type === 'text') {
Expand All @@ -1612,7 +1616,7 @@ if (typeof ScreenshotEditDialog !== 'function') {
}
}
}
// 2. Erase another shape (brush, rect, etc.)
// Erase another shape (brush, rect, etc.)
const hitIndex = this._findPathAt(localCoords);
if (hitIndex !== -1) {
this._paths.splice(hitIndex, 1);
Expand Down Expand Up @@ -1705,9 +1709,9 @@ if (typeof ScreenshotEditDialog !== 'function') {
this._drawFilledTriangle(cr, path.start, path.end);
} else if (path.type === 'blur') {
if (forSave) {
this._drawBlur(cr, path.start, path.end, path.thickness, false); // Pass false for useCache
this._drawBlur(cr, path.start, path.end, path.thickness, false);
} else {
this._drawBlur(cr, path.start, path.end, path.thickness, true); // Pass true for useCache
this._drawBlur(cr, path.start, path.end, path.thickness, true);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,20 @@ const Main = imports.ui.main;
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
const Settings = imports.ui.settings;

const { Overlay } = require('./overlay');
const { Screenshot } = require('./screenshot');
const { showScreenshotPreview } = require('./preview');
const { _, initTranslation } = require('./translation');
const { getTransitionManager } = require('./transitionEffects');
const ExtensionSystem = imports.ui.extensionSystem;

const UUID = 'cinnamon-screenshot@hilyxx';
const EXTENSION_DIR = ExtensionSystem.extensionMeta[UUID].path;

if (imports.searchPath.indexOf(EXTENSION_DIR) === -1) {
imports.searchPath.push(EXTENSION_DIR);
}

const { Overlay } = imports.overlay;
const { Screenshot } = imports.screenshot;
const { showScreenshotPreview } = imports.preview;
const { _, initTranslation } = imports.translation;
const { getTransitionManager } = imports.transitionEffects;

initTranslation(UUID);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@
"name": "Cinnamon-Screenshot",
"author": "hilyxx",
"description": "Cinnamon extension for screenshots with modern interface and advanced options.",
"version": "1.3.2",
"version": "1.3.3",
"max-instances": 1,
"cinnamon-version": [
"6.0",
"6.2",
"6.4",
"6.6"
"6.6",
"6.8"
],
"url": "https://github.com/Hilyxx/cinnamon-spices-extensions.git"
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,19 @@ const GLib = imports.gi.GLib;
const Gio = imports.gi.Gio;
const Main = imports.ui.main;
const ExtensionSystem = imports.ui.extensionSystem;
const { _ } = require('./translation');

const Overlay = { showOverlay };

const UUID = 'cinnamon-screenshot@hilyxx';

const EXTENSION_DIR = ExtensionSystem.extensionMeta[UUID].path;

if (imports.searchPath.indexOf(EXTENSION_DIR) === -1) {
imports.searchPath.push(EXTENSION_DIR);
}

const { _ } = imports.translation;
const ICONS_PATH = EXTENSION_DIR + '/icons/';

var Overlay = { showOverlay };

const BTN_POINTER = 32;
const BTN_TIMER_W = 34, BTN_TIMER_H = 16;

Expand Down
Loading
Loading