1685382780
Trong hướng dẫn Mac này, chúng ta sẽ tìm hiểu về NTFS là gì? | Cách sử dụng NTFS trên Mac. Sử dụng ổ cứng gắn ngoài với NTFS trên Mac chưa bao giờ dễ dàng. Mặc dù máy Mac có thể đọc định dạng NTFS dựa trên Windows, nhưng chúng cần phần mềm của bên thứ ba để chỉnh sửa hoặc ghi vào định dạng đó.
Ngoài ra, bắt đầu với macOS Ventura, Apple đã thay đổi cách NTFS hoạt động với kiến trúc nhân của nó. Ngay cả khi bạn đã có trình điều khiển NTFS cho Mac trước đó, trình điều khiển này sẽ không hoạt động với các phiên bản macOS mới.
Vậy NTFS có hoạt động trên Mac không? Và nếu vậy, làm cách nào để ghi vào NTFS trên Mac một cách dễ dàng, gắn ổ đĩa Microsoft NTFS trên Mac, v.v.?
NTFS (Hệ thống tệp công nghệ mới) là một hệ thống định dạng tệp do Microsoft phát triển vào năm 1993 cho Windows NT và được hỗ trợ bởi các phiên bản Windows mới hơn kể từ đó.
Mục tiêu của NTFS là giúp người dùng dễ dàng đọc và làm việc với bất kỳ tệp nào trên ổ cứng ngoài và ổ USB mà không cần chuyển chúng vào máy tính của họ.
Nhiều ổ cứng gắn ngoài và ổ USB được xếp hạng hàng đầu được định dạng thành NTFS theo mặc định. Đó là lý do tại sao đảm bảo máy Mac của bạn có thể đọc và ghi vào NTFS là điều quan trọng.
Vì NTFS là một công nghệ độc quyền, các công ty khác ngoài Microsoft cần cấp phép cho nó để tích hợp nó nguyên bản trên hệ điều hành của họ.
Apple hiện không có giấy phép cho NTFS. Thay vào đó, máy Mac đang sử dụng triển khai NTFS chỉ đọc được xây dựng dựa trên triển khai từ FreeBSD. Mặc dù đã có những nỗ lực để thêm quyền ghi NTFS trên máy Mac, nhưng công việc này chưa bao giờ được hoàn thiện và vẫn còn nhiều lỗi, gây ra lỗi nội bộ và lỗi nhân.
Trước đây, bạn có thể cài đặt trình điều khiển NTFS để khắc phục các hạn chế của kernel, nhưng kể từ khi Apple thay đổi kiến trúc cho macOS Ventura, điều này không còn khả thi nữa.
Vậy làm cách nào để người dùng Mac có thể hưởng lợi từ việc sử dụng ổ đĩa ngoài và USB có định dạng NTFS?
Cách an toàn và hiệu quả nhất để người dùng Mac đọc và ghi vào ổ đĩa NTFS hiện nay là sử dụng iBoysoft NTFS cho Mac.
iBoysoft NTFS cho Mac là một ứng dụng trợ lý trực quan cho phép bạn làm việc với mọi ổ đĩa có định dạng NTFS. Bạn có thể sử dụng nó để gắn ổ đĩa mới trên macOS, quản lý ổ đĩa, chia sẻ ổ đĩa với Windows, v.v.
Khi bạn kết nối ổ đĩa NTFS bên ngoài, bạn có thể gắn nó vào máy Mac của mình chỉ bằng một cú nhấp chuột từ thanh menu hoặc thậm chí đặt quá trình gắn thành tự động. Ngoài ra, bạn có thể định dạng lại ổ đĩa, xem chi tiết cụ thể và thêm hoặc xóa dữ liệu.
Xét về mặt hiệu năng, iBoysoft NTFS cho Mac đạt tốc độ gần bằng tốc độ ổ cứng gắn trong, do đó, mong đợi độ trễ ở mức tối thiểu.
Khi bạn cài đặt iBoysoft NTFS cho Mac, việc gắn ổ cứng định dạng Windows trở nên dễ dàng:
Đọc/ghi vào ổ đĩa NTFS
iBoysoft NTFS for Mac
Nếu bạn chưa nâng cấp lên macOS Ventura và vẫn đang sử dụng Monterey hoặc thậm chí là macOS cũ hơn — tin vui — bạn có nhiều tùy chọn hơn để đọc và ghi vào ổ đĩa NTFS.
Bạn có thể định dạng NTFS trên Mac thành FAT32 hoặc định dạng khác. Bạn có thể bật hỗ trợ NTFS trong Terminal. Và bạn có thể cài đặt Windows trên máy Mac của mình bằng Boot Camp và chạy các ổ đĩa NTFS của mình thông qua đó.
Sử dụng Tiện ích ổ đĩa trên máy Mac, bạn có thể chuyển đổi bất kỳ ổ đĩa ngoài dựa trên NTFS nào thành FAT32 — một định dạng được sử dụng rộng rãi khác được macOS hỗ trợ đầy đủ.
Để sử dụng NTFS trên Mac bằng cách chuyển đổi sang FAT32:
Nhược điểm của FAT32 là nó không hiệu quả như NTFS. Ví dụ: kích thước tệp tối đa được giới hạn ở 4 GB, điều đó có nghĩa là nó có thể không xử lý các video chất lượng cao nhưng sẽ tốt cho mọi thứ khác.
Nếu đang chạy phiên bản macOS cũ hơn, bạn vẫn có thể bật NTFS trong Terminal. Chỉ với một vài lệnh đơn giản, bạn có thể có NTFS hoạt động trên máy Mac của mình mà không cần cài đặt bất kỳ phần mềm nào khác.
Ghi chú
Tính năng này rất thử nghiệm và có thể gây ra các lỗi nghiêm trọng, chẳng hạn như lỗi kernel. Vì vậy, tiến hành một cách thận trọng.
Để bật NTFS trong Terminal:
Boot Camp Assistant là tiện ích Mac gốc cho phép bạn phân vùng ổ đĩa của mình và cài đặt Windows cùng với macOS. Trong trường hợp đó, Windows sẽ chạy tự nhiên và bạn sẽ không gặp vấn đề gì khi làm việc với ổ đĩa ngoài NTFS.
Để cài đặt Windows trên Mac:
Sau khi Boot Camo Assistant hoàn tất, hãy khởi động lại máy Mac của bạn và nhấn Option trong khi khởi động để chuyển đổi giữa Mac và Windows.
Ghi chú
Hỗ trợ Boot Camp không khả dụng cho máy Mac M1.
Bây giờ bạn đã biết cách sử dụng NTFS trên Mac, cho dù bạn đang chạy macOS Ventura hay hệ thống cũ hơn.
Một điều bạn nên biết là việc định dạng tệp, sử dụng Terminal hoặc cài đặt phân vùng Windows có thể khiến bạn vô tình ghi đè lên một số tệp. Để khôi phục chúng, bạn nên có sẵn một ứng dụng khôi phục mạnh mẽ, chẳng hạn như Disk Drill.
Disk Drill là một ứng dụng khôi phục dữ liệu được xếp hạng hàng đầu, cũng rất nhanh chóng và dễ sử dụng. Khởi chạy Disk Drill ngay khi bạn nhận thấy các tệp bị thiếu và Disk Drill sẽ giúp bạn đưa chúng trở lại bất kể nguyên nhân mất mát là gì, từ hư hỏng dữ liệu đến lỗi hệ thống.
Khôi phục tập tin và tránh mất dữ liệu
Disk Drill
Besides, you can analyze disk space, add alerts, back up files, and explore even more file protection options.
As you can see, while the NTFS driver for Mac no longer exists on macOS Ventura, you can still use iBoysoft NTFS for Mac to read and write files from NTFS drives. And if you’re running an older version of macOS, formatting the drive to FAT32, installing Windows, and enabling NTFS in Terminal are all good options. But don’t forget Disk Drill to keep your files safe.
Best of all, iBoysoft NTFS for Mac and Disk Drill are free to try for seven days through Setapp, a collection of more than 240 curated apps across all imaginable categories. Explore and download the best Mac apps through Setapp today and give your workflow a much-needed boost.
Nguồn bài viết: https://setapp.com
1685375592
在本 Mac 教程中,我们将了解如何在 Mac 上创建幻灯片。当您想回顾或展示某些东西时,幻灯片是一个很好的选择,无论是您最近旅行的照片还是感谢您公司的所有同事。
Mac 为我们提供了一些创建幻灯片和演示文稿的用户友好方式。因此,即使您不知道如何制作幻灯片 — 上手也不会超过几分钟。
图片幻灯片不必很复杂。你不想让观众不知所措。而是关注清晰度、质量和简单性。几张高质量的图片比一堆乱七八糟的图片更能讲述一个故事。
也就是说,这里有一些技巧可以让任何幻灯片放映 Mac 都可以展示有趣和信息丰富的内容:
在您选择的应用程序中制作幻灯片之前(这是简单的部分,将在下面讨论),您应该让所有成分尽可能达到最佳状态。
从选择讲述连贯故事的图像开始。以最高质量为目标,因为它们以后更容易编辑。然后选择相同的比例(例如 16:9)和格式(例如 JPEG),并通过 Squash 运行它们。
Squash是一款快如闪电的批量图像处理应用程序。只需拖放任意数量的图像,设置格式、大小、压缩、比率、过滤器等参数,并在几秒钟内导出结果。
压缩和调整图像大小
壁球
要快速编辑视频,请使用 CameraBag Pro。
CameraBag Pro是一款专业的照片和视频编辑应用程序,比行业标准的企业同类应用程序更易于使用。只需拖放视频并从边栏中选择您想要应用的任何效果或更改。导出结果——完成!
编辑照片和视频
专业相机包
最后,如果您在一段时间内拍摄了同一场景的大量图像,则可以将它们全部组合成延时摄影。由于光线的差异和不均匀的取景,时间流逝是出了名的难以创造。然而,轻松时间流逝的秘诀是 GlueMotion。
GlueMotion使创建时间流逝的过程几乎无缝,自动处理图像校正、照明条件等。只需在 GlueMotion 中打开包含延时图像的文件夹,该应用程序就会为您处理该过程。
将照片变成时间流逝
粘附运动
现在,当您准备好所有要素后,让我们看看如何在 Keynote、照片、预览和在线应用程序中创建幻灯片。
如果您想使用功能强大的幻灯片制作工具,Keynote 是您的不二之选。这个免费的应用程序是 iWork 套件的一部分,是 Mac 的主打产品,让您可以轻松地立即创建精彩的演示文稿和幻灯片。
以下是在 Keynote 中制作幻灯片的方法:
将 Keynote 变成幻灯片视频制作器的一个快速提示是选中文档设置中的“循环幻灯片”框。
如果您的幻灯片主要由照片组成,为什么不把它放在……照片应用程序中呢!
照片可以使用相册轻松整理整个照片库,帮助您进行润饰,并将所有内容与 iCloud 同步,以便在所有设备上访问。
您还可以创建漂亮的幻灯片,可以当场播放或分成具有特定自定义配置的特殊幻灯片项目。
要即时创建幻灯片:
要创建自定义幻灯片:
经常自发播放幻灯片的人都知道,创建幻灯片不需要 Keynote 讲演甚至不需要照片。只需单击几下,您就可以在预览中从任何文档中创建幻灯片。
以下是随时随地制作幻灯片的方法:
如果您不在 Mac 上工作或需要可在线访问的幻灯片制作工具,请尝试使用 Google 幻灯片。
Google Slides 是免费的,并且在界面设计上类似于 Keynote。您可以添加照片或创建带有文本或任何其他图形元素的幻灯片。然后您可以选择查看 ➙ 幻灯片(Command + Enter)。就是这样!此外,您可以在线共享链接,其他人也可以随时看到您的幻灯片。
我们已经介绍了相当多的用于创建幻灯片的工具,每个工具都非常适合特定的任务。如果您需要完全控制幻灯片并希望使用自定义设置保存它们,Keynote 是您的不二之选。对于图片幻灯片,请使用照片。要在 Mac 上使用任何文档制作幻灯片,请尝试预览。如果您需要在线共享幻灯片,请使用 Google 幻灯片。
更重要的是,您需要出色的工具来让幻灯片显示出最佳效果。尝试使用Squash压缩图像而不损失质量并创建轻量级的演示文稿。CameraBag Pro将帮助您编辑任何视频。GlueMotion几乎是制作时间流逝的最简单方法。
所有这些应用程序——Squash、CameraBag Pro 和 GlueMotion——都可以通过Setapp的 7 天试用免费使用,该平台拥有超过 240 个适用于 Mac 和 iOS 的出色应用程序,涵盖您能想到的每个类别。今天免费试用它们,找到您的新最爱!
是的,如果您在照片中创建幻灯片,您可以添加视频——只需从您的媒体库中选择它们。请注意,照片可能会根据所选主题剪切视频,因此请确保提前剪切和调整视频,以便在幻灯片放映中获得正确的场景。CameraBag Pro 是一款出色的视频编辑实用程序,可以帮助您准备视频。
如果您在预览应用程序中制作幻灯片,则可以添加文本。选择照片后,单击“编辑”按钮 >“文本”,您会看到屏幕上弹出文本框。
如果导出幻灯片,它们将保存在 Mac 上的导出位置。您可以简单地将它们从那里移动到 Bin。如果您在照片中创建幻灯片,它们将保存在左侧边栏的项目下——选择幻灯片,右键单击它,然后选择删除。
文章来源: https: //setapp.com
1685366411
Neste tutorial para Mac, aprenderemos como criar apresentações de slides no Mac. As apresentações de slides são uma ótima opção quando você deseja revisar ou mostrar algo, sejam fotos de sua viagem recente ou elogios a todos os colegas de trabalho de sua empresa.
Os Macs nos fornecem algumas maneiras fáceis de criar apresentações de slides e apresentações. Portanto, mesmo que você não saiba como fazer uma apresentação de slides, começar não levará mais do que alguns minutos.
As apresentações de slides de imagens não precisam ser complicadas. Você não quer sobrecarregar os espectadores. Concentre-se em clareza, qualidade e simplicidade. Algumas fotos de alta qualidade podem contar uma história melhor do que uma mistura de fotos aleatórias.
Dito isso, aqui estão algumas dicas que tornariam qualquer apresentação de slides que o Mac possa mostrar interessante e informativa:
Antes de montar uma apresentação de slides no aplicativo de sua escolha (que é a parte fácil, discutida abaixo), você deve colocar todos os ingredientes em seu melhor estado possível.
Comece selecionando imagens que contam uma história coerente. Aponte para os de mais alta qualidade, pois são mais fáceis de editar posteriormente. Em seguida, escolha a mesma proporção (por exemplo, 16:9) e formato (por exemplo, JPEG) e execute-os no Squash.
Squash é um aplicativo de processamento de imagens em lote ultrarrápido. Basta arrastar e soltar quantas imagens quiser, definir parâmetros de formato, tamanho, compactação, proporção, filtros e exportar os resultados em segundos.
Comprimir e redimensionar imagens
Abóbora
Para editar vídeos rapidamente, use o CameraBag Pro.
O CameraBag Pro é um aplicativo profissional de edição de fotos e vídeos muito mais fácil de usar do que seus equivalentes corporativos padrão do setor. Basta arrastar e soltar um vídeo e escolher os efeitos ou alterações que deseja aplicar na barra lateral. Exporte os resultados — pronto!
Editar fotos e vídeos
CameraBag Pro
Por fim, se você tiver muitas imagens da mesma cena tiradas ao longo do tempo, poderá combiná-las em um lapso de tempo. Lapsos de tempo são notoriamente difíceis de criar devido à diferença de iluminação e enquadramento desigual. O segredo para lapsos de tempo fáceis, no entanto, é o GlueMotion.
O GlueMotion torna o processo de criação de lapsos de tempo quase perfeito, cuidando automaticamente da correção da imagem, das condições de iluminação e muito mais. Basta abrir a pasta com imagens de lapso de tempo no GlueMotion e o aplicativo cuidará do processo para você.
Transforme fotos em lapsos de tempo
GlueMotion
Agora que você tem todos os ingredientes prontos, vamos ver como podemos criar apresentações de slides no Keynote, Fotos, Pré-visualização e aplicativos online.
Quando você quiser usar um poderoso criador de apresentações de slides, não procure mais do que o Keynote. Este aplicativo gratuito, parte da suíte iWork, é um grampo do Mac, facilitando a criação de apresentações e apresentações de slides incríveis em nenhum momento.
Veja como fazer uma apresentação de slides no Keynote:
Uma dica rápida para transformar seu Keynote em um criador de vídeo de apresentação de slides é marcar a caixa “Apresentação de slides em loop” nas configurações do documento.
Se a sua apresentação de slides consiste principalmente em fotos, por que não fazê-la no aplicativo Fotos!
O Photos pode organizar facilmente toda a sua biblioteca de fotos com álbuns, ajudá-lo com retoques e sincronizar tudo com o iCloud para ser acessível em todos os dispositivos.
Você também pode criar belas apresentações de slides, que podem ser reproduzidas no local ou separadas em projetos especiais de apresentação de slides com configurações personalizadas específicas.
Para criar apresentações de slides em tempo real:
Para criar uma apresentação de slides personalizada:
As pessoas que reproduzem apresentações de slides espontaneamente o tempo todo sabem que, para criar uma, você não precisa do Keynote ou mesmo do Photos. Você pode criar uma apresentação de slides a partir de qualquer documento diretamente no Preview com apenas alguns cliques.
Veja como fazer uma apresentação de slides em qualquer lugar:
Se você não estiver trabalhando no Mac ou precisar de um criador de apresentações de slides acessível on-line, tente usar o Apresentações Google.
O Google Slides é gratuito e semelhante ao Keynote em seu design de interface. Você adiciona fotos ou cria slides com texto ou qualquer outro elemento gráfico. Em seguida, você pode selecionar Exibir ➙ Apresentação de slides (Command + Enter). É isso! Além do mais, você pode compartilhar o link online e outras pessoas também podem ver sua apresentação de slides a qualquer momento.
Cobrimos uma grande variedade de ferramentas para criar apresentações de slides, onde cada uma é ótima para uma tarefa específica. Se você precisa de controle absoluto sobre suas apresentações de slides e deseja salvá-las com configurações personalizadas, não procure além do Keynote. Para apresentações de slides de imagens, use Fotos. Para fazer apresentações de slides no Mac a partir de qualquer documento, tente o Preview. Se precisar compartilhar sua apresentação de slides on-line, use o Apresentações Google.
Mais importante, você precisa de ótimas ferramentas para que suas apresentações de slides tenham a melhor aparência. Experimente o Squash para compactar imagens sem perder qualidade e criar apresentações leves. CameraBag Pro irá ajudá-lo a editar qualquer vídeo. E o GlueMotion é a maneira mais fácil de fazer lapsos de tempo.
Todos esses aplicativos - Squash, CameraBag Pro e GlueMotion - estão disponíveis gratuitamente por meio do teste de sete dias do Setapp , uma plataforma com mais de 240 aplicativos excelentes para Mac e iOS em todas as categorias que você possa imaginar. Experimente todos eles sem nenhum custo hoje e encontre seus novos favoritos!
Sim, se você criar uma apresentação de slides no Fotos, poderá adicionar vídeos — basta selecioná-los em sua Biblioteca. Observe que o Fotos pode cortar seus vídeos com base no tema selecionado, portanto, certifique-se de cortar e ajustar seus vídeos com antecedência para obter a cena certa na apresentação de slides. CameraBag Pro é um excelente utilitário para edição de vídeo, que pode te ajudar a preparar seus vídeos.
Você pode adicionar texto se fizer uma apresentação de slides no aplicativo de visualização. Depois de selecionar a foto, clique no botão Editar > Texto e você verá a caixa de texto aparecer na tela.
Se você exportar suas apresentações de slides, elas serão salvas em seu local de exportação no Mac. Você pode simplesmente movê-los para o Bin de lá. E se você criar apresentações de slides em Fotos, elas serão salvas em Projetos na barra lateral esquerda - selecione a apresentação de slides, clique com o botão direito do mouse e escolha Excluir.
Fonte do artigo: https://setapp.com
1685365825
In this Mac tutorial, we will learn about What is NTFS? | How to use NTFS on Mac. Using external hard drives with NTFS on Mac has never been easy. While Macs can read the Windows-based NTFS format, they need third-party software to edit or write to it.
Plus, starting with macOS Ventura, Apple has changed the way NTFS works with its kernel architecture. Even if you’ve had a NTFS driver for Mac before, it won’t work with new macOS versions.
So does NTFS work on Mac? And if so, how to write to NTFS on Mac with ease, mount Microsoft NTFS drives on Mac, and more?
NTFS (New Technology File System) is a file format system developed by Microsoft in 1993 for Windows NT and supported by newer Windows versions ever since.
The goal of NTFS is to make it easy for users to read and work with any files on external hard drives and USB drives, without transferring them onto their computers.
Many top-rated external hard drives and USB drives are formatted to NTFS by default. That’s why making sure your Mac can read and write to NTFS is important.
As NTFS is a proprietary technology, companies other than Microsoft need to license it to integrate it natively on their operating systems.
Apple doesn’t currently have a license for NTFS. Instead, Macs are using a read-only NTFS implementation built on top of the one from FreeBSD. While there have been attempts to include NTFS writing permissions on Mac, the work was never finalized and remained buggy, causing internal errors and kernel panics.
In the past, you could install NTFS drivers to go around kernel restrictions, but since Apple changed its architecture for macOS Ventura, this is no longer possible.
So how can Mac users benefit from using NTFS-formatted external drives and USBs?
The safest and most efficient way for Mac users to read and write to NTFS drives today is to use iBoysoft NTFS for Mac.
iBoysoft NTFS for Mac is an intuitive assistant app that lets you work with any NTFS-formatted drive. You can use it to mount new drives on macOS, manage disks, share drives with Windows, and more.
When you connect an external NTFS drive, you can mount it onto your Mac in one click from the menu bar or even set the mounting to be automatic. In addition, you can reformat the drive, view specific details, and add or delete data.
Performance-wise, iBoysoft NTFS for Mac gets close to internal hard drive speeds, so expect next to minimal delays.
When you install iBoysoft NTFS for Mac, mounting Windows-formatted hard drives becomes effortless:
Read/write to NTFS drives
iBoysoft NTFS for Mac
If you haven’t yet upgraded to macOS Ventura and are still using Monterey or an even earlier macOS — good news — you have more options of reading and writing to NTFS drives.
You can format NTFS on Mac to FAT32, or another format. You can turn on NTFS support in Terminal. And you can install Windows on your Mac with Boot Camp and run your NTFS drives through there.
Using Disk Utility on Mac, you can convert any NTFS-based external drive into FAT32 — another widely used format that’s fully supported by macOS.
To use NTFS on Mac by converting it to FAT32:
The downside of FAT32 is that it isn’t as efficient as NTFS. The maximum file size is limited to 4 GB, for example, which means it might not handle high-quality videos, but should be good for everything else.
If you’re running the older version of macOS, you can still enable NTFS in Terminal. In just a few easy commands, you can have NTFS working on your Mac without installing any other software.
Note
This feature is very experimental and might cause serious errors, such as kernel panic. So proceed with caution.
To enable NTFS in Terminal:
Boot Camp Assistant is the native Mac utility that lets you partition your drive and install Windows alongside macOS. In that case, Windows will run natively and you’ll have no problem working with NTFS external drives.
To install Windows on Mac:
After Boot Camo Assistant is done, restart your Mac and press Option during startup to switch between Mac and Windows.
Note
The Boot Camp Assistance is not available for M1 Macs.
Now you know how to use NTFS on Mac, whether you’re running macOS Ventura or an older system.
One thing you should know is that formatting files, using Terminal, or installing a Windows partition can result in you accidentally overwriting some files. To recover them, it’s good to have a powerful recovery app handy, such as Disk Drill.
Disk Drill is a top-rated data recovery app that’s also very quick and easy to use. Launch Disk Drill as soon as you notice missing files and Disk Drill will help you bring them back regardless of the loss cause, from data corruption to system errors.
Recover files and avoid data loss
Disk Drill
Besides, you can analyze disk space, add alerts, back up files, and explore even more file protection options.
As you can see, while the NTFS driver for Mac no longer exists on macOS Ventura, you can still use iBoysoft NTFS for Mac to read and write files from NTFS drives. And if you’re running an older version of macOS, formatting the drive to FAT32, installing Windows, and enabling NTFS in Terminal are all good options. But don’t forget Disk Drill to keep your files safe.
Best of all, iBoysoft NTFS for Mac and Disk Drill are free to try for seven days through Setapp, a collection of more than 240 curated apps across all imaginable categories. Explore and download the best Mac apps through Setapp today and give your workflow a much-needed boost.
Article source: https://setapp.com
1685363340
В этом уроке для Mac мы узнаем, как создавать слайд-шоу на Mac. Слайд-шоу — отличный вариант, когда вы хотите просмотреть или продемонстрировать что-то, будь то фотографии из вашей недавней поездки или похвалить всех сотрудников вашей компании.
Компьютеры Mac предоставляют нам несколько удобных способов создания слайд-шоу и презентаций. Так что даже если вы не умеете делать слайд-шоу — на это уйдет не более нескольких минут.
Слайд-шоу изображений не должны быть сложными. Вы же не хотите перегружать зрителей. Вместо этого сосредоточьтесь на ясности, качестве и простоте. Несколько качественных изображений могут рассказать историю лучше, чем набор случайных.
Тем не менее, вот несколько советов, которые сделают любое слайд-шоу Mac интересным и информативным:
Прежде чем создавать слайд-шоу в выбранном вами приложении (что является легкой частью, обсуждаемой ниже), вы должны привести все ингредиенты в наилучшее возможное состояние.
Начните с выбора изображений, которые рассказывают связную историю. Стремитесь к файлам самого высокого качества, так как их легче редактировать позже. Затем выберите такое же соотношение сторон (например, 16:9) и формат (например, JPEG) и пропустите их через Squash.
Squash — это молниеносное приложение для пакетной обработки изображений. Просто перетащите столько изображений, сколько хотите, установите параметры формата, размера, сжатия, соотношения, фильтров и экспортируйте результаты за считанные секунды.
Сжимайте и изменяйте размер изображений
Давить
Для быстрого редактирования видео используйте CameraBag Pro.
CameraBag Pro — это профессиональное приложение для редактирования фотографий и видео, которое намного проще в использовании, чем стандартные корпоративные аналоги. Просто перетащите видео и выберите любые эффекты или изменения, которые вы хотите применить, на боковой панели. Экспорт результатов — готово!
Редактировать фото и видео
Сумка для камеры Pro
Наконец, если у вас есть много изображений одной и той же сцены, снятых с течением времени, вы можете объединить их все в интервальную съемку. Таймлапс, как известно, сложно создать из-за разницы в освещении и неравномерного кадрирования. Однако секрет легких таймлапсов — это GlueMotion.
GlueMotion делает процесс создания таймлапсов почти бесшовным, автоматически заботясь о коррекции изображения, условиях освещения и многом другом. Просто откройте папку с таймлапс изображениями в GlueMotion, и приложение позаботится об этом за вас.
Превратите фотографии в таймлапс
клейдвижение
Теперь, когда у вас есть все необходимое для работы, давайте посмотрим, как мы можем создавать слайд-шоу в Keynote, Photos, Preview и онлайн-приложениях.
Если вы хотите использовать мощное средство для создания слайд-шоу, обратите внимание на Keynote. Это бесплатное приложение, входящее в состав пакета iWork, является одним из основных продуктов Mac, позволяя легко и быстро создавать потрясающие презентации и слайд-шоу.
Вот как сделать слайд-шоу в Keynote:
Один из быстрых советов, как превратить Keynote в средство для создания слайд-шоу, — установить флажок «Зацикливать слайд-шоу» в настройках документа.
Если ваше слайд-шоу в основном состоит из фотографий, почему бы не сделать это в… приложении «Фотографии»!
Фотографии могут легко организовать всю вашу библиотеку фотографий с помощью альбомов, помочь вам с ретушью и синхронизировать все с iCloud, чтобы быть доступными на всех устройствах.
Вы также можете создавать красивые слайд-шоу, которые можно воспроизводить на месте или разделять на специальные проекты слайд-шоу с особыми настраиваемыми конфигурациями.
Чтобы создавать слайд-шоу на лету:
Чтобы создать собственное слайд-шоу:
Люди, которые все время спонтанно проигрывают слайд-шоу, знают, что для его создания вам не нужен ни Keynote, ни даже Photos. Вы можете создать слайд-шоу из любого документа прямо в режиме предварительного просмотра всего за несколько кликов.
Вот как сделать слайд-шоу на ходу:
Если вы не работаете на Mac или вам нужен инструмент для создания слайд-шоу, доступный в Интернете, попробуйте вместо этого использовать Google Slides.
Google Slides бесплатен и похож на Keynote по дизайну интерфейса. Вы добавляете фотографии или создаете слайды с текстом или любыми другими графическими элементами. Затем вы можете выбрать Вид ➙ Слайд-шоу (Command + Enter). Вот и все! Более того, вы можете поделиться ссылкой в Интернете, и другие люди также смогут увидеть ваше слайд-шоу в любое время.
Мы рассмотрели целый ряд инструментов для создания слайд-шоу, каждый из которых отлично подходит для определенной задачи. Если вам нужен абсолютный контроль над вашими слайд-шоу и вы хотите сохранить их с индивидуальными настройками, обратите внимание на Keynote. Для слайд-шоу изображений используйте Фото. Чтобы сделать слайд-шоу на Mac из любых документов, попробуйте Preview. Если вам нужно поделиться своим слайд-шоу в Интернете, используйте Google Slides.
Что еще более важно, вам нужны отличные инструменты для ваших слайд-шоу, чтобы они выглядели наилучшим образом. Попробуйте Squash , чтобы сжимать изображения без потери качества и создавать легкие презентации. CameraBag Pro поможет вам отредактировать любое видео. А GlueMotion — едва ли не самый простой способ создания таймлапсов.
Все эти приложения — Squash, CameraBag Pro и GlueMotion — доступны вам бесплатно в рамках семидневной пробной версии Setapp , платформы с более чем 240 выдающимися приложениями для Mac и iOS во всех категориях, о которых вы только можете подумать. Попробуйте их все бесплатно сегодня и найдите своих новых фаворитов!
Да, если вы создаете слайд-шоу в Фото, вы можете добавлять видео — просто выберите их в своей медиатеке. Обратите внимание, что программа «Фото» может обрезать ваши видео в зависимости от выбранной темы, поэтому убедитесь, что вы вырезаете и корректируете свои видео заранее, чтобы получить правильную сцену в слайд-шоу. CameraBag Pro — отличная утилита для редактирования видео, которая поможет вам подготовить видео.
Вы можете добавить текст, если делаете слайд-шоу в приложении Preview. Выбрав фотографию, нажмите кнопку «Редактировать» > «Текст», и вы увидите всплывающее текстовое поле на экране.
Если вы экспортируете свои слайд-шоу, они будут сохранены в папке экспорта на Mac. Вы можете просто переместить их оттуда в корзину. А если вы создаете слайд-шоу в Фото, они будут сохранены в разделе «Проекты» на левой боковой панели — выберите слайд-шоу, щелкните его правой кнопкой мыши и выберите «Удалить».
Источник статьи: https://setapp.com
1685353260
Trong hướng dẫn Mac này, chúng ta sẽ tìm hiểu về Cách tạo trình chiếu trên Mac. Trình chiếu là một lựa chọn tuyệt vời khi bạn muốn xem lại hoặc giới thiệu điều gì đó, có thể là ảnh từ chuyến đi gần đây của bạn hoặc đánh giá cao tất cả các đồng nghiệp tại công ty của bạn.
Máy Mac cung cấp cho chúng tôi một số cách thân thiện với người dùng để tạo trình chiếu và bản trình bày. Vì vậy, ngay cả khi bạn không biết cách tạo bản trình chiếu — việc bắt đầu sẽ không mất quá vài phút.
Trình chiếu hình ảnh không cần phải phức tạp. Bạn không muốn áp đảo người xem. Thay vào đó, hãy tập trung vào sự rõ ràng, chất lượng và sự đơn giản. Một vài bức ảnh chất lượng cao có thể kể một câu chuyện hay hơn là một mớ hỗn độn những bức ảnh ngẫu nhiên.
Điều đó nói rằng, đây là một số mẹo sẽ làm cho bất kỳ máy Mac trình chiếu nào cũng có thể hiển thị thú vị và nhiều thông tin:
Trước khi bạn tập hợp một bản trình chiếu trong ứng dụng bạn chọn (đây là phần dễ dàng, được thảo luận bên dưới), bạn nên đưa tất cả các thành phần vào trạng thái tốt nhất có thể.
Bắt đầu với việc chọn những hình ảnh kể một câu chuyện mạch lạc. Hãy nhắm đến những cái có chất lượng cao nhất, vì chúng sẽ dễ chỉnh sửa hơn sau này. Sau đó, chọn cùng một tỷ lệ (ví dụ: 16:9) và định dạng (ví dụ: JPEG) và chạy tất cả chúng thông qua Squash.
Squash là một ứng dụng xử lý ảnh hàng loạt nhanh như chớp. Chỉ cần kéo và thả bao nhiêu hình ảnh tùy thích, đặt các tham số về định dạng, kích thước, độ nén, tỷ lệ, bộ lọc và xuất kết quả sau vài giây.
Nén và thay đổi kích thước hình ảnh
Squash
Để chỉnh sửa nhanh video, hãy sử dụng CameraBag Pro.
CameraBag Pro là một ứng dụng chỉnh sửa ảnh và video chuyên nghiệp, dễ sử dụng hơn nhiều so với các ứng dụng doanh nghiệp tiêu chuẩn ngành tương đương. Chỉ cần kéo và thả video và chọn bất kỳ hiệu ứng hoặc thay đổi nào bạn muốn áp dụng từ thanh bên. Xuất kết quả — xong!
Chỉnh sửa ảnh và video
CameraBag Pro
Cuối cùng, nếu bạn có nhiều hình ảnh của cùng một cảnh được chụp theo thời gian, bạn có thể kết hợp tất cả chúng thành một khoảng thời gian trôi đi. Thời gian trôi đi nổi tiếng là khó tạo do sự khác biệt về ánh sáng và khung hình không đồng đều. Tuy nhiên, bí quyết để rút ngắn thời gian dễ dàng là GlueMotion.
GlueMotion làm cho quá trình tạo thời gian trôi đi gần như liền mạch, tự động xử lý hiệu chỉnh hình ảnh, điều kiện ánh sáng, v.v. Chỉ cần mở thư mục có hình ảnh tua nhanh thời gian trong GlueMotion và ứng dụng sẽ xử lý quy trình cho bạn.
Biến ảnh thành tua nhanh thời gian
KeoMotion
Bây giờ, khi bạn đã có tất cả các thành phần sẵn sàng, hãy xem cách chúng ta có thể tạo trình chiếu trong Keynote, Photos, Preview và các ứng dụng trực tuyến.
Khi bạn muốn sử dụng một trình tạo trình chiếu mạnh mẽ, không đâu khác ngoài Keynote. Ứng dụng miễn phí này, một phần của bộ iWork, là một phần chính của máy Mac, giúp bạn dễ dàng tạo các bản trình bày và trình chiếu tuyệt vời ngay lập tức.
Đây là cách tạo trình chiếu trong Keynote:
Một mẹo nhanh để biến Keynote của bạn thành trình tạo video trình chiếu là chọn hộp “Trình chiếu vòng lặp” trong Cài đặt tài liệu.
Nếu trình chiếu của bạn chủ yếu bao gồm ảnh, tại sao không tạo nó trong… ứng dụng Ảnh!
Ảnh có thể dễ dàng sắp xếp toàn bộ thư viện ảnh của bạn với các album, giúp bạn chỉnh sửa và đồng bộ hóa mọi thứ với iCloud để có thể truy cập được trên tất cả các thiết bị.
Bạn cũng có thể tạo các trình chiếu đẹp mắt, có thể phát ngay tại chỗ hoặc tách thành các dự án trình chiếu đặc biệt với các cấu hình tùy chỉnh cụ thể.
Để tạo trình chiếu một cách nhanh chóng:
Để tạo trình chiếu tùy chỉnh:
Những người thường xuyên phát trình chiếu một cách ngẫu nhiên biết rằng để tạo một trình chiếu, bạn không cần Keynote hoặc thậm chí là Ảnh. Bạn có thể tạo bản trình chiếu từ bất kỳ tài liệu nào ngay trong Bản xem trước chỉ bằng vài cú nhấp chuột.
Đây là cách tạo trình chiếu khi đang di chuyển:
Nếu bạn không làm việc trên máy Mac hoặc cần một trình tạo bản trình chiếu có thể truy cập trực tuyến, hãy thử sử dụng Google Trang trình bày để thay thế.
Google Slides miễn phí và tương tự như Keynote trong thiết kế giao diện của nó. Bạn thêm ảnh hoặc tạo trang chiếu bằng văn bản hoặc bất kỳ thành phần đồ họa nào khác. Sau đó, bạn có thể chọn Xem ➙ Trình chiếu (Command + Enter). Đó là nó! Hơn nữa, bạn có thể chia sẻ liên kết trực tuyến và những người khác cũng có thể xem trình chiếu của bạn bất kỳ lúc nào.
Chúng tôi đã giới thiệu khá nhiều công cụ để tạo trình chiếu, trong đó mỗi công cụ đều phù hợp cho một nhiệm vụ cụ thể. Nếu bạn cần kiểm soát tuyệt đối các trình chiếu của mình và muốn lưu chúng bằng các cài đặt tùy chỉnh, thì không đâu khác ngoài Keynote. Đối với trình chiếu ảnh, hãy sử dụng Ảnh. Để tạo trình chiếu trên máy Mac từ bất kỳ tài liệu nào, hãy thử Xem trước. Nếu bạn cần chia sẻ bản trình chiếu của mình trực tuyến, hãy sử dụng Google Trang trình bày.
Quan trọng hơn, bạn cần những công cụ tuyệt vời để trình chiếu của bạn trông đẹp nhất. Hãy dùng thử Squash để nén hình ảnh mà không làm giảm chất lượng và tạo bản trình bày nhẹ. CameraBag Pro sẽ giúp bạn chỉnh sửa bất kỳ video nào. Và GlueMotion gần như là cách dễ nhất để tạo ra các khoảng thời gian trôi đi.
Tất cả các ứng dụng này — Squash, CameraBag Pro và GlueMotion — được cung cấp miễn phí cho bạn qua bảy ngày dùng thử Setapp , một nền tảng có hơn 240 ứng dụng nổi bật dành cho Mac và iOS trên mọi danh mục mà bạn có thể nghĩ đến. Hãy thử tất cả chúng miễn phí ngay hôm nay và tìm mục yêu thích mới của bạn!
Có, nếu bạn tạo bản trình chiếu trong Ảnh, bạn có thể thêm video — chỉ cần chọn chúng từ Thư viện của bạn. Lưu ý rằng Ảnh có thể cắt video của bạn dựa trên chủ đề đã chọn, vì vậy hãy đảm bảo bạn cắt và điều chỉnh trước video của mình để có được cảnh phù hợp trong bản trình chiếu. CameraBag Pro là một tiện ích tuyệt vời để chỉnh sửa video, có thể giúp bạn chuẩn bị video của mình.
Bạn có thể thêm văn bản nếu bạn tạo bản trình chiếu trong ứng dụng Xem trước. Khi bạn đã chọn ảnh, hãy nhấp vào nút Chỉnh sửa > Văn bản và bạn sẽ thấy hộp văn bản bật lên trên màn hình.
Nếu bạn xuất bản trình chiếu của mình, chúng sẽ được lưu ở vị trí xuất của bạn trên máy Mac. Bạn có thể chỉ cần chuyển chúng vào Thùng rác từ đó. Và nếu bạn tạo trình chiếu trong Ảnh, chúng sẽ được lưu trong Dự án ở thanh bên trái — chọn trình chiếu, nhấp chuột phải vào nó và chọn Xóa.
Nguồn bài viết: https://setapp.com
1685339400
In this Mac tutorial, we will learn about How to create slideshows on Mac. Slideshows are a great option when you want to review or showcase something, be it photos from your recent trip or appreciating all the coworkers at your company.
Macs provide us with a few user-friendly ways of creating slideshows and presentations. So even if you don’t know how to make a slideshow — getting started will take no longer than a few minutes.
Picture slideshows don’t have to be complicated. You don’t want to overwhelm the viewers. Focus on clarity, quality, and simplicity instead. A few high-quality pictures can tell a better story than a jumble of random ones.
That said, here are a few tips that would make any slideshow Mac can show interesting and informative:
Before you put together a slideshow in the app of your choice (which is the easy part, discussed below), you should get all the ingredients to their best state possible.
Start with selecting images that tell a coherent story. Aim for the highest quality ones, as they are easier to edit later. Then pick the same ratio (e.g. 16:9) and format (e.g. JPEG), and run them all through Squash.
Squash is a lightning-fast batch image processing app. Just drag and drop as many images as you want, set parameters on format, size, compression, ratio, filters, and export the results in seconds.
Compress and resize images
Squash
For quickly editing videos, use CameraBag Pro.
CameraBag Pro is a professional photo and video editing app that is much easier to use than its industry-standard enterprise equivalents. Just drag and drop a video and choose any effects or changes you want to apply from the sidebar. Export the results — done!
Edit photos and videos
CameraBag Pro
Finally, if you have lots of images of the same scene taken over time, you can combine them all into a time lapse. Time lapses are notoriously difficult to create due to the difference in lighting and uneven framing. The secret to easy time lapses, however, is GlueMotion.
GlueMotion makes the process of creating time lapses almost seamless, automatically taking care of image correction, lighting conditions, and more. Just open the folder with time lapse images in GlueMotion, and the app will take care of the process for you.
Turn photos into time lapses
GlueMotion
Now when you have all the ingredients ready to go, let’s see how we can create slideshows in Keynote, Photos, Preview, and online apps.
When you want to use a powerful slideshow maker, look no further than Keynote. This free app, part of the iWork suite, is a Mac staple, making it easy to create amazing presentations and slideshows in no time.
Here’s how to make a slideshow in Keynote:
One quick tip to turn your Keynote into a slideshow video maker is to check the “Loop slideshow” box in Document settings.
If your slideshow mostly consists of photos, why not make it in … the Photos app!
Photos can easily organize your whole photo library with albums, help you with retouching, and sync everything with iCloud to be accessible on all devices.
You can also create beautiful slideshows, which can be played on the spot or separated into special slideshow projects with specific custom configurations.
To create slideshows on the fly:
To create a custom slideshow:
People who spontaneously play slideshows all the time know that to create one you don’t need Keynote or even Photos. You can create a slideshow out of any document right in Preview in just a few clicks.
Here’s how to make a slideshow on the go:
If you’re not working on Mac or need a slideshow maker that’s accessible online, try using Google Slides instead.
Google Slides is free and similar to Keynote in its interface design. You add photos or create slides with text or any other graphical elements. Then you can select View ➙ Slideshow (Command + Enter). That’s it! What’s more you can share the link online and others can see your slideshow at any time as well.
We’ve covered quite a range of tools to create slideshows, where each is great for a particular task. If you need absolute control over your slideshows and want to save them with custom settings, look no further than Keynote. For picture slideshows, use Photos. To make slideshows on Mac out of any documents, try Preview. If you need to share your slideshow online, use Google Slides.
More importantly, you need great tools for your slideshows to look their best. Try Squash to compress images without losing quality and create lightweight presentations. CameraBag Pro will help you edit any videos. And GlueMotion is just about the easiest way of making time lapses.
All these apps — Squash, CameraBag Pro, and GlueMotion — are available to you for free through the seven-day trial of Setapp, a platform with more than 240 outstanding apps for Mac and iOS across every category you can think of. Try them all at no cost today and find your new favorites!
Yes, if you create a slideshow in Photos, you can add videos — just select them from your Library. Note that Photos might cut your videos based on the selected theme, so make sure you cut and adjust your videos in advance so you get the right scene in the slideshow. CameraBag Pro is an excellent utility for video editing, which can help you prepare your videos.
You can add text if you make a slideshow in the Preview app. Once you’ve selected the photo, click the Edit button > Text and you’ll see the text box pop up on the screen.
If you export your slideshows, they will be saved in your export location on Mac. You can simply move them to the Bin from there. And if you create slideshows in Photos, they will be saved under Projects in the left sidebar — select the slideshow, right-click it, and choose Delete.
Article source: https://setapp.com
1685027742
Window acrylic, mica & transparency effects for Flutter on Windows, macOS & Linux
Mention in your pubspec.yaml
.
dependencies:
...
flutter_acrylic: ^1.1.0
Example app running on Microsoft Windows 11 (pre-compiled release mode x64 executable available to test in the "Releases" tab).
Platform | Status | Maintainer |
---|---|---|
Windows | ✅ | Hitesh Kumar Saini |
macOS | ✅ | Adrian Samoticha |
Linux | ✅ | Hitesh Kumar Saini |
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Window.initialize();
runApp(MyApp());
}
await Window.setEffect(
effect: WindowEffect.acrylic,
color: Color(0xCC222222),
);
await Window.setEffect(
effect: WindowEffect.mica,
dark: true,
);
Effect | Description | Windows | macOS | Linux |
---|---|---|---|---|
WindowEffect.transparent | Transparent window background. | ✅ | ✅ | ✅ |
WindowEffect.disabled | Default window background. | ✅ | ✅ | ✅ |
WindowEffect.solid | Solid colored window background. | ✅ | ✅ | ✅ |
WindowEffect.aero | Aero glass effect. Windows Vista & Windows 7 like glossy blur effect. | ✅ | ✅ | |
WindowEffect.acrylic | Acrylic is a type of brush that creates a translucent texture. You can apply acrylic to app surfaces to add depth and help establish a visual hierarchy. Works only on Windows 10 version 1803 or higher. | ✅ | ✅ | |
WindowEffect.mica | Mica is an opaque, dynamic material that incorporates theme and desktop wallpaper to paint the background of long-lived windows. Works only on Windows 11 or greater. | ✅ | ✅ | |
WindowEffect.tabbed | Tabbed is a Mica like material that incorporates theme and desktop wallpaper, but is more sensitive to desktop wallpaper color. Works only on later Windows 11 versions (builds higher than 22523). | ✅ | ✅ | |
WindowEffect.titlebar | The material for a window’s titlebar. | ✅ | ||
WindowEffect.menu | The material for menus. | ✅ | ||
WindowEffect.popover | The material for the background of popover windows. | ✅ | ||
WindowEffect.sidebar | The material for the background of window sidebars. | ✅ | ||
WindowEffect.headerView | The material for in-line header or footer views. | ✅ | ||
WindowEffect.sheet | The material for the background of sheet windows. | ✅ | ||
WindowEffect.windowBackground | The material for the background of opaque windows. | ✅ | ||
WindowEffect.hudWindow | The material for the background of heads-up display (HUD) windows. | ✅ | ||
WindowEffect.fullScreenUI | The material for the background of a full-screen modal interface. | ✅ | ||
WindowEffect.toolTip | The material for the background of a tool tip. | ✅ | ||
WindowEffect.contentBackground | The material for the background of opaque content. | ✅ | ||
WindowEffect.underWindowBackground | The material to show under a window's background. | ✅ | ||
WindowEffect.underPageBackground | The material for the area behind the pages of a document. | ✅ |
Windows 10 versions higher than 1803 & all Windows 11 versions are supported by the plugin, although not all effects might be available to a particular Windows version. See pinned issues if you encounter some problem or feel free to file one yourself.
Window.enterFullscreen();
Window.exitFullscreen();
Window.hideWindowControls();
Window.showWindowControls();
Get the height of the titlebar when the full-size content view is enabled.
final titlebarHeight = Window.getTitlebarHeight();
Set the document to be edited.
Window.setDocumentEdited();
Set the document to be unedited.
Window.setDocumentUnedited();
Set the represented file of the window.
Window.setRepresentedFilename('path/to/file.txt');
Set the represented URL of the window.
Window.setRepresentedUrl('https://flutter.dev');
Hide the titlebar of the window.
Window.hideTitle();
Show the titlebar of the window.
Window.showTitle();
Make the window's titlebar transparent.
Window.makeTitlebarTransparent();
Make the window's titlebar opaque.
Window.makeTitlebarOpaque();
Enable the window's full-size content view. It is recommended to enable the full-size content view when making the titlebar transparent.
Window.enableFullSizeContentView();
Disable the window's full-size content view.
Window.disableFullSizeContentView();
Zoom the window.
Window.zoomWindow();
Unzoom the window.
Window.unzoomWindow();
Get if the window is zoomed.
final isWindowZoomed = Window.isWindowZoomed();
Get if the window is fullscreened.
final isWindowFullscreened = Window.isWindowFullscreened();
Hide/Show the window's zoom button.
Window.hideZoomButton();
Window.showZoomButton();
Hide/Show the window's miniaturize button.
Window.hideMiniaturizeButton();
Window.showMiniaturizeButton();
Hides/Show the window's close button.
Window.hideCloseButton();
Window.showCloseButton();
Enable/Disable the window's zoom button.
Window.enableZoomButton();
Window.disableZoomButton();
Enable/Disable the window's miniaturize button.
Window.enableMiniaturizeButton();
Window.disableMiniaturizeButton();
Enable/Disable the window's close button.
Window.enableCloseButton();
Window.disableCloseButton();
Get whether the window is currently being resized by the user.
final isWindowInLiveResize = Window.isWindowInLiveResize();
Set the window's alpha value.
Window.setWindowAlphaValue(0.75);
Get if the window is visible.
final isWindowVisible = Window.isWindowVisible();
Set the window's titlebar to the default (opaque) color.
Window.setWindowBackgroundColorToDefaultColor()
Make the window's titlebar clear.
Window.setWindowBackgroundColorToClear()
Set the window's blur view state.
Window.setBlurViewState(MacOSBlurViewState.active);
Window.setBlurViewState(MacOSBlurViewState.inactive);
Window.setBlurViewState(MacOSBlurViewState.followsWindowActiveState);
Add a visual effect subview to the application's window.
final visualEffectSubviewId = Window.addVisualEffectSubview();
Update the properties of a visual effect subview.
Window.updateVisualEffectSubviewProperties(visualEffectSubviewId, VisualEffectSubviewProperties());
Remove a visual effect subview from the application's window.
Window.removeVisualEffectSubview(visualEffectSubviewId);
Override the brightness setting of the window.
Window.overrideMacOSBrightness(dark: true);
Add a toolbar and set its style.
Window.addToolbar();
Window.setToolbarStyle(MacOSToolbarStyle.automatic);
Window.setToolbarStyle(MacOSToolbarStyle.expanded);
Window.setToolbarStyle(MacOSToolbarStyle.preference);
Window.setToolbarStyle(MacOSToolbarStyle.unified);
Window.setToolbarStyle(MacOSToolbarStyle.unifiedCompact);
Enable and disable window shadow.
Window.enableShadow();
Window.disableShadow();
Make window fully transparent (with no blur effect):
Window.makeWindowFullyTransparent();
Acknowledge or ignore mouse events:
Window.acknowledgeMouseEvents();
Window.ignoreMouseEvents();
Set the window's subtitle:
Window.setSubtitle('subtitle');
More features coming soon.
No additional setup is required.
On Windows 11 versions higher than or equal to 22523, DwmSetWindowAttribute
API is used for WindowEffect.acrylic
, WindowEffect.mica
& WindowEffect.tabbed
effects.
This plugin uses the undocumented SetWindowCompositionAttribute
API from user32.dll
on Windows 10 & early Windows 11 versions to achieve the acrylic effect. Learn more at Rafael Rivera's amazing blog post about this here.
[ONLY on Windows 10] In most cases, you might wanna render custom window frame because the blur effect might leak outside the window boundary. You can use bitsdojo_window to make a custom window for your Flutter application.
WindowEffect.acrylic
causes lag on window drag in Windows 10, this issue is fixed by Microsoft in Windows 11. This issue can be prevented by a "hack", however nothing has been done within the plugin to circumvent this on Windows 10.
WindowEffect.mica
& WindowEffect.tabbed
only works on Windows 11.
You can see the example application for further details.
Additional setup for macOS:
flutter_acrylic depends on the macos_window_utils plugin, which requires macOS 10.14.6 or above. Please update your macOS deployment target as follows:
Open the macos/Runner.xcworkspace
folder of your project using Xcode, press ⇧ + ⌘ + O and search for Runner.xcodeproj
. Go to Info
> Deployment Target
and set the macOS Deployment Target
to 10.14.6
or above.
Additionally, you may need to open the Podfile
in your Xcode project and make sure the deployment target in the first line is set to 10.14.6
or above as well:
platform :osx, '10.14.6'
Depending on your use case, you may want to extend the area of the window that Flutter can draw to to the entire window, such that you are able to draw onto the window's title bar as well (for example when you're only trying to make the sidebar transparent while the rest of the window is meant to stay opaque).
To do so, enable the full-size content view with the following Dart code:
Window.makeTitlebarTransparent();
Window.enableFullSizeContentView();
When you decide to do this, it is recommended to wrap your application (or parts of it) in a TitlebarSafeArea
widget as follows:
TitlebarSafeArea(
child: YourApp(),
)
This ensures that your app is not covered by the window's title bar.
Additionally, it may be worth considering to split your sidebar and your main view into multiple NSVisualEffectView
's inside your app. This is because macOS has a feature called “wallpaper tinting,” which is enabled by default. This feature allows windows to blend in with the desktop wallpaper:
To achieve the same effect in your Flutter application, you can set the window's window effect to WindowEffect.solid
and wrap your sidebar widget with a TransparentMacOSSidebar
widget like so:
TransparentMacOSSidebar(
child: YourSidebarWidget(),
)
Note: The widget will automatically resize the NSVisualEffectView
when a resize is detected in the widget's build
method. If you are animating your sidebar's size using a TweenAnimationBuilder
, please make sure that the TransparentMacOSSidebar
widget is built within the TweenAnimationBuilder
's build
method, in order to guarantee that a rebuild is triggered when the size changes. For reference, there is a working example in the sidebar_frame.dart
file of the example
project.
Additional setup for Linux.
Find my_application.cc
inside the linux
directory of your Flutter project & remove following lines from it.
gtk_widget_show(GTK_WIDGET(window));
gtk_widget_show(GTK_WIDGET(view));
Adding blur to the Window.
Since current Flutter embedder on Linux uses GTK 3.0, so there is no official API available for backdrop blur of the window.
However, some desktop environments like KDE Plasma (with KWin compositor) have some third party scripts like kwin-forceblur from Eon S. Jeon, which allow to add blur to GTK 3.0 windows aswell (when the window is transparent, which you can certainly achieve using the plugin). Thus, this setup can be used to obtain result as shown in the picture.
Blur on Linux is more dependent on the compositor, some compositors like compiz or wayfire also seem to support blur effects.
MIT License. Contributions welcomed.
Aero blur effect.
Transparent Flutter window.
Transparent Flutter window on macOS Monterey with dark mode enabled.
Run this command:
With Flutter:
$ flutter pub add flutter_acrylic
This will add a line like this to your package's pubspec.yaml (and run an implicit flutter pub get
):
dependencies:
flutter_acrylic: ^1.1.2
Alternatively, your editor might support flutter pub get
. Check the docs for your editor to learn more.
Now in your Dart code, you can use:
import 'package:flutter_acrylic/flutter_acrylic.dart';
import 'dart:async';
import 'dart:io';
import 'dart:math';
import 'package:flutter/material.dart';
import 'package:flutter_acrylic/flutter_acrylic.dart';
import 'package:bitsdojo_window/bitsdojo_window.dart';
import 'package:flutter_acrylic/widgets/visual_effect_subview_container/visual_effect_subview_container.dart';
import 'package:flutter_acrylic_example/widgets/macos_action_menu/macos_action_menu.dart';
import 'package:flutter_acrylic_example/widgets/sidebar_frame/sidebar_frame.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Window.initialize();
if (Platform.isWindows) {
await Window.hideWindowControls();
}
runApp(MyApp());
if (Platform.isWindows) {
doWhenWindowReady(() {
appWindow
..minSize = Size(640, 360)
..size = Size(720, 540)
..alignment = Alignment.center
..show();
});
}
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
splashFactory: InkRipple.splashFactory,
),
darkTheme: ThemeData.dark().copyWith(
splashFactory: InkRipple.splashFactory,
),
themeMode: ThemeMode.dark,
home: MyAppBody(),
);
}
}
enum InterfaceBrightness {
light,
dark,
auto,
}
extension InterfaceBrightnessExtension on InterfaceBrightness {
bool getIsDark(BuildContext? context) {
if (this == InterfaceBrightness.light) return false;
if (this == InterfaceBrightness.auto) {
if (context == null) return true;
return MediaQuery.of(context).platformBrightness == Brightness.dark;
}
return true;
}
Color getForegroundColor(BuildContext? context) {
return getIsDark(context) ? Colors.white : Colors.black;
}
}
class MyAppBody extends StatefulWidget {
MyAppBody({Key? key}) : super(key: key);
@override
MyAppBodyState createState() => MyAppBodyState();
}
class MyAppBodyState extends State<MyAppBody> {
WindowEffect effect = WindowEffect.transparent;
Color color = Platform.isWindows ? Color(0xCC222222) : Colors.transparent;
InterfaceBrightness brightness =
Platform.isMacOS ? InterfaceBrightness.auto : InterfaceBrightness.dark;
MacOSBlurViewState macOSBlurViewState =
MacOSBlurViewState.followsWindowActiveState;
@override
void initState() {
super.initState();
this.setWindowEffect(this.effect);
}
void setWindowEffect(WindowEffect? value) {
Window.setEffect(
effect: value!,
color: this.color,
dark: brightness == InterfaceBrightness.dark,
);
if (Platform.isMacOS) {
if (brightness != InterfaceBrightness.auto) {
Window.overrideMacOSBrightness(
dark: brightness == InterfaceBrightness.dark,
);
}
}
this.setState(() => this.effect = value);
}
void setBrightness(InterfaceBrightness brightness) {
this.brightness = brightness;
if (this.brightness == InterfaceBrightness.dark) {
color = Platform.isWindows ? Color(0xCC222222) : Colors.transparent;
} else {
color = Platform.isWindows ? Color(0x22DDDDDD) : Colors.transparent;
}
this.setWindowEffect(this.effect);
}
/// Lets the madness begin! (macOS only.)
///
/// This method plays a silly little effect that is achieved using visual
/// effect subviews. It is designed to showcase a low-level approach to using
/// visual effect subviews without relying on the
/// [VisualEffectSubviewContainer] widget.
///
/// In most cases, using the container widget is preferable, though, due to
/// its ease of use.
void letTheMadnessBegin() async {
final random = Random();
final windowWidth = MediaQuery.of(context).size.width;
final windowHeight = MediaQuery.of(context).size.height;
for (var i = 0; i < 10; i += 1) {
// Create some random visual effect view.
final size = random.nextDouble() * 64.0 + 32.0;
final speed = random.nextDouble() * 2.0 + 2.0;
var frameX = -size - random.nextDouble() * 32.0;
final frameY = random.nextDouble() * windowHeight;
// Remember to store its ID.
final subviewId =
await Window.addVisualEffectSubview(VisualEffectSubviewProperties(
effect: WindowEffect.hudWindow,
alphaValue: random.nextDouble(),
cornerRadius: random.nextDouble() * 48.0,
cornerMask: random.nextInt(16),
frameX: frameX,
frameY: frameY,
frameWidth: size,
frameHeight: size,
));
Timer.periodic(const Duration(milliseconds: 8), (timer) {
// Now, let's periodically update its position:
frameX += speed;
Window.updateVisualEffectSubviewProperties(
subviewId,
VisualEffectSubviewProperties(
frameX: frameX,
frameY: frameY + sin(frameX * 0.01) * 32.0,
),
);
if (frameX > windowWidth) {
// Remember to remove the visual effect subview when you no longer
// need it.
Window.removeVisualEffectSubview(subviewId);
timer.cancel();
}
});
}
}
@override
Widget build(BuildContext context) {
// The [TitlebarSafeArea] widget is required when running on macOS and
// enabling the full-size content view using
// [Window.setFullSizeContentView]. It ensures that its child is not covered
// by the macOS title bar.
return TitlebarSafeArea(
child: SidebarFrame(
macOSBlurViewState: macOSBlurViewState,
sidebar: SizedBox.expand(
child: Scaffold(
backgroundColor: Colors.transparent,
body: SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding: const EdgeInsets.symmetric(horizontal: 12.0),
child: Text(
'Sidebar',
style: TextStyle(
color: brightness.getForegroundColor(context),
fontWeight: FontWeight.bold,
),
),
),
Padding(
padding: const EdgeInsets.symmetric(
vertical: 8.0,
horizontal: 12.0,
),
child: Text(
'This is an example of a sidebar that has been '
'implemented using the TransparentMacOSSidebar widget.',
style: TextStyle(
color: brightness.getForegroundColor(context),
),
),
),
Padding(
padding: const EdgeInsets.symmetric(
vertical: 4.0,
horizontal: 12.0,
),
child: Text(
'Check out the sidebar_frame.dart file to see how it '
'has been implemented!',
style: TextStyle(
color: brightness.getForegroundColor(context),
),
),
),
const SizedBox(height: 16.0),
Padding(
padding: const EdgeInsets.symmetric(
vertical: 4.0,
horizontal: 12.0,
),
child: Text(
'Press the following button if you would like to see '
'some visual effect subview madness:',
style: TextStyle(
color: brightness.getForegroundColor(context),
),
),
),
Padding(
padding: const EdgeInsets.symmetric(
vertical: 12.0,
horizontal: 12.0,
),
child: Center(
child: ElevatedButton(
onPressed: letTheMadnessBegin,
child: Text('Let the madness begin!'),
),
),
),
],
),
),
),
),
child: Stack(
children: [
Scaffold(
backgroundColor: Colors.transparent,
body: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: [
WindowTitleBar(
brightness: brightness,
),
Padding(
padding: EdgeInsets.only(
left: 20.0,
bottom: 20.0,
top: 12.0,
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Flutter Acrylic',
style: TextStyle(
fontSize: 32.0,
color: brightness.getForegroundColor(context),
),
),
SizedBox(height: 4.0),
Text(
'github.com/alexmercerind/flutter_acrylic',
style: TextStyle(
color: brightness.getForegroundColor(context),
),
),
],
),
),
Expanded(
child: buildEffectMenu(context),
),
Divider(
height: 1.0,
color: brightness == InterfaceBrightness.dark
? Colors.white12
: Colors.black12,
),
buildActionButtonBar(context),
buildMacOSActionMenuOpener(context),
],
),
),
],
),
),
);
}
ButtonBar buildActionButtonBar(BuildContext context) {
return ButtonBar(
alignment: MainAxisAlignment.start,
overflowButtonSpacing: 4.0,
children: [
ElevatedButton(
onPressed: () => setState(() {
setBrightness(
brightness == InterfaceBrightness.dark
? InterfaceBrightness.light
: InterfaceBrightness.dark,
);
}),
child: Text(
'Dark: ${(() {
switch (brightness) {
case InterfaceBrightness.light:
return 'light';
case InterfaceBrightness.dark:
return 'dark';
default:
return 'auto';
}
})()}',
style: TextStyle(
color: Colors.white,
),
),
),
ElevatedButton(
onPressed: Window.hideWindowControls,
child: Text(
'Hide controls',
style: TextStyle(
color: Colors.white,
),
),
),
ElevatedButton(
onPressed: Window.showWindowControls,
child: Text(
'Show controls',
style: TextStyle(
color: Colors.white,
),
),
),
ElevatedButton(
onPressed: Window.enterFullscreen,
child: Text(
'Enter fullscreen',
style: TextStyle(
color: Colors.white,
),
),
),
ElevatedButton(
onPressed: Window.exitFullscreen,
child: Text(
'Exit fullscreen',
style: TextStyle(
color: Colors.white,
),
),
),
],
);
}
Widget buildMacOSActionMenuOpener(BuildContext context) {
if (!Platform.isMacOS) {
return const SizedBox();
}
return Padding(
padding: const EdgeInsets.only(bottom: 8.0, top: 12.0, left: 12.0),
child: Row(
children: [
Text(
'macOS actions:',
style: TextStyle(
fontSize: 16.0,
color: brightness.getForegroundColor(context),
fontWeight: FontWeight.bold,
),
),
const SizedBox(width: 16.0),
OutlinedButton(
child: Text('show all actions'),
onPressed: () {
showDialog(
context: context,
builder: (_) {
return Theme(
data: brightness.getIsDark(context)
? ThemeData.dark()
: ThemeData.light(),
child: LayoutBuilder(builder: (_, constraints) {
return Center(
child: SizedBox(
width: min(512.0, constraints.maxWidth - 32.0),
height: constraints.maxHeight - 32.0,
child: MacOSActionMenu(
items: [
MacOSActionMenuItem(
name: 'Set Document Edited',
function: () => Window.setDocumentEdited(),
description:
'This will change the appearance of the '
'close button on the titlebar.',
),
MacOSActionMenuItem(
name: 'Set Document Unedited',
function: () => Window.setDocumentUnedited(),
),
MacOSActionMenuItem(
name: 'Set Represented Filename',
function: () =>
Window.setRepresentedFilename('filename'),
),
MacOSActionMenuItem(
name: 'Set Represented URL',
function: () => Window.setRepresentedUrl('url'),
),
MacOSActionMenuItem(
name: 'Hide Title',
function: () => Window.hideTitle(),
),
MacOSActionMenuItem(
name: 'Show Title',
function: () => Window.showTitle(),
),
MacOSActionMenuItem(
name: 'Make Titlebar Transparent',
function: () =>
Window.makeTitlebarTransparent(),
),
MacOSActionMenuItem(
name: 'Make Titlebar Opaque',
function: () => Window.makeTitlebarOpaque(),
),
MacOSActionMenuItem(
name: 'Enable Full Size Content View',
function: () =>
Window.enableFullSizeContentView(),
description:
'This expands the area that Flutter '
'can draw to to fill the entire '
'window. It is recommended to enable '
'the full-size content view when '
'making the titlebar transparent.',
),
MacOSActionMenuItem(
name: 'Disable Full Size Content View',
function: () =>
Window.disableFullSizeContentView(),
),
MacOSActionMenuItem(
name: 'Zoom Window',
function: () => Window.zoomWindow(),
),
MacOSActionMenuItem(
name: 'Unzoom Window',
function: () => Window.unzoomWindow(),
),
MacOSActionMenuItem(
name: 'Hide Zoom Button',
function: () => Window.hideZoomButton(),
),
MacOSActionMenuItem(
name: 'Show Zoom Button',
function: () => Window.showZoomButton(),
),
MacOSActionMenuItem(
name: 'Hide Miniaturize Button',
function: () => Window.hideMiniaturizeButton(),
),
MacOSActionMenuItem(
name: 'Show Miniaturize Button',
function: () => Window.showMiniaturizeButton(),
),
MacOSActionMenuItem(
name: 'Hide Close Button',
function: () => Window.hideCloseButton(),
),
MacOSActionMenuItem(
name: 'Show Close Button',
function: () => Window.showCloseButton(),
),
MacOSActionMenuItem(
name: 'Enable Zoom Button',
function: () => Window.enableZoomButton(),
),
MacOSActionMenuItem(
name: 'Disable Zoom Button',
function: () => Window.disableZoomButton(),
),
MacOSActionMenuItem(
name: 'Enable Miniaturize Button',
function: () =>
Window.enableMiniaturizeButton(),
),
MacOSActionMenuItem(
name: 'Disable Miniaturize Button',
function: () =>
Window.disableMiniaturizeButton(),
),
MacOSActionMenuItem(
name: 'Enable Close Button',
function: () => Window.enableCloseButton(),
),
MacOSActionMenuItem(
name: 'Disable Close Button',
function: () => Window.disableCloseButton(),
),
MacOSActionMenuItem(
name: 'Set Window Alpha Value to 0.5',
function: () => Window.setWindowAlphaValue(0.5),
),
MacOSActionMenuItem(
name: 'Set Window Alpha Value to 0.75',
function: () =>
Window.setWindowAlphaValue(0.75),
),
MacOSActionMenuItem(
name: 'Set Window Alpha Value to 1.0',
function: () => Window.setWindowAlphaValue(1.0),
),
MacOSActionMenuItem(
name: 'Set Window Background Color to Default '
'Color',
function: () => Window
.setWindowBackgroundColorToDefaultColor(),
description:
'Sets the window background color to '
'the default (opaque) window color.',
),
MacOSActionMenuItem(
name: 'Set Window Background Color to Clear',
function: () =>
Window.setWindowBackgroundColorToClear(),
),
MacOSActionMenuItem(
name: 'Set Blur View State to Active',
function: () {
setState(() {
macOSBlurViewState =
MacOSBlurViewState.active;
});
Window.setBlurViewState(
MacOSBlurViewState.active,
);
},
),
MacOSActionMenuItem(
name: 'Set Blur View State to Inactive',
function: () {
setState(
() {
macOSBlurViewState =
MacOSBlurViewState.inactive;
},
);
Window.setBlurViewState(
MacOSBlurViewState.inactive,
);
},
),
MacOSActionMenuItem(
name: 'Set Blur View State to Follows '
'Window Active State',
function: () {
setState(
() {
macOSBlurViewState = MacOSBlurViewState
.followsWindowActiveState;
},
);
Window.setBlurViewState(MacOSBlurViewState
.followsWindowActiveState);
},
),
MacOSActionMenuItem(
name: 'Add Toolbar',
function: () => Window.addToolbar(),
),
MacOSActionMenuItem(
name: 'Remove Toolbar',
function: () => Window.removeToolbar(),
),
MacOSActionMenuItem(
name: 'Set Toolbar Style to Automatic',
function: () => Window.setToolbarStyle(
toolbarStyle: MacOSToolbarStyle.automatic,
),
description:
'For this method to have an effect, the '
'window needs to have had a toolbar '
'added beforehand. This can be achieved '
'using the “Add Toolbar” action.',
),
MacOSActionMenuItem(
name: 'Set Toolbar Style to Expanded',
function: () => Window.setToolbarStyle(
toolbarStyle: MacOSToolbarStyle.expanded,
),
description:
'For this method to have an effect, '
'the window needs to have had a toolbar '
'added beforehand. This can be achieved '
'using the “Add Toolbar” action.',
),
MacOSActionMenuItem(
name: 'Set Toolbar Style to Preference',
function: () => Window.setToolbarStyle(
toolbarStyle: MacOSToolbarStyle.preference,
),
description:
'For this method to have an effect, the '
'window needs to have had a toolbar '
'added beforehand. This can be achieved '
'using the “Add Toolbar” action.',
),
MacOSActionMenuItem(
name: 'Set Toolbar Style to Unified',
function: () => Window.setToolbarStyle(
toolbarStyle: MacOSToolbarStyle.unified,
),
description:
'For this method to have an effect, the '
'window needs to have had a toolbar '
'added beforehand. This can be achieved '
'using the “Add Toolbar” action.',
),
MacOSActionMenuItem(
name: 'Set Toolbar Style to Unified Compact',
function: () => Window.setToolbarStyle(
toolbarStyle:
MacOSToolbarStyle.unifiedCompact,
),
description:
'For this method to have an effect, the '
'window needs to have had a toolbar '
'added beforehand. This can be achieved '
'using the “Add Toolbar” action.',
),
MacOSActionMenuItem(
name: 'Enable Shadow',
function: () => Window.enableShadow(),
),
MacOSActionMenuItem(
name: 'Disable Shadow',
function: () => Window.disableShadow(),
),
MacOSActionMenuItem(
name: 'Invalidate Shadows',
function: () => Window.invalidateShadows(),
description:
'This is a fairly technical action and '
'is included here for completeness\' '
'sake. Normally, it should not be '
'necessary to use it.',
),
MacOSActionMenuItem(
name: 'Add Empty Mask Image',
function: () => Window.addEmptyMaskImage(),
description:
'This will effectively disable the '
'`NSVisualEffectView`\'s effect.\n\n'
'**Warning:** It is recommended to '
'disable the window\'s shadow using '
'`Window.disableShadow()` when using '
'this method. Keeping the shadow '
'enabled when using an empty mask image '
'can cause visual artifacts and '
'performance issues.',
),
MacOSActionMenuItem(
name: 'Remove Mask Image',
function: () => Window.removeMaskImage(),
),
MacOSActionMenuItem(
name: 'Make Window Fully Transparent',
function: () =>
Window.makeWindowFullyTransparent(),
description: 'Makes a window fully transparent '
'(with no blur effect). This is a '
'convenience function which executes:\n'
'```dart\n'
'setWindowBackgroundColorToClear();\n'
'makeTitlebarTransparent();\n'
'addEmptyMaskImage();\n'
'disableShadow();\n```\n**Warning:** '
'When the window is fully transparent, '
'its highlight effect (the thin white '
'line at the top of the window) is '
'still visible. This is considered a '
'bug and may change in a future version.',
),
MacOSActionMenuItem(
name: 'Ignore Mouse Events',
function: () {
Window.ignoreMouseEvents();
Timer(
const Duration(seconds: 5),
() => Window.acknowledgeMouseEvents(),
);
},
description:
'This action can be used to make parts '
'of the window click-through, which may '
'be desirable when used in conjunction '
'with '
'`Window.makeWindowFullyTransparent()`.'
'\n\n**Note:** Executing this action '
'will make this widow click-through, '
'thus making it impossible to perform '
'the “Acknowledge Mouse Events” again. '
'For this reason, the example app '
'automatically starts acknowledging '
'mouse events again after five seconds.',
),
MacOSActionMenuItem(
name: 'Acknowledge Mouse Events',
function: () => Window.acknowledgeMouseEvents(),
description: 'This action is included here for '
'completeness\' sake, however it is '
'technically impossible to run it after '
'performing the “Ignore Mouse Events” '
'action, since the “show all actions” '
'button can then no longer be clicked.',
),
MacOSActionMenuItem(
name: 'Set Subtitle',
function: () => Window.setSubtitle('subtitle'),
),
MacOSActionMenuItem(
name: 'Remove Subtitle',
function: () => Window.setSubtitle(''),
description: 'The action works by setting the '
'subtitle to an empty string using '
'`Window.setSubtitle(\'\')`. There is no '
'method called `Window.removeSubtitle()`.',
),
],
),
),
);
}),
);
},
);
},
),
],
),
);
}
SingleChildScrollView buildEffectMenu(BuildContext context) {
return SingleChildScrollView(
child: Theme(
data: brightness.getIsDark(context)
? ThemeData.dark()
: ThemeData.light(),
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: (Platform.isWindows
? WindowEffect.values.take(7)
: WindowEffect.values)
.map(
(effect) => RadioListTile<WindowEffect>(
title: Text(
effect.toString(),
style: TextStyle(
fontSize: 14.0,
color: brightness.getForegroundColor(context),
),
),
value: effect,
groupValue: this.effect,
onChanged: this.setWindowEffect,
),
)
.toList(),
),
),
);
}
}
class WindowTitleBar extends StatelessWidget {
final InterfaceBrightness brightness;
const WindowTitleBar({Key? key, required this.brightness}) : super(key: key);
@override
Widget build(BuildContext context) {
return Platform.isWindows
? Container(
width: MediaQuery.of(context).size.width,
height: 32.0,
color: Colors.transparent,
child: MoveWindow(
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
const Spacer(),
MinimizeWindowButton(
colors: WindowButtonColors(
iconNormal: brightness == InterfaceBrightness.light
? Colors.black
: Colors.white,
iconMouseDown: brightness == InterfaceBrightness.light
? Colors.black
: Colors.white,
iconMouseOver: brightness == InterfaceBrightness.light
? Colors.black
: Colors.white,
normal: Colors.transparent,
mouseOver: brightness == InterfaceBrightness.light
? Colors.black.withOpacity(0.04)
: Colors.white.withOpacity(0.04),
mouseDown: brightness == InterfaceBrightness.light
? Colors.black.withOpacity(0.08)
: Colors.white.withOpacity(0.08),
),
),
MaximizeWindowButton(
colors: WindowButtonColors(
iconNormal: brightness == InterfaceBrightness.light
? Colors.black
: Colors.white,
iconMouseDown: brightness == InterfaceBrightness.light
? Colors.black
: Colors.white,
iconMouseOver: brightness == InterfaceBrightness.light
? Colors.black
: Colors.white,
normal: Colors.transparent,
mouseOver: brightness == InterfaceBrightness.light
? Colors.black.withOpacity(0.04)
: Colors.white.withOpacity(0.04),
mouseDown: brightness == InterfaceBrightness.light
? Colors.black.withOpacity(0.08)
: Colors.white.withOpacity(0.08),
),
),
CloseWindowButton(
onPressed: () {
appWindow.close();
},
colors: WindowButtonColors(
iconNormal: brightness == InterfaceBrightness.light
? Colors.black
: Colors.white,
iconMouseDown: brightness == InterfaceBrightness.light
? Colors.black
: Colors.white,
iconMouseOver: brightness == InterfaceBrightness.light
? Colors.black
: Colors.white,
normal: Colors.transparent,
mouseOver: brightness == InterfaceBrightness.light
? Colors.black.withOpacity(0.04)
: Colors.white.withOpacity(0.04),
mouseDown: brightness == InterfaceBrightness.light
? Colors.black.withOpacity(0.08)
: Colors.white.withOpacity(0.08),
),
),
],
),
),
)
: Container();
}
}
Download Details:
Author: alexmercerind
Source Code: https://github.com/alexmercerind/flutter_acrylic
1683729622
Neste tutorial do Flutter, aprenderemos como instalar o Flutter no Mac para iniciantes. O Flutter nos permite criar belos aplicativos nativos para iOS e Android a partir de uma única base de código. A arquitetura de widget do Flutter incorpora todas as diferenças críticas de plataforma, como rolagem, navegação, ícones e fontes para fornecer desempenho nativo completo em dispositivos iOS e Android.
O hot reload do Flutter nos ajuda a experimentar, criar interfaces de usuário, adicionar recursos e corrigir bugs com rapidez e facilidade. Experimente tempos de recarga abaixo de um segundo sem perder o estado em emuladores, simuladores e hardware para iOS e Android.
Encante seus usuários com os lindos widgets Material Design e Cupertino (tipo iOS) integrados do Flutter, APIs de movimento avançadas, rolagem suave e natural e reconhecimento de plataforma.
Estamos usando o Flutter 1.0 para esta demonstração de instalação. Então vamos ver como instalar o Flutter no Mac.
Se quisermos instalar e executar o Flutter, nosso ambiente de desenvolvimento deve atender aos seguintes requisitos mínimos.
Você pode baixar o Flutter SDK aqui .
Agora, você precisa descompactar esse pacote. Em seguida, você pode mover essa pasta descompactada para o projeto onde você salva todas as outras pastas do projeto ou fica onde estava.
A próxima etapa é configurar o caminho do sistema para uma vibração. Para fazer isso, você precisa adicionar o caminho flutter às variáveis de ambiente.
Então, abra o arquivo .bash_profile ou .zshrc e adicione o seguinte tipo de caminho a ele.
export PATH=$PATH:/home/krunal/Desktop/code/flutter/bin
Veja, aqui, o caminho acima é meu, e o seu pode ser diferente. Portanto, adicione o caminho correto de acordo com as estruturas de pastas. Por fim, salve o arquivo e saia.
Você pode verificar onde o Flutter tem o caminho correto ou não digitando o seguinte comando.
which flutter
Então, aqui está, mostrando-me o caminho certo. Agora execute o seguinte comando.
flutter doctor
Você verá algo assim.
O comando acima verifica seu ambiente e exibe o relatório em uma janela de terminal. O Dart SDK é fornecido com um Flutter; não é necessário instalar o Dart separadamente.
Verifique a saída cuidadosamente para outro software que você pode precisar instalar ou outras tarefas para executar a instalação completa.
No momento, a versão atual do Android Studio é 3.2. Portanto, o flutter conta com a instalação completa do Android Studio para suprir suas dependências da plataforma Android.
No entanto, você também pode escrever seus aplicativos Flutter em alguns editores como o Visual Studio Code. Mas, precisamos do estúdio Android para criar dispositivos virtuais Android e algumas outras dependências.
Agora, para executar e testar seu aplicativo Flutter no emulador do Android, siga estas etapas.
Se quisermos desenvolver aplicativos Flutter para iOS, você precisa de um Mac com Xcode 9.0 ou mais recente. Estou usando o XCode 10.1
Podemos nos preparar para executar e testar seu aplicativo Flutter no simulador iOS seguindo estas etapas:
open -a Simulator
2. Certifique-se de que seu simulador esteja usando um dispositivo de 64 bits (iPhone 5s ou posterior) verificando as configurações no menu Hardware > Dispositivo do simulador.
3. Dependendo do tamanho da tela da sua máquina de desenvolvimento, os dispositivos iOS simulados de alta densidade de tela podem transbordar sua tela. Defina a escala do dispositivo no menu Janela > Escala no simulador.
Como já disse anteriormente, estou usando o Visual Studio Code para este projeto. Então, quero abri-lo e criar um novo projeto no Visual Studio Code. Agora siga as etapas em Visual Studio Code .
Ele o levará ao sistema de arquivos onde você pode criar uma pasta de projeto, e é isso que o resto fará pelo editor e criará um novo projeto.
Agora vá para a raiz do projeto dentro do seu terminal e digite o seguinte comando.
flutter run
Abri os Simuladores Android e iOS. Então parece com isso.
É isso para este tutorial.
Fonte do artigo: https://appdividend.com
1683709820
Trong hướng dẫn Flutter này, chúng ta sẽ tìm hiểu về Cách cài đặt Flutter trên Mac cho người mới bắt đầu. Flutter cho phép chúng tôi xây dựng các ứng dụng gốc tuyệt đẹp trên iOS và Android từ một cơ sở mã duy nhất. Kiến trúc widget của Flutter kết hợp tất cả những khác biệt quan trọng của nền tảng như cuộn, điều hướng, biểu tượng và phông chữ để cung cấp hiệu suất gốc đầy đủ trên cả thiết bị iOS và Android.
Tải lại nóng của Flutter giúp chúng tôi nhanh chóng và dễ dàng thử nghiệm, xây dựng giao diện người dùng, thêm tính năng và sửa lỗi nhanh hơn. Trải nghiệm thời gian tải lại dưới giây mà không làm mất trạng thái trên trình giả lập, trình mô phỏng và phần cứng dành cho iOS và Android.
Làm hài lòng người dùng của bạn với các tiện ích Thiết kế Vật liệu đẹp mắt và Cupertino (hương vị iOS) tích hợp sẵn của Flutter, API chuyển động phong phú, cuộn mượt mà, tự nhiên và nhận biết nền tảng.
Chúng tôi đang sử dụng Flutter 1.0 cho bản demo cài đặt này. Vì vậy, hãy xem Cách cài đặt Flutter trên Mac.
Nếu chúng tôi muốn cài đặt và chạy Flutter, môi trường phát triển của chúng tôi phải đáp ứng các yêu cầu tối thiểu sau.
Bạn có thể tải xuống Flutter SDK từ đây .
Bây giờ, bạn cần giải nén gói đó. Sau đó, bạn có thể di chuyển thư mục đã giải nén đó vào dự án nơi bạn lưu tất cả các thư mục dự án khác hoặc giữ nguyên vị trí của nó.
Bước tiếp theo là định cấu hình Đường dẫn hệ thống cho rung. Để làm điều đó, bạn cần thêm đường dẫn rung vào các biến môi trường.
Vì vậy, hãy mở tệp .bash_profile hoặc .zshrc và thêm loại đường dẫn sau vào tệp.
export PATH=$PATH:/home/krunal/Desktop/code/flutter/bin
Hãy xem, đây, con đường trên là của tôi, còn con đường của bạn có thể khác. Vì vậy, hãy thêm đường dẫn chính xác theo cấu trúc thư mục của bạn. Cuối cùng, lưu tệp và thoát.
Bạn có thể kiểm tra xem Flutter có đúng đường dẫn hay không bằng cách gõ lệnh sau.
which flutter
Vì vậy, Nó ở đây, chỉ cho tôi con đường đúng đắn. Bây giờ hãy chạy lệnh sau.
flutter doctor
Bạn sẽ thấy một cái gì đó như thế này.
Lệnh trên kiểm tra môi trường của bạn và hiển thị báo cáo lên cửa sổ đầu cuối. Dart SDK đi kèm với Flutter; không cần cài đặt riêng Dart.
Kiểm tra đầu ra cẩn thận để biết phần mềm khác mà bạn có thể cần cài đặt hoặc các tác vụ khác để thực hiện cài đặt hoàn chỉnh.
Hiện tại, phiên bản Android Studio hiện tại là 3.2. Do đó, rung phụ thuộc vào việc cài đặt đầy đủ Android Studio để cung cấp các phần phụ thuộc nền tảng Android của nó.
Tuy nhiên, bạn cũng có thể viết các ứng dụng Flutter của mình trong một số trình chỉnh sửa như Visual Studio Code. Tuy nhiên, chúng tôi cần studio Android để tạo các thiết bị ảo Android và một số phụ thuộc khác.
Bây giờ, để chạy và kiểm tra ứng dụng Flutter của bạn trên trình giả lập Android, hãy làm theo các bước sau.
Nếu chúng tôi muốn phát triển ứng dụng Flutter cho iOS, bạn cần có máy Mac chạy Xcode 9.0 trở lên. Tôi đang sử dụng XCode 10.1
Chúng tôi có thể chuẩn bị chạy và thử nghiệm ứng dụng Flutter của bạn trên trình mô phỏng iOS bằng cách thực hiện theo các bước sau:
open -a Simulator
2. Đảm bảo trình giả lập của bạn đang sử dụng thiết bị 64 bit (iPhone 5s trở lên) bằng cách kiểm tra cài đặt trong menu Phần cứng > Thiết bị của trình giả lập .
3. Tùy thuộc vào kích thước màn hình của máy phát triển của bạn, các thiết bị iOS có mật độ màn hình cao được mô phỏng có thể làm tràn màn hình của bạn. Đặt tỷ lệ thiết bị trong menu Window > Scale trong trình giả lập.
Như tôi đã nói với bạn trước đây, tôi đang sử dụng Visual Studio Code cho dự án này. Vì vậy, tôi muốn mở nó và tạo một dự án mới từ Visual Studio Code. Bây giờ hãy làm theo các bước trong Visual Studio Code .
Nó sẽ đưa bạn đến hệ thống tệp nơi bạn có thể tạo một thư mục dự án và phần còn lại sẽ do trình chỉnh sửa thực hiện và nó sẽ tạo một dự án hoàn toàn mới.
Bây giờ, hãy chuyển đến thư mục gốc của dự án bên trong thiết bị đầu cuối của bạn và nhập lệnh sau.
flutter run
Tôi đã mở cả Trình mô phỏng Android và iOS. Vì vậy, nó trông như thế này.
Đó là nó cho hướng dẫn này.
Nguồn bài viết: https://appdividend.com
#flutter #mac
1683552060
Turn any webpage into a desktop app with Rust with ease.
Pake supports Mac, Windows, and Linux. Check out README for Popular Packages, Command-Line Packaging, and Customized Development information. Feel free to share your suggestions in Discussions.
WeRead Mac Windows Linux | Twitter Mac Windows Linux |
![]() | ![]() |
ChatGPT Mac Windows Linux | Poe Mac Windows Linux |
![]() | ![]() |
YouTube Music Mac Windows Linux | YouTube Mac Windows Linux |
![]() | ![]() |
LiZhi Mac Windows Linux | ProgramMusic Mac Windows Linux |
![]() | ![]() |
Qwerty Mac Windows Linux | CodeRunner Mac Windows Linux |
![]() | ![]() |
Flomo Mac Windows Linux | XiaoHongShu Mac Windows Linux |
![]() | ![]() |
🏂 You can download more applications from Releases. Click here to expand the shortcuts reference!
Mac | Windows/Linux | Function |
---|---|---|
⌘ + [ | Ctrl + ← | Return to the previous page |
⌘ + ] | Ctrl + → | Go to the next page |
⌘ + ↑ | Ctrl + ↑ | Auto scroll to top of page |
⌘ + ↓ | Ctrl + ↓ | Auto scroll to bottom of page |
⌘ + r | Ctrl + r | Refresh Page |
⌘ + w | Ctrl + w | Hide window, not quite |
⌘ + - | Ctrl + - | Zoom out the page |
⌘ + + | Ctrl + + | Zoom in the page |
⌘ + = | Ctrl + = | Zoom in the Page |
⌘ + 0 | Ctrl + 0 | Reset the page zoom |
In addition, double-click the title bar to switch to full-screen mode. For Mac users, you can also use the gesture to go to the previous or next page and drag the title bar to move the window.
Pake provides a command line tool, making the flow of package customization quicker and easier. See documentation for more information.
# Install with npm
npm install -g pake-cli
# Command usage
pake url [OPTIONS]...
# Feel free to play with Pake! It might take a while to prepare the environment the first time you launch Pake.
pake https://weekly.tw93.fun --name Weekly --transparent
If you are new to the command line, you can compile packages online with GitHub Actions. See the Tutorial for more information.
Prepare your environment before starting. Make sure you have Rust >=1.63
and Node >=16
(e.g., 16.18.1
) installed on your computer. For installation guidance, see Tauri documentation.
If you are unfamiliar with these, it is better to try out the above tool to pack with one click.
# Install Dependencies
npm i
# Local development [Right-click to open debug mode.]
npm run dev
# Pack application
npm run build
url
and productName
fields in the pake.json
file under the src-tauri directory, as well as the icon
and identifier
fields in the tauri.xxx.conf.json
file. You can select a icon
from the icons
directory or download one from macOSicons to match your product needs.pake.json
file to change the value of width
, height
, fullscreen
(or not), resizable
(or not) of the windows
property. To adapt to the immersive header on Mac, change transparent
to true
, look for the Header
element, and add the padding-top
property.English | 简体中文
Author: tw93
Source Code: https://github.com/tw93/Pake
License: MIT license
1681151340
Secure Shell (SSH) — это протокол, используемый для безопасного подключения к удаленному серверу и выполнения различных задач, включая загрузку файлов. Если вы используете Mac, загрузка файлов с SSH на локальный компьютер — это простой процесс, требующий нескольких простых шагов.
В этом руководстве вы узнаете, как загружать файлы с SSH на локальный компьютер Mac, а также ответите на некоторые часто задаваемые вопросы.
Терминал — это встроенный эмулятор терминала для macOS, и именно здесь вы вводите команду для загрузки файлов с SSH на локальный компьютер. Вы можете открыть Терминал, выполнив поиск в поиске Spotlight или выбрав «Приложения» > «Утилиты» > «Терминал».
Чтобы подключиться к удаленному серверу, вам нужно будет использовать команду SSH вместе с IP-адресом или доменным именем сервера и вашими учетными данными для входа. Вот основной синтаксис для подключения к удаленному серверу с использованием SSH:
ssh [user]@[server]
Замените [user]своим именем пользователя для входа и [server]IP-адресом или доменным именем удаленного сервера.
После ввода команды вам будет предложено ввести пароль. После ввода пароля вы должны войти на удаленный сервер.
Используйте cdкоманду, чтобы перейти в каталог, в котором находится файл, который вы хотите загрузить. Например, если файл находится в homeкаталоге, вы можете перейти к нему с помощью следующей команды:
cd ~/
Команда scp(secure copy) используется для передачи файлов между локальным и удаленным сервером с помощью SSH. Вот основной синтаксис для загрузки файла с удаленного сервера на локальный компьютер:
scp [user]@[server]:[path/to/file] [path/to/destination]
Замените [user]своим именем пользователя для входа, [server]IP-адресом или доменным именем удаленного сервера, [path/to/file]путем к файлу, который вы хотите загрузить, и [path/to/destination]путем к целевому каталогу на вашем локальном компьютере.
Например, если вы хотите загрузить файл с именем, example.txtнаходящийся в homeкаталоге удаленного сервера, и сохранить его в папке «Загрузки» на локальном компьютере, вы должны ввести следующую команду:
scp [user]@[server]:~/example.txt ~/Downloads/
Это загрузит example.txtфайл на ваш локальный компьютер и сохранит его в папке «Загрузки».
Вот несколько дополнительных уникальных часто задаваемых вопросов о том, как загружать файлы с SSH на локальный Mac:
В: Могу ли я загружать файлы с SSH в определенную папку на моем локальном компьютере?
A: Да, вы можете указать папку назначения на вашем локальном компьютере при использовании scpкоманды. Просто замените ~/Downloads/в примере команды путь к папке, в которой вы хотите сохранить файл.
В: Могу ли я загружать файлы с SSH на свой Mac без использования Терминала?
О: Да, есть некоторые сторонние инструменты для передачи файлов, которые можно использовать для загрузки файлов с SSH на ваш Mac без использования Терминала. Некоторые популярные варианты включают Cyberduck, FileZilla и Transmit. Однако использование терминала обычно считается наиболее надежным и безопасным методом.
В: Можно ли загружать файлы с SSH на мой Mac с помощью графического пользовательского интерфейса (GUI)?
О: Хотя технически возможно загружать файлы с SSH на ваш Mac с помощью графического интерфейса, это может быть не самый эффективный метод. Команда scpс использованием терминала обычно быстрее и надежнее. Однако некоторые сторонние инструменты передачи файлов, упомянутые выше, имеют графические пользовательские интерфейсы, которые можно использовать для передачи файлов SSH.
В: Могу ли я одновременно загрузить несколько файлов с SSH на свой локальный Mac?
О: Да, вы можете загрузить сразу несколько файлов с SSH на локальный Mac, используя команду scpс подстановочными знаками. Например, чтобы загрузить все текстовые файлы с удаленного сервера в локальную папку «Загрузки», вы можете использовать следующую команду:
scp [user]@[server]:*.txt ~/Downloads/
В: Могу ли я загружать файлы с SSH на свой локальный Mac, используя другой номер порта?
О: Да, вы можете указать другой номер порта при использовании scpкоманды для загрузки файлов с SSH на ваш локальный Mac. Просто замените [port]в команде номер порта, который вы хотите использовать.
В: Нужно ли мне иметь SSH-доступ к удаленному серверу, чтобы загружать с него файлы?
О: Да, вам потребуется доступ по SSH к удаленному серверу, чтобы загружать с него файлы с помощью команды scp. Если у вас нет доступа по SSH, вы не сможете загружать файлы с сервера этим методом.
В заключение, загрузка файлов с SSH на ваш локальный Mac — это простой процесс, который можно выполнить с помощью терминала и команды scp. Следуя шагам, описанным в этой статье, вы сможете легко загружать файлы с удаленного сервера на локальный компьютер. Кроме того, мы рассмотрели некоторые распространенные вопросы, которые могут возникнуть при загрузке файлов с использованием SSH. Обладая этими знаниями, вы должны быть уверены в своей способности загружать файлы с SSH на локальный Mac.
Оригинальный источник статьи: https://www.tutsmake.com/
1681147500
Secure Shell (SSH) 是一种用于安全连接到远程服务器并执行各种任务(包括下载文件)的协议。如果您使用的是 Mac,将文件从 SSH 下载到本地计算机是一个简单的过程,需要几个简单的步骤。
在本教程中,您将学习如何从 SSH 下载文件到本地 Mac 计算机,并解决一些常见问题。
Terminal 是 macOS 的内置终端模拟器,您可以在其中输入命令,将文件从 SSH 下载到本地计算机。您可以通过在 Spotlight 搜索中搜索或转到应用程序 > 实用程序 > 终端来打开终端。
要连接到远程服务器,您需要使用 SSH 命令以及服务器的 IP 地址或域名和您的登录凭据。下面是使用 SSH 连接到远程服务器的基本语法:
ssh [user]@[server]
替换[user]为您的登录用户名,以及[server]远程服务器的 IP 地址或域名。
输入命令后,系统会提示您输入密码。输入密码后,您应该登录到远程服务器。
使用cd命令导航到要下载的文件所在的目录。例如,如果文件位于home目录中,您可以使用以下命令导航到它:
cd ~/
(安全复制)命令scp用于使用 SSH 在本地和远程服务器之间传输文件。下面是从远程服务器下载文件到本地机器的基本语法:
scp [user]@[server]:[path/to/file] [path/to/destination]
替换[user]为您的登录用户名、[server]远程服务器的 IP 地址或域名、[path/to/file]您要下载的文件的路径以及[path/to/destination]本地计算机上目标目录的路径。
例如,如果要下载example.txt位于home远程服务器目录中名为 located 的文件并将其保存到本地计算机上的 Downloads 文件夹中,则可以输入以下命令:
scp [user]@[server]:~/example.txt ~/Downloads/
这会将文件下载example.txt到您的本地计算机并将其保存到下载文件夹。
以下是一些关于如何从 SSH 下载文件到本地 Mac 的其他独特常见问题解答:
问:我可以从 SSH 下载文件到本地计算机上的特定文件夹吗?
A: 是的,您可以在使用命令时指定本地机器上的目标文件夹scp。只需将~/Downloads/示例命令中的路径替换为要保存文件的文件夹的路径。
问:我可以在不使用终端的情况下从 SSH 下载文件到我的 Mac 吗?
答:是的,有一些第三方文件传输工具可用于在不使用终端的情况下将文件从 SSH 下载到您的 Mac。一些流行的选项包括 Cyberduck、FileZilla 和 Transmit。然而,使用终端通常被认为是最可靠和安全的方法。
问:是否可以使用图形用户界面 (GUI) 从 SSH 下载文件到我的 Mac?
答:虽然在技术上可以使用 GUI 从 SSH 下载文件到您的 Mac,但这可能不是最有效的方法。使用终端的命令scp通常更快、更可靠。但是,上面提到的一些第三方文件传输工具具有图形用户界面,可用于 SSH 文件传输。
问:我可以一次从 SSH 下载多个文件到我的本地 Mac 吗?
A: 是的,您可以使用scp带有通配符的命令从 SSH 一次下载多个文件到您的本地 Mac。例如,要将所有文本文件从远程服务器下载到本地 Downloads 文件夹,可以使用以下命令:
scp [user]@[server]:*.txt ~/Downloads/
问:我可以使用不同的端口号从 SSH 下载文件到本地 Mac 吗?
scpA: 是的,您可以在使用命令从 SSH 下载文件到本地 Mac时指定不同的端口号。只需[port]将命令替换为您要使用的端口号即可。
问:我需要通过 SSH 访问远程服务器才能从中下载文件吗?
答:是的,您需要通过 SSH 访问远程服务器才能使用命令从远程服务器下载文件scp。如果您没有 SSH 访问权限,您将无法使用此方法从服务器下载文件。
总之,从 SSH 下载文件到本地 Mac 是一个简单的过程,可以使用终端和命令完成scp。按照本文概述的步骤,您应该能够轻松地将文件从远程服务器下载到本地计算机。此外,我们还解决了使用 SSH 下载文件时可能出现的一些常见问题。有了这些知识,您应该对从 SSH 下载文件到本地 Mac 的能力充满信心。
文章原文出处:https: //www.tutsmake.com/
1681118040
Secure Shell (SSH) is a protocol used to securely connect to a remote server and perform various tasks, including downloading files. If you’re using a Mac, downloading files from SSH to your local machine is a straightforward process that requires a few simple steps.
In this tutorial, you will learn how to download files from SSH to your local Mac machine, as well as address some frequently asked questions.
scp
commandTerminal is the built-in terminal emulator for macOS, and it’s where you’ll enter the command to download files from SSH to your local machine. You can open Terminal by searching for it in the Spotlight Search or by going to Applications > Utilities > Terminal.
To connect to the remote server, you’ll need to use the SSH command along with the server’s IP address or domain name and your login credentials. Here’s the basic syntax for connecting to a remote server using SSH:
ssh [user]@[server]
Replace [user]
with your login username, and [server]
with the IP address or domain name of the remote server.
Once you’ve entered the command, you’ll be prompted to enter your password. After you enter your password, you should be logged into the remote server.
Use the cd
command to navigate to the directory where the file you want to download is located. For example, if the file is located in the home
directory, you can navigate to it using the following command:
cd ~/
scp
commandThe scp
(secure copy) command is used to transfer files between a local and remote server using SSH. Here’s the basic syntax for downloading a file from a remote server to your local machine:
scp [user]@[server]:[path/to/file] [path/to/destination]
Replace [user]
with your login username, [server]
with the IP address or domain name of the remote server, [path/to/file]
with the path to the file you want to download, and [path/to/destination]
with the path to the destination directory on your local machine.
For example, if you want to download a file named example.txt
located in the home
directory of the remote server and save it to your Downloads folder on your local machine, you would enter the following command:
scp [user]@[server]:~/example.txt ~/Downloads/
This will download the example.txt
file to your local machine and save it to the Downloads folder.
Here are some additional unique FAQs on how to download files from SSH to your local Mac:
Q: Can I download files from SSH to a specific folder on my local machine?
A: Yes, you can specify the destination folder on your local machine when using the scp
command. Simply replace ~/Downloads/
in the example command with the path to the folder where you want to save the file.
Q: Can I download files from SSH to my Mac without using Terminal?
A: Yes, there are some third-party file transfer tools that can be used to download files from SSH to your Mac without using Terminal. Some popular options include Cyberduck, FileZilla, and Transmit. However, using Terminal is generally considered to be the most reliable and secure method.
Q: Is it possible to download files from SSH to my Mac using a graphical user interface (GUI)?
A: While it is technically possible to download files from SSH to your Mac using a GUI, it may not be the most efficient method. The scp
command using Terminal is typically faster and more reliable. However, some third-party file transfer tools mentioned above have graphical user interfaces that can be used for SSH file transfers.
Q: Can I download multiple files from SSH to my local Mac at once?
A: Yes, you can download multiple files from SSH to your local Mac at once by using the scp
command with wildcard characters. For example, to download all text files from the remote server to your local Downloads folder, you can use the following command:
scp [user]@[server]:*.txt ~/Downloads/
Q: Can I download files from SSH to my local Mac using a different port number?
A: Yes, you can specify a different port number when using the scp
command to download files from SSH to your local Mac. Simply replace [port]
in the command with the port number you want to use.
Q: Do I need to have SSH access to the remote server in order to download files from it?
A: Yes, you will need to have SSH access to the remote server in order to download files from it using the scp
command. If you do not have SSH access, you will not be able to download files from the server using this method.
In conclusion, downloading files from SSH to your local Mac is a simple process that can be done using the Terminal and the scp
command. By following the steps outlined in this article, you should be able to easily download files from a remote server to your local machine. Additionally, we’ve addressed some common questions that may arise when downloading files using SSH. With this knowledge, you should feel confident in your ability to download files from SSH to your local Mac.
Original article source at: https://www.tutsmake.com/
1680265486
Printing
A plugin that allows Flutter apps to generate and print documents to android or ios compatible printers
See the example on how to use the plugin.
This example is also available on the web here: https://davbfr.github.io/dart_pdf/.
This plugin uses the pdf
package https://pub.dev/packages/pdf for pdf creation. Please refer to https://pub.dev/documentation/pdf/latest/ for documentation.
Add this package to your package's pubspec.yaml
file as described on the installation tab
Import the libraries
import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart' as pw;
import 'package:printing/printing.dart';
Enable Swift on the iOS project, in ios/Podfile
:
target 'Runner' do
use_frameworks! # <-- Add this line
For macOS applications, add the following print entitlement to the files macos/Runner/Release.entitlements
and macos/Runner/DebugProfile.entitlements
:
<key>com.apple.security.print</key>
<true/>
If you want to manually set the PdfJs library version for the web, a small script has to be added to your web/index.html
file, just before </head>
. Otherwise it is loaded automatically:
<script>
var dartPdfJsVersion = "3.2.146";
</script>
For Windows and Linux, you can force the pdfium version and architecture on your main CMakeLists.txt
with:
set(PDFIUM_VERSION "4929" CACHE STRING "" FORCE)set(PDFIUM_ARCH "x64" CACHE STRING "" FORCE)
See the releases here: https://github.com/bblanchon/pdfium-binaries/releases
final doc = pw.Document();
doc.addPage(pw.Page(
pageFormat: PdfPageFormat.a4,
build: (pw.Context context) {
return pw.Center(
child: pw.Text('Hello World'),
); // Center
})); // Page
To load an image from a Flutter asset:
final image = await imageFromAssetBundle('assets/image.png');
doc.addPage(pw.Page(
build: (pw.Context context) {
return pw.Center(
child: pw.Image(image),
); // Center
})); // Page
To use a TrueType font from a flutter bundle:
final ttf = await fontFromAssetBundle('assets/open-sans.ttf');
doc.addPage(pw.Page(
build: (pw.Context context) {
return pw.Center(
child: pw.Text('Dart is awesome', style: pw.TextStyle(font: ttf, fontSize: 40)),
); // Center
})); // Page
To save the pdf file using the path_provider library:
final output = await getTemporaryDirectory();
final file = File('${output.path}/example.pdf');
await file.writeAsBytes(await doc.save());
You can also print the document using the iOS or Android print service:
await Printing.layoutPdf(
onLayout: (PdfPageFormat format) async => doc.save());
Or share the document to other applications:
await Printing.sharePdf(bytes: await doc.save(), filename: 'my-document.pdf');
To print an HTML document:
await Printing.layoutPdf(
onLayout: (PdfPageFormat format) async => await Printing.convertHtml(
format: format,
html: '<html><body><p>Hello!</p></body></html>',
));
Convert a Pdf to images, one image per page, get only pages 1 and 2 at 72 dpi:
await for (var page in Printing.raster(await doc.save(), pages: [0, 1], dpi: 72)) {
final image = page.toImage(); // ...or page.toPng()
print(image);
}
To print an existing Pdf file from a Flutter asset:
final pdf = await rootBundle.load('document.pdf');
await Printing.layoutPdf(onLayout: (_) => pdf.buffer.asUint8List());
This package also comes with a PdfPreview widget to display a pdf document.
PdfPreview(
build: (format) => doc.save(),
);
This widget is compatible with Android, iOS, macOS, Linux, Windows and web.
A good starting point is to use PdfPreview which features hot-reload pdf build and refresh.
Take a look at the example tab for a sample project.
Update the _generatePdf
method with your design.
Future<Uint8List> _generatePdf(PdfPageFormat format, String title) async {
final pdf = pw.Document();
pdf.addPage(
pw.Page(
pageFormat: format,
build: (context) => pw.Placeholder(),
),
);
return pdf.save();
}
This widget also features a debug switch at the bottom right to display the drawing constraints used. This switch is available only on debug builds.
Moving on to your production application, you can keep the _generatePdf
function and print the document using:
final title = 'Flutter Demo';
await Printing.layoutPdf(onLayout: (format) => _generatePdf(format, title));
Encryption using RC4-40, RC4-128, AES-128, and AES-256 is fully supported using a separate library. This library also provides SHA1 or SHA-256 Digital Signature using your x509 certificate. The graphic signature is represented by a clickable widget that shows Digital Signature information. It implememts a PDF parser to load an existing document and add pages, change pages, and add a signature.
More information here: https://pub.nfet.net/pdf_crypto/
Run this command:
With Flutter:
$ flutter pub add printing
This will add a line like this to your package's pubspec.yaml (and run an implicit flutter pub get
):
dependencies:
printing: ^5.10.3
Alternatively, your editor might support flutter pub get
. Check the docs for your editor to learn more.
Now in your Dart code, you can use:
import 'package:printing/printing.dart';
// ignore_for_file: public_member_api_docs
import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart' as pw;
import 'package:printing/printing.dart';
Future<void> main() async {
runApp(const MyApp('Printing Demo'));
}
class MyApp extends StatelessWidget {
const MyApp(this.title, {Key? key}) : super(key: key);
final String title;
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text(title)),
body: PdfPreview(
build: (format) => _generatePdf(format, title),
),
),
);
}
Future<Uint8List> _generatePdf(PdfPageFormat format, String title) async {
final pdf = pw.Document(version: PdfVersion.pdf_1_5, compress: true);
final font = await PdfGoogleFonts.nunitoExtraLight();
pdf.addPage(
pw.Page(
pageFormat: format,
build: (context) {
return pw.Column(
children: [
pw.SizedBox(
width: double.infinity,
child: pw.FittedBox(
child: pw.Text(title, style: pw.TextStyle(font: font)),
),
),
pw.SizedBox(height: 20),
pw.Flexible(child: pw.FlutterLogo())
],
);
},
),
);
return pdf.save();
}
}
Download Details:
Author: nfet.net
Source Code: https://github.com/DavBfr/dart_pdf
#flutter #android #ios #mac #window #linux #web #print #document #printer